[西门子] 西门子S7-1200运动控制指令说明及重要指令应用讲解

[复制链接]
查看283 | 回复0 | 2024-6-15 14:01:10 | 显示全部楼层 |阅读模式
>用户组态轴的参数,通过控制面板调试成功后,就可以开始根据工艺要求编写控制程序了。
关于运动控制指令有几点需要说明:
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指令
指令名称:回原点指令
功能:使轴归位,设置参考点,用来将轴坐标与实际的物理驱动器位置进行匹配。
使用要点:轴做绝对位置定位前一定要触发MC_Home指令。
『注意』部分输入/输出管脚没有具体介绍,请用户参考MC_Power指令中的说明。

Position:位置值

  • Mode = 1时:对当前轴位置的修正值
  • Mode = 0,2,3时:轴的绝对位置值
Mode:回原点模式值

  • Mode = 0:绝对式直接回零点,轴的位置值为参数“Position”的值
  • Mode = 1:相对式直接回零点,轴的位置值等于当前轴位置 + 参数“Position”的值
  • Mode = 2:被动回零点,轴的位置值为参数“Position”的值
  • Mode = 3:主动回零点,轴的位置值为参数“Position”的值
下面详细介绍模式0和模式1.
Mode = 0绝对式直接回原点

以下图为例进行说明。该模式下的MC_Home指令触发后轴并不运行,也不会去寻找原点开关。指令执行后的结果是:轴的坐标值更直接新成新的坐标,新的坐标值就是MC_Home指令的“Position”管脚的数值。例子中,“Position”=0.0mm,则轴的当前坐标值也就更新成了0.0mm。该坐标值属于“绝对”坐标值,也就是相当于轴已经建立了绝对坐标系,可以进行绝对运动。
『优点』MC_Home的该模式可以让用户在没有原点开关的情况下,进行绝对运动操作。

Mode = 1相对式直接回原点

与Mode = 0相同,以该模式触发MC_Home指令后轴并不运行,只是更新轴的当前位置值。更新的方式与Mode = 0不同,而是在轴原来坐标值的基础上加上“Position”数值后得到的坐标值作为轴当前位置的新值。如下图所示,指令MC_Home指令后,轴的位置值变成了210mm.,相应的a和c点的坐标位置值也相应更新成新值。

Mode = 2和Mode = 3参见回原点。
『注意』用户可以通过对变量 <轴名称>.StatusBits.HomingDone = TRUE与运动控制指令“MC_Home”的输出参数 Done = TRUE进行与运算,来检查轴是否已回原点。
来源:网络,版权归原作者所有,侵删

识别上方二维码关注本号,学习更多PLC编程知识!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则