1.引言 伺服电机在自动控制系统中用作执行元件,它将接收到的控制信号转换为轴的角位移或角速度输出。通常的控制方式有三种: ①通讯方式,利用RS232或RS485方式与上位机进行通讯,实现控制; ②模拟量控制方式,利用模拟量的大小和极性来控制电机的转速和方向; ③差分信号控制方式,利用差分信号的频率来控制电机速度。 简单、方便的实现对伺服电机转速的精确控制是工业控制领域内的一个期望目标,本文主要研究如何利用plc输出的模拟量实现对伺服电机的速度较为精准的控制。 2.控制系统电路 控制装置选用西门子S7-200系列PLC CPU224XPCN,这种型号的PLC除了带有输入输出点外。还有1个模拟量输入点和1个模拟量输出点,这一型号PLC所具有的模拟量模块,能够满足控制伺服电机的需要。触摸屏选用西门子触摸屏,型号为TP177B。 具体控制方案如图l所示,触摸屏是人机对话接口,最初的指令信息要从这里输入。输入的信息通过通讯端口传送到PLC。经运算后,PLC输出模拟量,并连接到伺服控制器的模拟量输入端口。伺服控制器对接收到的模拟量进行内部运算,而后驱动伺服电机达到相应的转速。伺服电机通过测速元件将转速信息反馈到伺服控制器,形成闭环系统,实现转速稳定的效果。
图1 控制方案
方案中的伺服电机,设计工作转速范围为500~6000RPM,精度要求为±3RPM。 3.控制过程 在触摸屏中设置一个对话框,可输入4位数值,然后将此对话框中的数据属性设置成对应PLC中的整形变量数据(如VW310)。目的是当在对话框中输人数值后,电机就能够达到与该数值相同的速度。 PLC输出的模拟量是0~10V,对应的整形数据是0~32000;而伺服电机的输入模拟量是0~l0V。对应的转速是0-6500 RPM。由于这些数值都是理论上的,并且最终希望得到的还是输入值对应上转速即可。因此,模拟量作为中间环节仅做参考。需要重点考虑的还是输入值、整形数据和实际转速。经过直接实测,测试数据如表1所示。
表1 直接实测数值表
输入值 |
整形数值 |
实际转速 |
500 |
500 |
70 |
2000 |
2000 |
360 |
4000 |
4000 |
750 |
6000 |
6000 |
1145 |
由表1可看出,输入值和实际转速相差甚远,而唯一的办法是通过运算将输入值转换成能对应上实际转速的整形数值。但是还要首先找到最高转速和最低转速对应的数值。通过实验发现,对应关系如表2所示
表2 实测对应数值表
整形数值 |
实际转速 |
2711 |
500 |
30854 |
6000 |
PLC的模拟量输出和伺服电机转速输出都是线性的,可以根据表2的数据列出直线方程组,计算出输入值和整形数值之间的关系。 2711=500×a b 30854=600×a b 解得:a=5117;b=152 设实际转速为x,整形数值为y;那么关系方程为: y=5117×x 152 通过PLC。实现则需妻用到数字运算指令,具体如图2所示 图2数字运算指令实现对应关系 运算后,将数据直接传送到模拟量输出口就完成了转换工作(由于输出口不接受双字数据;所以仅传字数据,VB2232即可)。如图3所示 图3模拟量输出口传送指令 这样.就基本上完成了从对话框输入速度值,经过PLC运算后输出模拟量。伺服控制器接收到模拟量驱动伺服电机,伺服电机的转速等于输入速度值的过程。通过经过实际检验,测得输入值、整形数值、实际转速如表3。
表3 运算后的实测数值表
输入值 |
运算后数值 |
实际转速 |
500 |
2711 |
500 |
1000 |
5269 |
999 |
2000 |
10386 |
1998 |
3000 |
15503 |
3000 |
4000 |
20620 |
4002 |
5000 |
25737 |
5001 |
6000 |
30854 |
6000 | 4.结束语 本文提出了一种利用西门子200系列PLC所配备的模拟量输出模块,控制伺服电机的方法,方法简单,易于实现,且能够满足转速精度为±3 RPM的工作要求。 |