用户组态轴的参数,通过控制面板调试成功后,就可以开始根据工艺要求编写控制程序了。
关于运动控制指令有几点需要说明:
1. 打开OB1块,在Portal软件右侧“指令”中的“工艺”中找到“运动控制”指令文件夹,展开“S7-1200 Motion Control”可以看到所有的S7-1200 运动控制指令。可以使用拖拽或是双击的方式在程序段中插入运动指令,如下图所示,以MC_Power指令为例,用拖拽方式说明如何添加Motion Control指令。
这些Motion Control指令插入到程序中时需要背景数据块,如下图所示,可以选择手动或是自动生成DB块的编号。
添加好背景DB后的MC_Power指令如下图所示。
『注意』运动控制指令之间不能使用相同的背景DB,最方便的操作方式就是在插入指令时让Portal软件自动分配背景DB块。
2. 运动控制指令的背景DB块在“项目树”-->“程序块” --> “系统块”-->“程序资源”中找到。用户在调试时可以直接监控该DB块中的数值,如下图所示。
3. 每个轴的工艺对象都一个背景DB块,用户可以通过下面的方式打开这个背景DB块:
可以对DB块中的数值进行监控或是读写。
以实时读取“轴_1”的当前位置为例,如下图所示,轴_1 的DB块号为DB1,用户可以在OB1 调用MOVE指令,在MOVE指令的IN端输入:DB1.Position,则Portal软件会自动把DB1.Position更新成:“轴_1”.Position。用户可以在人机界面上实时显示该轴的实际位置。
4. 每个Motion Control指令下方都有一个黑色三角,展开后可以显示该指令的所有输入/输出管脚。展开后的指令管脚有灰色的,表示该管脚是不经常用到的指令管脚。
5. 指令右上角有两个快捷按钮,可以快速切换到轴的工艺对象参数配置界面和轴的诊断界面。
下图是快速切换到诊断界面。
6. 有部分S7-1200 运动控制指令有一个Execute触发管脚,该管脚需要用上升沿触发。上升沿可以有两种方式:
①用上升沿指令|P|。
②使用常开点指令,但是该点的实际应用中使其成为一个上升沿信号,例如用户通过触摸屏的按钮来操作控制,该按钮的有效动作为上升沿触发。
7. 运动控制指令输入端“Execute”和输出端“Done”和“Busy”之间的关系如下图所示:
因此,如果用户用|P|指令触发带有“Execute”管脚的指令,则该指令的“Done”只在一个扫描周期内为1,因此在监控程序时看不到Done位为1。
MC_Power指令
指令名称:启动/禁用轴。
功能:使能轴或禁用轴。
使用要点:在程序里一直调用,并且在其他运动控制指令之前调用并使能。
输入端:
①EN:该输入端是MC_Power指令的使能端,不是轴的使能端。
MC_Power 指令必须在程序里一直调用,并保证MC_Power指令在其他Motion Control指令的前面调用。
②Axis:轴名称
可以有几种方式输入轴名称:
a. 用鼠标直接从Portal软件左侧项目树中拖拽轴的工艺对象,如下图所示:
b. 用键盘输入字符,则Portal软件会自动显示出可以添加的轴对象,如下图所示:
c. 用拷贝的方式把轴的名称拷贝到指令上,如下图所示:
d. 还可以用鼠标左键点击“Aixs”,系统会出现带可选按钮的白色长条框,这时用鼠标点击“选择按钮”,就会出现下图中的列表。
③Enable:轴使能端
Enable = 0:根据组态的“StopMode”中断当前所有作业。停止并禁用轴。
Enable = 1:如果组态了轴的驱动信号,则Enable=1时将接通驱动器的电源。
④StartMode:轴启动模式
Enable = 0:启用位置不受控的定位轴即速度控制模式。
Enable = 1:启用位置受控的定位轴即位置控制(默认)
注意:1.使用带 PTO (Pulse Train Output) 驱动器的定位轴时忽略该参数。2. 只有在信号检测(False 变为 True)期间才会评估 StartMode 参数。
⑤StopMode:轴停止模式
StopMode= 0:紧急停止
如果禁用轴的请求处于待决状态,则轴将以组态的急停减速度进行制动。轴在变为静止状态后被禁用。
StopMode=1:立即停止
如果禁用轴的请求处于待决状态,则会输出该设定值 0,并禁用轴。轴将根据驱动器中的组态进行制动,并转入停止状态。对 对于通过 PTO (Pulse Train Output) 的驱动器连接:
禁用轴时,将根据基于频率的减速度,停止脉冲输出:
• 输出频率 ≥ 100 Hz
减速度:最长 30 ms
• 输出频率 < 100 Hz
减速度:30 ms;2 Hz 时,最长 1.5 s
StopMode=2:带有加速度变化率控制的紧急停止:
如果禁用轴的请求处于待决状态,则轴将以组态的急停减速度进行制动。如果激活了加速度变化率控制,会将已组态的加速度变化率考虑在内。轴在变为静止状态后被禁用。
输出端:
⑥ENO:使能输出
⑦Status:轴的使能状态
⑧Busy:标记MC_Power指令是否处于活动状态
⑨Error:标记MC_Power指令是否产生错误
⑩ErrorID:当MC_Power指令产生错误时,用ErrorID表示错误号。
⑪ErrorInfo:当MC_Power指令产生错误时,用ErrorInfo表示错误信息 。
结合ErrorID和ErrorInfo数值,查看手册或是Portal 软件的帮助信息中的说明,来得到错误原因。
MC_Reset指令
指令名称:确认故障
功能:用来确认“伴随轴停止出现的运行错误”和“组态错误”。
使用要点:Execute用上升沿触发。
『注意』部分输入/输出管脚没有具体介绍,请用户参考MC_Power指令中的说明。
输入端:
①EN:该输入端是MC_Reset指令的使能端。
②Axis:轴名称。
③Execute:MC_Reset指令的启动位,用上升沿触发。
④Restart:
Restart = 0:用来确认错误。
Restart = 1:将轴的组态从装载存储器下载到工作存储器(只有在禁用轴的时候才能执行该命令)。
输出端:除了Done指令,其他输出管脚同MC_Power指令,这里不再赘述。
⑥Done:表示轴的错误已确认。
MC_Home指令
指令名称:回原点指令
功能:使轴归位,设置参考点,用来将轴坐标与实际的物理驱动器位置进行匹配。
使用要点:轴做juedui位置定位前一定要触发MC_Home指令。
『注意』部分输入/输出管脚没有具体介绍,请用户参考MC_Power指令中的说明。
①Position:位置值
Mode = 1时:对当前轴位置的修正值
Mode = 0,2,3时:轴的juedui位置值
②Mode:回原点模式值
Mode = 0:juedui式直接回零点,轴的位置值为参数“Position”的值
Mode = 1:相对式直接回零点,轴的位置值等于当前轴位置 + 参数“Position”的值
Mode = 2:被动回零点,轴的位置值为参数“Position”的值
Mode = 3:主动回零点,轴的位置值为参数“Position”的值
下面详细介绍模式0和模式1.