马 宁,孙会来
(1. 天津工业大学 机械工程学院 天津300387;2. 天津市河东区教育招生考试中心 天津300170)
目前数字孪生概念与技术作为一个热词在工业控制领域被广泛提及[1],但大家对其基本概念还很模糊,对其实际应用也不是非常清楚。本文以水箱液位系统[2]为被控对象,将数字孪生技术应用于控制系统中,初步探索数字孪生技术工程实践应用情况,为后续现场级应用打下良好基础。
数字孪生(digital twin)被形象地称为“数字化双胞胎”,也被称为数字映射、数字镜像。按照官方定义[3]:数字孪生,是充分利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程,在虚拟空间中完成映射,从而反映相对应的实体装备的全生命周期过程。利用带有三维数字模型的信息将其拓展到整个生命周期中,最终实现虚拟与物理数据同步和一致。发现潜在问题、激发创新思维、不断追求优化进步,这才是数字孪生的目标所在。
目前可编程逻辑控制器(PLC)依然为工业控制中最常用的控制器,近年来各大 PLC品牌均在通信应用、运算处理、信号转换、编程语言等方面产品性能显著提升。但在控制器方面比较单一,加之工程师只关注实际控制效果,导致先进控制算法并不能很好应用落地,呈现出现场应用与理论研究脱节的现象。借助数字孪生的思想,通过工业通信协议,将工程师熟悉的 PLC和科研学者应用的科学仿真软件有机结合,实现优化控制器参数和提升控制效果目的。
为了能够实现数字孪生技术应用实践,主要的技术手段包含:PLC通信程序和控制器程序创建;MATLAB Simulink对于控制器参数优化;基于Modbus/TCP通讯协议S_Function 功能块的创建;选用Factory I/O Water TANK 作为被控对象进行调试;借助 S7-PLCSIM Advanced高级仿真软件确保半实物仿真顺利进行。
本文所选用的PLC为西门子SIMATIC S7-1500 CPU 1511-1 PN,因为S7-1500 PLC为目前西门子家族主流的中高端系列,其本身运算处理能力、网络通信功能、稳定可靠方面均能满足系统需求。Factory I/O是一种可视化的工业控制仿真软件,采用Factory I/O可以直观观察被控对象实际运行情况,能够对控制器效果进行很好的验证。为实现控制算法部署和参数整定工作,在实际部署之前,首先将 MATLAB Simulink所构建的控制器与 PLC通过 Modbus/TCP通信协议结合起来,PLC采集的模拟量数据标度为工程量后,作为控制器的输入量;控制器再利用此数据进行运算,得到相应的控制量u(t)进行限幅处理,使得控制量输出值能被执行机构所接受,真正起到控制器调节作用[4]。基于上述描述本文整体架构如图 1所示。
图1 整体方案框架Fig.1 Framework of whole system
本文被控对象选用最常见的液位控制系统,并分别在MATLAB Simulink及Factory I/O中进行被控对象模型建立。
当水从顶部流入时,其输入流量与电机电压成一定比例关系;当水从底部的开口流出时,其输出流量与水箱液位高度(H)的平方根成正比关系,由于平方根的存在表明水箱为一个非线性的被控对象模型。水箱示意图如图2所示。
水箱机理模型[5]推导公式如下:
其中:H为水箱液位为状态变量和输出变量;V为水箱容积;U为输入泵电压为输入变量;A为水箱横截面积;b是一个系数,与流入水箱的流量有关;a是一个系数,与流出水箱的流量有关。本仿真中参数取值为A=20m2,a=2;b=5。在 Simulink 中构造的水箱模型如图3所示。
图2 水箱示意图Fig.2 Diagram of water tank
推导传递函数表达式:
图3 Simulink Tank模型Fig.3 Model of Simulink Tank
Factory I/O可以与众多 PLC编程软件进行通信,画面3D效果逼真、动态画面清晰,各环节数据均能测量,可以对传感器、执行器、未知因素进行扰动量或故障点设置,完全可以替代真实水箱。为了实现半实物仿真,采用Factory I/O 中Water TANK场景为被控模型对象,如图4所示。
图4 Factory I/O Water TANK 模型Fig.4 Model of Factory I/O Water TANK
图4上半部为Factory I/O Water TANK场景,下半部为该场景与S7-1500 PLC通信I/O列表,其中数字量输入输出点包括:按钮和指示灯。模拟量输入/输出点包括:实时液位 PV、目标液位 SP、输出瞬时流量、比例调节阀开度和仪表显示等。通过上述描述表明,借助Factory I/O所构建的液位控制系统,能作为数字孪生技术应用研究的重要环节。
为了实现图 1中控制方案和功能,文采用Modbus/TCP的通信方式[6],将 Simulink与西门子S7-1500 PLC进行数据交互,Modbus是一种底层数据帧格式公开的协议,旨在实现自动化设备之间的通讯。Modbus是基于主从关系实现请求-响应的协议。在主从关系中,通信总是成对发生,一个设备必须发起请求,然后等待响应,并且发起设备(主设备)负责发起每次交互。采用在Simulink中建立Modbus/TCP Client端(从站),西门子 PLC 建立 Modbus/TCP Server 端(主站)的方式,在 Simulink中基于S·Function封装了的 Read/Write两个功能块,如图 5所示。Read功能:读取 PLC标度的模拟量数值或设定值,例如实时液位、实时流量、目标液位等。Write功能:将控制器运算结果或u(k)传送到 PLC端,例如比例调节阀开度等。
图5 Simulink S·Function封装 Modbus/TCP 功能块Fig.5 Modbus/TCP function blocks packaged in Simulink S·Function
Simulink水箱闭环控制系统由非线性水箱和PID 控制器构成[7]。为验证控制器效果,分别采用阶跃型号和信号发生器产生的激励源信号,其中信号发生器能多次产生阶跃和跳变信号,可以充分考察控制器的跟随性能和抗扰性能。控制效果分别如图 6和图7所示。
图6 Simulink Water TANK 控制模型——阶跃信号控制效果Fig.6 Simulink Water TANK control model—control effect of step signal
图7 Simulink Water TANK 控制模型---信号发生器激励信号控制效果Fig.7 Simulink Water TANK control model—control effect of excitation signal form signal generator
Simulink通过PLC接收Factory I/O中目标液位与实际液位数据,计算其差值作为控制器输入量,再将运算结果反馈回PLC端,进行D/A转换后作用于进出水处阀门,实现框图如 8所示。程序中建立了2个PID控制器,并将输出量映射为0~100%数值,处理后既能被执行机构所接受,又能体现控制性能,其中“PID Controller 进水阀”控制进水阀门开度,“PID Controller 出水阀”控制出水阀门开度。在半实物仿真条件下,整定参数分别为P=4.0,I=60.0,D=0.5时,可获得最佳控制效果。
图8 Simulink、PLC、Factory I/O联合仿真Fig.8 Application of Simulink,PLC and Factory I/O cosimulation system
根据工艺流程设计如图 9所示的监控画面。其中 SP为目标液位、PV为当前实时液位以及 PID输出值,通过PID Auto开关来控制手动/自动调节PID参数。当开关为 ON时为 Simulink中整定参数,为OFF时采用手动设定的P、I、D参数,PLC可根据相应参数对水箱液位进行调节[8]。图9中左侧画面能直观反映液位实时情况,并且与 Factory I/O场景液位情况相一致。
图9 液位系统监控画面Fig.9 SCADA screen of liquid level system
本文完成了数字孪生技术的工程应用实践研究工作,数字孪生应用策略框架如图 10所示。实现了数字孪生技术在控制器设计层面应用与落地,分别将PID控制器在Simulink 平台和SIEMENS SIMATIC TIA Portal 平台[9]中进行相互验证。实验表明当控制器一样并且参数一样的情况下,2个平台的控制效果基本一致。最后利用Modbus/TCP和西门子 S7通信协议将 3方面进行融合,完成了半实物仿真,再次验证了数字孪生应用策略框架的有效性,具有广泛的工程实践应用价值。
图10 数字孪生应用策略框架Fig.10 Application framework of digital twin