摘要:本文针对FF现场总线中监控软件实现DMC算法的困难,提出利用Matlab7.0 OPC工具包实现与OPC服务器间通讯并实现DMC控制的方案,充分发挥了矩阵计算语言简洁、高效的优势。仿真结果表明CONTROL ENGINEERING China版权所有,该方案能在很大程度上缩短监控程序的开发周期,并达到了预期的控制效果。
引言
FF现场总线系统是连接智能现场设备和自动化系统的数字式、双向传输、多分支结构的通信网络,与现行控制系统相比,具有如下技术优势:① 现场总线用数字信号代替传统的模拟信号,测量精度高,抗干扰能力强;② 基于总线的现场仪表可以对量程和零点进行远程设定,具有仪表工作状态自诊断功能www.cechina.cn,能进行多参数测量和对环境影响的自动补偿;③ 现场设备集检测、转换、运算和控制功能于一体,既降低了成本,又增加了安全性和可靠性。④ 所有现场设备直接通过一对传输线即现场总线连接,减少了连线的数量,易于安装和维护,节省费用、调试和维修成本。
本实验测控系统采用JBS2GK03 过程控制实验装置,并采用中科院沈阳自动化研究所开发的FF H1 OPC服务器MicroCyb
图1 r和p选择的不同对预测向量的影响
控制原理
本实验测控系统采用的JBS2GK03 过程控制实验装置,被控参数变量为液位、流量、温度和压力。该过程为自衡非振荡, 具有相互影响的双容过程,其数学模型可用如下传递函数描述:
(1)
式中控制工程网版权所有,Kp, Tp, 分别为过程的增益、时间常数和时滞。由上位机的OPC服务器实时获取FF现场总线采集现场设备数据并动态显示。
OPC服务器MicroCyber .FFServer.1每秒钟刷新一次,实现设备的实时数据和历史数据共享以及报警等功能。OPC客户端与服务器之间的通讯符合OPC的自动化接口规范要求控制工程网版权所有,利用matlab 7.0支持OPC规范的新功能,实现用户端与服务器的通讯。动态矩阵控制算法通过Matlab的M语言在监控端实现,利用其强大的计算与动态显示能力对水箱系统进行动态矩阵控制。并将OPC服务器的历史数据保存在Matlab的数组中,以实现对历史数据曲线的实时绘制。本文采用的受控对象为Device1.Flow,组名为 Device1。通过Matlab编写的客户端与SQl2000服务器的ODBC连接,实时与数据库交互。从OPC服务器读取选项的值,并可以实时将选项的值插入到数据库服务器中保存为历史数据。需要时,可以通过选项随时将历史数据进行回调,进行查询、更新、删除等操作www.cechina.cn,或者用于算法控制和绘制历史曲线图。从而可以实现OPC服务器和历史数据服务器的分布式管理。本设计中采用的NCS-IF105设备可以接收四个通道0~20mA模拟信号,并转换成FF现场总线信号。而NCS-LD105现场总线网关则可用于各种采用FF H1现场总线设备的控制系统当中,不仅可将FF H1总线设备无缝集成到以太网网络中,还可扩展FF H1应用。
程序实现
客户端与OPC服务器通讯
首先,Matlab客户端应先生成 OPC服务器支持的 OPC 对象。OPC 数据访问对象由分层结构构成,即一个 OPC 服务器对象具有一个作为子对象的 OPC组集合对象(OPC Groups)。在这个 OPC组集合对象里可以添加多个OPC组对象。各个OPC组对象都具有一个作为子对象的OPC标签集合对象,在这个标签集合对象里可以添加多个 OPC标签对象。
用Matlab M文件编写OPC客户端程序包含以下步骤:
(1)添加服务器的引用,创建 OPC 服务器对象,并将客户程序与服务器相连;
(2)连接创建的OPC 服务器对象;
(3)通过浏览整个服务器中所有的项,添加组对象;
(4)添加 OPC项,选择需要的项,将其添加到规定的组中,并显示其值和状态;
(5)启动OPC服务