如果用PLS指令编写运动控制程序,则比较麻烦,所幸西门子公司编写了运动控制指令库(MAP_SERV),使用此指令库,可以很方便实现相对运动、绝对运动、回原点和停止等功能,下面对西门子的运动指令库的指令做简要介绍,以方便读者阅读程序,需要指出,此运动指令库不是STEP 7-Micro/WIN的标准配置,需要另行购买和安装。
(1)已经被指令库占用的地址
西门子运动指令库已经预定义了一些地址,见表11-13。
表11-13 预定义地址表
(续)
【关键点】如果读者要使用运动指令库的“MAP SERV Q0.0”’那么Q0.0就作为高速输出使用’Q0.2就作为方向信号使用’I0.0作为参考点使用’不能另作他用。但是如果只使用了“MAP SERV Q0.0”’而没有使用“MAP SERV Q0.1”’那么QO.1和Q0.3可以由读者自行分配使用。
(2)Q0_x_CTRL指令
该指令用于传递全局参数,每个扫描周期都需要被调用。功能描述见表11-14。
表11-14 Q0_x_CTRL指令功能描述表
以下对常用的参数做详细说明:
1)Velocity_SS是最小脉冲频率,是加速过程的起点和减速过程的终点。
2)Velocity_Max是最大脉冲频率,受限于电动机最大频率和PLC的最大输出频率。在程序中若输入超出(Velocity_SS,Velocity_Max)范围的脉冲频率,将会被Velocity_SS或Velocity_Max所取代。
3)accel_dec_time是由Velocity_SS加速到Velocity_Max所用的时间(或由Velocity_Max减速到Velocity_SS所用的时间,两者相等),范围被规定为0.02~32.0s,但最好不要小于0.5s。超出accel_dec_time范围的值还是可以被写入块中,但是会导致定位过程出错。
(3)Q0_x_MoveRelative指令
该指令用于让轴按照指定的方向,以指定的速度,运动指定的相对位移。功能描述见表11-15。
表11-15 Q0_x_MoveRelative指令功能描述表
(4)Scale_EU_Pulse指令
该指令用于将一个位置量转化为一个脉冲量,因此它可用于将一段位移转化为脉冲数,或将一个速度转化为脉冲频率。功能描述见表11-16。
表11-16 Scale_EU_Pulse指令功能描述表
以上指令实现的功能用如下公式表示:
(5)Q0_x_Home
Q0_x_Home指令的功能描述见表11-17。
表11-17 Q0_x_Home指令功能描述表
该指令用于寻找参考点,在寻找过程的起始,电动机首先以Start_Dir的方向,Homing_Fast_Spd的速度开始寻找;在碰到限位开关(“Fwd_Limit”或“Rev_Limit”)后,减速至停止,然后开始相反方向的寻找;当碰到参考点开关(I0.0或I0.1)的上升沿时,开始减速到“Homing_Slow_Spd”。如果此时的方向与“Final_Dir”相同,则在碰到参考点开关下降沿时停止运动,并且将计数器HC0的计数值设为“Position”中所定义的值。(www.xing528.com)
如果当前方向与“Final_Dir”不同,则必然要改变运动方向,这样就可以保证参考点始终在参考点开关的同一侧(具体是哪一侧取决于“Final_Dir”)。原点、正向限位和反向限位示意如图11-34所示。
图11-34 回参考点(原点)、正向限位、反向限位示意图
寻找参考点的状态可以通过全局变量“Homing_State”来监测,见表11-18。
表11-18 寻找参考点的状态
(6)Q0_x_MoveVelocity指令
该指令用于让轴按照指定的方向和频率运动,在运动过程中可对频率进行更改。Q0_x_MoveVelocity指令功能描述见表11-19。
表11-19 Q0_x_MoveVelocity指令功能描述表
(7)Q0_x_Stop指令
Q0_x_Stop指令用于使轴减速直至停止。Q0_x_Stop指令的功能描述见表11-20。
表11-20 Q0_x_Stop指令功能描述表
【关键点】Q0_x_MoveVelocity功能块只能通过Q0_x_Stop block功能块来停止轴的运动。如图11-35所示。
图11-35 Q0_x_Stop停止示意图
(8)编写程序
数据块如图11-36所示。主程序如图11-37所示。
图11-36 数据块
图11-37 主程序
图11-37 主程序(续)
图11-37 主程序(续)
图11-37 主程序(续)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。