采用Modbus协议实现DCS系统中监控级数据集成

时间:2023-03-20来源:佚名

数据集成是dcs系统中的关键。一个典型DCS系统从结构上可分为四层[1]:现场级、控制级、监控级和管理级。本文讨论的是监控级,在这一级有许多并列的子站,一般采用计算机作为为机接口,各站点可按功能划分,分别采集相应的现场信号和控制某些局部设备。但是,各站点之间不是孤立的,它们必须互相配合、协调才能保证产品质量和实现连续生产,这就需要各站点能互通讯息。另外,上级管理网也需要与监控级子站交互数据,以实现全局的监控和优化。

然而,子站是采用不同开发平台、不同通讯协议组成的异构系统,可能由不同的厂家和个为开发。要为每种协议写一个转换接口或驱动是比较繁琐的,特别是在站点和协议较多的时候。因此,怎样有效集成数据,避免信息孤岛的出现,是DCS系统中常遇到难点问题之一。

比较好的方法是各站点都采用标准协议进行数据通讯,而不必为每一种协议开发一个通讯接口。目前这方面的协议比较多,Modbus就是其中的一种。

采用Modbus协议实现DCS系统中监控级数据集成

1 Modbus协议简介

Modbus协议包括ASCII、RTU、PLUS、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的[2]。标准的Modicon控制器使用RS232C实现串行的Modbus。RS232C规定了连接器针脚、接线、信号电平、波特率、奇偶校验等信息,Modbus的ASC水、RTU协议则在此基础上规定了消息、数据的结构、命令和就答的方式,如图1所示。数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。

采用Modbus协议实现DCS系统中监控级数据集成


图2是一个典型的Modbus应用示例。Modbus可以应用在支持Modbus协议的PIC和plc之间、PLC和个人计算机之间、计算机和计算之间、远程PLC和计算机之间以及远程计算机之间(通过Modem连接),可见Modbus的应用是相当广泛的。由于Modbus是一个事实上的工业标准,许多厂家的PLC、hmi、组态软件都支持Modbus,而且Modbus是一个开放标准,其协议内容可以免费获得,一些小型厂商甚至个人都可根据协议标准开发出支持Modbus的产品或软件,从而使其产品联入到Modbus的数据网络中。因此,Modbus有着广泛的应用基础。

在实际应用中,可以使用RS232、RS485/422、Modem加电话线、甚至TCP/IP来联网。所以,所以,Modbus的传输介质种类较多,可以根据传输距离来选择。

2 Modbus的具体应用

这里介绍的Modbus的具体应用是某厂的水泥生料生产质量控制系统。此系统中一共有5个子站:钙铁分析仪、四元素分析仪、料位位/料浆塞、配料秤、配库。每一个子站由一台计算机和相关软、硬件组成,控制系统组成如图3所示。

采用Modbus协议实现DCS系统中监控级数据集成

从图3可看出,系统基本上是两个控制回路:一路由钙铁分析仪、配料秤及控制算法组成,实现磨前精配,即出磨生料质量的在线实时闭环控制;另一路由四元素分析仪、料浆塞、料位仪组成,实现摩后调配,即入窑前料浆质量的均化控制。配库算法在第二条回路中起控制、优化和网络接口的作用。系统控制参数的改变由两个事件触发:钙铁仪分析的结果和四元素分析的结果。这两个分析结果由对用户定期采得的实际生产中的样品的分析得到。从图3还可看出,各站之间是相互联系的,它们的协作关系到生料生产的质量。

在网络设计中,不仅要实现各站之间数据交换,同时还要考虑到网络的灵活性、通用性、可扩展性。例如,数据源站点应能比较容易地增减数据、目标站点可能有多个、数据流向应该是双向的、所有生料系统的数据需送到厂级DCS中,因此网络的实现比较复杂。

由于Modbus协议具有多样性、可靠性等特点,而且是工业级标准协议,完全可以适合具体应用,因此用Modbus实现网络。

要在每个站点都用源程序实现Modbus是不实现的,因为应用程序开发平台不一样,有Visual C 等,不可能实现代码复用。但是,每个站点读写Modbus数据的操作又是相同的,为解决这个问题,我们采用COM技术。COM也是软件模块之间数据通讯的标准。COM的特点是语言无关性、对时程的透明性和可以实现二进制重用。因为它的接口是开放的,所以支持COM技术的客户程序可以通过其公共接口调用COM组件的内部功能。众所周知,在Windows2000中,COM 甚至是构成操作系统的基础。

最后,采用ATL开发出了两个COM组件,即Modbus Master组件和Modbus Slave组件。ATL是一个基于C 模拟技术的框架,它主要用在甚至COM的软件开发上,使用它可以大大简化组件的开发过程并提高代码的效率[5]。Master和Slave组件都包含ASCII、RTU、TCP三种方式,实现了Class0、Class1规定的功能[3]。每个子站的客户程序不需要了解Modbus的具体协议和实现方式,只需调用组件公开出来的方法,就可以与远程计算机交换数据,实现Modbus协议透明、网络数据传输透明。例如Slave端的组件,客户端只需修改其连接数据就可以使变化反应到Master端,而Master端修改了数据后,Slave端会触发事件通知客户。

网络结构没有使用点对点的连接,而是采用了星型连接,在一个站点上建立一个实时数据库,相当于一个数据中心。所有站点都只与数据中心相连,各站数据也发送到数据中心集中。网络结构见图4。

采用Modbus协议实现DCS系统中监控级数据集成

3 讨论

3.1 关于具体应用

图4所示的网络结构中,一方面,系统封装了Modbus协议和网络的实现,实现了功能复用,减少了重复操作,并且使网络调试比较方便;另一方面,星型结构使增加数据、增加站点都很方便,原则上每个站点都可以取得任意站点的数据,而不需要增加新的连接。在图4所示的网络结构下,可以方便地把配库和配料秤相连,实现半库调配(根据料浆质量反馈控制配料秤配方),将控制回路增加到3条。部分实时数据还可以存入历史数据库,以便长期保存和事后分析查询。

3.2 Modbus协议的其它特点

除了在简介中提到的应用广泛的特点外,Modbus还有其它特点。Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。

Modbus定义了很多功能,对工业上的实际应用考虑比较全面。而且协议仍在发展中,用户还可自定义功能码。可见,Modbus的扩展性是比较好的。

对于一些重复发送的检测数据,可以采用Unsolicited方式,即Master端不需发送请求,而由Slave端主动发送数据。这样可以降低网络数据流量,以提高传输速度。因此,Modbus协议应用也比较灵活。

3.3 与NetDDE协议的对比

NetDDE协议有几个缺点:一是技术太老,Win98平台上没有32位的API,只有16位的,因此在32位平台上实现起来较困难,而且NetDDE不能实现串行连接;二是传输数据量小,传输批量数据比较烦;三是连接断开后不能自动恢复。因此,没有使用NetDDE来实现我们的网络。

3.4 工业数据集成的新方向

opc是一种开放的应用程序之间数据通讯的工业规范和标准,它采用客户/服务器体系,基于OLE/COM技术,为硬件厂商和应用软件开发者提供了一套标准的接口[6]。OPC结构先进、速度快、功能强大,是今后工业数据集成发展的方向。但是,OPC比较新颖,对开发者的要求较高,开发难度较大,而且OPC产品价格比较昂贵,国内DCS应用中尚未普及,其推广和发展还需要一个过程。

总之,Modbus具有开放性、用户范围广、易实现、扩展性好、可靠性强等优点。所以们采用Modbus协议和COM技术来实现监控数据的集成,在与自开发的应用程序连接和与FOXBORO、ROSEMOUNT、CIMPLICITY等DCS系统及HMI的连接中都取得了比较好的效果。

    相关阅读

    软启动器12个故障代码

    软启动器常见故障问题的故障代码,参考如下: 1、故障代码Err01 故障类容:→断相;说明:主电路任意一相断相。 2、故障代码Err02 故障类容:→过电流;说明:超过额定电流12倍。 3、故...
    2022-11-26

    电动车电池看参数的三种方法,轻松查看电动车电池型号

    新买的电动车电池是什么型号的,很多人并不是很清楚,而在需要换电池时搞不清楚型号就会很麻烦,那么电动车电池规格怎么,怎么来识别电动车电池的型号,与电工天下小编一起来...
    2022-11-30

    电焊机电流调到多少合适,根据焊条大小及焊接对象做调整

    2.5焊条电焊机电流大小应根据焊条的种类来定: 1、一般碳钢焊条焊接电流调到100A左右,不锈钢焊条稍低点。 2、焊方管2.5焊条电流: 60-80A电焊机利用正负两极在瞬间短路时产生的高温电...
    2023-01-09
    电焊机电流调到多少合适,根据焊条大小及焊接对象做调整

    电动机的启动电流如何计算,电动机启动电流计算公式

    有关电动机启动电流的计算方法,三相电机启动电流瞬时是正常的多少倍,电动机的启动电流是额定电流 的多少,电动机 启动电流计算公式与实例,感兴趣的朋友参考下。 电动机启动...
    2022-11-22
    电动机的启动电流如何计算,电动机启动电流计算公式

    【电力用户怎么分级,电力用户分类标准】

    【电力用户怎么分级,电力用户分类标准】 有网友咨询,电力用户怎么分级,针对分级的问题,电力用户分为一级用户至三级用户,那么电力用户分类标准是怎么样的,电力客户分级和...
    2022-12-10
    【电力用户怎么分级,电力用户分类标准】

    插座发出滋滋滋的声音是什么原因

    首先最有可能的原因就是电源线与插座接线端子接触不牢固,而造成的虚接,进而产生电弧也就是我们俗称的电火花,就会发出的滋滋声音。 插座内由于质量问题,电源接线柱与插头触...
    2022-11-10
    插座发出滋滋滋的声音是什么原因

    安装西门子软件时提示重启电脑的解决办法

    在 西门子软件安装 时,比如:WinCC、Step7、SIMATIC NET SQL Server for WINCC等软件,有时候并不是很顺利,经常提示要重启,而且重启之后还是提示重启,一直循环提示,这个问题可以通过下面...
    2023-03-09
    安装西门子软件时提示重启电脑的解决办法

    异步电动机正反转控制plc接线图及梯形图(图文)

    【 异步电动机 正反转控制plc 接线图及梯形图 】 用plc实现异步电动机的正反转控制,如何设计控制线路图,如何分配i/o,都是绘制plc接线图的关键,另外异步电动机正反转控制设计 过...
    2022-12-11
    异步电动机正反转控制plc接线图及梯形图(图文)

    网站栏目