首页 > 范文大全 > 正文

基于Modbus的供水自动化监控系统构建

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Modbus的供水自动化监控系统构建范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘要】根据供水自动化监控系统的应用需求,构建了一种有效的监控系统网络的模型,系统采用Modbus协议进行远程数据传输,监控应用层与现场层能实时的进行数据交换,进而实时在线的监控自动供水系统。通过对该网络模型的构建,说明了整个系统的构成,监控软件的相关设计和开发,以及Modbus协议的实现。实践证明,本方案是一种有益的尝试,得到了良好的应用。

【关键词】Modbus协议;监控系统;网络模型构建;供水自动化

Abstract:According to the application requirement of water supply monitoring control system,an effective net-work model is put forward adopting Modbus protocol to teletransmit data,monitoring application level and field level exchange data in real time to real-time online monitoring of automatic water supply system.Through the construction of the network model,descript the composition of the whole system,monitoring software design and development,as well as the implementation of Modbus Protocol.Practice has proved that this programme is a good attempt,has been well used.

Key words:modbus Protocol;monitoring system;network model construction;water supply automation

1.引言

信息技术和网络技术的不断发展,促使新一代的工业自动化系统必将向着信息化和网络化的方向发展。远程数据监控是保障工业生产正常进行的方法之一,其工作方式主要是通过远程智能仪表设备实时采集各项现场数据,并实时传输到上位机服务器中进行分析和处理,进而实现对现场设备的监视与控制。Modbus协议是一种开放性好、可靠性高的远程通信协议,基于TCP/IP体系的modbus协议可以使用户摆脱非标准的、封闭的专用工业控制网络和现场总线技术的束缚,从而提供可靠和灵活的通信方案[1-2]。

随着人们生活水平的提高,人们对供水品质的要求也越来越高。许多城市现有供水系统中的通信协调、管网故障诊断、压力和流量的控制策略等方面的技术革新和工艺改进已到刻不容缓的地步。本文将计算机控制技术、工业网络技术和远程通信技术应用于供水自动化监控系统中,构建了一种基于Modbus的供水自动化监控系统。该系统操作简便,功能完善,远程监控数据通信可靠,为保障城市供水提供了的重要技术手段。

2.供水自动化监控网络结构设计

2.1 Modbus通信协议

Modbus协议是由美国Modicon公司开发的一种通信协议,通过该协议各种控制器和其它相关设备之间可以进行透明通信。

Modbus协议只定义了设备能够识别和使用的消息结构和命令应答机制,没有规定物理层,故可以方便地在任何网络中进行通信[3-4]。Modbus协议采用Master/Slave技术,是一种应答方式的通信协议。控制器与智能设备在网络上采用基于Modbus协议进行通信时,需要确定各种设备的硬件地址,通过识别消息中的各种动作,进行数据反馈或数据处理[5]。一个Master可以对应一个或多个Slave,Master有地址分配权,能够为所有的Slave分配地址并进行初始化的询问。Modbus协议定义了一个控制器能识别的消息结构,它描述了控制器请求访问和应答回应其他设备的过程,以及错误检测和记录的规范,制定了报文字段和内容的公共格式。2002年5月施耐德公司又发表了Modbus/TCP规范。Modbus/TCP协议与Modbus协议主要的区别在于数据帧的校验方式上,Modbus协议需自行生产校验数据,Modbus/TCP协议借助于TCP协议本身有校验机制的优势,不用再次生成校验数据[6]。本项目结合供水自动化系统自身特点,应用工业以太网技术,对两种Modbus两种传输方式进行优势互补,为供水自动化系统提供了灵活的组网方式。

2.2 供水系统生产流程结构

供水自动化系统一般分为制水和供水调度两大部分。其中制水工艺一般包括:引水、混凝、给药、沉淀、过滤、消毒、供水、排污八个环节,涉及水厂生产和加压站处理两个主要过程,此过程中需要监控包括电压、电流等电信号和流量、水的品质因数、压力值等水信号。而供水调度部分则主要涉及供水管网分布点的压力测量采集,各测压点的数据无线传输,水泵机组的变频调速控制等。以上各种电信号、水信号以及远程控制数据都是通过Modbus协议在前端传感器和监控终端之间进行数据交换。

2.3 监控系统网络的架构

供水自动化监控系统是一种典型的现代工业自动化控制系统,需要对其进行组网设计,本设计提出了基于B/S模式,建立两级监控系统,实现了供水总公司对整个供水系统各部分的远程监控。两级监控系统分别为监控应用层和现场层。供水监控系统的网络拓扑结构由IP以太网和无线IP网组成,水厂生产和加压站处理采用的是IP以太网,应用Modbus/TCP协议与远程仪表通信;供水管网分布点的压力检测采用的是GPRS网络,GPRS模块通过PLC与现场自动化仪表、传感器等监控终端设备等连接,这样GPRS模块和监控中心之间就可以通过IP地址进行双向通信。其网络物理结构如图1所示。

在以上系统结构中,上位采集服务器主要负责把采集到的数据按照既定格式写入数据库服务器,同时充当Modbus主站,为供水管网检测点通过GPRS网络提供模拟的串口服务。

图1 供水系统数据采集与监控物理结构图

图2 软件结构及描述示意图

3.通讯系统设计

3.1 Modbus通信模型的构建

现场层采用Modbus协议通信方式对现场数据进行采集,PLC设备作为主站,现场各种智能仪表作为从站设备。智能仪表以Modbus协议作为通信标准,将采集到的数据通过PLC上的RS485接口传输给PLC。智能仪表输入输出的电压、电流等模拟数据信号或是数字信号,需经过转换电路,才能与PLC内置的存储单元进行数据交换[7]。上位机通过Modbus/TCP方式对PLC存储单元数据进行定时访问,从而实时获得现场设备各种参数数据。

Modbus/TCP协议以TCP协议为基础,与TCP协议有着一致工作方式,需要经过“建立连接、通信和断开连接”3个操作步骤才能建立连接。

Modbus/TCP协议采用服务端/客户端模式,结合本系统大数据量、集中访问、多点连接的特点,在Windows XP平台中采用VC++异步非阻塞Socket封装类CAsyncSocket技术进行开发。其具体开发步骤如下:

a.服务器端,首先从CAsyncSocket派生一个新类CServerSocket,然后用这个新类定义CAsyncSocket对象,即定义一个该类的对象m_pServerSocket,调用Listen()函数进入侦听状态,重载函数OnAccept()。当客户端有连接请求时,服务器则建立一个新的Socket,以接受客户端发来的信息。

b.客户端,创建CAsyncSocket派生m_ClientSock对象并与服务器端建立连接,连接完成后,即可调用成员函数send()发送数据,当收到数据时,OnReceive()函数被调用接收数据,在该函数中调用m_nLength=Receive(m_szBuffer,sizeof(m_szbuffer))接收数据。

c.客户端CAsyncSocket类调用函数Create()函数完成创建后即可通过函数Connec t()和服务端建立连接。当客户端和服务器端通信结束后,调用Close()函数关闭Socket。

3.2 通信控件的设计

ActiveX控件是一组可执行的代码,例如:OCX、EXE、DLL文件。在软件开发过程中,通信控件与其它ActiveX控件一样,也是用一系列的属性和用户接口,它使用户能够方便地访问Windows通信驱动程序的大多数特性,包括输入、输出缓冲区的大小及决定何时使用流控制命令挂起数据传输等。由于ActiveX是一种开放的技术,开发者可以在其他程序,甚至用其它语言编写的程序中重复使用这些ActiveX控件。本设计中将一个用VB编写的通信控件插入用VC++编写的程序中。其源代码如下:

4.监控软件的设计与开发

4.1 监控软件设计

基于Modbus协议的供水自动化监控系统的上位机远程监控系统是在Windows XP平台中利用VC++ 6.0开发的,它通过Modbus/TCP方式、GPRS网络对PLC存储单元数据进行定时访问,现场智能仪表通过Modbus协议与PLC通信,从而实时在线监控自动供水系统运行状况。

供水自动化监控系统数据传输通道主要依靠以太网构建,如果由于网络安全原因导致重要数据上传失真、智能控制装置发出错误动作信号或是引起系统异常等,将给供水自动化监控系统的稳定运行造成严重威胁,甚至产生灾难性后果。考虑整个系统的安全性和稳定性,监控系统应从病毒防御、内部人员培训、网络设备加密等方面进行预防解决。

4.2 监控软件开发

VC++ 6.0开发工具提供了现成的窗口、控制与工具条的制作手段,大大简化了界面的开发过程,并且使得开发出的界面具有组态软件风格,使用起来方便、灵活、简单易学。监控系统拥有用户管理,实时监控,参数设置,报表打印,数据归档,实时报警及历史报警查询等多项功能。软件总体架构及描述示意图如图2所示。

监控软件采用模块化设计思想,主要对监控部分、图形显示部分、数据库部分等方面进行组态。

a.控制部分:监控软件通过Modbus/TCP方式、GPRS网络对PLC存储单元数据进行定时访问,PLC又通过Modbus协议与现场智能仪表通信,从而实时在线监控供水自动化系统。

b.图形显示部分:通过对各种组态控件的编写,组成生动形象的人机界面,为客户提供实时数据、实时曲线、历史曲线及报警状态的显示,并提供设备信息的设置、修改及设备的添加、修改和删除等组态功能。

c.数据库部分:数据库是联系上位机和下位机的桥梁,在组态画面运行时,它含有全部数据变量的当前值[8]。在进行项目组态时,变量管理是非常重要的一环。通过对监控点连接的变量赋予不同的外部变量值的方法。根据系统要采集的外部变量建立相应的内部变量,而内部变量与画面上的监控点对象通过属性连接建立对应关系,将控制现场的PLC控制系统和上位计算机监测系统连接起来,形成完美的监控画面。

完成对上述几方面的内容的组态之后,就生成了一套完整的供水自动化的监控软件系统,运行主画面采用级连图形子菜单的方式实现与各控制单元之间的切换[9]。该系统能够实现对制水自动化过程的实时监控以及供水管网水泵机组的启停等控制、历史数据的记录查询等等一系列功能,基本满足工业控制自动化的要求。主控界面如图3所示:

图3 主监控界面

5.结束语

Modbus协议由于其良好的适用性被广泛的使用。基于Modbus协议的供水自动化监控系统正是一种有益的尝试,可以有效地满足供水行业对生产监控的要求。华北某供水公司引入了上述的方案,一段时间以来系统运行稳定,监控效果良好,同时也提高了工厂自动化管理的水平。

参考文献

[1]邓欣茹,丁建兴,杨翼,等.Modbus/TCP工业以太网的现状与发展[J].工业控制计算机,2004,7(9):14-15.

[2]邓卫平.基于Modbus协议的PLC通信控制模块的实现[J].软件导刊,2008,7(11):114-115.

[3]吴学文,王新光,周金陵.基于Modbus通信协议的水闸计算机监控系统[J].计算机工程,2005,31(13):195-197.

[4]汪献忠,刘巍,吕运朋.基于MODBUS协议的工业智能通讯模块的设计[J].仪表技术与传感器,2006(6):47-49.

[5]卢文俊,冷杉,杨建军.基于Modbus协议的控制器远程监控系统[J].电力自动化设备,2003(6):54-56.

[6]姜斌,刘彦呈,孙凡金,等.基于Modbus/TCP的工业控制网络设计[J].低压电器,2007(13):30-33.

[7]刘晓玲,方彦军,李京丽.基于Modbus的PLC与多台电量智能仪表的通信研究[J].工业仪表与自动化装置,2003(1):24-26.

[8]林英芸,杨煜普.基于WinCC的网络化监控系统的设计与实现[J].微型电脑应用,2006,22(5).

[9]黄天戌.组态软件在工业监控系统中的二次开发[J].武汉水利电力大学学报,1999,32(2):77-79.

作者简介:

李长华(1986—),男,河北唐山人,硕士研究生,从事电力电子与电力传动方面的研究。

齐向东(1967—),男,山西原平人,副教授,从事电气自动化控制,铁路机车设备研制,舞美特效自动控制等方面的研究,曾主持并完成残奥会闭幕式CB草坪,国庆50、60周年山西国庆彩车等项目。