基于组态王、EXCEL和MATLAB的液位控制仿真平台研究

2018-03-29 03:36杨扬朱文玉赵法瑞
电子设计工程 2018年2期
关键词:组态王设定值水箱

杨扬,朱文玉,赵法瑞

(中国石油大学胜利学院机械与控制工程学院,山东东营257061)

在计算机技术飞速发展的今天,PC机作为上位机在工业过程监控平台中的应用越来越广泛。监控平台软件有着动画效果、组态方便和强监控能力的特点[1-4],如组态王软件,虽然可以提供强大的人机界面和通讯功能,但是其计算能力差、难以完成复杂控制算法的缺点也不能忽视[5-8]。目前,系统工程师在生产设计时越来越倾向于使用智能控制算法,如:PID控制算法、人工神经网络算法、遗传算法等先进控制算法。而MATLAB中的Simulink仿真软件,具有方便的图形界面和对控制工具软件包的支持,可以对动态系统进行建模、仿真和分析[9]。本文通过Simulink工具箱可以实现复杂控制系统的建模、对仿真模型的参数进行在线修改、可以模拟实际生产过程中的干扰和模型变化,并可以立刻得出修改后的仿真结果。结合两种软件各自的优点,组态王建立监控软件平台,在监控界面上可以进行动态工艺图显示PLC参数修改、实时数据采集,而MATLAB作为后台控制软件,可以实现复杂系统设计、参数修改、曲线绘制等功能。

选取双容水箱为控制对象,组态王和MATLAB软件借助DDE协议分别实现与EXCEL作为中间服务器的数据交换。本文提出了通过Simulink仿真软件中的workspace工作空间与EXCEL进行数据通讯,组态王界面借助DDE通讯协议可以实时修改EXCEL表格中的对应参数,同时EXCEL表中的数据及时反馈到workspace工作空间,从而影响模型中的输入变量的参数。

1 基于组态王的双容水箱液位监控界面构建

结合现场双容水箱的布局和外观,利用组态王的绘图工具箱,建立形象的主监控界面,实现整个液位控制流程的实时监控,如图1所示。首先,在组态王工程窗口新建工程,命名为双容水箱液位控制系统主控界面,根据控制系统实际要求,在监控界面主要有3个水箱,分别为储水箱、上水箱、下水箱。每个水箱内有液位变送器、在储水箱和上水箱进水口安装一个电动调节阀、除此以外还有水泵一个。组态王监控界面可以实现整个图形界面的设计、I/O设备配置、动画连接生成、系统运行与调试[10-11]。文中建立的双容水箱监控界面,可以通过命令窗口设定和模块拖动的方式设置下水箱液位值sp、3个PID参数值Ki、Kp和Kd,组态王界面完成这4个参数的修改,通过DDE通讯与MATLAB的workspace工作空间互联,从而实现模型中参数的修改,曲线发生相应变化。

组态王界面中实时显示上水箱液位和下水箱液位变化曲线,其中图片中曲线①为下水箱液位设定值,曲线②为下水箱液位变化曲线、曲线③为上水箱液位变化曲线。该曲线与Simulink仿真曲线一致。

2 DDE(动态数据交换技术)实现组态王与MATLAB通讯

DDE交换数据的方法主要分3种:由客户申请数据、服务器发送数据称为冷链;服务器的数据有变化时,服务器通知客户,客户再来取数据称为温链;服务器数据变化时,直接把数据发送给可出,由客户进行处理数据称为热链[12-13]。MATLAB提供的DDE功能可以与EXCEL进行实时的动态数据交换,而组态王也可以通过DDE方式与其他应用软件进行数据交换,实现了组态王通过MATLAB实现复杂控制的功能。

图1 双容水箱液位系统主控界面

2.1 组态王DDE通讯设置

2.1.1 DDE设备连接

在双容水箱液位控制系统主控界面的工程界面寻找设备DDE,打开DDE点击新建,设备驱动选择DDE,进行下一步,给要安装的DDE设备指定的连接对象名设为Excel,服务程序名为Excel,话题名为sheet1,选择标准的Windows项目数据交换形式。这样就完成了组态王与MATLAB的通讯。如图2所示。

图2 组态王中DDE设置

2.1.2 组态王构建数据库变量

根据需要建立内存变量和IO变量,配置变量的类型和各种属性,并将IO变量与相应的IO设备寄存器连接。打开新建的工程,在工程浏览器界面,点击新建就能建立新的变量。例如下水箱液位,变量名:下水箱液位,变量类型选择:I/O实数,连接设备选择:Excel,项目名:r2c3,表示将组态王下水箱液位值存入EXCEL表中的第2行第3列。除下水箱液位外还设置变量有:上水箱液位、sv(下水箱液位设定值)、KP、Ki、Kd、pv(上水箱液位设定值)其他变量设置类似,如图3所示。

图3 组态王自定义变量

图4 EXCEL中间数据库

2.2 EXCEL文件的新建与设置

新建一个EXCEL文件“data.xls”,在EXCEL里完成相应的设置,如图4所示。选中第一行第二列r1c2:在其中写入:下水箱液位设定。用同样方法可以完成其他输出量在data.xls中的设置。Excel与组态王通过DDE通讯能够实现数据的同步传输。通过组态王中对变量的DDE设置,每个变量对应Excel中某一单元格,只要在组态王设置与EXCEL软件互联,即可实现数据变量的同步变化。

2.3 MATLAB的DDE通讯

MATLAB作为客户应用程序,它支持文本格式的数据传递,可以使用MATLAB中的DDE客户端所提供的函数与服务器应用程序进行数据通讯[14],MATLAB的DDE客户包含7个函数,分别是:ddeinit是建立与服务器的的对话,建立成功则该函数返回一个通道信号;ddereq向服务器索要数据,返回值是存有数据的矩阵;ddepoke向服务器发送数据;ddeadv和ddeunadv的功能是建立热链的请求和删除请求;ddexec发出执行命令给服务器应用程序;ddeerm终止与服务器之间的DDE会话[15]。本文主要用到的函数为 ddeinit、ddereq、ddepoke 3种,下面是MATLAB进行DDE通讯的步骤:

1)双容水箱串级PID控制模型搭建

文中采用PID串级控制,分主控制器和副控制器,主控制器的PID参数可以通过m文件中的set_param函数写入Simulink模型中进行修改,如图5所示。

图5 双容水箱串级控制模型

2)编写实现DDE功能的M文件

在MATLAB中编写Simulink模型与EXCEL进行数据通讯的m文件,如图6所示。编程思路是在m文件中定义4个变量,分别为下水箱液位设定值、比例常数设定值、积分常数设定值、微分常数设定值,而函数set_parm可以修改PID模型中的KP、Ki、Kd、参数。本文用到的函数ddeinit建立与组态王的对话,建立成功则该函数返回一个通道信号[16]。用if,else语句来检测对话有没有建立成功,若建立成功,用ddereq函数从Excel中读入数据,再把数据送入SIMULIK仿真模型中,经过模型运算之后再把数据返回传入Excel,最后送还给组态王监控画面中。例如”sv=ddereq(channel,‘r2c2’)”,把 Excel中第二行第二列的数据读给sv送入Simulink仿真模型,经过运算之后通过To Workspace把数据送回工作空间,再经过ddepoke从工作空间向Excel返回数据,MATLAB把返回值送给Excel,Excel再通过DDE通讯把数据传输到组态王监视界面中。

图6 m文件编程

3 运行过程及调试

1)打开组态王工程:双容水箱监控平台,进入组态王运行环境;即在工程浏览器界面找到VIEW,单击切换到运行状态。设定下水箱液位控制参数(设定下水箱液位比例参数P=0.45,积分参数I=0.0045,微分参数D=5,设定液位值为15)。

2)打开“data.xls”这个 Excel,对通讯的数据进行更新。

3)打开MATLAB,打开SIMULINK文件和M文件,运行M文件。

4)将输入信号改为单位阶跃信号后,观察经过模型运算后示波器的情况,下水箱液位如图7示波器Scope1所示,上水箱液位如示波器Scope2所示。

5)输入信号为实际设定值时,将上水箱液位、下水箱液位和设定值显示在同一画面中,如图8所示。

图7 示波器

图8 示波器Scope3

4 结 论

文中通过组态王和MATLAB软件自主开发双容水箱液位控制仿真实验平台,提出了使用MATLAB的workspace工作空间与EXCEL数据库进行互联。组态王和MATLAB分别实现双容水箱监控系统的界面搭建和串级模型的搭建。利用DDE通讯访问EXCEL数据库,同时在组态王界面进行参数设置时可进行EXCEL数据库的实时修改,而EXCEL同时与Simulink双容水箱模型互联,继而修改水箱模型参数,进行不同参数下模型的分析。结论证明,利用组态王软件进行参数修改后,组态王界面的示波器显示结果与MATLAB模型仿真波形一直,实现了3者的互联。仿真实验平台的搭建具有图形界面动态效果逼真、操作性强等优点,对进一步的控制类教学和工作实践有着重要的意义。

[1]张梓琪,黄凌云,李才对,等.基于组态王与Matlab的液位控制仿真平台构建[J].实验室研究与探索,2013(9):81-85.

[2]敖茂绕.串级液位控制系统的改进粒子群神经网络PID控制研究[J].计算机测量与控制,2014(22):95-100.

[3]张亚锋.基于PID串级控制的MATLAB仿真系统[J].电子科技,2015(10):26-27.

[4]王志刚,虎恩典,王宁.基于PLC的双容水箱液位串级PID控制的实现[J].电子设计工程,2014(22):131-135.

[5]朱涛,周天沛.基于PLC的双容水箱液位控制仿真与实物实验系统设计[J].实验室技术与管理,2013(11):29-32.

[6]王雪梅.基于模糊神经网络PID的液位串级控制的研究[J].机电一体化,2013(3):35-85.

[7]郑华,吕伟珍.基于组态王和MATLAB的双容水箱液位控制[J].中国农机化,2012(2):155-157.

[8]王维权,马阳,雷彦华.基于组态王与MATLAB的双容水箱液位模糊控制系统[J].工业控制计算机,2014(27):23-26.

[9]卢守锋,韦钦平,沈文,等.集成VISSIM、EXCEL VBA和MATLAB的仿真平台研究[J].交通运输系统工程与信息,2012(12):43-48

[10]黄彪,张井岗.模糊PID控制在液位串级控制系统中的应用[J].机械工程与自动化,2012(5):150-155.

[11]孙婷.双容水箱液位串级控制系统的设计[J].产业与科技论坛,2014(13):65-78.

[12]常瑞丽,韩军.双容水箱液位控制系统的开发与研究[J].机床与液压,2014(42):166-169.

[13]曹红英,邓娜.液位串级控制系统控制器参数优化整定分析[J].开封大学学报,2015(29):89-92.

[14]陈星,鲁玲.一种基于OPC通讯的自适应模糊PID控制优化设计[J].工业控制与应用,2014(33):17-21.

[15]徐银梅,李擎,董洁.自动化实训实验室的建设与实践[J].实验技术与管理,2016(33)240-244.

[16]周洋,沈雷,孙闽红,等.主动式实验教学法的探索与实践[J].实验室科学,2012,15(5):14-16.

猜你喜欢
组态王设定值水箱
冷轧镀锌光整机延伸率控制模式的解析与优化
基于组态王软件和泓格PIO-D64 板卡的流水灯控制
一种太阳能热水器水箱的控制系统
PLC组态控制在水箱控制系统的应用
水箱出水
MATLAB实现组态王中TCP/IP读卡器监控方法
西气东输二线人机交互界面的防呆系统
目标设定值传感器的原理与检修
对工频耐压试验跳闸电流设定值问题的探讨
基于PLC与组态王煤矿压风机的设计研究