首页 理论教育 如何编写控制程序?

如何编写控制程序?

时间:2023-06-29 理论教育 版权反馈
【摘要】:表11-14 Q0_x_CTRL指令功能描述表以下对常用的参数做详细说明:1)Velocity_SS是最小脉冲频率,是加速过程的起点和减速过程的终点。2)Velocity_Max是最大脉冲频率,受限于电动机最大频率和PLC的最大输出频率。在程序中若输入超出范围的脉冲频率,将会被Velocity_SS或Velocity_Max所取代。

如何编写控制程序?

如果用PLS指令编写运动控制程序,则比较麻烦,所幸西门子公司编写了运动控制指令库(MAP_SERV),使用此指令库,可以很方便实现相对运动、绝对运动、回原点和停止等功能,下面对西门子的运动指令库的指令做简要介绍,以方便读者阅读程序,需要指出,此运动指令库不是STEP 7-Micro/WIN的标准配置,需要另行购买和安装。

(1)已经被指令库占用的地址

西门子运动指令库已经预定义了一些地址,见表11-13。

表11-13 预定义地址表

978-7-111-47553-8-Chapter11-68.jpg

(续)

978-7-111-47553-8-Chapter11-69.jpg

【关键点】如果读者要使用运动指令库的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指令功能描述表

978-7-111-47553-8-Chapter11-70.jpg

以下对常用的参数做详细说明:

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指令功能描述表

978-7-111-47553-8-Chapter11-71.jpg

(4)Scale_EU_Pulse指令

该指令用于将一个位置量转化为一个脉冲量,因此它可用于将一段位移转化为脉冲数,或将一个速度转化为脉冲频率。功能描述见表11-16。

表11-16 Scale_EU_Pulse指令功能描述表

978-7-111-47553-8-Chapter11-72.jpg

以上指令实现的功能用如下公式表示:

978-7-111-47553-8-Chapter11-73.jpg

(5)Q0_x_Home

Q0_x_Home指令的功能描述见表11-17。

表11-17 Q0_x_Home指令功能描述表

978-7-111-47553-8-Chapter11-74.jpg

该指令用于寻找参考点,在寻找过程的起始,电动机首先以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所示。

978-7-111-47553-8-Chapter11-75.jpg

图11-34 回参考点(原点)、正向限位、反向限位示意图

寻找参考点的状态可以通过全局变量“Homing_State”来监测,见表11-18。

表11-18 寻找参考点的状态

978-7-111-47553-8-Chapter11-76.jpg

(6)Q0_x_MoveVelocity指令

该指令用于让轴按照指定的方向和频率运动,在运动过程中可对频率进行更改。Q0_x_MoveVelocity指令功能描述见表11-19。

表11-19 Q0_x_MoveVelocity指令功能描述表

978-7-111-47553-8-Chapter11-77.jpg

(7)Q0_x_Stop指令

Q0_x_Stop指令用于使轴减速直至停止。Q0_x_Stop指令的功能描述见表11-20。

表11-20 Q0_x_Stop指令功能描述表

978-7-111-47553-8-Chapter11-78.jpg

【关键点】Q0_x_MoveVelocity功能块只能通过Q0_x_Stop block功能块来停止轴的运动如图11-35所示

978-7-111-47553-8-Chapter11-79.jpg

图11-35 Q0_x_Stop停止示意图

(8)编写程序

数据块如图11-36所示。主程序如图11-37所示。

978-7-111-47553-8-Chapter11-80.jpg

图11-36 数据块

978-7-111-47553-8-Chapter11-81.jpg

图11-37 主程序

978-7-111-47553-8-Chapter11-82.jpg

图11-37 主程序(续)

978-7-111-47553-8-Chapter11-83.jpg

图11-37 主程序(续)

978-7-111-47553-8-Chapter11-84.jpg

图11-37 主程序(续)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈