06第六章上.docx
《06第六章上.docx》由会员分享,可在线阅读,更多相关《06第六章上.docx(89页珍藏版)》请在冰豆网上搜索。
06第六章上
第六章PACMotion参考指令集
本章包含了组成PACMotion指令集的功能和功能块的详细信息。
说明是按照字母顺序排列的,概述了每个指令的操作,定义和运算信息。
对于和PACMotion指令集类似的结构和操作要求信息请参考第五章“PACMotion功能块操作”。
MC_AbortTrigger
该功能块用来终止MC_TouchProbe功能块。
执行类型:
立即执行/延迟响应
操作数
参数
描述
允许的数据类型
初始值
?
?
?
?
实例变量名称
MC_ABORTTRIGGER
N/A
Input_Output参数
Axis
该轴上的功能块将要被执行
AXIS_REF
N/A
输入
TriggerInput
参考闪光触发信号源
值1为TouchProbe1;值2为TouchProbe2.
INPUT_REF
N/A
Execute
终止指定轴上MC_TouchProbe功能块的操作。
LD:
flow
其它语言:
除了常数外所有的
0
输出
Done
触发功能已经被中止
LD:
flow
其它语言:
除了常数外所有的
0
Busy
指出了功能块已经在轴上执行但是并没有完成规定的动作
1
Waring
指出了功能块范围内已发生了一个警告。
0
Error
指出了功能块范围内已发生了一个错误。
0
ErrorID
错误或警告识别
WORD
0
MC_CamFileRead
MC_CamFileRead和MC_CamFileWrite功能块用来读取凸轮轮廓到相关内存,并从内存中写出,允许在线,可编程的更新凸轮轮廓信息。
MC_CamFileRead功能块从RX3i文件系统中复制凸轮文件内容到相关内存。
该功能块可能需要几个CPU扫描才能完成,基于需要从凸轮文件中复制的数据大小。
它对任意单一CPU扫描的影响限制在2毫秒或更少的时间范围内。
每次只有一个MC_CamFileRead或MC_CamFileWrite执行。
如果正在调用MC_CamFileRead功能块,另一操作正在写入凸轮文件,功能块将失效。
执行类型:
立即执行/延迟响应
操作数
实例变量
描述
允许的数据类型
初始值
实例变量名称
功能块实例的结构变量包括内部数据
(梯形图中初始形式为?
?
?
?
)
MC_CAMFILEREAD
N/A
参数
描述
允许的数据类型
初始值
?
?
长度。
被读取的元素和值的数目。
范围1到32767.
INT
1
Input_Output参数
CamTable
被读取的文件
MC_CAM_REF
N/A
输入
Execute
当执行从OFF到ON的转换时,读取了新的输入值,转换开始
LD:
flow
其它语言:
除了常数外所有的
0
参数
描述
允许的数据类型
初始值
Description
规定了复制的凸轮文件单元的数目,指出了每个复制的单元。
只有一个单元组成整个文件能被复制。
因此,数据开始两个字必须为
00000001,00000001.剩下的字必须为
00000000.
WORDarray,包含16个字
0
输出
Done
CamFileRead已经成功完成
LD:
flow
其它语言:
除了常数外所有的
0
Busy
CamFileRead的操作已经成功开始,但是还没有完成。
LD:
flow
其它语言:
除了常数外所有的
0
Warning
指出了功能块范围内已发生了一个警告。
LD:
flow
其它语言:
除了常数外所有的
0
Error
指出了功能块范围内已发生了一个错误。
LD:
flow
其它语言:
除了常数外所有的
0
ErrorId
指出了错误或警告的类型
WORD
0
Data
变量接收从文件中读取的DWORD长度的数目。
符号矩阵限制在9999元素内。
因此,当超出这个数据时,就必须使用映射的变量。
DWORDarray
0
DataSize
指出了从凸轮轮廓文件读取数据的实际字节数目
DINT
0
MC_CamFileWrite
MC_CamFileRead和MC_CamFileWrite功能块用来读取凸轮轮廓到相关内存,并从内存中写出,允许在线,可编程的更新凸轮轮廓信息。
MC_CamFileRead功能块从相关内存中复制凸轮数据到RX3i文件系统中已存在的凸轮文件中,覆盖凸轮文件中的原始数据。
该功能块可能需要几个CPU扫描才能完成,基于需要从凸轮文件中复制的数据大小。
它对任意单一CPU扫描的影响限制在2毫秒或更少的时间范围内。
每次只有一个MC_CamFileRead或MC_CamFileWrite执行。
如果正在调用MC_CamFileWrite功能块,另一操作正在写入凸轮文件,功能块将失效。
执行类型:
立即执行/延迟响应
操作数
实例变量
描述
允许的数据类型
初始值
实例变量名称
功能块实例的结构变量包括内部数据
(梯形图中初始形式为?
?
?
?
)
MC_CAMFILEWRITE
N/A
参数
描述
允许的数据类型
初始值
?
?
长度。
设置数据参数需求的长度。
INT
1
Input_Output参数
CamTable
被写入文件的名称
MA_CAM_REF
N/A
输入
Execute
当执行从OFF到ON的转换时,读取了新的输入值,转换开始
LD:
flow
其它语言:
除了常数外所有的
0
Description
规定了复制的凸轮文件单元的数目,指出了每个复制的单元。
只有一个单元组成整个文件能被复制。
因此,数据开始两个字必须为
00000001,00000001.剩下的字必须为
00000000.
WORDarray,包含16个字
0
参数
描述
允许的数据类型
初始值
Data
变量接收从文件中读取的DWORD长度的数目。
符号矩阵限制在9999元素内。
因此,当超出这个数据时,就必须使用映射的变量。
DWORDarray
0
输出
Done
CamFileWrite已经成功完成
LD:
flow
其它语言:
除了常数外所有的
0
Busy
CamFileWrite的操作已经成功开始,但是还没有完成。
0
Warning
指出了功能块范围内已发生了一个警告。
0
Error
指出了功能块范围内已发生了一个错误。
0
ErrorId
指出了错误或警告的类型
0
DataSize
指出了从凸轮轮廓文件读取数据的实际字节数目
DINT
0
MC_CamIn
MC_CamIn功能块用来啮合凸轮轮廓,使用MC_CamTableSelect功能块,该轮廓已经装载。
PMM上的CamTableID必须有效,从轴AXIS_REF位于该PMM上。
为了执行这个功能块,必须设置好两轴的PositionValid状态标志。
当从轴和凸轮轮廓同步时,InSync输出为ON.只要从轴一直同步,InSync始终为ON状态,即使Execute输入变低。
虚拟轴(轴5)能作为功能高块的输入,但不能作为从轴功能块的输入。
注意:
如果主轴出错,进入ErrorStop状态,从轴将跟随主轴,速度变为0.如果无法获取主轴信息,从轴将进入ErrorStop状态并停止从轴的运动。
执行类型:
立即执行/延迟响应
操作数
实例变量
描述
允许的数据类型
初始值
实例变量名称
功能块实例的结构变量包括内部数据
(梯形图中初始形式为?
?
?
?
)
MC_CAMIN
N/A
参数
描述
允许的数据类型
初始值
Input_Output参数
Master
涉及到主轴
AXIS_REF
N/A
Slave
涉及到从轴
不支持虚拟轴(轴5)
AXIS_REF
N/A
参数
描述
允许的数据类型
初始值
输出
Execute
在上升沿开始
LD:
flow
其它语言:
除了常数外所有的
0
MasterOffset
主轴表的补充。
见页6-10的
“OffsetandScaling”
LREAL
0
SlaveOffset
从轴表的补充。
LREAL
0
MasterScaling
主轴轮廓因素
LREAL
1.0
SlaveScaling
从轴轮廓因素
LREAL
1.0
StartMode
规定了Ramp,Slave和Master的模式
DWORD。
见页6-9的
“StartModeMask”
0
CamTableID
被使用的凸轮表标识符。
MC_CAM_ID
BufferMode
定义了轴的运动方式:
有Aborting和Buffered两种模式(不允许Blending模式)
MC_BufferMode
0
RampDistance
单位Uu主轴的行程距离,该范围内的从轴和主轴的轮廓同步。
这是一个固定的距离,当ramp时,主轴一直在这个范围内运动
如果值为0,就假定主从轴已在HWC规定的速度,加速度和减速度范围内同步。
LREAL
0
PositionSource
定义主轴上的源头(ActualPosition或CommandedPosition)
如果选择了ActualPosition轴5,轴5使用外部编码器。
MC_PositionSource
数据类型结构见页6-52
0
输出
InSync
凸轮第一次啮合。
即使Execute输入值变低,InSync始终为ON状态,。
BOOL
0
Busy
指出功能块操作已经成功开始,但是还没有完成。
LD:
flow
其它语言:
除了常数外所有的
1
Active
表明功能块已经控制了轴
0
CommandAborted
该指令被另一指令中止
0
Warning
功能块中出现的警告信号
0
参数
描述
允许的数据类型
初始值
Error
功能块中出现的错误信号
0
ErrorID
指出了错误或警告的类型
WORD
0
EndOfProfile
凸轮轮廓循环终止的信号。
当激活时,功能块的首次调用时输出值高,下次调用时输出值低。
注意当CamIn激活时,这种转换能发生多次。
BOOL
0
CycleCount
凸轮穿过主轴翻转位置的次数。
只要凸轮被啮合,该值就一直保持,即使Execute转换值低。
INT
0
StartModeMask
RampMode
在跳跃过程中,从轴试图最小化其必须加速的加速度值。
造成的结果就是Ramp可能移动从轴远离将要同步的位置,或者超过同步位置移动,故当同步时,它能在相反的方向移动。
设置RampMode的值为1.
对于一些应用,最好是从轴移动的范围不超过轮廓的边界范围。
下图为RampMode设置为0时默认的行程。
凸轮轴模式
PMM中,当调用MC_CamTableSelect功能块时,主从轴需设置为绝对或相对模式。
绝对模式意味着主从轴的位置被当作绝对位置。
两轴都必须组态高/低位置极限,而且必须在位置极限范围内参考一个值。
绝对位移值不能超过极限值。
对于绝对主轴,当调用MC_CamIn功能时,在执行时主轴的绝对值将决定从轴的位置。
对于绝对从轴,主位置指定从轴到一个绝对位置。
相对模式表明当执行MC_CamIn功能时,位移值将从其相对位置开始增加。
相对主轴开始于凸轮轮廓,并随着凸轮轮廓的变化而发生变化。
从轴相对模式意味着从轴的位移增加并不需要参考从轴的绝对位置。
相对模式能超过高/低位置极限,并且在下一次轴循环模块中叠加。
OffsetandScaling
Offset和Scaling参数应用于凸轮功能块。
根据下列方程式产生从动指令位置:
使用Offset和Scaling来计算轮廓的更低或更高极限值:
O=Offset;S=Scaling
Absolute
如果Slave或Master执行模式为“相对”模式,凸轮轮廓的位置将当应用Scaling和Offset后开始使用。
例如,如果原始轮廓经过的下列点:
接着,使用Scaling和Offset参数,缩放和补偿轮廓将经过下列修改的点:
MasterScaling:
2;SlaveScaling:
0.5;MasterOffset:
-100;SlaveOffset:
50
如果当MC_CamIn执行时主轴值为900,从轴值将为300.
RelativeMaster
如果Master执行模式为相对模式,当MasterScaling应用在MasterOffset应用后,轮廓的低位极限被认为是当前的主位置。
接着应用MasterOffset。
如果轮廓已经选择了一个非周期模式(见MC_TableSelect),这就意味着任意正MasterOffset值将托拉轮廓远离当前主位置。
这将导致出错,除非RamoDistance弥补了运动间隙。
如果轮廓为周期的,轮廓将在主轴上的任意位置上存在,不太可能脱离轮廓。
如果轮廓选择了非周期模式,主轴载负方向运动,MasterOffset可设置为一个负值来将轮廓往左移动。
例如(假定Slave为Absolute),使用上面的Scaling和Offset参数位置表,如果当MC_CamIn执行时Master为900,则主轮廓低位极限设置为何当前主位置相等,因此修改后的点如下所示:
下一步,应用MasterOffset,轮廓的点值为:
假定一个线性曲线拟合类型(计算式如下),因主值为900,从动值被指定为75.
注意:
这个规则的一个例外就是当RelativeMaster缓冲为非周期模式,MC_CamIn执行于另一MC_CamIn执行后。
在这种情况下,存储了轮廓边沿,用来设置缓冲轮廓的方向沿(例如,如果主轴穿过第一个轮廓的左边沿,该边沿值将用来设置下一轮廓的右边沿值)。
这样就允许了一系列的缓冲相对MC_CamInFB的执行。
RelativeSlave
如果Slave的执行模式为相对模式,当前从动位置被假定为当SlaveScaling应用之后,SlaveOffset应用之前的轮廓位置。
例如,如果原始轮廓经过下列点:
接着,使用缩放比例和补充参数例子数据,缩放轮廓将经过下列修改的点:
MasterScaling:
2;SlaveScaling:
0.5
如果当MC_CamIn执行,Master为100,Slave为100时,当前的Slave为150,少于轮廓中的数据:
修改后的点数如下所示:
随着SlaveOffset等同于0,Slave将一直在轮廓上。
如果加上一个SlaveOffset,Slave将绝不会在准确的位于轮廓上。
例如,根据下列补偿数据,得到的点值为:
MasterOffset:
0;SlaveOffset:
50
Slave当前值为100,但轮廓需要值为150;在这种情况下,可能需要Ramping。
更多关于Ramping的信息请参考第七章“同步运动功能块”。
MC_CamOut
MC_CamOut功能块用来使从轴脱离主轴。
凸轮执行时,从轴继续以脱离后的速度运转。
如果从轴已经有了一个指定的加速度,轴将使用其本身的加速度和减速度应用极限值来达到最后的指令速度。
该指令通常跟随于另一指令。
当执行MC_CamOut时,MC_CamOut功能块的Busy输出将被清除。
执行类型:
立即执行/延迟响应
操作数
实例变量
描述
允许的数据类型
初始值
实例变量名称
功能块实例的结构变量包括内部数据
(梯形图中初始形式为?
?
?
?
)
MC_CAMOUT
N/A
参数
描述
允许的数据类型
初始值
Input_Output参数
Slave
对于从轴
不支持虚拟轴(轴5)
AXIS_REF
N/A
输入
Execute
开始将从轴从主轴上分离
LD:
flow
其它语言:
除了常数外所有的
0
输出
Done
分离完成
LD:
flow
其它语言:
除了常数外所有的
0
Busy
表明了功能块已经开始执行,但还没有完全完成其动作
1
Warning
功能块范围内的警告信号
0
Error
功能块范围内的错误信号
0
ErrorID
指出了错误或警告的类型
WORD
0
MC_CamTableDeselect
MC_CamTableDeselect功能块用来删除指定PMM中的凸轮轮廓文件,来释放内存空间。
更多关于检查内存空间的信息请参考MC_LibraryStatus功能块。
多个CamTableID,所有的都作为删除的MC_Cam_ID返回,可能指向一个单一的凸轮表。
对应于删除的凸轮表的CamTableID作为MC_CamIn的输入时时无效的。
执行类型:
立即执行/延迟响应
操作数
实例变量
描述
允许的数据类型
初始值
实例变量名称
功能块实例的结构变量包括内部数据
(梯形图中初始形式为?
?
?
?
)
MC_CAMTABLEDSELECT
N/A
参数
描述
允许的数据类型
初始值
Input_Output参数
Module
对应于模块
MODULE_REF
N/A
CamTable
对应于凸轮轮廓
MA_CAM_REF
N/A
输入
Execute
上升沿时删除凸轮表
LD:
flow
其它语言:
除了常数外所有的
0
RemoveAll
当RemoveAll设置为1时,执行上升沿时删除所有的凸轮表
BOOL
参数
描述
允许的数据类型
初始值
输出
Done
CamTable清空完成
LD:
flow
其它语言:
除了常数外所有的
0
Busy
表明了功能块已经开始执行,但还没有完全完成其动作
1
Warning
功能块范围内的警告信号
0
Error
功能块范围内的错误信号
0
ErrorID
指出了错误或警告的类型
WORD
0
MC_CamTableSelect
该功能块用来从CPU装载凸轮轮廓到从轴位于的PMM上。
装载的凸轮轮廓可被模块上的任意轴调用。
特定的主从轴将不分配直到执行MC_CamIn。
CamTableID用作MC_CamIn功能块的输入。
主轴,从轴和凸轮表输入时相互独立的。
可以为任意凸轮表选择任意轴作为主轴或从轴,只有下列条件满足。
装载凸轮表可能需要好几个扫描过程。
扫描的次数取决于凸轮表的大小和扫描频率。
当凸轮表完成装载时,Done输出被设置,可提供CanTableID。
执行类型:
立即执行/延迟响应
操作数
实例变量
描述
允许的数据类型
初始值
实例变量名称
功能块实例的结构变量包括内部数据
(梯形图中初始形式为?
?
?
?
)
MC_CAMTABLESELECT
N/A
参数
描述
允许的数据类型
初始值
Input_Output参数
Master
对应于主轴
AXIS_REF
N/A
Slave
对应于从轴
AXIS_REF
N/A
CamTable
对应于凸轮描述
MC_CAM_REF
N/A
输入
Execute
上升沿时选择
LD:
flow
其它语言:
除了常数外所有的
0
参数
描述
允许的数据类型
初始值
Periodic
选择下列的一种模式作为凸轮循环执行模式:
1=Periodic
0=NonPeriodic
BOOL
0
输出
Done
完成预选
LD:
flow
其它语言:
除了常数外所有的
0
Busy
表明了功能块已经开始执行,但还没有完全完成其动作
1
Waring
功能块范围内的警告信号
0
Error
功能块范围内的错误信号
0
ErrorID
指出了错误或警告的类型
WORD
0
CamTableID
应用于MC_CamIn功能块中的凸轮表标识符。
CamTableID在执行下降沿时不在重设。
MC_CAM_ID
0
Periodic(凸轮循环执行模式)
Periodic
对于周期模式,在主位置凸轮表栏中,当主轴位置达到最大值时,它将转到最低位置,反之亦然。
每当主轴位置旋转一次,MC_CamIn功能块的EndofProfile输出就重新设置一次。
NonPeriodic
在这种模式下,在主位置凸轮表栏中,当主轴位置达到最大或最低值时,MC_CamIn功能块设置它的EndofProfile输出值,凸轮分离。
从轴以上次执行指令的速度完成从同步运动到连续运动状态和连续移动的转变。
从轴状态的转变需要两个扫描过程。
作为跟随者,从轴落后于主轴一个样例周期。
当到达轮廓末端时,从轴需要一个附加的样例周期来产生一个新的速度指令。
凸轮选择为非周期模式允许功能紧随其后缓冲。
MC_DelayedStart
MC_DelayedStart功能块的操作方式和
MC_SyncStart功能块的操作方式很类似,除了轴可以延迟启动外。
延迟时间阵列的长度和AxisArray相同。
每个元素都指定了对应轴的延迟。
延迟时间为轴准备开始启动和轴实际启动时间之间的差值。
也可以用StartTime指令来设置时间。
StartTime的时间设置可以精确到1ms。
如果轴或与MC_DelayedStart指令相关的模块上有MC_Stop,MC_Reset,MC_Power,或MC_ModuleReset功能块在执行,
MC_DelayedStart的执行将终止。
执行类型:
立即执行/延迟响应
操作数
实例变量
描述
允许的数据类型
初始值
实例变量名称
功能块实例的结构变量包括内部数据
(梯形图中初始形式为?
?
?
?
)
MC_DELAYEDSTART
N/A
参数
描述
允许的数据类型
初始值
?
?
长度,同步轴的数目(有效范围1-8),由AxisArray和DelayTimes指定
Constant
1
Input_Output参数
AxisArray
需要同步的轴阵列(最大值8)
AXIS_REF[]
N/A
输入
Execute
执行MC_DelayedStart功能
LD:
flow
其它语言:
除了常数外所有的
0
DelayTimes
延迟时间为轴准备开始启动和轴实际启动时间之间的差值(最大值8)
LEARL[]
0
参数
描述
允许的数据类型
初始值
StartTime
在执行MC_DelayedStart功能块和当轴准备执行时之间的最大的消逝时间。
如果所有轴载时间范围内没有准备开始,将会出错。
值0表明了5分钟的时间极限。
轴实际开始的时间由DelayTimes阵列决定。
UNIT
0
AbsoluteStart
如果设置为1,轴必须根据StartTime规定的时间准备好。
如果设置为0,只要协调好了,轴就可开始运动。
BOOL
0
输出
Done
轴已经同步开始
LD:
flow
其它语言:
除了常