一种基于Modbus TCP和WEB的实时监控系统设计
摘要:为了实时、便捷地了解测控现场设备运行的状况,设计了一种基于Modbus TCP和WEB的实时监控系统。该系统设计基于dsPIC30F6014单片机,实现对采集模块的控制,并通过ASP.NET创建的动态WEB浏览器和SQL强大的数据库功能完成实时监控。结果表明,该系统能快速、方便、实时地动态显示设备的各项运行指标。
本文引用地址:http://www.amcfsurvey.com/article/249531.htm引言
随着自动化行业和控制技术的不断发展和进步,现场设备之间的通信不再仅仅局限于设备与控制器之间,人机之间的交互也越来越普遍。现场总线作为信息传输的主干道,已经不再局限于现场的短距离通信,其应用规模日益扩大、复杂化,人们对现场设备的监控也提出了越来越高的要求。封闭的总线环境已经不能满足现代自动化控制的要求,为了降低设备的维护成本,提高企业和公司的生产效率,需要对现场设备的运行进行实时的监测和控制。
近年来,大量先进的远程监控技术开始应用于现场总线和远程客户端的交换,但Modbus协议目前还仅限于现场总线上,只有基于TCP/IP的协议才能通过以太网实现超远距离的传输,为此 Modbus TCP/IP应运而生。笔者通过对Modbus TCP协议的研究,将油井现场采集的数据通过以太网、WiFi等设备传送到远距离的客户端,并通过浏览器终端实时地显示现场设备的运行状况,为客户提供一种远程实时监控的解决方案。
1 监控系统的总体设计
本监控系统的设计原理:利用dsPIC30F6014A单片机搭载底层的硬件电路采集数据,采用Modbus TCP/IP协议通过无线收发器传输至Int ernet,在此基础之上,利用C#语言编程,结合ASP.NET创建的动态WEB页面和SQL Server数据库的访问链接技术,设计了一种实时监控的WEB平台,达到了对现场设备的实时监控的目的。
实时监控系统主要由现场采集系统、数据传输、数据库系统、客户端系统4部分组成,其总体示意图如图1所示。
在本监控系统中,现场采集系统主要由单片机系统和RTU组成,单片机系统采集数据并传给RTU,RTU将数据进行存储,并随时等待服务器端的数据请求命令。当收到服务器端数据请求命令时,RTU根据传输的距离选择不同的传输方式,近距离传输选用无线模块传输,远距离传输选择Internet网络传输,数据库服务器对上传的数据进行分析和判断,将符合信息帧格式的数据进行处理并存储在数据库中。同时,采用B /S模式,浏览器终端用户可通过在浏览器地址栏输入服务器IP,以动态网页的形式浏览、查询多个设备数据;享有权限的管理人员可对生产现场设备进行远程管理和控制。只要有网络的地方就能使用该系统,实现对现场设备的数据实时监控。
2 硬件原理设计
图2为下位机硬件原理框图。其核心是dsPIC30F6014A单片机,主要由数据采集模块、电路保护模块、传输模块和系统配置模块组成。传感器对现场数据进行采集,通过A/D转换送到单片机,单片机经UART串口和无线模块将数据传送到嵌入式TCP/IP协议串口服务器,并通过Internet上传至数据库服务器中存储。浏览器终端可以通过WEB服务器访问数据库服务器了解现场设备的运行状态。为了保证系统的安全可靠性,在设计中添加了过流、过压、和防雷击等保护电路。硬件实物图如图3所示。
3 系统软件设计
系统软件的总体结构如图4所示,作为监控系统的管理人员,在浏览器终端可以实现用户管理、数据处理、浏览器实时显示当前数据和历史数据查询4个功能模块的操作。在用户管理界面,可以实现密码设置、用户添加和权限没置等功能;在数据处理中,管理人员可以对上传的数据进行存储备份,并保存到数据库服务器中,以供浏览器终端访问;在WEB平台中,可以对上传的数据进行实时的显示,对历史数据可以进行随时查询和曲线分析。
4 Modbus TCP协议
Modbus TCP协议以一种非常简单的方式将Modbus帧嵌入到TCP帧中,使其成为工业以太网应用层协议,并以其简单性、开放性、实时性及数据传输量大等特点,在工业自动化领域得到广泛的应用。
Modbus TCP协议规定每个控制器都需要有自己的地址,按地址识别发来的消息。如果需要回应,则控制器生成反馈信息并用Modbus TCP协议帧发出,但格式必须严格遵守协议规定,其应用数据单元(ADU)由MBAP报文头、功能码和数据域3部分构成,如图5所示。
5 数据传输的实现
5.1 现场与服务器端的数据传输
当油井分布较分散,传输距离比较远且超过1 km时,可以使用GPRS网络进行传输;当油井分布比较集中,传输距离近,不超过1 km时,可选择使用无线模块进行组网传输。
现场与服务器端的数据传输流程如图6所示,在系统运行时应首先启动数据库服务器、初始化套接字库。建立通信套接字后,服务器进入端口监听状态。当有现场终端向服务器发出连接请求时,服务器开一个线程建立连接,并启动数据请求定时器。当定时时间到时,服务器向已建立连接的现场终端发送Modbus TCP协议请求帧格式的数据请求。现场终端在接收到数据请求后,对信息帧格式进行分析,如果符合协议,则将数据按照Modbus TCP协议响应帧格式上传,否则不响应。
评论