三菱FX3G 控制器PID 手动自动无扰切换算法
2020-03-06许维强袁振廷余志平程志强
许维强,袁振廷,余志平,程志强
(1.广州优法电子科技有限公司,广东广州 511356;2.东莞理工学院城市学院,广东东莞 100000;3.潍坊学院,山东潍坊 100000)
0 引言
随着社会经济发展和科技进步,大量机器设备采用可编程控制器作为控制核心,自动化程度越来越高,进一步推进了对产品品质和工艺过程的要求。在生产过程中,常见手动模式和自动模式之间的切换,不论哪种方式切换都必须保证生产系统无扰动,既输出量不应因切换动作产生较大的波动。这种无扰切换对安全生产,提高生产效率和提高产品品质至关重要。
1 实现原理
一般来说,自动控制对应PID 自动调整,其输出值取决于PID 的计算结果,输出值用A 表示,手动控制对应寄存器直接给定,给定值用B 表示。当从自动控制切换到手动控制时,应将A赋值给B;当从手动控制切换到自动控制时,应将B 赋值给A。因此,在切换的时刻,可以保证A=B 成立,从而实现控制器输出不发生剧烈波动。
在工业过程控制中,自动控制非PID 算法莫属。PID 算法通过误差信号控制被控量,是比例、积分、微分三个环节的和。PID及衍生算法是应用最广泛的控制算法,是经典中的经典。三菱公司FX3G 系列PLC 支持PID 指令,根据三菱编程手册可知,其指令格式为:
PID S1,S2,S3,D
其中,S1 为设定值SV;S2 为反馈值PV;S3 为采样时间,设定范围0~32 767 ms;S4 为控制字(可以控制动作方向,变化量报警检测、上下限、自动调谐);S5 为输入滤波常数,设定范围0~100%;S6 为比例增益K,设定范围0~32 767%;S7 为积分时间T,单位100 ms,设定范围0~32 767;S8 为微分增益Kd,设定范围0~99%;S9 为微分时间,单位10 ms,设定范围0~32 767;S10~S23 PID 内部计算占用;S24 输入变化量(增侧)报警设定值;S25 输入变化量(减侧)报警设定值;S26 输出变化量(增侧)报警设定值,或输出上限设定;S27 输出变化量(减侧)报警设定值,或输出下限设定;S28 报警输出功能选择。特别说明,PID 的计算结果存放在D 寄存器中,该寄存器一般选择非停电保持寄存器。对于指定掉电保持寄存器的情况,在PLC 初始化时用RST 指令清除该寄存器的内容。
对于正动作PID,三菱给出的计算公式为[1]:
式中,EVn是本次采样偏差,EVn-1是前一采样偏差,SV 是目标值,PVnf是本次采样值(滤波后),PVnf-1是前一周期采样值(滤波后),PVnf-2是前两周期采样值(滤波后),MV 是输出变化量,MVn是本次操作量,Dn是本次微分项,Dn-1是前次微分项,Kp是比例增益,Ts是采用周期,Ti是积分时间,Td是微分时间,d 是微分微分增益。由公式可知,此PID 算法按增量方式计算,以累加结果作为输出量[2]。即通过修改PID 的输出结果MVn,可以影响下一周期的输出MVn+1。这个特性为手动到自动的切换创造了条件。
图1 手动和自动切换原理图
对照图1,当切换开关从手动状态切换到自动状态的上升沿,将手动D 寄存器的数值赋值到PID 的输出寄存器MVn,然后PID 开始工作,PID 的输出以手动D 寄存器的数值为起始点开始变化,实现从手动到自动的无扰切换;当切换开关从自动切换到手动状态的下升沿,将PID 的输出寄存器MVn的值赋值到手动D 寄存器,然后停止PID 计算,此时手动D 寄存器的值为PID 最后的计算结果,实现从自动到手动的无扰切换。切换后,操作员根据自己的需要修改手动D 寄存器的值。
2 工程实例
吹膜机是塑料行业的一种常见设备。其特点是连续生产,对薄膜厚度和宽度有严格要求,是一个典型的过程控制。开机时,一般先手动调整到一个合适的状态,然后切换到自动,这种切换就要求平稳过渡,一旦出现波动,就会造成废品。在停机时,一般会从自动切换到手动状态,同样也不能出现波动。无扰切换部分程序代码及说明注释如下:
经实际工程验证,在手动自动切换时平稳过渡,实用效果好,达到设计目的。
3 结束语
深入研究三菱FX3G 系列PLC 的PID 功能算法,提出手动自动切换原理图,设计无扰切换的思路,展示具体实现代码算法。类似工程实践可借鉴该算法。