轴配置及电子凸轮 功能:此指令用于调整主轴和从轴的相位差,当指令完调用完成之后,主轴和从轴之间相位差为 PhaseShift,即从轴位置=主轴位置-PhaseShift。 如下图所示,主从轴都按 360 周期运动,Execute 信号上升沿执行调整,调整完成后从轴与主轴之 间相位偏差为 PhaseShift 设定的值。 参数说明: 输入输 参数描述 类型 备注 出属性 参数名 指令执行条件 BOOL 当执行条件由Off 变On时,执行该指令。 IN 主轴ID号 BYTE Execute IN 从轴ID号 BYTE 相位偏移 Master IN 相位偏移 REAL 相位调整速度。 Slave IN 速度 REAL 相位调整加速度。 PhaseShift IN 加速度 BOOL 相位调整减速度。 IN 减速度 BOOL 0:Abort (直接打断正在进行的指令) Vel IN 其他:非法 Acc 中止模式 BYTE 相位调整完成Done被置位。 Dec IN 当指令的执行条件Off 时,Done位被复位 相位偏移调整 BOOL True,指令正在处理中 BufferMode OUT 完成 BOOL 当指令执行过程中被终止时,Abort位置位; OUT 指令处理中 BOOL 当指令的执行条件Off 时,Abort位被复位。 Done OUT 如果检测到有错误,Error位被置位; Busy 命令终止位 BOOL 当指令的执行条件Off 时,Error位被复位。 Abort OUT WORD 错误代码,详见章节7.3.5 错误代码。 OUT 错误位 Err ErrId 错误代码 MC_MoveSuperImposed 叠加相对位移指令 函数名:MC_MoveSuperImposed -192-
CTMC 运动控制器用户手册 功能:此指令用于控制终端执行机构在当前运动状态下按给定速度,加减速独立的追加一段给定距离, 此指令执行时,不会终止前一个指令执行,两条指令同时执行,距离、速度、加减速会实时叠加。当 其中一个指令执行完毕,将不再叠加其速度、加减速,另一指令仍然独立运行。 参数说明: 输入输 参数描述 类型 备注 参数名 出属性 指令执行条件 Execute BOOL 当执行条件由Off 变On时,执行该指令。 IN -193-
轴配置及电子凸轮 Axis IN 轴ID号 BYTE 以当前位置为参考,终端执行机构要移动的目 Dis IN 距离 REAL 标距离,该值设置为负数代表轴将会反转。 REAL 单位:单元。 Vel IN 速度 Acc IN 加速度 终端执行机构的运转速度,此参数总为正。 Dec IN 减速度 (单位:单元/秒) Done OUT 完成位 终端执行机构的加速度,此参数总为正。 REAL (单位:单元/秒/秒) Busy OUT 指令执行位 REAL 终端执行机构的减速度,此参数总为正。 BOOL (单位:单元/秒/秒) Abort OUT 命令终止位 BOOL 绝对位移动作执行完成时,Done位被置位; Err OUT 错误位 当指令的执行条件Off 时,Done位被复位。 ErrId OUT 错误代码 BOOL 当指令执行时。Busy位被置位。 当指令完成Busy复位。 BOOL 当指令的执行条件Off 时,Busy位被复位。 WOR 当该指令执行过程中被终止时,Abort位被置 位; D 当指令的执行条件Off 时,Abort位被复位。 如果检测到有错误,Error位被置位; 当指令的执行条件Off 时,Error位被复位。 错误代码,详见7.3.5 错误代码 7.3.3 轴组指令 轴组的运动控制指令,一般用于多轴的直线插补、圆弧插补指令等。轴组指令状态流程图如下图所示: -194-
CTMC 运动控制器用户手册 图中 MC_GroupHome,GroupStop 等函数还没有实现。因此 Homing 和 Stopping 两种轴组状暂 时保留。 轴组指令常用到的 MC 功能块如下: CTMC 系列 CPU 型号 函数名 指令名称 M228ML\\M228SL\\ M226SM MC_GroupReadState 读取轴组状态指令 均支持 MC_GroupEnable 轴组有效指令 MC_GroupDisable 轴组无效指令 均支持 MC_GroupReset 轴组错误复位指令 MC_GroupHalt 轴组停止指令 均支持 MC_MoveLinerRelative 相对位移直线插补指令 MC_MoveLinerAbsolute 绝对位移直线插补指令 均支持 MC_MoveCircularRalative 相对位移圆弧插补指令 MC_MoveCircularAbolute 绝对位移圆弧插补指令 均支持 均支持 均支持 均支持 均支持 MC_GroupReadState 读取轴组状态指令 函数名:MC_GroupReadState -195-
轴配置及电子凸轮 功能:此指令用于读取相应的轴组状态参数的值。 参数说明: 参数名 输入输 参数描述 类型 备注 出属性 当为On时,执行该指令。 Enable IN 指令执行条件 BOOL 轴组号 指令执行成功后,Done 位被置位; GroupId IN 轴组Id号 BYTE 如果检测到有错误,Err位被置位; 当指令的执行条件由On变Off时,Err位被复位。 Done OUT 状态位 BOOL 当Err为TRUE时,ErrId为指令的错误。 当ErrStop为TRUE时,ErrId为轴组当前错误。 Err OUT 错误位 BOOL TRUE,如果轴组位于状态ErrStop TRUE,如果轴组位于状态Stopping ErrId OUT 错误码 WORD TRUE,如果轴组位于状态Moving TRUE,如果轴组位于状态Standby ErrStop OUT 状态指示位 BOOL TRUE,如果轴组位于状态Homing Stopping OUT 状态指示位 BOOL TRUE,如果轴组位于状态Disabled Moving OUT 状态指示位 BOOL Standby OUT 状态指示位 BOOL Homing OUT 状态指示位 BOOL Disabled OUT 状态指示位 BOOL MC_GroupEnable 轴组有效指令 函数名:MC_GroupEnable 功能:使轴组有效。轴组状态从 GroupDisalbed 转变为 GroupStandby。 参数说明: 参数名 输入输 参数描述 类型 备注 出属性 Execute IN 指令执行条件 BOOL 当执行条件由Off变On时,执行该指令。 GroupId IN 轴组Id号 BYTE 轴组号 Busy OUT 忙位 BOOL 指令正在执行为TRUE,执行完成为FLASE Done OUT 状态位 BOOL 指令执行成功后,Done 位被置位; Err OUT 错误位 如果检测到有错误,Error位被置位; BOOL 当指令的执行条件Off 时,Error位被复位。 -196-
CTMC 运动控制器用户手册 ErrId OUT 错误代码 WORD 错误代码,详见章节7.3.5 错误代码。 MC_GroupDisable 轴组无效指令 函数名:MC_GroupDisable 功能:使轴组无效。将轴组状态由 GroupStandby 转变为 GroupDisalbed。 参数说明: 参数名 输入输 参数描述 类型 备注 出属性 Execute IN 指令执行条件 BOOL 当执行条件由Off 变On时,执行该指令。 GroupId IN 轴组ID号 BYTE 轴组号 Done OUT 状态位 BOOL 指令执行成功后,Done 位被置位; Busy OUT 忙位 BOOL 指令正在执行为TRUE,执行完成为FLASE Err OUT 错误位 BOOL 如果检测到有错误,Error位被置位; ErrId OUT 错误代码 WORD 当指令的执行条件Off 时,Error位被复位。 错误代码,详见章节7.3.5 错误代码。 MC_GroupReset 轴组错误复位指令 函数名:MC_GroupReset 功能:轴组处于 ErrStop 状态时,调用本指令,清除轴组和轴的错误,并将轴组状态切换到 Disabled (出错前轴组未使能)或 Standby。 参数说明: 参数名 输入输 参数描述 类型 备注 出属性 Execute IN 指令执行条件 BOOL 当执行条件由Off 变On时,执行该指令。 GroupId IN 轴组Id号 BYTE 轴组号 Done IN 指令完成位 BOOL 完成位 Busy OUT 指令执行位 BOOL 当指令执行时。Busy位被置位。 当指令完成Busy复位。 当指令的执行条件Off 时,Busy位被复位。 Abort OUT 命令终止位 BOOL 保留接口,不会出现 Err OUT 错误位 BOOL ErrId OUT 错误代码 WORD 如果检测到有错误,Error位被置位; 当指令的执行条件Off 时,Error位被复位。 错误代码,详见章节7.3.5 错误代码。 -197-
轴配置及电子凸轮 MC_GroupHalt 轴组停止指令 函数名:MC_GroupHalt 功能:使插补动作中的所有轴减速停止。 参数说明: 参数名 输入输 参数描述 类型 备注 出属性 BOOL BYTE 当执行条件由Off 变On时,执行该指令。 Execute IN 指令执行条件 REAL 轴组号 GroupId IN 轴组Id号 BYTE 终端执行机构的减速度,此参数总为正。(单 BOOL 位:单元/秒),当设为0时,实现紧急停止 Dec IN 减速度 BOOL 0:Abort (直接打断正在进行的指令) 其他:非法 BufferMode IN 中止模式 BOOL 指令执行完成时,Done位被置位; 当指令的执行条件Off 时,Done位被复位。 Done OUT 完成位 BOOL 当指令执行过程中被终止时,Abort位被置位; WORD 当指令的执行条件Off 时,Abort位被复位。 Abort OUT 中止位 当指令执行时。Busy位被置位。 当指令完成Busy复位。 Busy OUT 指令执行位 当指令的执行条件Off 时,Busy位被复位。 如果检测到有错误,Error位被置位; Err OUT 错误位 当指令的执行条件Off 时,Error位被复位。 ErrId OUT 错误代码 错误代码,详见章节7.3.5 错误代码码。 MC_MoveLinerRelative 相对位移直线插补指令 函数名:MC_MoveLinerRelative 功能:此指令按照相对的位移进行直线插补 -198-
CTMC 运动控制器用户手册 参数说明: 输入输 参数描述 类型 备注 参数名 出属性 指令执行条件 Execute 轴组ID号 BOOL 当执行条件由Off 变On时,执行该指令。 GroupId IN IN 相对位置指针 BYTE pDis IN 速度 指向描述目标距离的指针。 Vel 加速度 目标距离为描述为6个REAL类型的数据。代 Acc IN 减速度 表(MCS下的空间位移) Dec IN X:REAL; IN 中止模式 Y:REAL; BufferMode Z:REAL; IN 坐标系统 A:REAL; CoordSystem 完成位 B:REAL: Done IN 命令终止位 DWORD C:REAL, Abort OUT 指令执行位 或(ACS下的每个轴的位移) Busy OUT 错误位 A0:REAL Err OUT 错误代码 A1:REAL; ErrId OUT A2:REAL; OUT A3:REAL: A4:REAL; A5:REAL; (单位:单元) 终端执行机构的运转速度,此参数总为正。 REAL (单位:单元/秒) 终端执行机构的加速度,此参数总为正。 REAL (单位:单元/秒/秒) 终端执行机构的减速度,此参数总为正。 REAL (单位:单元/秒/秒) 0:Abort (直接打断正在进行的指令,禁用过 渡) 1:Buffered(前一段减速完成开始执行缓冲的 功能块) 2:BendingPrevious(以当前速度走到前一段 BYTE 结束并按照前一段的速率开始执行下一段,禁 用过渡) 16#12:TMCorner(附加角过渡,在前一段 开始执行减速时以附加角过渡到下一段);详 情见BufferMode连续插补具体介绍。 BYTE 0:ACS 1:MCS (暂时只有这种) BOOL 2:WCS BOOL 3:PCS_1 BOOL 4:PCS_2 BOOL WORD 绝对位移动作执行完成时,Done位被置位; 当指令的执行条件Off 时,Done位被复位。 当指令执行过程中被终止时,Abort位被置位; 当指令的执行条件Off 时,Abort位被复位。 当指令执行时。Busy位被置位。 当指令完成Busy复位。 当指令的执行条件Off 时,Busy位被复位。 如果检测到有错误,Error位被置位; 当指令的执行条件Off 时,Error位被复位。 错误代码,详见章节7.3.5 错误代码。 -199-
轴配置及电子凸轮 MC_MoveLinerAbsolute 绝对位移直线插补指令 函数名:MC_MoveLinerAbsolute 功能:此指令按照绝对的位移进行直线插补 参数说明: 参数名 输入输 参数描述 类型 备注 出属性 Execute IN 指令执行条件 BOOL 当执行条件由Off变On时,执行该指令。 GroupId IN 轴组ID号 BYTE 指向描述目标位置的指针。 目标位置为描述为6个REAL类型的数据。代表 (MCS下的空间位移) X:REAL; Y:REAL; Z:REAL; A:REAL;(保留) pPos IN 绝对位置指 DWORD B:REAL: (保留) 针 C:REAL,(保留) Vel 或(ACS下的每个轴的位移) Acc Dec A0:REAL A1:REAL; A2:REAL; (对两轴保留) A3:REAL:(保留) A4:REAL;(保留) A5:REAL:(保留) (单位:单元) IN 速度 终端执行机构的运转速度,此参数总为正。(单 REAL 位:单元/秒) IN 加速度 终端执行机构的加速度,此参数总为正。 REAL (单位:单元/秒/秒) IN 减速度 终端执行机构的减速度,此参数总为正。 REAL (单位:单元/秒/秒) 0:Abort (直接打断正在进行的指令,禁用过渡) 1:Buffered(前一段减速完成开始执行缓冲的功 能块) BufferMode IN 中止模式 2:BendingPrevious(以当前速度走到前一段结 BYTE 束并按照前一段的速率开始执行下一段,禁用 过渡) 16#12:TMCorner(附加角过渡,在前一段开 始执行减速时以附加角过渡到下一段);详情 -200-
CTMC 运动控制器用户手册 CoordSystem IN 坐标系统 BYTE 见BufferMode连续插补具体介绍。 0:ACS Done OUT 完成位 BOOL 1:MCS (暂时只有这种) Abort OUT 命令终止位 BOOL 2:WCS Busy OUT 指令执行位 BOOL 3:PCS_1 OUT 错误位 BOOL 4:PCS_2 Err OUT 错误代码 WORD 绝对位移动作执行完成时,Done位被置位; ErrId 当指令的执行条件Off 时,Done位被复位。 当指令执行过程中被终止时,Abort位被置位; 当指令的执行条件Off 时,Abort位被复位。 当指令执行时。Busy位被置位。 当指令完成Busy复位。 当指令的执行条件Off 时,Busy位被复位。 如果检测到有错误,Error位被置位; 当指令的执行条件Off 时,Error位被复位。 错误代码,详见章节7.3.5 错误代码。 MC_MoveCircularRalative 相对位移圆弧插补指令 函数名:MC_MoveCircularRalative 功能:此指令按照相对的位移进行圆弧插补。 参数说明: 参数名 输入输 参数描述 类型 备注 出属性 当执行条件由Off 变On时,执行该指令。 Execute IN 指令执行条件 BOOL Bit0~Bit3 GroupId IN 轴组ID号 BYTE 0:三点式 1:中心点式。 CircMode IN 圆弧插补方式 BYTE 8:三点式全圆 9:中心点式全圆 Bit4:插补方向(中心点式和全圆有效) 0:为反转(CCW) 1:正转(CW) 圆弧的方向是根据右手定则选择的:CCW方向 是沿着手指弯曲的方向。 当为中心点式时,如果中心点与起点和终点的 距离不完全相同(这通常是由于编程中心点的 精度有限),则将其投影到起点和终点的垂直 -201-
轴配置及电子凸轮 平分线上。一旦中心点离得太远(超过半径的 1%),就会返回一个错误。 指向描述参考位置的指针。 三点式时,pAuxPostion指的是经过的参考点。 当为中心点式时,pAuxPostion指的是圆心。 参考位置为描述为6个REAL类型的数据。代表 (MCS下的空间位移) pAuxPoint IN 参考位置指针 DWORD X:REAL Y:REAL pEndPoint Vel Z:REAL Acc Dec A:REAL(保留) BufferMode B:REAL(保留) CoordSyste C:REAL(保留) m (单位:单元) 指向描述目标位置的指针。 目标位置为描述为6个REAL类型的数据。代表 (MCS下的空间位移) X:REAL IN 目标位置指针 DWORD Y:REAL Z:REAL A:REAL(保留) B:REAL(保留) C:REAL(保留) IN 速度 终端执行机构的运转速度,此参数总为正。 REAL (单位:单元/秒) IN 加速度 终端执行机构的加速度,此参数总为正。 REAL (单位:单元/秒/秒) IN 减速度 终端执行机构的减速度,此参数总为正。 REAL (单位:单元/秒/秒) 0:Abort (直接打断正在进行的指令,禁用过渡) 1:Buffered(前一段减速完成开始执行缓冲的功 能块) IN 中止模式 2:BendingPrevious(以当前速度走到前一段结 BYTE 束并按照前一段的速率开始执行下一段,禁用 过渡) IN 坐标系统 BYTE 16#12:TMCorner(附加角过渡,在前一段开 始执行减速时以附加角过渡到下一段);详情 见BufferMode连续插补具体介绍。 0:ACS 1:MCS (暂时只有这种) 2:WCS 3:PCS_1 4:PCS_2 -202-
CTMC 运动控制器用户手册 Done OUT 完成位 BOOL 绝对位移动作执行完成时,Done位被置位; Abort OUT 命令终止位 BOOL 当指令的执行条件Off 时,Done位被复位。 当指令执行过程中被终止时,Abort位被置位; Busy OUT 指令执行位 BOOL 当指令的执行条件Off 时,Abort位被复位。 当指令执行时。Busy位被置位。 Err OUT 错误位 BOOL 当指令完成Busy复位。 ErrId OUT 错误代码 WORD 当指令的执行条件Off 时,Busy位被复位。 如果检测到有错误,Error位被置位; 当指令的执行条件Off 时,Error位被复位。 错误代码,详见章节7.3.5 错误代码。 MC_MoveCircularAbolute 绝对位移圆弧插补指令 函数名: MC_MoveCircularAbolute 功能:此指令按照绝对的位移进行圆弧插补。 参数说明: 参数名 输入输 参数描述 类型 备注 出属性 当执行条件由Off 变On时,执行该指令。 Execute IN 指令执行条件 BOOL GroupId Bit0-Bit3 IN 轴组ID号 BYTE 0:三点式 1:中心点式。 圆弧插补方 8:三点式全圆 CircMode IN 式 BYTE 9:中心点式全圆 Bit4: 插补方向(中心点式有效) 0:为反转(CCW) 1:正转(CW) 圆弧的方向是根据右手定则选择的:CCW方向是 沿着手指弯曲的方向。 当为中心点式时, 如果中心点与起点和终点的距离不完全相同(这 通常是由于编程中心点的精度有限),则将其投 影到起点和终点的垂直平分线上。一旦中心点离 得太远(超过半径的1%),就会返回一个错误。 -203-
轴配置及电子凸轮 指向描述参考位置的指针。 当三点式时,pAuxPostion指的是经过的参考点。 当为中心点式时,pAuxPostion指的是圆心。 参考位置距离为描述为6个REAL类型的数据。代 表(MCS,PCS,WCS下的) pAuxPoint IN 参考位置指 DWORD X:REAL 针 Y:REAL pEndPoint IN Z:REAL Vel IN Acc IN A:REAL(保留) Dec IN B:REAL(保留) BufferMode IN C:REAL(保留) CoordSyste IN m OUT (单位:单元) OUT Done OUT 指向描述结束位置的指针。 Abort OUT Busy OUT 结束位置距离为描述为6个REAL类型的数据。 Err X:REAL ErrId 结束位置指 DWORD Y:REAL 针 Z:REAL A:REAL(保留) B:REAL(保留) C:REAL(保留)(单位:单元) 速度 终端执行机构的运转速度,此参数总为正。 REAL (单位:单元/秒) 加速度 终端执行机构的加速度,此参数总为正。 REAL (单位:单元/秒) 减速度 终端执行机构的减速度,此参数总为正。 REAL (单位:单元/秒) 0:Abort (直接打断正在进行的指令,禁用过渡) 1:Buffered(前一段减速完成开始执行缓冲的功 能块) 中止模式 BYTE 2:BendingPrevious(以当前速度走到前一段结束 并按照前一段的速率开始执行下一段,禁用过渡) 16#12:TMCorner(附加角过渡,在前一段开始 执行减速时以附加角过渡到下一段);详情见 BufferMode 连续插补具体介绍。 坐标系统 0:ACS;1:MCS (暂时只有这种);2:WCS BYTE 3:PCS_1;4:PCS_2 完成位 BOOL 绝对位移动作执行完成时,Done位被置位; 当指令的执行条件Off 时,Done位被复位。 命令终止位 BOOL 当该指令执行过程中被终止时,Abort位被置位; 指令执行位 BOOL 当指令的执行条件Off 时,Abort位被复位。 错误位 BOOL 当指令执行时。Busy位被置位。 当指令完成Busy复位。 当指令的执行条件Off 时,Busy位被复位。 如果检测到有错误,Error位被置位; 当指令的执行条件Off 时,Error位被复位。 错误代码 WORD 错误代码,详见章节7.3.5 错误代码。 BufferMode 连续插补具体介绍 取值 描述 详细 0 Abort 直接打断正在进行的指令,禁用过渡 1 Buffered 前一段减速完成,开始执行缓冲的指令 2 BendingPrevious 以前一段速度走到前一段结束并按照前一段的速率开 -204-
CTMC 运动控制器用户手册 TMCorner 始执行下一段,禁用过渡 16#12 附加角过渡,在前一段开始执行减速时以附加角过渡到 下一段 Abort 直线 L1 先执行第一条插补指令,在 L1 走完之前触发第二条插补指令,如果第二条插补指令的缓冲模 式设置为“Abort“,则第二条插补指令立即打断第一条插补指令并开始执行新的插补曲线。 Buffered 直线 L1 首先执行第一条插补指令,在 L1 走完之前触发第二条插补指令,如果第二条插补指令的缓冲 模式设置为“Buffered”,插补器将继续执行第一条插补指令。 等第一条插补指令执行完,Done 信号输出有效后,第二条插补指令开始执行,如下图所示: BendingPrevious 直线 L1 先执行第一条插补指令,在 L1 走完之前触发第二条插补指令。如果第二条插补指令的缓冲模 式设置为“BendingPrevious”,插补器将尝试保持第一条指令的目标速度走完整条直线。 等待第一条插补指令执行完,Done 信号输出有效后,第二条插补指令开始执行,切换点将保持速率 不变,坐标轴的分速度将重新分配。如下图所示: -205-
轴配置及电子凸轮 该模式适合在直线与圆弧相互切换且直线位于圆弧的切线上,采用该模式可以保持插补曲线的速度连 续。 TMCorner 直线 L1 首先执行第一条插补指令,在 L1 走完之前触发第二条插补指令。如果第二条插补指令的缓冲 模式设置为“TMCorner”,插补器检测到第一条直线 L1 开始执行减速时,启动第二条插补指令,以附 加角的方式过渡到第二条插补,保持各方向上速度连续,如下图所示: -206-
CTMC 运动控制器用户手册 7.3.4 追飞剪指令 追飞剪指令适用于 M228SL、M226SM,追飞剪包含四个功能块,如下表所示: 函数名 指令名称 M228SL\\M226SM SMC_FlyingShearSet 追剪设置指令 支持 SMC_RotatingCutset 飞剪设置指令 支持 SMC_GetPosByEvent 位置抓取指令 支持 位置转换指令 支持 SMC_PosToPulse SMC_FlyingShearSet 追剪设置指令 函数名:SMC_FlyingShearSet 功能:该指令用于修改一个正在运行的追剪凸轮相关参数,调用之后,会重新计算凸轮曲线。重新计 算好的曲线会在下一个凸轮周期开始时生效。 参数说明: 输入输出 参数描述 类型 备注 属性 参数名 IN 指令执行条件 BOOL 上升沿执行 IN 追剪凸轮ID BYTE Execute IN BYTE 预留,默认参数为0 CamID IN 模式 REAL 定标模式下通过标的位置测定给出 Mode IN 裁剪长度 CutLen REAL MasterStartPo IN 主轴起始位置 IN REAL s IN 主轴同步位置 REAL MasterSyncPo REAL IN 从轴同步位置 s 从轴同步结束 REAL SlaveSyncPos IN 位置 REAL SlaveEndPos 从轴返回对应 主轴的位移 ReturnDis 从轴等待时主 WaitDis 轴的位移 -207-
轴配置及电子凸轮 Done OUT 完成位 BOOL 若检测到有错误,Error 位被置位; Err OUT 错误位 BOOL 当指令的执行条件为 Off 时,Error ErrId OUT 错误代码 WORD 位被复位。 错误代码,详见章节7.3.5 错误代 码。 SMC-RotatingCutSet 飞剪设置指令 函数名:SMC_RotatingCutset 功能:该指令用于修改飞剪凸轮(旋转切割)用到的相关参数,调用之后,会重新计算凸轮曲线。重 新计算好的曲线会在下一个凸轮周期开始时生效。 参数说明: 参数名 输入输 参数描述 类型 备注 出属性 Execute IN 指令执行条件 BOOL 上升沿执行 CamID IN 凸轮编号 BYTE 飞剪凸轮ID Mode IN 模式 BYTE 预留参数,默认为0。 0:工作曲线 Type IN 曲线类型 BYTE 1:启动曲线 2:停止曲线 KnifeNum IN 切刀个数 从轴上的切刀数目,切刀要求均匀角度安装,两 BYTE 两切刀之间的角度相同。 CutLen IN 裁剪长度 REAL 定标模式下通过标的位置测定给出 Radius IN 刀轮半径 REAL SyncAngelFr IN 前同步角 REAL ont SyncAngelB IN 后同步角 REAL ack ResetAngel IN 刀轮复位角 REAL 指复位之后,切刀从原点按运行方向运行,当前 同步角边沿到达切点经过的角度值。 Done OUT 完成位 BOOL Err OUT 错误位 BOOL 若检测到有错误,Error 位被置位;当指令的执行 ErrId OUT 错误代码 条件为 Off 时,Error 位被复位。 WORD 错误代码,详见章节7.3.5 错误代码。 -208-
CTMC 运动控制器用户手册 SMC_GetPosByEvent 位置抓取指令 函数名:SMC_GetPosByEvent 功能:该指令绑定一个 IO 中断,当中断发生时读取某个轴的输出脉冲计数(HSC 或映射内存值), 并按该轴的量纲配置,将这个脉冲值转换为坐标值,输出到 PosPtr 指针指定的内存中。 ! 注意 1、只需要调用一次即可绑定中断事件。 2、必须先调用 ATCH 指令(中断连接指令),再调用 ENI 指令(中断使能指令),该指令中断 才能产生。 3、该指令功能块在 ATCH 指令绑定的 OB 块之前执行,速度快于 OB 块内读取的值。 4、如果是 HSC 必须在该指令前初始化,才能读到变化的脉冲值。 参数说明: 输入输 参数描述 类型 备注 参数名 出属性 Execute BOOL Axis IN 指令执行条件 BYTE 上升沿执行 Event BYTE IN 轴号 Type IN 事件中断号 仅支持本机IO中断 Object 0:HSC,中断发生时,读取HSC当前值,如果 Window IN 类型 BYTE 是HSC捕获中断,将会读取HSC硬件捕获寄存 PosPtr 器。 IN 读取对象 DWOR 1:内存映射,中断发生时,读取映射的内存值。 Done D 如果Type参数是0,则该值表示的是HSC的ID, IN 检测窗口 范围为0~5。 Err IN 转换结果 REAL 如果Type参数是1,则该值是指向内存的指针。 ErrId OUT 完成位 REAL 连续两次转换的最小间隔位置 OUT BOOL 转换结果存放的指针 OUT 错误位 BOOL 0:指令未完成 错误代码 WORD 1:指令完成 若检测到有错误,Error 位被置位;当指令的执行 条件为 Off 时,Error 位被复位。 错误代码,详见章节7.3.5 错误代码。 SMC_PosToPulse 位置转换指令 函数名:SMC_PosToPulse -209-
轴配置及电子凸轮 功能:该指令将两个输入点按轴的量纲,转换为实际的脉冲数。参数说明: 参数名 输入输 参数描述 类型 备注 出属性 Execute IN 指令执行条件 BOOL 上升沿执行 Axis IN 轴号 BYTE 需要用到量纲参数和类型 P0_Angle IN 事件中断号 REAL 位置参数 0,如果是直线轴,则就是位置 0, 如果是旋转轴,则是角度。 P1_R IN 类型 REAL 位置参数1,如果是直线轴,就是位置1,如 果是旋转轴,则是半径。 Done OUT 完成位 BOOL 0:指令未完成 1:指令完成 Err OUT 错误位 BOOL ErrId OUT 错误代码 WORD 错误代码,详见章节7.3.5 错误代码。 Pulse 转换之后的 DWORD OUT 脉冲个数 7.3.5 错误代码 错误代码说明: 错误码 说明 错误码 说明 运行超速(运行速度超过最大速度) 0 没有错误 46 通讯错误 1 轴号取值错误 50 伺服内部错误 没有错误需要清除 MC_Reset 2 轴状态错误 51 运动过程中断使能 RetioNumerator 取值错误 3 指令丢失 52 RetioMenominator 取值错误 凸轮表和 MC_TableSelect 不一致 4 轴忙 53 凸轮表 ID 错误(或没有创建) 凸轮表数据错误 5 速度取值太小(小于最小速度) 60 MasterScaling 取值错误 SlaveScaling 取值错误 6 速度取值太大(大于最大速度) 61 StartMode 取值错误 达到左限位开关 7 加速度取值太小 65 达到右限位开关 到达负向软件限位 8 加速度取值太大 66 到达正向软件限位 9 减速度取值太小 67 10 减速度取值太大 68 11 方向取值错误 69 12 HSP 轴取值错误 70 13 HSP 模块号错误 80 15 轴未准备好 81 16 复位错误失败 82 17 GroupId 错误 83 -210-
CTMC 运动控制器用户手册 19 距离指针错误 90 cmd 取值错误 20 BufferMode 取值错误 91 TriggerInput 取值错误 21 CoordSys 取值错误 92 TriggerVar 取值错误 22 内部软件错误 93 MC_Feed 执行失败 23 内存申请错误 94 MC_Feed 指令正在执行 24 CircMode 设置错误 95 模块中没有此中断,或中断没有使能 25 圆弧三点成一线 100 轴组中的轴错误 26 两点到圆心距离不相等 101 轴组状态设置错误 30 回原模式缺少 Z 相配置 102 轴组中有轴已处于别的轴组控制之中 31 回原模式缺少正向开关配置 1000 此配置将来才会支持 32 回原模式缺少负向开关配置 2001~ 模块错误 2022 33 回原模式缺少原点开关配置 3000 组态中存在错误 34 回原模式取值错误 1600 没有资源 35 伺服内部回原错误 1601 事件中断 ID 不支持 43 Position 参数设置过大 1602 追剪参数错误 44 Position 参数设置过小 1603 飞剪参数错误 45 主轴坐标超范围 1604 飞剪角度设置错误 7.3.6 电子凸轮程序示例 以下程序为 CTMC 系列 CPU 使用轴指令 ct_plcopen_lib(v2.0)实现电子凸轮功能的示例。 程序实现的网络示意图 网络 1:对轴进行使能操作。 网络 2:选择凸轮曲线,设置主站、从站信息、状态信息等参数。 -211-
轴配置及电子凸轮 网络 3:建立主从轴间的凸轮关系,建立凸轮关系时,根据应用需求指定主从轴的偏移值,缩放比和 启动模式。当指令执行完毕,从轴根据凸轮曲线跟随主轴运动。 网络 4:读取相应轴状态。 网络 5:解除主从轴间的凸轮关系,关系解除后,从轴会以脱离前的速度继续运动。 -212-
CTMC 运动控制器用户手册 网络 6:轴按给定的减速度减速,直到停止。 7.3.7 连续插补功能应用举例 下面以 CPU M228ML 为例子对连续插补功能进行具体操作介绍。 在 M228ML 站点的项目管理器界面选择“硬件组态”,进行硬件组态,然后在主程序中调用插补 指令进行编程。本例调用的插补指令为相对位移直线插补指令。 步骤一:添加 CPU 模块至 CPU 上。 硬件组态界面中,在“CO-TRUST 200”项目树下展开“CPU 200”文件夹,添加 CPU 模块, CPU 只能放至机架的 0 号槽内,如下图所示。 -213-
轴配置及电子凸轮 步骤二:轴配置 在硬件组态界面选择“工具”“轴配置向导”,添加两个脉冲轴,如下图所示。 -214-
CTMC 运动控制器用户手册 <备注> 使用插补功能需要配置两个或两个以上的脉冲轴。 步骤三:配置轴组 轴组配置即将配置好的轴两个或三个一组以轴组的形式自由组合,本例配置的轴有两个;在“轴组 配置”界面,右键点击“添加轴组”进行轴组添加,如下图所示: 添加成功的轴组界面如下所示: -215-
轴配置及电子凸轮 “轴组基本配置”:“轴组号”不可更改,“轴组类型”下拉选项可选择“2-轴正交”或“3- 轴正交”,分别对应可选两组或三组“构成轴”;“运算周期”可选“脉冲”;“加速模式”可 选“梯形”,“sin*2”和“二次”。 “逻辑轴”:默认六组,不可更改。 “构成轴”:“2-轴正交”对应两个构成轴,“3-轴正交”对应三个构成轴,下拉选项可选择 “脉冲轴”或“虚拟轴”。 步骤四:在主程序中调用插补指令进行编程。 网络 1:设置插补指令的速度 网络 2、网络 3:分别对两个脉冲轴进行使能操作。 -216-
CTMC 运动控制器用户手册 网络 4:调用轴组有效指令,使轴组有效 网络 5、网络 6:读取相应的轴状态。 -217-
轴配置及电子凸轮 网络 7、8、9:设置运行速度、加速度、减速度,插补模式等参数,指令使能位可以用同一个位来 同时触发(程序中缓存 2 条连续插补指令),然后按照指令先后顺序进行连续直线插补运动。 <备注>: 连续插补一次最大缓存指令条数为 8 条,如果想缓存第 9 条,当第 1 条指令运行完成后 再使能缓存第 9 条。 -218-
CTMC 运动控制器用户手册 7.3.8 追剪功能介绍 追剪工艺介绍 CTMC 系列运动控制器 M228SL 支持追剪飞剪功能。追剪是指对运动中的物料进行切割的工艺。追剪 执行机构与物料平行,当追剪执行机构与物料同步后,追剪执行机构上的刀头对物料进行切割,切割 动作完成后刀头返回原点位置。 追剪架构示意图如下: M228SL 伺服 伺服 从轴(剪切) 切刀 电机 电机 主轴(送料) 从轴与主轴位置关系图如下: -219-
轴配置及电子凸轮 注释 对应的指令参数 A 起始位置 -- B 主轴起始位置 MasterStartPos C 主轴同步位置 MasterSyncPos D 主轴同步结束位置 -- F 从轴开始减速返回原点位置 -- G 从轴返回到原点位置 -- I 从轴同步位置 SlaveSyncPos J 从轴同步结束位置 SlaveEndPos K 从轴可运动的最大距离位置 -- AB:从轴等待触发信号。 BC:调整区,此区域内从轴调整速度。 CD:同步区,同步区内主轴与从轴速度大小一致,切割动作在同步区内完成。 DE:从轴离开同步区,减速运行到设定的最大距离停止。 EF:从轴停在设定的最大距离位置等待,这一段可以是 0,不等待。 FG:从轴做反向减速运动,回到等待位置。 GH:从轴回到原点位置后,等待进入下一个周期的等待距离,这一段可以是 0。 追剪功能应用 追飞剪功能的使用场景多应用于灌装行业,旋盖行业,瓦楞行业,枕式包装行业,瓶类丝网印刷行业, 剪切行业、定长切纸行业,绕线行业,追标行业,同步盖印行业,追锯追剪行业等。 Magicworks PLC V2.22 版本集成追剪及飞剪功能,可在硬件组态界面对追剪飞剪进行组态,设置追 剪飞剪相关参数;通过 CAM 曲线对主轴位置与从轴位置、从轴速度、从轴加速度之间的关系进行预 览。 1、新建追剪 打开 Magicworks PLC 并新建工程,在硬件组态中进行组态,选择 CPU200,将 CPU200 拖到机架上, CPU200 只能放在机架 0 上。 -220-
CTMC 运动控制器用户手册 点击“工具”“轴配置向导”或直接点击图标 即可进行轴配置。 选择轴配置后,可任意添加脉冲轴、虚拟轴、编码器轴;选择“轴类型”及“电机方向有效电平”, 点击“完成”。 -221-
轴配置及电子凸轮 点击“工具”“电子凸轮向导”即可进行电子凸轮配置。 右键点击“CAM”,即可插入追剪。 2、追剪参数设置 基本配置中,可以修改 CAM 名称以及 CAM ID -222-
CTMC 运动控制器用户手册 追剪配置中可以设置主轴和从轴的参数以及物料剪切长度。 剪切长度:即物料需要进行剪切的长度。 最大距离:即从轴可运动的最大距离。 主轴起始位置:主轴开始将物料往前传送的位置。 主轴同步位置:主轴同步开始的位置,此时主轴速度与从轴速度保持一致。 从轴同步位置:从轴同步开始的位置,从轴与主轴速度一致。 从轴同步结束位置:从轴同步结束的位置。 从轴返回主轴位移:从轴走到设定的最大距离后,往反方向返回原点期间主轴运动的位移。 从轴等待时主轴位移:从轴回到原始等待期间主轴运动的位移。 CAM 曲线可以预览主轴位置与从轴位置、从轴速度以及从轴加速度三者的关系。 -223-
轴配置及电子凸轮 与普通电子凸轮不同,CAM 表中的参数不可修改。此页面对应显示 CAM 曲线图中红色节点的信息, 一个红色节点对应一组数据。 3、追剪程序示例: -224-
CTMC 运动控制器用户手册 -225-
轴配置及电子凸轮 -226-
CTMC 运动控制器用户手册 -227-
轴配置及电子凸轮 程序编写完进行编译,若编译无误后即可将程序下载到目标机。 在应用程序运行时,可以在 MagicWorks PLC 的“追踪视图”中查看跟踪变量的值曲线记录。要求是 设置跟踪配置,将跟踪配置传输到 PLC,并开始跟踪记录,追踪配置具体操作见 E Trace 追踪功能。 追剪运行曲线如下所示: -228-
CTMC 运动控制器用户手册 7.3.9 飞剪功能介绍 飞剪是指对运动中的物料进行垂直切割的工艺,飞剪机构做周期性圆周运动,当切刀的线速度与物 料速度一致时进行切割。 飞剪架构示意图如下: M228SL 伺服 伺服 电机 电机 从轴(剪切) 物料 主轴(送料) 根据物料的剪切长度,飞剪功能曲线可分为以下三种: 1)物料剪切长度小于刀轮走过的周长 -229-
轴配置及电子凸轮 同步区内从轴线速度与主轴速度相等,调整区内从轴进行速度调整,先加速后减速直到同步主轴速 度。 2)物料剪切长度等于刀轮走过的周长 从轴线速度与主轴速度一直保持一致。 3)物料剪切长度大于刀轮走过的周长 首先从轴在调整区 1 中进行加速,由于剪切的物料过长,进入调整区 2 后从轴减速为 0;此时主轴持 续前进,从轴开始进入调整区 3 并开始加速,直到其线速度与主轴速度同步。 从轴结构示意图如下: -230-
CTMC 运动控制器用户手册 剪切长度:即裁剪的长度。 复位角:指复位之后,切刀从原点按运行方向运行,前同步角边沿到达切割点经过的角度值。 前同步角:进入同步点,到切刀所在点之间的夹角。 后同步角:切刀点到退出同步区的点之间的夹角。 切刀数:从轴上的切刀数目。若切刀数目为两个或两个以上,要求切刀均匀角度安装,两两切刀之间 的角度相同。 切刀半径:从轴圆心到刀头的距离即为切刀半径。 飞剪功能应用 追飞剪功能的使用场景多应用于灌装行业,旋盖行业,瓦楞行业,枕式包装行业,瓶类丝网印刷行业, 剪切行业、定长切纸行业,绕线行业,追标行业,同步盖印行业,追锯追剪行业等。Magicworks PLC V2.22 版本集成追剪及飞剪功能,可在硬件组态界面对追剪飞剪进行组态,设置追剪飞剪相关参数; 通过 CAM 曲线对主轴位置与从轴位置、从轴速度、从轴加速度的关系进行预览。 1、新建飞剪 新建工程,在硬件组态中进行组态,选择 CPU200,将 CPU200 拖到机架上,CPU200 只能放在机架 0 上。 -231-
轴配置及电子凸轮 点击“工具”“轴配置向导”或直接点击图标 即可进行轴配置。 选择轴配置后,可任意添加脉冲轴、虚拟轴、编码器轴;选择“轴类型”及“电机方向有效电平”, 点击“完成”。 点击“工具”“电子凸轮向导”即可进行电子凸轮配置。 -232-
CTMC 运动控制器用户手册 右键点击“CAM”,即可插入飞剪。 2、飞剪参数设置 基本配置中,可以修改 CAM 名称以及 CAM ID 飞剪配置中可以设置物料剪切长度以及飞剪参数。 注意:复位角必须大于前同步角与后同步角的和。 物料后经过的同步区域角度为后同步角,目前规定前后同步角的大小要一致。 -233-
轴配置及电子凸轮 3、程序示例: -234-
CTMC 运动控制器用户手册 -235-
轴配置及电子凸轮 -236-
CTMC 运动控制器用户手册 -237-
轴配置及电子凸轮 程序编写完进行编译,若编译无误后即可将程序下载到目标机。 在应用程序运行时,可以在 MagicWorks PLC 的“追踪视图”中查看跟踪变量的值曲线记录。要求是设 置跟踪配置,将跟踪配置传输到 PLC,并开始跟踪记录,追踪配置具体操作见 E Trace 追踪功能。飞 剪运行曲线如下所示: -238-
CTMC 运动控制器用户手册 启动曲线 工作曲线 -239-
8 应用举例 8 本章主要介绍 CTMC 运动控制器的应用举例,包括通信和运控功能应用举例, 具体内容如下: 8.1 通信方式应用举例 8.2 西门子 S7 协议主从站通信举例 8.3 高速计数输入程序示例 -240-
CTMC 运动控制器用户手册 8.1 通信方式应用举例 8.1.1 Modbus 通信 本例介绍了 CPU M228IL 与一个 Modbus 从站设备进行 Modbus 方式的通信速度控制。 程序实现的网络示意图 网络 1、2:主站初始化 网络 3:往通信地址为 02 的从站设备连续写入开始地址为 40282 的 2 个字。 写数据请求帧(40283=1): Slave Adr CMD Start Start No. of No. of Data Data 0 Data 1 Data 2 Data 3 CRC Adr H Adr L Regs H Regs L Length 16#02 16#10 16#01 16#19 16#00 16#02 16#04 16#00 16#00 16#00 16#01 16#XX 16#XX Slave Adr:从站设备的通讯地址,从站地址值需转换为十六进制数。 CMD:功能码,16#10 即为写多个参数操作。 Start Adr H/L:需写入参数号起始地址高/低位,起始地址值需转换为十六进制数。 -241-




