基于S7-200 PLC的位置控制器设计
对于由伺服电机带动的旋转物体进行位置控制,通常采用套轴式的电磁旋转变压器加复杂的处理电路来实现角度的编码,再由角度编码进行位置的闭环控制。上述的位置控制多用于测角精度要求高的场合中,设备构成复杂、成本较高。在某些实际应用中,需要进行较为简单的位置定位。比如在一个由伺服电机带动的机械机构需要在360°的旋转范围内进行4个或多个档位的定位,实际应用中像建筑行业中控制阀门的大小来对给水量、水泥量、沙石量进行控制或军工工程控制,这样的定位控制精度要求不高,采用上述的方法进行位置控制显然不够经济,成本过高。
PLC(Programmable Logic Controller)在工业控制中应用广泛。其高可靠性、高稳定性、友好的编程环境以及辅以触摸式人机界面,使得各种工业控制更方便直观、经济可靠。这里主要阐述了基于S7-200PLC实现位置控制方法。
1系统硬件设计
该系统是以PLC控制器为核心的位置控制系统,包含伺服电机、光电编码器、操作及显示屏、上位计算机、伺服电机控制电路和状态返回电路。其硬件总体结构框图如图1所示。
图1 硬件总体结构框图
1.1 S7-200 PLC
该系统设计核心部件采用西门子S7-200系列的PLC,该系列PLC功能丰富,具有多种功能模块,可方便通过人机界面对设备进行操作和监视其状态,高版本的PLC主机拥有2个通讯端口,在使用人机界面对设备进行操作的同时还可通过RS-485接口和计算机实现逻辑运算及状态管理,对设备进行远程控制和监视。该系统使用S7-200 PLC的一个重要的功能:高速可逆计数。光电编码器和伺服电机同轴连接,伺服电机旋转带动光电编码器产生连续的脉冲串,PLC通过输入点读取光电编码器产生的脉冲,实现高速可逆计数。例如设置高、中、低3个给水量档位并进行控制。在调试阶段应先驱动伺服电机进行3个给水量的位置标定,也就是说,高、中、低3个档位分别对应唯一的脉冲数。应该注意的是,由于采用的是增量式光电编码器,也就是说,当编码器掉电后并不能将当前的脉冲数保存。所以在旋转机构上还要设置2个限位开关,一来保护机械结构;二来把逆向的限位开关的位置定为零位,这样相对于这个零位的高、中、低3个给水档位从光电编码器读到的脉冲数即为这3个档位的位置。这3个位置可通过PLC编程对其控制。图2给出S7-200 PLC高速可逆计数器的时序图。
图2 S7-200 PLC高速计数器时序图
1.2光电编码器
光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。这是目前应用最多的传感器,光电编码器是由光栅盘和光电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,此外,为判断旋转方向,码盘还可提供相位相差90°的两路脉冲信号。图3为在实际项目中采用光电编码器的时序图,从图中可以看出此光电编码器的相位判断角度为90°±45°;另外图中标识的CW(顺时针)和CCW(逆时针)可以根据实际应用在PLC程序中自行定义。图4为在实际项目中采用光电编码器的内部电路和外部引线图。
图3 光电编码器时序图
图4 光电编码器的内部电路和外部引线
2系统软件设计
2.1设计要点
该系统软件设计的重点为:1)准确配置高速计数器;2)位置控制器的允差设计,允差的选择应尽量小以提高伺服系统的控制精度,在满足系统定位精度的前提下,允差的设计上还需要考虑于机械结构定位的分辨率,以免设置值过小机械结构控制不到位而引起驱动电机反复转动调节,往往需要现场标定;3)初始位置的精确标定,需要注意的是初次标定各档位位置时应使用手动控制方式,并且要将机械限位开关状态接入PLC.由于采用增量式光电编码器,计数器当前值要存在PLC的掉电可保存寄存器MDl4中。
2.2程序设计
在程序中首先需要将高速计数器配置为A/B相正交输入,4倍计数速率,增计数,并使能高速计数器,然后将标定好的各档位位置填入相应的地址中,并且设置允差为两个脉冲,也就是说各档位的脉冲数加减2即为相应的到位。伺服系统传动装置的间隙是多样性的,并且对伺服控制的性能有影响,设置允差的目的是为了消除由于伺服传动间隙引起的系统不稳定,从而准确定位。
在程序设计时除顺、逆限位和顺转、逆转的互锁程序外,重点在于如何用PLC实现多点重复定位。主要设计程序如下:
3工程应用情况
这种设计方法被利用在某军用雷达工程的衰
- 基于Modbus协议实现单片机与PLC之间的通讯(07-09)
- 利用PCM实现智能设备的数据采集(03-29)
- The MathWorks 发布 2010a 版 MATLAB 和 Simulink 产品系列(02-17)
- 如何设计可靠的电力线通信(06-29)
- 德州仪器针对实时控制的C2000系列32位MCU经典回顾(08-06)
- 单片机与PLC编程的区别(10-18)