SCADA 系统中的底层通讯研究

更新时间:2023-06-04 21:50:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

SCADA 系统中的底层通讯研究

第32卷第4期

2005年北京化工大学学报

JOURNALOFBEIJINGUNIVERSITYOFCHEMICALTECHNOLOGY

Vol.32,No.4

2005

SCADA系统中的底层通讯研究

郭 强1 刘丽欣2 莫德举1

(1.北京化工大学信息科学与技术学院,北京 100029;2.辽宁省调兵山市铁煤集团晓南矿,辽宁铁岭 112704)

摘 要:研究了基于RTU的自由编程口来开发和智能型设备进行通讯的驱动程序,反映目前在SCADA系统中的所应用的带自由编程口的RTU的现状,讨论了如何更好地利用RTU/PLC等设备的自由编程口编写出丰富、完善、灵活的通讯程序,增强RTU/PLC等设备的通讯能力,使之摆脱其驱动程序只能与特定设备进行通讯的束缚,增强SCADA系统的数据采集能力。

关键词:SCADA;RTU;远程通讯;数据采集;非标准协议中图分类号:TN919

在目前的SCADA系统底层通讯中,通过下装

驱动程序可以很好的解决现场控制器(RTU/PLC)与采用国际通用标准协议的智能设备间的通讯问题,随着国产采用非标准协议的现场智能设备的大量涌现,解决现场控制器(RTU/PLC)与采用非标准协议的智能设备间的通讯问题变得非常迫切。

为此,下面提出一种内嵌C编辑器、带有自由编程口、能够根据实际需要自行开发驱动程序的小型RTU,力图解决SCADA系统中的底层通讯问题,适合应用到水文监测、燃气输配、污水处理、城市供水、供气等行业需要与采用非标准协议的智能仪表进行通讯的场合。

部分[1]:中心到通讯网络、通讯网络到分站以及分站到现场设备(即SCADA系统中的底层通讯),前两二者属于系统内部通讯,随着通用标准协议的不断国际化,这两部分的通讯变得越来越简便,以下主要讨论的是分站到现场设备的通讯。

在SCADA系统的底层通讯部分,传统的方式采用的是4~20mA或者1~5V的模拟信号来传输信息,模拟信号往往只能传输某一待测量的当前值,难以做到多个测量值及累计量的传输。随着对SCADA系统技术参数要求的提高及通讯技术的发

展,越来越多的采用RS232/RS485等标准,靠数字信号来传输现场信息,其可以很好地向上位同时传输多个测量值及累计量,并方便的统计历史数据。工程应用中的RTU/PLC基本上都固化了MOD2BUS2ASCII/MODBUS2RTU/DF1/DNP3等通用的

1 SCADA系统中的底层通讯及存在

的问题

如图1所示,SCADA系统中的通讯大体分为三

标准通讯协议。如果现场设备能够识别上述协议,通讯时,只需要在软件上做相应的设置就可以了,如

[2]

《基于嵌入式控制器的小型RTU的设计》提到的

RTU。但在实际应用当中大多现场智能设备往往

不能识别上述标准协议,比如需要进行通讯的是一款普通的国产智能型流量仪表,不能识别通用的标准协议,在很大程度上成了束缚SCADA系统数据采集能力提高的一个瓶颈。

图1 SCADA系统通讯网络示意图

Fig.1 CommunicationnetworkofSCADAsystem

2 解决RTU和底层设备通讯所存在

问题的方案

在解决这类问题时选用带自由编程口的RTU,是一种较好的方法,利用RTU本身自带的自由编

程口,开发智能终端设备的驱动程序并固化到RTU

收稿日期:2004205220

第一作者:男,1980年生,硕士生E2mail:guoq@

SCADA 系统中的底层通讯研究

中去,从而实现与终端设备的通讯。这种方法实现

起来灵活、方便,把驱动程序分成几个相对固定的子函数,针对不同设备的通讯协议只需要把出入口参数和数据处理子函数做简单的修改就可以了。

3 内嵌C编辑器的RTU在实际工程

中的应用

此种方法在一项燃气SCADA系统[3]的改造工程得到了应用,此项目中现场挂有智能型流量仪表、色谱仪、加臭机等终端设备,要求保留这些设备继续使用。但下位的多数终端设备采用的都不是RTU能够识别的标准通讯协议,终端设备品牌、型号、协议多样,有的LCC(本地监控中心)还要求一台RTU控制器同时能够采集多个终端设备的数据,使得SCADA系统的数据采集工作变得相当困难。

根据上面的分析,结合工程实际,选用了带有自由编程口的加拿大CMI公司SCADAPACK系列RTU来做这个项目,此系列的RTU内嵌C语言的编辑器,是一种基于ANSIC的编辑器,属于嵌入式系统编程。通过这套C的编辑开发及编译环境,可以开发出相应硬件设备的驱动程序,完成对采用非标准通讯协议硬件设备的数据采集。311 驱动程序的设计

对于采用非标准通讯协议硬件设备作为底层通讯设备的SCADA系统来说,驱动程序的设计是关系到整个系统能否完成正常数据采集工作的关键。根据图2的程序功能框图,在充分考虑程序时序、中断、出错处理及各子函数所需完成具体功能的基础上,结合工程实际,按图中所示的各函数功能间的逻辑关系设计了用嵌入式C语言编写、在RTU中运行、与下位智能终端设备通讯的驱动程序,可广泛的应用到SCADA系统、远程抄表等系统中,作为RS232/RS485等标准中自定义协议的驱动程序。包括主函数、初始化函数、发送函数、中断函数、接收

图2 程序功能框图

Fig.2 Flowchartofprogramfunction

函数、数据处理函数、通讯质量检测函数等函数组成

的完整的通讯程序[4]。

初始化函数负责设定程序默认的通讯口、波特率、协议类型等的初始值,针对此程序在RTU中运行的特点,初始化函数中设定了允许外界访问的软件接口,在梯形图程序中编程访问这个接口,可以作到当访问采用不同协议的硬件设备时不必更改C程序。另外,发送函数、中断函数、数据处理函数及通讯质量检测函数负责完成各自的常规功能。

在设计驱动程序时做出通讯质量的分析结果,以便用户可以方便的了解到远程工作站的工作情况,做出正确的决策,尽可能的减少不必要的现场检测、排错。此外,增加了错误处理函数,避免程序在异常情况下的死锁。312 程序的优化由于此驱动程序在RTU中运行,在设计程序时充分利用了梯形图语言的优点和灵活性,把梯形图语言和C语言结合起来使用使得程序的灵活性和可移植性大大增强,RTU中的C语言编程属于嵌入式系统编程,程序的修改、编译、下装、现场调试都比较麻烦,要保证程序稳定运行后,不再对其改动,以免造成不必要的错误隐患。在设计C程序时,针对不同协议需要改动的地方都定义了动态的变量,通过梯形图程序在适当的时候动态的赋值。使程序做到最大程度的通用,增强了程序的可移植性。在此驱动程序中,C程序和梯形图程序的相互调用是通过控制某一寄存器地址单元中数据来实现的,如图3所示

图3 C语言和梯形图的相互调用

Fig.3 RelationsbetweenClanguageandTchart

通过如下语句可以把梯形图写到寄存器中的参

数读出来

comPort=dbase(MODBUS,KF-COM-PORT)再通过下列语句把从寄存器中读来的参数赋给C执行程序,setdbase(MODBUS,KF-comPort-REGIS2TER,comPort)。

SCADA 系统中的底层通讯研究

313 实现一对多通讯

此工程要求一个RTU能够采集多个终端设备的数据,在设计程序时,必须做到让通讯程序动态的向串口发送对不同设备的读取命令,如用C语言来实现此功能可以有很多方法,但大多会存在只能与程序中已设定好的固定设备进行通讯的缺陷,造成程序的通用性和灵活性上的瓶颈。针对此程序在RTU中应用的特点,把程序封装起来,并把设备的地址设计成了一个动态的变量,对外留出地址变量的入口参数,用梯形图语言编写初始化程序,在C程序中通过address=dbase(MODBUS,KF-address)语句得到地址参数,并把此参数放到命令帧的相应位置,就能按照不同门站的特定要求动态的给入口参数赋值,方便地控制驱动程序所能识别的外部设备的地址,使程序的通用性大大增强。在硬件连接上,采用RS485进行一对多的通讯,运用上面的程序设计思想,开发一个C语言程序,利用梯形图程序动态的给C语言程序赋RS485网络上的设备地址初值,使程序能够识别RS485网络上的不同设备。在实际应用中很好的完成了一台RTU对多个终端设备的通讯[5]。其网络连接如图4所示。

图4 RTU并联多台流量表框图

Fig.4 RTUconnectedwithmanyflowmeters

动程序已在天津天然气SCADA系统中得到了成功的应用,方案中采用了内嵌了C语言编辑器的RTU,用C语言编写和非标准仪表的通讯程序,较好的解决了RTU和非标准协议仪表之间的通讯问题,从实际运行结果来看,运行相当稳定,增强了SCADA系统的数据采集能力。

参考文献

[1] 付景琳,李铁军.SCADA系统在西安天然气管网中的

应用[J].现代电子技术,2003(3):96-111

[2] 刘晓军,赵 宏.基于嵌入式控制器的小型RTU的设

计[J].北京化工大学学报,2003,30(3):78-81

[3] 姜正候.燃气技术手册[M].上海:同济大学出版社,

1995

[4] 陈劲松,陈 刚,周小丽.SCADA系统基于TCP/IP的

4 结束语

本文针对SCADA系统中底层通讯的现存问

题,提出了底层通讯中的RTU/PLC与现场智能设备通过非标准协议进行通讯解决方案,所设计的驱

实时通信[J].现代电子技术,2003(8):7-9

[5] 袁家政.计算机网络[M].西安:西安电子科技大学出

版社,2001 

ThelowlevelcommunicationinaSCADAsystem

GUOQiang1 LIULi2xin2 MODe2ju1

(1.CollegeofInformationScienceandTechnology,BeijingUniversityofChemicalTechnology,Beijing100029,China;

2.XiaoNanMineofTieMeiGroupInDiaoBingShanCityofLiaoning,LiaoningTieling,112704,China)

Abstract:Thispaperdiscussedthedevelopmentofterminaldevices’driveprogrambasedonRTUwithfreepro2grammingportanddescribedthestatusofRTUwithfreeprogrammingportappliedinaSCADAsystematpre2sent.TheobjectofthispaperwastofindabetterwaytocompileaperfectandflexiblecommunicationprogramwithRTU/PLCfreeprogrammingport,togetridoftherestrictionthatdriveprogramcommunicationhastobeboundwithspecialdevicesandtoimprovetheabilityofcommunicationanddataacquisitionofSCADAsystem.Keywords:supervisorycontrolanddataacquisition(SCADA);remoteterminalunit(RTU);remotecommuni2

cation;dataacquisition;nonstandardprotocol

(责任编辑 刘同帅)

本文来源:https://www.bwwdw.com/article/aqq1.html

Top