基于Modbus TCP和WEB的实时监控系统设计

发布者:太和清音最新更新时间:2014-08-12 来源: 21ic关键字:Modbus  TCP  PIC30F6014单片机 手机看文章 扫描二维码
随时随地手机看文章

引言

随着自动化行业和控制技术的不断发展和进步,现场设备之间的通信不再仅仅局限于设备与控制器之间,人机之间的交互也越来越普遍。现场总线作为信息传输的主干道,已经不再局限于现场的短距离通信,其应用规模日益扩大、复杂化,人们对现场设备的监控也提出了越来越高的要求。封闭的总线环境已经不能满足现代自动化控制的要求,为了降低设备的维护成本,提高企业和公司的生产效率,需要对现场设备的运行进行实时的监测和控制。

近年来,大量先进的远程监控技术开始应用于现场总线和远程客户端的交换,但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所示。

基于Modbus TCP和WEB的实时监控系统设计

在本监控系统中,现场采集系统主要由单片机系统和RTU组成,单片机系统采集数据并传给RTU,RTU将数据进行存储,并随时等待服务器端的数据请求命令。当收到服务器端数据请求命令时,RTU根据传输的距离选择不同的传输方式,近距离传输选用无线模块传输,远距离传输选择Internet网络传输,数据库服务器对上传的数据进行分析和判断,将符合信息帧格式的数据进行处理并存储在数据库中。同时,采用B /S模式,浏览器终端用户可通过在浏览器地址栏输入服务器IP,以动态网页的形式浏览、查询多个设备数据;享有权限的管理人员可对生产现场设备进行远程管理和控制。只要有网络的地方就能使用该系统,实现对现场设备的数据实时监控。

2 硬件原理设计

图2为下位机硬件原理框图。其核心是dsPIC30F6014A单片机,主要由数据采集模块、电路保护模块、传输模块和系统配置模块组成。传感器对现场数据进行采集,通过A/D转换送到单片机,单片机经UART串口和无线模块将数据传送到嵌入式TCP/IP协议串口服务器,并通过Internet上传至数据库服务器中存储。浏览器终端可以通过WEB服务器访问数据库服务器了解现场设备的运行状态。为了保证系统的安全可靠性,在设计中添加了过流、过压、和防雷击等保护电路。硬件实物图如图3所示。

基于Modbus TCP和WEB的实时监控系统设计
基于Modbus TCP和WEB的实时监控系统设计

3 系统软件设计

系统软件的总体结构如图4所示,作为监控系统的管理人员,在浏览器终端可以实现用户管理、数据处理、浏览器实时显示当前数据和历史数据查询4个功能模块的操作。在用户管理界面,可以实现密码设置、用户添加和权限没置等功能;在数据处理中,管理人员可以对上传的数据进行存储备份,并保存到数据库服务器中,以供浏览器终端访问;在WEB平台中,可以对上传的数据进行实时的显示,对历史数据可以进行随时查询和曲线分析。

4 Modbus TCP协议

Modbus TCP协议以一种非常简单的方式将Modbus帧嵌入到TCP帧中,使其成为工业以太网应用层协议,并以其简单性、开放性、实时性及数据传输量大等特点,在工业自动化领域得到广泛的应用。

Modbus TCP协议规定每个控制器都需要有自己的地址,按地址识别发来的消息。如果需要回应,则控制器生成反馈信息并用Modbus TCP协议帧发出,但格式必须严格遵守协议规定,其应用数据单元(ADU)由MBAP报文头、功能码和数据域3部分构成,如图5所示。

基于Modbus TCP和WEB的实时监控系统设计

5 数据传输的实现

5.1 现场与服务器端的数据传输

当油井分布较分散,传输距离比较远且超过1 km时,可以使用GPRS网络进行传输;当油井分布比较集中,传输距离近,不超过1 km时,可选择使用无线模块进行组网传输。

现场与服务器端的数据传输流程如图6所示,在系统运行时应首先启动数据库服务器、初始化套接字库。建立通信套接字后,服务器进入端口监听状态。当有现场终端向服务器发出连接请求时,服务器开一个线程建立连接,并启动数据请求定时器。当定时时间到时,服务器向已建立连接的现场终端发送Modbus TCP协议请求帧格式的数据请求。现场终端在接收到数据请求后,对信息帧格式进行分析,如果符合协议,则将数据按照Modbus TCP协议响应帧格式上传,否则不响应。

基于Modbus TCP和WEB的实时监控系统设计
关键字:Modbus  TCP  PIC30F6014单片机 引用地址:基于Modbus TCP和WEB的实时监控系统设计

上一篇:基于单片机设计的舞台吊杆控制器
下一篇:基于P89C668单片机设计的自动测试诊断系统

推荐阅读最新更新时间:2024-03-16 13:39

TCP/IP协议栈在嵌入式异构网络互联中的应用
摘要:随着测控技术与网络技术日益紧密的结合,测控系统接入互联网已经成为大势所趋。本文阐述在一种异构网络互联——CAN总线与以太网互联系统设计方案中嵌入式TCP/IP协议栈的设计与实现。从而实现了将基于TCP/IP协议的计算机网络设备与基于CAN总线协议的底层现场网络连通。 关键词:TCP/IP协议栈 CAN总线 以太网 互联网 异构结构 引言 Internet现已成为社会重要的信息流通渠道。如果嵌入式系统能够连接到Internet上面,则可以方便、低廉地将信息传送到几乎世界上的任何一个地方。可以预言,嵌入式设备与Internet的结合代表着嵌入式系统和网络技术的真正未来。随着IPv6的应用,设备都可能获得一个全球唯一的IP
[应用]
MODBUS协议实现PLC“主或从通讯”的自我理解
          Modbus协议将寄存器分成了4个区域,但每一个寄存器都是16位的数据存储器,00000~09999代表线圈(DO)类地址,10000~19999代表触点(DI)类地址、 30000~39999代表输入寄存器(AI)类地址、40000~49999代表输出寄存器(AO)类地址。           当PLC主站和变频器、私服驱动器、温控器或其他遵从MODBUS的从站通讯时,  会出现3种情况:                 (1)比如"台达",它没有能力自己开发专用协议,就用Modbus作为自己的协议,这样的话,它有Modbus指令,只需要设置通讯格式字后,用指令直接读从站寄存器地址就可以了。(台达主站)    
[嵌入式]
Modbus协议概述
Modbus 通信线   Modbus是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。目前,可以通过下列三种方式实现Modbus通信:   以太网上的TCP/IP;   各种介质(有线:EIA/TIA-232-F、EIA-422、EIA/TIA-485-A;光纤、无线等)上的异步串行传输;   Modbus PLUS,一种高速令牌传递网络。   作为中国国家标准的“基于Modbus协议的工业自动化网络规范”在描述Modbus应用协议的基础上,提供了Modbus应用协议在串行链路和TCP/IP上的实现指南。   Modbus数据单元   Modbus协议定义了一个与基础通信层
[嵌入式]
基于MODBUS现场总线的滚塑设备控制系统
  随着国民经济快速发展,塑料制品在人们生活中的应用越来越广泛,发展塑料制品工业是社会发展的急需,同时塑料制品有其成型好、重量轻、强度大、力学性能高、价格低等优点,越来越多地得到用户的青睐。滚塑生产是塑料制品的主要生产方式之一。军事国防产品如战备箱组、野战简易办公设备等塑料制品要求高强度、强弹性且适合空降。所以大部分的军用塑料制品都必须采用滚塑方式来制造。同时滚塑方式生产的产品回收粉碎后可实现再生产,重复利用而不影响其质量,可以节约能源。   现行的滚塑生产方式无论是在生产规模还是在生产工艺上已不能满足时代所需。引进设备虽然在性能上优于现有设备,但在实际生产中仍存在不少问题:进口设备价格昂贵,受资金影响,不能批量进口,故从生产规
[嵌入式]
单片机 Modbus 多机通信程序设计
给从机下发不同的指令,从机去执行不同的操作,这个就是判断一下功能码即可,和我们前边学的实用串口例程是类似的。多机通信,无非就是添加了一个设备地址判断而已,难度也不大。我们找了一个 Modbus 调试精灵,通过设置设备地址,读写寄存器的地址以及数值数量等参数,可以直接替代串口调试助手,比较方便的下发多个字节的数据,如图18-7所示。我们先来就图中的设置和数据来对 Modbus 做进一步的分析,图中的数据来自于调试精灵与我们接下来要讲的例程之间的交互。 图18-7 Modbus 调试精灵 如图,我们的 USB 转 RS485 模块虚拟出的是 COM5,波特率9600,无校验位,数据位是8位,1位停止位,设备地址假设为1。 写寄存器
[单片机]
<font color='red'>单片机</font> <font color='red'>Modbus</font> 多机通信程序设计
基于FPGA的TCP粘合设计与实现
传统的数据分流一般基于三层、四层交换,不能在应用层解析数据,导致数据在后端服务器解析后还要相互重新分发,增加了服务数据传输的开销,为解决该问题,可以在客户端与服务器之间采用应用级代理服务器,利用该服务器专门对数据包进行解析分发,但是该方式下,数据要进入TCP/IP协议栈,处理速度慢,同时代理服务器还需要与客户端、服务器双方通信,需要处理的数据量非常大,因此在集群应用中,特别是大规模负载平衡集群系统中很少使用应用级代理。 在应用级代理的基础上,为进一步提高数据处理的速度,提出了TCP粘合技术 。该技术在通信双方建立通信之处对双方的握手信号以及通信原语进行分析,获取必要的信息,决定数据的流向,一旦双方开始通信,该代理就不再对数据进行分
[嵌入式]
在TMS320VC5402上实现的嵌入式TCP/IP协议栈
摘要:实现一个运行在16位数字信号处理器TMS320VC5402上的小型嵌入式TCP/IP协议栈。对TCP/IP协议中的IP协议、ARP协议、UDP协议进行分析,完成基于TCP/IP协议的嵌入式网络系统。 关键词:DSP TMS320VC5402 TCP/IP协议栈 嵌入式系统 引言 随着嵌入式系统应用范围的不断扩展及网络应用的日益普及,使得越来越多的嵌入式系统需要支持网络功能。TCP/IP是目前一种被广泛采用的网络协议。TCP/IP是一套把因特网上的各种系统互连起来的协议组,已成为事实上最常用的网络标准之一。本文对TCP/IP协议中的IP协议、ARP协议和UDP协议进行了分析,利用DSP的专用汇编语言实现了自己的通信协议
[应用]
采用TCP协议实现PIC18F97J60 ethernet bootloader
 TCP/IP Stack   Microchip TCP/IP Stack是免费的,广泛应用于PIC单片机中。由于有远程更新程序的需求,我决定开发基于TCP协议的ethernet bootloader, 主要使用了Microchip TCP/IP Stack的TCP模块。最终我开发出来的ethernet bootloader 在PIC18F97J60上验证通过。整个实现上分两部分,一部分是单片机端的基于TCP协议的bootloader程序,我将其命名为PhnBoot_v2.0, 另外一部分是同样基于TCP协议与单片机互动的PC端通信程序,我将其命名为PhnLoader_v2.0。我还定义了PhnBoot_v2.0和PhnLo
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved