运动向导根据所选组态选项创建唯一的指令子程序,从而使运动轴的控制更容易。 各运动指令均具有“AXISx_”前缀,其中 x 代表轴通道编号。 由于每条运动指令都是一个子程序,所以 11 条运动指令使用 11 个子程序。
说明:运动指令使程序所需的存储空间增加多达 1700 个字节。 可以删除未使用的运动指令来降低所需的存储空间。 要恢复删除的运动指令,只需再次运行运动向导。
指令名称 | 指令功能 |
---|---|
AXISx_CTRL |
启用和初始化运动轴 |
AXISx_MAN |
手动模式 |
AXISx_GOTO |
命令运动轴转到所需位置 |
AXISx_RUN |
运行包络 |
AXISx_RSEEK |
搜索参考点位置 |
AXISx_LDOFF |
加载参考点偏移量 |
AXISx_LDPOS |
加载位置 |
AXISx_SRATE |
设置速率 |
AXISx_DIS |
使能/禁止DIS输出 |
AXISx_CFG |
重新加载组态 |
AXISx_CACHE |
缓冲包络 |
详细的运动控制指令介绍请参考:S7-200 SMART 系统手册
必须确保在同一时间仅有一条运动指令激活。
可在中断例程中执行 AXISx_RUN 和 AXISx_GOTO。 但是,如果运动轴正在处理另一命令时,不要尝试在中断例程中启动指令。 如果在中断程序中启动指令,则可使用 AXISx_CTRL 指令的输出来监视运动轴是否完成移动。
运动向导根据所选的度量系统自动组态速度参数(Speed 和 C_Speed)和位置参数(Pos 或 C_Pos)的值。 对于脉冲,这些参数为 DINT 值。 对于工程单位,这些参数是所选单位类型对应的 REAL 值。例如: 如果选择厘米 (cm),则以厘米为单位将位置参数存储为 REAL 值并以厘米/秒 (cm/sec) 为单位将速度参数存储为 REAL 值。
有些特定位置控制任务需要以下运动指令:
要在每次扫描时执行指令,请在程序中插入 AXISx_CTRL 指令并使用 SM0.0 触点。
要指定运动到绝对位置,必须首先使用 AXISx_RSEEK 或 AXISx_LDPOS 指令建立零位置。
要根据程序输入移动到特定位置,请使用 AXISx_GOTO 指令。
要运行通过位置控制向导组态的运动包络,请使用 AXISx_RUN 指令。
其它位置指令为可选项。
RUN 参数会命令运动轴加速至指定的速度(Speed 参数)和方向(Dir 参数)。 您可以在电机运行时更改 Speed 参数,但 Dir 参数必须保持为常数。 禁用 RUN 参数会命令运动轴减速,直至电机停止;
JOG_P(点动正向旋转)或 JOG_N(点动反向旋转)参数会命令运动轴正向或反向点动。 如果 JOG_P 或 JOG_N 参数保持启用的时间短于 0.5秒,则运动轴将通过脉冲指示移动 JOG_INCREMENT 中指定的距离。 如果 JOG_P 或 JOG_N 参数保持启用的时间为 0.5秒或更长,则运动轴将开始加速至指定的 JOG_SPEED;
Speed 参数决定启用 RUN 时的速度。 如果您针对脉冲组态运动轴的测量系统,则速度为 DINT 值(脉冲数/每秒)。 如果您针对工程单位组态运动轴的测量系统,则速度为 REAL 值(单位数/每秒)。
注意:同一时间仅能启用 RUN、JOG_P 或 JOG_N 输入之一。
START 参数开启会向运动轴发出 GOTO 命令。 对于在 START 参数开启且运动轴当前不繁忙时执行的每次扫描,该子例程向运动轴发送一个 GOTO 命令。为了确保仅发送了一个 GOTO 命令,请使用边沿检测元素用脉冲方式开启 START 参数;
Pos 参数包含一个数值,指示要移动的位置(绝对移动)或要移动的距离(相对移动)。 根据所选的测量单位,该值是脉冲数 (DINT) 或工程单位数 (REAL);
Speed 参数确定该移动的最高速度。 根据所选的测量单位,该值是脉冲数/每秒 (DINT) 或工程单位数/每秒 (REAL);
Mode 参数选择移动的类型:
0:绝对位置
1:相对位置
2:单速连续正向旋转
3:单速连续反向旋转
Abort 参数启动会命令运动轴停止当前包络并减速,直至电机停止。
AXISx_RUN
功能:命令运动轴按照存储在组态/包络表的特定包络执行运动操作。
图 6. AXISx_RUN指令
START 参数开启将向运动轴发出 RUN 命令。 对于在 START 参数开启且运动轴当前不繁忙时执行的每次扫描,该子例程向运动轴发送一个 RUN 命令。为了确保仅发送了一个命令,请使用边沿检测元素用脉冲方式开启 START 参数;
Profile 参数包含运动包络的编号或符号名称。 “Profile”输入必须介于 0 - 31。否则子例程将返回错误;
Abort 参数会命令运动轴停止当前包络并减速,直至电机停止;
C_Profile 参数包含运动轴当前执行的包络;
C_Step 参数包含目前正在执行的包络步。
AXISx_LDOFF
功能:建立一个与参考点处于不同位置的新的零位置。
图 7. AXISx_LDOFF指令
开启 START 参数将向运动轴发出 LDOFF 命令。 对于在 START 参数开启且运动轴当前不繁忙时执行的每次扫描,该子例程向运动轴发送一个 LDOFF 命令。为了确保仅发送了一个命令,请使用边沿检测元素用脉冲方式开启 START 参数。
注意:
在执行该子例程之前,您必须首先确定参考点的位置。您还必须将机器移至起始位置。 当子例程发送 LDOFF 命令时,运动轴计算起始位置(当前位置)与参考点位置之间的偏移量。 运动轴然后将算出的偏移量存储到 RP_OFFSET 参数并将当前位置设为 0。这将起始位置建立为零位置。
如果电机失去对位置的追踪(例如断电或手动更换电机的位置),您可以使用 AXISx_RSEEK 子例程自动重新建立零位置。
START 参数开启将向运动轴发出 LDPOS 命令。 对于在 START 参数开启且运动轴当前不繁忙时执行的每次扫描,该子例程向运动轴发送一个 LDPOS 命令。为了确保仅发送了一个命令,请使用边沿检测元素用脉冲方式开启 START 参数;
New_Pos 参数提供新值,用于取代运动轴报告和用于绝对移动的当前位置值。 根据测量单位,该值是脉冲数 (DINT) 或工程单位数 (REAL)