基于通用版MCGS与西门子系列PLC的电动机控制系统
(泰山科技学院 山东泰安 271000)
摘要:本项目是针对两台电动机的转速控制系统。在上位机中,用MCGS软件建立组态界面,搭建电动机控制系统的整体模型,能够完整显示整个调速过程,以及各类仪表和参数。核心控制器采用西门子S7-1200 PLC可编程控制器,实现两台电动机的起动停止、顺序控制、转速调整以及故障报警、自动保护等功能。本项目通过以太网,将PLC与上位机MCGS搭建的组态界面进行通讯连接,能够实现在上位机MCGS界面中,实时显示当前转速,修改手动自动调速方式,调节期望转速,设定顺控延时时间,PID参数等,具备一旦发生故障或超出转速正常运行范围自动报警等功能。
Abstract: This project is aimed at the speed control system of two motors. In the upper computer, MCGS software is used to establish the configuration interface and build the overall model of the motor control system, which can completely display the whole speed regulation process, as well as various instruments and parameters. The core controller adopts Siemens S7-1200 PLC programmable controller to realize the start and stop, sequence control, speed adjustment, fault alarm, automatic protection and other functions of the two motors. The project communicates and connects the PLC with the MCGS configuration interface built by the upper computer through Ethernet, which can display the current speed in real time in the upper computer MCGS interface, modify the manual or automatic speed regulation mode, adjust the expected speed, set the sequence control delay time, PID parameters, etc.The system has the functions of automatic alarm in case of failure or exceeding the normal operation range of speed.
关键词:PLC;通用版MCGS;通信;电动机控制
Key words: PLC; General MCGS; Communication; Motor control
MCGS组态软件应用灵活,修改方便、通用性强,它能通过对现场数据的采集处理,以动画显示、报警处理、流程控制和报表输出等多种方式向用户提供解决方案[1]。S7-1200PLC具有逻辑运算功能、数值运算功能、运动控制功能、PID控制功能等,CPU的运算速度、稳定性都可以和工业控制计算机(IPC)媲美[2]。该控制器包含模拟量输入输出端口和数字量输入输出端口,稳定性相对较好,工作频率快、周期短,可根据需要扩展模拟量输入输出模块和数字量输入输出模块及通信模块,与单纯的继电器和接触器等组成的硬件系统相比体积小、可靠性好、稳定性好。电动机控制涉及两台电动机的起动次序问题、电动机转速控制问题、电动机带载电路的电压电流过载保护问题。
降低成本、高效稳定控制是控制行业发展的主题方向,这里用通用版的MCGS节约成本,可视性好、升级更新方便、操作性好。电机控制已是现阶段生产线中必不可少的一环,电机控制精准,是把控加工时间和加工精度的前提。这里设计的基于MCGS和PLC的电动机控制系统具有方便可靠的控制性能。
1.MCGS组态的建立
在Windows运行环境下,MCGS组态软件可以进行快速的构造和上位机监控系统的生成,能够实时的实现对过程的控制[3]。
通用版MCGS包含主控窗口、设备窗口、用户窗口和实时数据库。在运用通用版MCGS时,首先建立实时数据库,在实时数据库中建立控制对象并对新增的对象进行设置[4]。电机转速控制系统涉及两台电机顺次配合启停问题。针对电机启停建立开关量对象类型,开关型数据类型通常与外部设备的数字量连接,使用数字信号记录开关量(0或1),表示与当前设备的接通或停止[5]。在电动机启停开关量对象数据的基本属性里可以对对象内容进行注释,实时数据库中的对象名称不可重复。在实时数据中建立的开关类型的数据对象还有过载报警、短路报警、非正常顺次起动报警、过压和欠压报警。在设定报警参数时,可选择数据对象的存盘属性。在工业中,故障时间的记录和报警故障值的记录对生产设备的评估、检修和升级都至关重要。
以过载保护为例,在实时数据库中新增对象,起名为“一号电动机过载保护”,对象内容注释为“一号主轴电动机过载”,对象类型设为“开关型”,在报警属性窗口,选中“允许报警处理”,便可进行下面的报警设置:选择“开关量报警”,则右侧的报警注释和报警值是可编辑更改的。当出现“开关量报警”已处于选中状态,但右侧报警注释和报警值无法设定时,可先取消“开关量报警”的选中状态、再重新勾选,便可进行设置。一旦达到报警值,报警内容可通过设置报警显示工具出现在上位机组态界面上。
对于电动机转速的控制,这里选用的是PID自动调节,也可根据实际需要切换成手动调节,针对电动机的控制,需采用速度传感器对电动机转速进行采集,传回来的信号通过PLC的模拟量输入端口传回,并显示在上位机的MCGS界面中。实时转速的显示,在MCGS中需采用数值型的数据对象。先在实时数据库中新增对象,针对一号电动机,其对象名称定义为“一号电动机转速”,对象类型设为数值型。
这里选用的电机的额定转速是1500r/min,可设置转速数值的最大值和最小值,考虑到实际中可能出现转速短时间突高的情况,这里的最小值设为0、最大值设为2000,并进行报警属性的设置,如实际转速高于1600r/min将会出现报警故障,一旦出现转速过高报警,如果持续5分钟以上,利用PLC中的定时器将实现自动断电保护。在MCGS的实时数据库中,针对一号电动机转速的数据对象属性设置如图1所示。

图1 一号电动机转速的数据对象属性
在MCGS的用户窗口上添加显示电动机转速的元件。打开工具箱,选择“A”标签元件,拖画到用户窗口上,在动画组态属性界面进行设置,这里是显示电机转速输出的,勾选显示输出,出现显示输出对话框,在表达式中与建立的实时数据对象建立联系,选择数值量输出,因考虑硬件精度问题和运算的问题,小数位数选0。
设备窗口是连接和驱动外部设备的工作窗口[6]。针对模拟量还要在设备窗口建立通道,打开设备工具箱添加西门子1200的驱动,从设备管理窗口找到西门子1200驱动双击添加,设备窗口出现设备0-[Siemens-1200],可进行设置:基本属性--设置设备内部属性--增加通道。因本次选用的是数值型,寄存器类型选择“V数据寄存器”,数据类型选择“32位浮点数”(图2),寄存器地址对应PLC中数据块的地址。通道增加完后将建立通道间的连接,在通道连接窗口找到相应的通道类型,输入对应的数据对象名称,完成实时数据库和设备窗口的连接。

图2 转速输出数据类型设置
2.PLC程序的建立
本设计的主要功能是:一号电动机先起动,延迟5min(延迟时间可在MCGS界面调整)起动二号电动机,一号电动机的转速和二号电动机的转速各自维持在自己的设定值上(如,在MCGS界面中设置一号电动机的转速为1000r/min)。二号电动机启动前会再次检测此时的一号电动机转速是否满足要求,若不满足要求,尽管延时时间到了也会等待一号电机转速达标后起动。本项目选用S7-1200系列PLC,利用博图V16版本软件进行编程,主要用到PID控制算法。
在工业生产中,一般用闭环控制方式来控制温度、转速、压力这一类连续变化的模拟量,使用得最多的是PID控制(即比例积分微分控制)。PID控制结构简单,且不依赖于被控对象模型[7],即使没有控制系统的数学模型也能得到比较满意的控制效果。通过调用PID指令来编程,程序设计简单,参数调整方便,有较强的灵活性和适应性。根据被控对象的具体情况可采用P、PI、PD、PID等方式,S7-1200的PID指令采用了不完全微分PID和抗积分饱和等改进的控制算法。
直流电动机的本质是将直流电电能转换成机械能,直流电动机一般具有启动转矩大、调速范围宽、调速性能好等特点[8]。直流电动机转速闭环控制系统的结构框图如图3所示,点划线的部分是用PLC实现的,两台电动机的转速设定值是在MCGS界面上进行设定的,并通过以太网通讯传送给S7-1200 PLC。该系统采用模拟量输出的速度传感器,其输出为4~20MA的电流信号,实时反应电动机的转速值,该电流信号将通过PLC模拟量输入通道模块中的AD转换器,将其转换为与转速成比例的多位二进制数过程变量(又称反馈值)PV(n)。CPU将它与转速设定值SP(n)比较,误差e(n)=SP(n)-PV(n)[9]。

图3 双电动机转速控制系统框图
模拟量与数字量间的相互转换和PID程序的执行都是周期性的操作,其间隔时间称为采样周期Ts。各数字量括号中的n表示该变量是第n次采样计算时的数字量。
控制器以误差值e(n)为输入量,进行PID控制运算。模拟量输出模块的DA转换器将PID控制器的数字量输出值M(n)转换为直流电压信号UC(t),GT是直流变脉冲的触发电路,控制着晶闸管整流电路的门极,当GT输出为高电平时,且半控型器件晶闸管组成的整流电路在整流变压器二次侧额定相电压U2的瞬时值大于反电动势E时,晶闸管才能被触发导通。导通后如果U2降低到E以下,靠电感作用可维持电流id继续流通。由于电压波形的脉动,造成了电流波形的脉动。GT直流变脉冲的触发电路用来控制晶闸管整流装置的触发相角,进而控制外接电网中有多少电能进入电动机的电枢回路,从而改变电枢两端的供电电压,实现直流电动机的调速(图4)。
图4 电动机调压调速系统
用触发脉冲的相位角α控制整流电压的平均值Ud是晶闸管整流器的特点。对于一般的全控整流电路,当电流波形连续时可用下式表示: , ,式中,α为从自然换相点算起的触发脉冲控制角;Um为α=0时的整流电压波形峰值;m为交流电源一周内的整流电压脉波数[10]。
常规PID控制算法的参数主要是:比例作用系数、积分作用系数、微分作用系数。3个参数控制着响应速度、稳定性和稳态精度[11]。博图指令列表的“工艺”窗格的PID控制“Compact PID”文件夹中有3条指令,其中PID Compact指令是对具有比例作用的执行器进行集成调节的PID控制器,具有抗积分饱和功能,并能对比例作用和微分作用进行加权运算:y=K_p [(bw-x)+1/(T_I s) (w-x)+(T_D s)/(aT_D s+1) (cw-x)],式中,y为PID算法的输出值;Kp为比例增益;b为比例作用权重;w为设定值;x为过程值;s为自动控制理论中的拉普拉斯运算符号;TI为积分作用时间;TD为微分作用时间;a为微分延迟系数;微分延迟T1=aTD;c为微分作用权重[12]。
采用1215C型号PLC定时间间隔执行PID指令,设置其循环时间为100ms,在上位机中设置好期望转速值。在本程序中,利用ManualEnable、ModeActivate和Mode配合设置了手动调节和自动调节两种模式,同时设置了设定值的上下限报警和输出值的上下限报警,当设定值不合理时,无法进行有效输入;当偏差较大且偏差时间较长时,不会让控制器输出持续长时间增大,在保证快速性的同时,确保电机转速在正常可运行范围内。针对一号电动机调速系统的控制器部分编程如图5所示。

图5 一号电动机PID控制模块
用比较操作指令,一号电动机转速在可接收正常范围内时,给二号电动机的使能端发出起动信号,二号电动机启动,并用自己的PID控制器调节运行到设定值。
综上,基于MCGS和西门子PLC的电动机控制系统,融合了MCGS组态设计、PLC程序的编写、MCGS与PLC的通讯及变量连接,实现了在上位机界面给定设定值、电动机顺时起动的功能,还可调整优化PID的控制参数。PLC控制性能稳定,外置PID参数在组态界面可调,能够实现手动自动控制,方便实用。
参考文献
[1]林涛,刘文改.嵌入式数据库的应用研究[J].河北省科学院学报,2005,8.
[2]张晓萍.基于S7-1200PLC的机械手控制[J].中国新通信,2017,14
[3]李明星.基于MCGS液位控制系统研究[D].安徽理工大学,2014,6.
[4]王涛.基于MCGS的水位控制系统[J].农业水土工程与乡村规划,2020,9.
[5]吴峥.基于MCGS组态软件与PLC的自动供水系统设计与实现[D].厦门大学,2013,8.
[6]肖秀华.基于MCGS、变频器和PLC实现的恒压供水控制系统的设计[D].苏州大学,2009,10.
[7]何瑞玲.基于模糊自适应PID控制的永磁同步电机调速系统研究[D].长安大学,2014,6.
[8]田树军.基于PLC控制的船舶电机直流调速系统的分析与设计[D].齐鲁工业大学,2017,10.
[9]于硕君.无刷直流电机调速控制系统[D].沈阳大学.2011.
[10]阮毅.杨影.陈伯时.电力拖动自动控制系统---运动控制系统[M].2016,10.
[11]朱振坤.基于模糊PID控制的智能配水器流量自动控制研究[J].采油工程.2021,3
[12]廖常初,李运树.S7-1200 PLC应有教程(第2版)[M].2020,6.