西门子S7-1200运动控制指令的使用

电子说

1.2w人已加入

描述

用户组态轴的参数,通过控制面板调试成功后,就可以开始根据工艺要求编写控制程序了。

关于运动控制指令有几点需要说明:

1. 打开OB1块,在Portal软件右侧“指令”中的“工艺”中找到“运动控制”指令文件夹,展开“S7-1200 Motion Control”可以看到所有的S7-1200 运动控制指令。可以使用拖拽或是双击的方式在程序段中插入运动指令,如下图所示,以MC_Power指令为例,用拖拽方式说明如何添加Motion Control指令。

plc

这些Motion Control指令插入到程序中时需要背景数据块,如下图所示,可以选择手动或是自动生成DB块的编号。

plc

添加好背景DB后的MC_Power指令如下图所示。

plc

『注意』运动控制指令之间不能使用相同的背景DB,最方便的操作方式就是在插入指令时让Portal软件自动分配背景DB块。

2. 运动控制指令的背景DB块在“项目树”--》“程序块” --》 “系统块”--》“程序资源”中找到。用户在调试时可以直接监控该DB块中的数值,如下图所示。

plc

3. 每个轴的工艺对象都一个背景DB块,用户可以通过下面的方式打开这个背景DB块:

plc

可以对DB块中的数值进行监控或是读写。

以实时读取“轴_1”的当前位置为例,如下图所示,轴_1 的DB块号为DB1,用户可以在OB1 调用MOVE指令,在MOVE指令的IN端输入:DB1.Position,则Portal软件会自动把DB1.Position更新成:“轴_1”.Position。用户可以在人机界面上实时显示该轴的实际位置。

plc

4. 每个Motion Control指令下方都有一个黑色三角,展开后可以显示该指令的所有输入/输出管脚。展开后的指令管脚有灰色的,表示该管脚是不经常用到的指令管脚。

plc

5. 指令右上角有两个快捷按钮,可以快速切换到轴的工艺对象参数配置界面和轴的诊断界面。

plc

下图是快速切换到诊断界面。

plc

6. 有部分S7-1200 运动控制指令有一个Execute触发管脚,该管脚需要用上升沿触发。上升沿可以有两种方式:

①用上升沿指令|P|。

②使用常开点指令,但是该点的实际应用中使其成为一个上升沿信号,例如用户通过触摸屏的按钮来操作控制,该按钮的有效动作为上升沿触发。

7. 运动控制指令输入端“Execute”和输出端“Done”和“Busy”之间的关系如下图所示:

plc

因此,如果用户用|P|指令触发带有“Execute”管脚的指令,则该指令的“Done”只在一个扫描周期内为1,因此在监控程序时看不到Done位为1。

MC_Power指令

指令名称:启动/禁用轴。

功能:使能轴或禁用轴。

使用要点:在程序里一直调用,并且在其他运动控制指令之前调用并使能。

plc

输入端:

①EN:该输入端是MC_Power指令的使能端,不是轴的使能端。

MC_Power 指令必须在程序里一直调用,并保证MC_Power指令在其他Motion Control指令的前面调用。

②Axis:轴名称

可以有几种方式输入轴名称:

a. 用鼠标直接从Portal软件左侧项目树中拖拽轴的工艺对象,如下图所示:

plc

b. 用键盘输入字符,则Portal软件会自动显示出可以添加的轴对象,如下图所示:

plc

c. 用拷贝的方式把轴的名称拷贝到指令上,如下图所示:

plc

d. 还可以用鼠标左键点击“Aixs”,系统会出现带可选按钮的白色长条框,这时用鼠标点击“选择按钮”,就会出现下图中的列表。

plc

③Enable:轴使能端

Enable = 0:根据组态的“StopMode”中断当前所有作业。停止并禁用轴。

Enable = 1:如果组态了轴的驱动信号,则Enable=1时将接通驱动器的电源。

④StartMode:轴启动模式

Enable = 0:启用位置不受控的定位轴即速度控制模式。

Enable = 1:启用位置受控的定位轴即位置控制(默认)

注意:1.使用带 PTO (Pulse Train Output) 驱动器的定位轴时忽略该参数。2. 只有在信号检测(False 变为 True)期间才会评估 StartMode 参数。

⑤StopMode:轴停止模式

如果禁用轴的请求处于待决状态,则轴将以组态的急停减速度进行制动。轴在变为静止状态后被禁用。

如果禁用轴的请求处于待决状态,则会输出该设定值 0,并禁用轴。轴将根据驱动器中的组态进行制动,并转入停止状态。对 对于通过 PTO (Pulse Train Output) 的驱动器连接:

禁用轴时,将根据基于频率的减速度,停止脉冲输出:

• 输出频率 ≥ 100 Hz

减速度:最长 30 ms

• 输出频率 《 100 Hz

减速度:30 ms;2 Hz 时,最长 1.5 s

StopMode= 0:紧急停止

StopMode=1:立即停止

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指令中的说明。

plc

输入端:

①EN:该输入端是MC_Reset指令的使能端。

②Axis:轴名称。

③Execute:MC_Reset指令的启动位,用上升沿触发。

④Restart:

Restart = 0:用来确认错误。

Restart = 1:将轴的组态从装载存储器下载到工作存储器(只有在禁用轴的时候才能执行该命令)。

输出端:除了Done指令,其他输出管脚同MC_Power指令,这里不再赘述。

⑥Done:表示轴的错误已确认。

MC_Home指令

指令名称:回原点指令

功能:使轴归位,设置参考点,用来将轴坐标与实际的物理驱动器位置进行匹配。

使用要点:轴做绝对位置定位前一定要触发MC_Home指令。

『注意』部分输入/输出管脚没有具体介绍,请用户参考MC_Power指令中的说明。

plc

①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的该模式可以让用户在没有原点开关的情况下,进行绝对运动操作。

plc

Mode = 1相对式直接回原点

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

plc

Mode = 2和Mode = 3参见回原点。

『注意』用户可以通过对变量 《轴名称》.StatusBits.HomingDone = TRUE与运动控制指令“MC_Home”的输出参数 Done = TRUE进行与运算,来检查轴是否已回原点。

是呢环保局:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分