基于PLC及OPC通信的模糊PID控制实现

2019-06-13 03:12汪浩洋
自动化与仪表 2019年5期
关键词:设定值微分偏差

汪浩洋,徐 恺,曹 玉

(1.湖南中烟工业有限责任公司 长沙卷烟厂,长沙410007;2.中国电建集团 中南勘测设计研究院有限公司,长沙410014)

随着工业4.0 的逐步推进, 设备自动化水平日益提高,对传统的PID 控制而言,工控系统的复杂化和控制对象的多样化,给过程控制带来了不同程度的参数时变性、非线性和结构不确定性[1],要求其模型结构非常精确,传统控制方式也因此而暴露出相应的短板。而模糊控制不但具有良好的适应性和抗干扰能力,且无需建立精确的数学模型[2]。基于此,充分结合了传统PID 控制模式和模糊理论的固有优势, 实现了一种基于MatLab 和OPC 通信的模糊PID 控制方法。

1 模糊PID 自整定系统设计

模糊控制结构是应用人的思维模式和经验认知,转化为计算机能够识别和控制的智慧控制技术系统。该控制模式又被认为是一种言语控制形式,常用于难利用明确的数学形式表达的控制对象和一些繁杂环境中的实物控制。

为满足PID 参数在线实时修正的控制要求,需要在PLC 与上位机之间建立数据通道[3]。基于OPC服务,将底层PLC 计算得到的误差e(k)和误差变化率ec(k)读取到上位机的MatLab 软件中,作为模糊控制器的输入,经过模糊推理和决策,得到PID控制器的3 个调整参数ΔKp,ΔTi,ΔTd,再将其下发至PLC中,在底层与PID 控制器的初始参数进行求和,得出实际控制参数。

模糊PID 控制系统总体结构如图1所示。其中,PID 基础算法在PLC 中完成编程实现, 根据现实工况和具体的控需求,由传统方法结合被控对象计算和调试得出其初始参数,并通过WinCC 界面输入到PLC 中。

图1 模糊PID 控制系统总体结构Fig.1 Overall structure of fuzzy-PID control system

2 PID 控制器算法及其优化

PID 调节器依据给定量与实际量的偏差进行调整,误差值分别经过比例、积分和微分,再经求和计算形成输出值,对执行器件实施控制,模拟PID 调节器的控制结构为[4]

式中:Kp,Ti和Td分别为比例系数、积分时间常数和微分时间常数[5]。

在数字化系统中,PID 控制器是通过编写程序算法来实现的[6]。由于PLC 的中断和运算都具有相应的周期,因此采样信号无法做到完全连续,在这种工业控制背景下,必须对计算式进行离散化处理[7]。

由于PLC 中断周期(即采样周期)可以设置到100 ms 以内,因此可以将“积分”用“求和”算法实现,微分用差商来计算,同时引入中断周期Ts,将连续的PID 算法即式(1)离散化为差分方程,即

式中:u0为偏差为零时的初值。方程(2)等号右侧的第1 项起比例控制作用, 第2 项起积分控制作用,第3 项起微分控制作用[8]。该算法需要对每个采样周期的系统偏差e(j)(j=1,2,3,…,k)进行存储,多有不便,故对式(2)进行以下改进:

根据式(2)可得u(k-1)表达式,由u(k)和u(k-1)可知其增加量Δu(k)为

其中

增量式控制方式在计算过程中采用输出增量累加的方式,因此对误动作影响小,该算式仅需要最近的3 个误差采样值e(k),e(k-1)和e(k-2),大大降低了编程过程中数据存储的难度。

在基本PID 算法的基础上,还引入了积分抗饱和算法、不完全微分控制算法2 种优化策略。

2.1 积分抗饱和算法

在PID 控制中,引入积分环节主要是为了消除静差[9]。但是,在阶跃响应初期阶段,系统输出偏差较大[10],积分累计效果明显,会造成PID 控制器超调,在参数配合不当时甚至发生振荡,对生产过程控制造成严重影响。

为控制积分累计效应,在PID 基础算法中加入了抗积分饱和;根据被控对象的特点选择合适的阀值,对于角执行器、薄膜阀、风门一类的控制对象,鉴于其开度范围在一个固定区间内,可以针对积分输出进行独立的判断,当积分作用超出其阀值范围时,限制积分输出,提高控制精度[11]。具体实现步骤如下:

步骤1根据不同控制对象的情况, 设定阈值范围;

步骤2当时,限制I 的作用,以PD控制为主,使系统有较快的响应,同时又可以避免产生过大的超调[12];

步骤3当时, 引入I 参数控制输出,以保证系统的控制精度[12]。

积分分离控制算法为

其中

式中:β 为积分项的开关系数。

2.2 不完全微分控制算法

在PID 控制中微分信号可以改善系统的动态性能,但也会引入高频干扰[6]。为克服微分项在误差扰动突变时表现出的不足,可在PID 控制算法中加入一阶惯性环节(低通滤波器)Gf(s)=1/(1+Tfs)[13],使系统性能得到进一步改善。

经不完全微分算法优化后,PID 的结构如图2所示。其传递函数为

图2 不完全微分算法结构Fig.2 Structure of incomplete differential algorithms

将式(5)离散化为

设a=Tf/(Ts+Tf),则1-a=Ts/(Ts+Tf)。显然a<1,(1-a)<1 成立, 与优化前的PID 算法微分环节相比较,不完全微分算法增加了一项aud(k-1),由此使得原本的微分系数Kd变为Kd(1-a),转化为增量式算法[14],即

基础PID 算法经过对积分输出和微分项的优化后,已初步具备消除静差、抑制饱和及小幅抗干扰能力,能够满足一般控制的要求,且优化改进部分所增加的编程量不大,易于在底层PLC 中编程实现。

3 PID 算法的PLC 编程实现

经优化后的PID 运算算法如图3所示。

图3 PID 运算算法框图Fig.3 PID arithmetic block diagram

PLC 通过Profinet,PA 等自动化总线方式,直接与现场的检测器件与执行机构进行通信,完成数据采集和发送,实现PID 控制。在生产现场所使用的西门子S7-300 上,通过编程语言使控制算法得以实现。其程序结构如图4所示。

图4 PLC 算法结构Fig.4 PLC algorithm structure

图4中,OB35 为西门子PLC 定义的循环中断执行块, 可以在CPU 的属性中自行定义其中断时间,综合考虑PLC 的计算量和控制精度要求,实际组态过程将其设置为100 ms。改进后的PID 基础算法在FB600 中通过编程实现,WinCC 提供的初始参数和模糊推理后的修正值均进入PLC 的数据接口块DB1 中,通过运算得出实际控制参数,并提供给FB600 用于过程控制,OB35 通过周期性地调用FB600,实现离散式PID 算法并对输出量进行实时有效的调节。

4 模糊规则制定

将输入[e(k),ec(k)]及输出(ΔKp,ΔTi,ΔTd)参数在模糊论域上均划分为7 个模糊子集,分别对应正向/负向偏差值较大(PB,NB),正向/负向具有中等偏差值(PM,NM),正向/负向偏差较小(NS,PS),以及偏差值趋近于零(ZO)[15]。

根据PID 调节过程的特点,在误差趋近于零的区域采用高分辨率的模糊集(三角形隶属度函数),误差较大的区域采用较低分辨率的模糊集(Z 型隶属度函数)[16],当误差较小和适中时分别采用用高斯和双高斯型隶属度函数,使其分辨率相对适中。

在模糊控制器的设计过程中,主要基于误差和控制量变化的大小:当误差比较大时,需通过控制量的修正, 使误差的变化趋势满足迅速降低的需求;当误差相对较小时,主要考虑的对象为系统稳定性,在消除静差的同时避免系统在调节过程中产生不必要的超调或震荡[17]。

典型阶跃响应如图5所示。当响应曲线位于区间1 时,实际值PV 趋向设定值SP,此时e(k)>0,ec(k)<0;位于区间2 时,实际值PV 远离设定值SP,此时e(k)<0,ec(k)<0;实际值PV 趋向设定值SP,此时e(k)<0,ec(k)>0;位于区间4 时,实际值PV 远离设定值SP,此时e(k)>0,ec(k)>0;进入区间5 后,与区间1 相同,在模糊规则制定时,应根据e(k),ec(k)的异号或同号,对输出值采取不同的策略。

图5 阶跃响应Fig.5 Step response

根据阶跃响应的特性,ΔKp,ΔTi和ΔTd的变化趋势还应符合以下几点:

结合以上分析得出模糊变量,具体见表1。基于该模糊推理机制并在文献[17,18]的基础上,对阶跃下降的响应做出优化,以避免在输出量下调过程中出现振荡和超调。

表1 模糊规则Tab.1 Fuzzy rules

5 模糊自整定PID 控制实现

5.1 硬件系统组成

现场工业设备的主控PLC 为西门子SIMATIC S7-300/400 系列。在此PLC 选用315-2PN/DP,使用PS307 10A 作为电源模块, 配置DI8/DO8 模块、AI/AO 模块作为输入、输出,采用通信模块CP343-1 与上位机互联。

PLC 组态及软件编程系统采用TIA Portal V14版本, 人机界面的实现也基于TIA Portal V14 完成。底层PLC 程序开发主要包括以下步骤:

步骤1使用TIA Portal V14 完成PLC 硬件组态;

步骤2实现PLC 程序编写;

步骤3组态HMI,实现PLC 与上位机的互联;

步骤4开发人机界面,提供控制量与被控量的历史趋势监视功能, 同时提供初始的Kp,Ti和Td的输入接口,并显示其修正后的实际值,以便于试验人员展开调试。

5.2 通信系统建立

由于PLC 编程难于处理复杂的模糊运算,因此运用Kepware 软件建立OPC 服务,通过Profinet 网络在PLC 和上位机之间建立TCP/IP 连接, 实时采集PLC中计算的e(k)和ec(k),并将模糊运算后的ΔKp,ΔTi和ΔTd值向PLC 中实时传送。具体步骤如下:

步骤1在“Channel”上单击右键,点选“New Device”, 选择设备名称、PLC 种类并设置IP 地址,其余配置按照默认设置;

步骤2在新增的设备下单击右键,选择“New Tag”,键入变量名及其在PLC 中对应的地址,这个地址可以是DB 块中的地址, 或是PLC 内部存储空间,e(k),ec(k),ΔKp,ΔTi和ΔTd的数据类型均为“Float”;

步骤3所有变量的扫描时间均设置为100 ms,与PLC 中的PID 运算块中断时间保持一致,从而保证了参数调节的时间同步性。

图6 OPC 通信建立Fig.6 Establish OPC communication

5.3 模糊推理机制构建

运用MatLab 中的模糊逻辑工具箱(Fuzzy logic Toolbox),简单直观地实现模糊逻辑推理功能:

1)在MatLab 主界面命令窗口(Command Window)中键入“fuzzy”并回车,打开模糊控制工具箱。

2)在“Edit”菜单下选择“Add Variable”[19],添加Input 和Output,将输入变量设置为2 个,输出变量设置为3 个,并将变量名分别设置为e(k),ec(k),ΔKp,ΔTi和ΔTd。

3)点击任意变量进入隶属度函数设置界面,删除默认的隶属曲线,并在“Edit”菜单下选择“Add MFs”,“Number of MFs”设置为7,分别对应正向/负向偏差值较大(PB,NB),正向/负向具有中等偏差值(PM,NM),正向/负向偏差较小(NS,PS),以及偏差值趋近于零(ZO)[20]。

4)7 种类型中,NB 和PB 选用Z 型/S 型隶属度函数,NM 和PM 选用双高斯混合型函数;NS 和PS选用高斯型函数,ZO 选用三角形函数,分布曲线如图7所示。

图7 隶属度函数曲线Fig.7 Membership function curve

5)被控量的工作区间为0~80,系统延迟时间约5 s,通过堆栈计算模拟延时,依照传统方法[4,21]设置初始Kp,Ti和Td分别为0.1,8 和0.5;根据控制对象的特点,设定:e(k)的论域为[-80 80],ec(k)为[-8 8],ΔKp为[-5e-2 5e-2],ΔTi为[-5 5],ΔTd为[-0.1 0.1]。

6)根据表1所示数据,在“Rule Editor”内建立关于e(k),ec(k)和ΔKp,ΔTi,ΔTd之间的模糊规则,规则共计49 条,响应曲面如图8所示。

图8 ΔKp,ΔTi 和ΔTd 的响应曲面Fig.8 Response surfaces of ΔKp,ΔTi and ΔTd

6 试验与数据分析

采用阶跃信号对系统展开试验,将设定值依次设定为80,20,60 和0,在HMI 画面调取历史趋势,并对比模糊判定参与前后的响应效果。

针对图9所示PID 控制器响应曲线进行比对分析。由图可见,相对于传统PID 控制方式,模糊PID 自整定系统在总体控制效果上有明显的提升。

如图9a 所示,设定值由0 跳变至80 的过程中,传统PID 控制的下调节时间为38 s, 输出量的最大偏差达到了4.33,超调量5.41%;从80 调整到20 的过程中,传统PID 控制的调节时间为37 s,最大偏差达到了-3.36,超调量16.8%。

图9 PID 控制器的响应效果Fig.9 Response effect of PID controller

相对应的模糊PID 自整定系统,如图9b 所示,由0 调整到80 的过程中,调节时间为24 s,超调量趋近于0;从80 跃变至20 的过程中,调节时间为21 s,超调量趋近于0。可见,当误差由PB/NB,向PM/NM和PS/NM 转变过程中, 模糊控制系统通过减小Kp,提前结束控制率输出饱和,抑制了超调量,在实际值接近设定值的同时, 通过减小Ti强化积分作用,使静差得以快速消除。

7 结语

在PLC 中实现了PID 优化算法, 并运用MatLab实现了模糊运算和判定功能,并将二者通过OPC 技术有机结合,实现了PID 参数实时在线式的模糊自整定。经试验检验,该系统具有良好的输出响应效果。这一方案充分利用PLC 的输出控制优势和上位机的复杂运算能力,为在PLC 上应用模糊运算提供了一种有效的途径, 降低了编程工作量。PLC 与OPC 技术的结合,可以将更多的控制理论和智能分析方法应用于工程实践中,为烟草加工过程实现复杂的控制策略提供了技术支撑。

猜你喜欢
设定值微分偏差
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
50种认知性偏差
一类带有Slit-strips型积分边值条件的分数阶微分方程及微分包含解的存在性
冷轧镀锌光整机延伸率控制模式的解析与优化
“华龙一号”汽轮机旁路系统大气排放阀控制系统的优化
如何走出文章立意偏差的误区
PID 控制在水电厂有功调节的应用
真相
基于跟踪微分器的高超声速飞行器减步控制
基于微分对策理论的两车碰撞问题