APP下载

基于快速原型控制器的过程控制实验平台

2019-11-28张政煊夏振兴常俊林

实验技术与管理 2019年11期
关键词:控制算法液位原型

代 伟,张政煊,夏振兴,常俊林

基于快速原型控制器的过程控制实验平台

代 伟,张政煊,夏振兴,常俊林

(中国矿业大学 信息与控制工程学院,江苏 徐州 221116)

以双容水箱为被控对象,引入快速控制原型技术,结合RTW(Real Time Workshop)/xPC Target工具箱提供的实时仿真环境和基于WPF(Windows Presentation Foundation)的运行监控软件,开发出一套基于快速原型控制器的过程控制实验平台。该平台支持自动代码生成和在线调参,提升了控制算法设计与验证的效率,对于加深学生理解和掌握过程控制系统,提高学生解决复杂工程问题的能力有较好的作用。

快速控制原型技术;过程控制;双容水箱

在过程控制实验教学中,大多采用双容或三容水箱实验装置。近年来,一些高校基于STC系列单片机、DDC、DCS、PLC等控制器开发了过程控制实验平台[1-2],然而这些平台存在以下缺点:

(1)控制算法的设计和仿真大多依托Matlab/ Simulink软件,而上述实验平台均采用自身特定的编程语言,如梯形图,这使得仿真与实验脱节,难以直接相互转化;

(2)现有实验平台所采用的编程语言,在进行控制算法中的积分、微分、矩阵等运算时,实现起来较为复杂,从而给开展模型预测控制、自适应控制等先进控制算法的实验教学带来困难和不便。

为解决上述实验平台存在的问题,文献[3-5]在实验平台中引入快速控制原型技术,在可视化编程、代码自动生成、在线调参、实时状态趋势显示等方面进行了改进,使得控制算法的设计可以快速实现。然而这些改进仍存在设备购置费用高、被控对象不能体现细节等问题。

本文以实物串联式双容水箱作为被控对象,利用Matlab的Real-Time Workshop(RTW)组件和x86架构的普通PC机,开发了一套低成本、基于快速原型控制器的过程控制实验平台,可以进行模型辨识、比例积分(PI)控制、线性二次型加积分(LQI)控制等实验。

1 实验平台硬件设计

1.1 实验平台的总体结构

基于快速原型控制器的过程控制实验平台由监控计算机、快速原型控制器和双容水箱构成,其整体结构如图1所示。

图1 实验平台系统结构图

该实验平台分为快速控制原型平台和被控对象系统两部分。在快速控制原型平台中,监控计算机同时又和快速原型控制器以双机工作模式组成快速控制原型平台。监控计算机运行基于WPF开发的监控软件,对控制算法下达编译、下载指令以及操作控制器的连接和启停状态,通过以太网传输信号和实时显示运行趋势,支持在线调参,以得到控制算法的最优参数。

实验平台的被控对象系统采用串联式双容水箱实验装置。在该被控对象系统中,传感器为电容式液位变送器,定制为0~50 cm的量程和0~5 V单线制输出,便于电压量与液位值的转换,抗干扰能力强、测量精度高,能进行冷端、温漂、非线性自动补偿;执行机构为直流水泵,采用直流电机驱动器来控制抽水流量,驱动器以0~5 V模拟输入信号调节PWM的占空比。

1.2 快速控制原型平台搭建

快速控制原型平台双机工作模式指的是宿主机-目标机模式。宿主机是通过Simulink完成实时仿真开发环境的计算机,能够通过VC(Visual C++)编译器将模型编译成目标机使用的代码。目标机是运行实时内核的计算机,用于执行代码,要求具有较快的运算及处理能力,具有以太网适配卡。

在本平台中,监控计算机为配有WinXP操作系统的计算机,且安装有Matlab及其附加产品Simulink和RTW,将其作为宿主机使用,直接在Simulink软件中采用自带模块库以及自行开发的设备驱动模块来设计和修改控制算法,并在RTW环境下自动生成可供目标机运行的可执行代码。

目标机是快速原型控制器,采用x86架构的普通PC机主板,CPU为四代Intel i5处理器,配有2 GB内存,带有1路RJ45以太网接口、1路USB接口和1路RS232串口,通过PC104总线外扩高速数据采集卡PCI-1716。目标机采用U盘启动方式,U盘启动盘装载了DOS系统和xPC实时内核。

目标机与宿主机之间利用局域网连接起来以进行数据传输,传输速率高达10 Mbit/s,传输距离远。通过网络通信的方式将可执行代码从宿主机下载到目标机中,从而实现Simulink的控制算法模型在目标机中运行。目标机外扩数据采集板卡PCI-1716对信号进行D/A和A/D转换,输出模拟调速信号和采集水箱液位信号。

1.3 被控对象系统设计

被控对象为双容水箱装置,在工业控制领域有广泛的实际应用。为了实现有效的分析和控制,需要合理设计系统的结构,结合实际结构建立数学模型,描述双容水箱液位系统。在本平台中,双容水箱采用串联式结构。水泵作为可调节的输送源,将储水槽中的水送入上水箱,再经过手动阀,先流入下水箱,继而回到储水槽,形成循环。水箱的主要结构参数为:上、下水箱底面积均为186.265 cm2;上、下水箱泄水阀流量比例系数分别为0.28和0.71;调压器输入模拟信号3.5 V时进水流量为98.09 cm3。

由于进水首先流入上水箱,然后流入下水箱,故与上水箱相比,下水箱的响应时间存在着容积延迟[6]。手动阀具有非线性特性,使泄水流量与液位高度之间呈非线性关系,即本平台是一个具有容积延迟的非线性系统。分析和控制这类系统,对解决实际工业控制问题有重要作用。

实验平台可以完成以下几类实验:①信号的滤波处理;②基于Matlab/Simulink的被控对象、检测/执行元件特性测试与建模;③基于xPC的控制系统的控制器在环实时仿真。

可以实现的控制算法包括:简单PID控制、串级控制、模糊控制、预测控制等。

2 实验平台的软件开发

2.1 xPC目标配置

xPC是在Simulink/RTW软件下,针对PC机及其兼容系统的一种成熟和完善的实时应用技术,主要任务是将Simulink/Stateflow模型与VC2013等各支持性组件链接并编译生成可执行代码。xPC目标环境的配置主要包括通信方式和启动方式的配置。

通信方式选择网络通信(TCP/IP)方式。配置步骤为:在Matlab主窗口输入xpcxplr命令,弹出xPC Target Explorer的窗口中,Communication Type选择TCP/IP,并设置目标机网络参数和网卡类型。

启动方式选择U盘启动方式,也称DOSLoader启动。制作U盘启动盘需要经历2个步骤:

(1)将U盘制作成DOS启动盘。通过专门的DOS盘制作软件(如USBoot和Flash Boot)将U盘制作成DOS启动盘,完成DOS启动盘制作后,通过从U盘启动的方式能将目标机启动到DOS环境下。

(2)制作DOS载入器的目标启动盘。在xPC目标环境设置对话框中,将TargetBoot设置为DOSLoader,选择BootDisk选项,该选项将启动目标机所必需的文件生成到已制作好的U盘DOS启动盘上,生成的文件包括:引导程序BOOTSECT. RTT,命令处理程序command.com,系统文件kernel.sys(即xPC目标内核文件),以及xpctga.rta文件。其中xpctga.rta文件中包括RTW生成的目标应用程序、选择的连接方式和xPC Target的环境相关设置。

2.2 PCI-1716板卡的设备驱动模块库开发

xPC环境包含有丰富的I/O设备驱动,同时也允许用户编写扩展的I/O设备驱动。在Matlab xPC目标工具箱提供的驱动程序库中,支持的板卡种类有很多,但大多是一些国外的知名厂家的设备,基本不支持国内生产的板卡,尤其是PCI接口总线的板卡。此时需要为PCI-1716板卡开发驱动模块。PCI-1716驱动模块的开发主要包括以下步骤:

(1)用C语言编写S-函数驱动代码并保存为.c文件,以AD模块为例,在Matlab的命令窗口中输入编译代码指令:mex adadvantech1716.c,将驱动函数的代码编译为Simulink可调用的动态库adadvantech1716.mexw64。

(2)在Simulink中创建一个Library,保存为.mdl文件,并在Library中新建S-Function Block,对新建的S-Function进行配置,在Block parameter(S-Function)中输入驱动名称以及驱动中设定的输入变量的名称。

(3)通过mask对驱动模块进行封装操作,主要是对驱动模块的外观进行设计和设置变量。将上一步输入的变量添加进来,再按照需要设置变量值。

S-函数的驱动流程可以分为两个阶段(见图2):第一个阶段为初始化,包括属性参数和仿真参数设置,如系统仿真时间、步长设定和系统状态初值等;第二个阶段是运行阶段,该阶段循环执行,包括输出计算和状态更新。

驱动模块的S-函数的子函数的主要功能如下:

(1)mdlInitializeSizes函数为模块的初始化函数,完成模块的输入输出端口个数定义、设置端口个数、信号宽度、数据类型和采样时间等参数;

(2)mdlInitializeSample Times函数主要是实现对初始采样时间的设置,A/D与D/A模块的初始采样时间均设置为继承前面模块;

(3)mdlstart函数是用来获取PCI-1716板卡的配置信息,并进行初始化;

(4)mdlOutputs函数在仿真过程中单步循环运行,在每个时间步调用函数计算AD或DA模块的输出,并在每次调用时更新时间状态;

(5)mdlTerminate函数在停止运行时调用一次,用来结束仿真过程,实现对AO<0,1>及AI<0,1,2, 3,4,5,6,7>通道的复位操作。

图2 驱动模块函数代码设计流程

2.3 基于WPF的运行监控界面的设计与开发

运行监控界面基于.Net平台进行开发,采用WPF语言设计。为提高系统功能的可配置性与可扩展性,将整个软件平台分为功能独立的模块,可实现对单元模块的独立开发、编译和测试。当各模块逻辑功能稳定运行之后,将其进行功能重组,从而进行整个平台的完整测试。软件平台功能模块包括实验管理模块、通信控制模块、启动盘配置模块、实验数据监控模块、实验日志记录模块。

实验管理模块:创建实验项目文件,在该项目下导入或新建算法策略,提供增、删、改、导入和导出的功能。

通信控制模块:编译目标算法策略生成可执行程序并下载到控制器中,执行对运行状态的控制等操作。采用TCP/IP通信协议,支持网络化远程操作。

启动盘配置模块:向启动盘中配置高速实时启动内核,配置相应的IP地址和设备端口号,以启动控制器并创建通信条件。

实验数据监控模块:提供参数在线修改,以及运行趋势的实时显示。

实验日志记录模块:将接收到的液位数据填入.m文件模板中进行保存,配合Matlab软件对实验趋势曲线图进行分析[7]。

在水箱液位控制算法调试阶段,将液位控制算法下载至控制器后,系统会解析代码、生成路径,分别以_bio.m和_pt.m为后缀生成信号文件与参数文件,并在“信号/参数浏览器”窗口中生成相应的信号树状图和算法参数树状图。通过该窗口实现状态信号可视化与算法在线调参,并将运行状态变量数据集和算法参数分别存储为Matlab脚本文件,其中状态变量数据集用于事后实验分析,而算法参数脚本文件用于控制算法实验的复现。该阶段信号实时数据显示模块会提供高精度采样模式,即硬件控制器将在算法执行阶段采集数据,每次采集到设定的采样点数,上传一次数据。系统通过一个定时器来实现状态变量采集与控制器参数修改,并上传至Matlab工作空间。为确保软件运行流畅度,定时器每隔100 ms调用一次。

3 实验平台分析及实验验证

3.1 对象特性分析及测试

3.3.1 实验目的

为设计出合理的液位控制算法和整定实验参数,对该双容水箱系统进行对象特性模型辨识。

3.3.2 实验原理

由双容水箱液位控制系统的物料平衡方程建立水箱液位与控制量之间的关系,得到液位控制的传递函数,并根据阶跃响应时双容水箱的自平衡过程对其参数进行辨识[8]。由物料平衡方程得

进行拉氏变换后得到

由于实际水箱液位系统中存在纯滞后环节并整理成以下传递函数的标准形式:

3.1.3 实验步骤

图3 双容水箱阶跃响应曲线

根据文献[9]简述,由阶跃响应法整理得到的双容水箱液位传递函数标准形式为

3.2 水箱液位控制PI实验

(1)实验目的。模拟工业过程控制,实现对双容水箱的液位控制,将水箱实际液位维持在给定高度;同时帮助实验操作人员理解PI控制器的工作原理。

(2)实验原理简述。比例控制加快系统响应速度,积分控制消除系统稳态误差。PI控制器通过结合比例、积分控制的特点,使得系统液位控制满足快速性和准确性。PI控制器参数常用的整定方法有临界比例度法、Ziegler-Nichols整定法等。由于实际的非线性系统与辨识得到的线性模型有差异,整定出的参数往往需要根据实际的响应曲线进行优化。

(3)实验步骤。对水箱液位进行PI控制策略的原型设计,整定PI控制器的参数,配合基于WPF的运行监测界面实时监测、在线调参,得到控制效果最优的参数p=500,i=0.5。实时仿真策略如图4所示。

实验结果如图5的水箱液位趋势图所示。首先给定初始液位为3 cm,一段时间后水箱实际液位达到3 cm并保持稳定。在140 s左右,改变给定值为5 cm,一段时间后仍能达到给定值并保持稳定。

3.3 单容水箱液位LQI控制实验

3.3.1 实验目的

通过实验,使学生掌握线性二次型加积分(LQI)控制原理和设计方法,并基于本实验平台进行实际控制实验,对实验结果进行观察和分析,直观地感受LQI控制器各个参数的控制作用。

3.3.2 实验原理

使水箱的液位高度跟踪液位设定值。寻找一个最优控制律*(),使得系统的实际输出()尽量接近所期望的轨线r(),而又不消耗过多的控制能量。为消除外部扰动致使系统产生的稳态误差,将积分器串入误差后面,构造出状态反馈加积分器矫正的输出反馈系统[10]。控制系统结构如图6所示。

对于线性定常系统

图5 双容水箱PI控制实验液位趋势图

图6 线性二次型加积分控制系统结构图

将误差后面串入的积分器生成的x作为附加状态,与原被控系统构成增广动态方程[11],如式(8)所示。

得到增广系统的状态反馈控制律为

将式(9)代入式(8),可得到状态反馈增广系统的动态方程为:

,,分别为,,维列向量;为维列向量;,,分别为×,×,×实数矩阵;1,2分别为×,×维实数矩阵。加权矩阵、都为正定常数矩阵,性能指标函数为:

3.3.3 实验教学实践

单容水箱液位系统的状态方程为

将上水箱液位误差后面串入的积分器生成的附加状态1引入,得到增广的系统方程为:

先将和简单取为对角线全为1的实对称矩阵,单容水箱的ZQR控制实验实时仿真策略如图7所示。

实际应用中,通常将值固定,然后改变的数值。在本实验平台中,最优控制参数的确定是经过实际比较后得到的。取=[0.95],此参数下,液位初始给定值为2.5 cm,175 s后改变为3 cm。上水箱液位的实时状态趋势曲线图8所示。

图7 单容水箱LQI控制实验仿真

图8 LQR控制实验液位趋势图

4 结语

本文使用快速原型控制思想,搭建了基于快速原型控制器的过程控制实验平台,支持自动代码生成、参数在线调整和趋势实时显示,支持网络化远程操作,实验的算法设计、参数整定与结果观测几乎同时进行。基于本实验平台,实现了单、双容水箱的模型辨识及PI控制、单容水箱的LQI的状态反馈控制,验证了平台的可用性以及算法设计的快速性。本实验平台使学生对于过程控制系统有了更深的认知,提高了实验控制算法的设计和验证的效率。对于过程控制教学研究及解决复杂工程能力的培养有重要意义。

[1] 何潇,王子栋,刘洋,等.基于Internet的网络化三容水箱实验平台[J].南京航空航天大学学报,2011, 43(增刊1): 190–193.

[2] 汤伟,窦晨超,冯晓会.基于西门子S7-300 PLC的过程控制实验平台设计[J].实验室研究与探索,2018,37(4):49–52,58.

[3] 高兴泉,王子硕,祝强,等.基于Quanser数据采集卡的双容水箱控制系统半实物仿真平台[J].吉林化工学院学报,2018, 35(7): 14–17,89.

[4] 姜英妹,张井岗.基于dSPACE的水箱液位控制系统[J].太原科技大学学报,2010, 31(4): 289–292.

[5] 费庆,李保奎,王晓平,等.基于Simulink/xPC的过程控制综合实验平台改造[J].实验技术与管理,2011, 28(11): 286–289.

[6] 雷振伍,吴秀冰,孙德辉,等.基于PCS7和Simulink的过程控制虚拟仿真实验平台开发[J].实验技术与管理,2016, 33(1): 135–139.

[7] 齐玉成.远程控制理论实验室专用控制器的研究与开发[D].沈阳:东北大学,2009.

[8] 章铅飞.复杂过程控制系统设计及控制策略的研究[D].南京:南京理工大学,2012.

[9] 胡姣.双容水箱系统的辨识与滑模变结构控制[D].西安:西安理工大学,2017.

[10] 拓守恒,邓方安,雍龙泉.改进教与学优化算法的LQR控制器优化设计[J].智能系统学报,2014, 9(5): 602–607.

[11] WANCHANA S, BENJANARASUTH T, ISARAKORN D, et al. Phase-locked loop process control system using LQR approach. [C]//Control, Automation, Robotics & Vision Conference, Icarcv. IEEE, 2004.

[12] 王永翔.基于状态反馈的四容水箱过程控制系统设计[D].北京: 北方工业大学,2017.

Process control experimental platform based on rapid prototyping controller

DAI Wei, ZHANG Zhengxuan, XIA Zhenxing, CHANG Junlin

(School of Information and Control Engineering, China University of Mining and Technology, Xuzhou 221116, China)

Taking dual-tank as controlled object, a rapid prototyping controller based process control experimental platform is developed by adopting the rapid control prototype technology and combining the real-time simulation environment provided by RTW (Real Time Workshop)/xPC Target toolbox with the operation monitoring software based on WPF (Windows Presentation Foundation). This platform supports the automatic code generation and on-line parameter adjustment, improves the efficiency of control algorithm design and verification, and has a good effect on deepening students’ understanding and mastering process control system and improving their ability to solve complex engineering problems.

rapid control prototype technology; process control; dual-tank

TP23

A

1002-4956(2019)11-0121-07

10.16791/j.cnki.sjg.2019.11.030

2019-05-20

国家自然科学基金项目(61603393);中国矿业大学研究生教育教学改革研究与实践项目(YJSJG-2018-035)

代伟(1984—),男,河南安阳,博士,副教授,主要研究方向为智能与数据驱动的复杂工业过程建模、运行优化控制理论的研究。E-mail: weidai@cumt.edu.cn

猜你喜欢

控制算法液位原型
国外储罐防溢油液位的设置
包裹的一切
《哈姆雷特》的《圣经》叙事原型考证
基于ARM+FPGA的模块化同步控制算法研究
高精度位置跟踪自适应增益调度滑模控制算法
论《西藏隐秘岁月》的原型复现
原型理论分析“门”
宝马530车冷却液液位过低报警
基于航迹差和航向差的航迹自动控制算法
一种非圆旋转工件支撑装置控制算法