产品推荐:水表|流量计|压力变送器|热电偶|液位计|冷热冲击试验箱|水质分析|光谱仪|试验机|试验箱

全网搜索
2023版仪器仪表采购宝典电子书

仪表网>技术中心>应用设计>正文

欢迎联系我

有什么可以帮您? 在线咨询

经典AV三级在线观看 一种改进的DCS通信接口方案及应用

   2011年12月20日 14:22  
  摘要:本文以EDPF-NTPlus分散控制系统为实例,提出了一种DCS与外部系统的数据通信接口方案。该方案基于Modbus和UDP通信协议,建立了DCS与Matlab软件之间的实时数据连接。数据通信过程中无需对DCS内部数据库进行操作,保证了DCS运行的独立性与可靠性。给出了将Matlab模糊控制工具箱引入DCS的方法,实现汽包水位控制系统PID参数的在线模糊整定。该通信接口方案为DCS过程控制仿真与优化提供了新的思路。
  
  引言
  
  分散控制系统(DCS)广泛应用于火电、化工等工业生产中,随着人们对节能环保和生产效率方面要求的不断提高,如何对DCS的功能进行改进与扩展成为了新的研究方向。Matlab软件有着强大的仿真与计算功能,且提供了许多现成的*控制算法工具箱,操作人员可以方便地进行被控对象的建模与仿真。因此,实现DCS与Matlab的整合是对现有DCS进行功能扩展的较为理想的途径。国电智深研制的EDPF-NTplus分散控制系统是国内应用较为广泛的DCS产品。在直接调用组态软件动态链接库的基础上,文献提出了利用OPC技术实现Matlab对这套DCS系统数据库进行读取的方法。
  
  本文研究了EDPF-NTplus系统以及Matlab软件的通信特性,设计了两者之间的双向数据通信接口方案。同时,给出了利用这种通信接口方案,将Matlab模糊控制工具箱引入DCS系统,实现汽包水位控制系统PID参数的模糊在线整定。
  
  一、系统通信实现
  
  1.1通信接口方案
  
  整个通信接口方案示意图如图1所示。
  
  DCS与仿真优化计算机的数据通信建立在DCS自带通信接口的基础上,避免了对DCS系统运行的独立性和可靠性的影响。EDPF-NTplus系统的接口站以用户数据报协议(userdatagramprotocol,UDP)的形式对外发送DCS测点的实时信息,同时在DCS组态中建立COM通信模块,通过Modbus通信协议读取外部设备中的数据。整个通信接口方案的硬件部分由仿真优化计算机、EDPF-NTplus系统(配有接口站以及COM模块)、路由器、网线以及双绞线组成。Matlab具有良好的扩展性,但对于Modbus和UDP通信协议软件只提供了串口对象以及UDP对象的创建函数。为了实现数据的接收与发送,还需要编写Matlab环境下的通信客户端程序。
  
  1.2通信协议简介
  
  用户数据报协议UDP是一种简单的面向数据报的传输层协议。由于只负责将数据在网络上进行发送而无需客户端做出应答,因此UDP协议的传输速度较快,可以及时地将DCS中的测点实时数据发送到Matlab软件中。
  
  Modbus协议是一种可靠而有效的通用串行通信协议,它由Modicon公司于1979年提出,现已成为工业领域通信协议标准,是工业电子设备之间常用的连接方式。其通信采用主从方式,通过查询/回应的方式实现数据的传输。Modbus协议有ASCⅡ模式和RTU模式两种数据传输方式,EDPF-NTplus系统的COM通信模块采用的是后者。
  
  1.3UDP通信的实现
  
  UDP报文的结构一般由头部与数据区两部分组成。在EDPF-NTplus系统中,头部固定16B,依次为:域号、站号、字节数、数据包类型、数据包时间、数据包中测点个数和点名列表文件版本号。数据区中,每个测点信息占用12B,zui多包含100个测点,即zui大长度为1200B。
  
  在EDPF-NTplus系统中实现UDP数据包发送需要先通过EDPF-NTplus系统接口站运行目录\config\mmi下的配置文件dip.ini,对客户端数量、lP地址以及zui长发送间隔进行设置。设置完成后,将待发送测点的列表文件d中pnt.csv存放在同一个目录下。然后启动接口站,待发送测点的信息就会以UDP数据包的形式发送到IP地址。
  
  Matlab软件提供了UDP对象的创建函数,本文在此基础上根据EDPF-NTplus系统发送的UDP数据包格式编写了数据读取程序,并将得到的数据存入工作空间以便其他程序调用。创建UDP对象的命令为:udpB=udp(ipA,portA,‘LocalPort’,portB),其中ipA和PortA分别为DCS系统接口站的IP地址及端口号,PortB为本地端口号。
  
  由于在Matlab中通过UDP对象直接读取的数据默认为十进制,而DCS发送来的测点实时值是咒位浮点数。因此,还需要加入一段将十进制数转化为浮点数的程序,才能正确读取DCS测点实时值。程序的原理是先将每个十进制数转化为8位二进制数,不足8位的用0补足;然后将4个8位二进制数连接成1个32位二进制数并通过数字编码器转化为浮点数。数据转换的主要程序为:bin=strcat(bin1,bin2,bin3,bin4);q=quantizer(‘float',[328]);out=bin2num(q,bin)。其中bin1、bin2、bin3、bin4是4个8位二进制数。
  
  1.4Modbus
  
  通信的实现Modbus的数据帧由头部、数据区以及校验码组成。从站设备产生回应数据帧中的功能代码与主站发送的功能代码保持一致,数据区则存放主站设备请求的数据,帧尾的校验码用于判断网络传输是否正确。
  
  以DCS系统的COM模块为主站设备,运行Matlab软件的计算机为从站设备,选取Modbus功能码03(读取从站设备保持寄存器中的数据),实现DCS系统从Matlab软件中获取数据的功能。由于EDPF-NTplus系统的COM通信模块本身就支持Modbus通信协议,所以只需用Windows中的超级终端设置模块通信口的参数、建立通信任务列表,COM通信模块就能开始工作。Matlab端的Modbus通信程序实现了创建串口对象并进行数据帧读取、识别主站请求、计算校验码、生成并发送回应数据帧。创建串口对象的主要语句为:s=serial(‘COMI',‘Baudrate’,9600,‘DataBits',8,‘StopBits',l,‘Parity’,‘none',‘FlowControl',‘none')。
  
  二、汽包水位模糊PID控制实现
  
  2.1汽包水位控制系统描述
  
  汽包给水控制回路是火力发电厂DCS系统中非常重要的控制回路,保证锅炉汽包的正常水位是汽包锅炉和汽轮机安全运行的重要条件之一。汽包水位受到蒸汽流量、给水流量、汽包压力、温度和燃烧工况等多个参数的影响,是具有多变量、大滞后强藕合及非线性的对象,且系统参数具有时变性,难以建立的数学模型。应用传统方法整定的PID控制器在负荷变动等动态的情形下难以实现比较好的控制效果。
  
  模糊控制算法是一种对被控对象的非线性适应性好、鲁棒性较强的控制算法。在DCS汽包水位控制系统中引入模糊控制算法,在线整定PID控制器的参数能够改善控制系统的动态性能,同时不影响系统的稳态精度叫。利用本文提出的通信方案,将Matlab中提供的Fuzzy工具箱与EDPF-NTplus分散控制系统相结合,可以方便地实现DCS汽包水位控制系统PID参数的在线模糊整定。
  
  2.2PID参数的在线模糊整定
  
  在DCS汽包水位串级3冲量控制组态的基础上,通过与Matlab软件的通信引入了一个二维模糊控制器,对主回路中PID控制器的参数进行在线整定。模糊控制器的输入变量为水位的偏差。以及偏差变化率ec,输出为PID控制器3个控制参数的偏置值△kp、△ki、△kd。当水位的偏差e以及偏差变化率ec随着工况不同而变化时,模糊控制器输出PID参数的偏置值△kp、△ki、△kd对原PID参数进行在线整定,从而改善汽包水位控制系统的动态性能。
  
  模糊自整定PID汽包水位控制系统的结构如图2所示。
  
  各个量的模糊集均为{NB,NM,NS,ZS,PS,PM,PB},分别表示“负大”,“负中”,“负小”,“零”,“正小”,“正中”,“正大”,论域为|e|和|ec|。△kp={-3,-2,-1,0,1,2,3,},△ki={-0.6,一0.4,一0.2,0,0.2,0.4,0.6},△kd={一3,一2,一1,0,1,2,3,}。建立|e|、|ec|与△kp、△ki、△kd之间的模糊关系规则表此处省略。
  
  为了保证数据通信以及模糊运算的实时性,在Matlab程序中采用2个定时器对通信程序和模糊控制器进行定时调用。定时器创建命令为:
  
  tp=timer(‘TimerFcn’,{@timerCallback1,han-dles.text_p,handles.text_s,handles.text_fsetting,han-dles.text_domain,handles.text_drop,handles.axes1},‘ExecutionMode',‘fixedDelay',‘Period',0.5);
  
  其中‘Period’参数是计时器的周期,即通信程序调用的周期。DCS一般的采样周期是1s,本文将通信周期设为0.5s,保证了DCS数据的实时获取。程序流程图如图3所示。
  
  2.3数据通信试验
  
  针对给水流量作用下汽包水位传递函数和蒸汽流量作用下汽包水位传递函数,选取采样时间为0.1s,采用模糊在线整定PID控制器对水位系统进行控制,其实现过程介绍如下。
  
  ①在使用EDPF-NTplus分散控制系统的某火电厂DCS汽包水位控制组态中添加PID参数偏置量测点并作为变参数调节的PID控制器算法模块的输入。
  
  ②设置DCS中接口站和COM模块的通信参数。
  
  ③打开Matlab端的GUI界面,完成通信参数的设置后,界面中将会显示汽包水位相关测点的实时值以及汽包水位的实时趋势曲线。
  
  ④单击“开始优化”按钮,Matlab将会运行PID参数模糊整定程序,在GUI界面中显示△kp、△ki、△kd的实时值。此时,工作状态一栏将显示“优化中”,但这只表示Matlab中的模糊控制器正在运行,要将模糊整定得到的参数应用于实际PID控制器还需要在DCS过程画面中进行操作。
  
  ⑤打开DCS的工程师站PID参数优化窗口,能够观察到汽包水位趋势曲线以及PID参数的初始值和优化值。单击“开始模糊优化”按钮,将出现10s的操作确认窗口,确认之后优化状态一栏将显示绿底色的“模糊优化”字样,表明此时汽包水位控制主回路中的PID控制器已采用模糊整定之后的优化值。若要停止优化,则单击“停止模糊优化按钮”并进行操作确认,此时状态栏显示“优化停止”。
  
  三、结束语
  
  本文提出的EDPF-NTplus分散控制系统与Matlab软件的通信方案具有易于实现、不影响DCS系统运行的独立性和可靠性的特点。基于Modbus和UDP通信协议的数据通信接口方案在数据通信过程中无需对DCS内部数据库进行操作,可保证DCS运行的独立性与可靠性。建立的DCS与Matlab软件之间的实时数据连接,为改进和扩展现有DCS系统的功能提供了新的思路。

免责声明

  • 凡本网注明“来源:仪表网”的所有作品,均为浙江兴旺宝明通网络有限公司-仪表网合法拥有版权或有权使用的作品,未经本网授权不得转载、摘编或利用其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:仪表网”。违反上述声明者,本网将追究其相关法律责任。
  • 本网转载并注明自其它来源(非仪表网)的作品,目的在于传递更多信息,并不代表本网赞同其观点或和对其真实性负责,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品第一来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
仪表网-仪器仪表行业“互联网+”服务平台
浙公网安备 33010602001308号
网械平台备案证:(浙) 网械平台备字[2020]第00008号
ICP备案号:浙B2-20100369-24
  • 网上标识信息
  • 营业执照(副本)
  • 经营性网站备案信息
  • 行业网站百强奖状
  • 不良信息举报信息
联系我们

客服热线: 15267989561

加盟热线: 15267989561

媒体合作: 0571-87759945

投诉热线: 0571-87759942

关注我们
  • 下载仪表站APP

  • Ybzhan手机版

  • Ybzhan公众号

  • Ybzhan小程序

企业未开通此功能
详询客服 : 0571-87759942