APP下载

基于串口服务器的水温远程通信系统设计与实现

2016-12-10孙艳琴

无线互联科技 2016年22期
关键词:以太网串口服务器

孙艳琴

(黄冈师范学院 机电工程学院,湖北 黄冈 438000)

基于串口服务器的水温远程通信系统设计与实现

孙艳琴

(黄冈师范学院 机电工程学院,湖北 黄冈 438000)

文章改造设计了一种网络化的远程多通道水温监测系统,利用串口服务器桥接串口设备和现有的以太网,为保证多通道数据采集过程中数据的实时性和准确性,设计带序号的数据帧格式,利用虚拟串口技术和事件触发方式实现串口数据的读取和发送。通过实验,系统运行稳定,且不会出现数据丢包现象。

串口服务器;远程通信;虚拟串口;事件触发

工业4.0带来了互联网与工业的融合,利用互联网激活传统工业过程,实现人、机器和系统三者之间的智能化、交互式无缝连接。目前,水温监测系统大多为基于串口组网的单片机监测系统,存在只合适单机操作,软硬件兼容性较差,数据重复利用率较低,扩展升级性能有限,布线较繁琐且不美观等诸多问题。随着工业生产的现代化,要求现场终端设备的实时数据能够实现远距离网络化的监控,对保障人员安全和提高生产效率意义重大。

1 系统整体组网方案

以太网/互联网等网络架构已逐渐在自动化产业内被广泛地采用,取代传统的串口通讯而成为自动化系统通讯的主流。在这种趋势下,以 TCP/IP和以太网为代表的成熟度较高的开放式网络技术,正逐渐地被应用在各个自动化系统,连接并控制所有的设备。本系统以太网作为传输主干,将分散式的水温采集装置与主机部分PC通过MOAX Nport系列的串口服务器进行分布式组网。串口设备联网服务器如同含CPU、实时操作系统和TCP/IP协议的微型电脑,在串口和网络设备中传输数据,优点主要有:①随时随地存取,联网系统通过远程网络存取、控制及监视设备,实现无缝通信。②节省布线成本,大多数地区均已网络化,因此可以使用现存的网络进行监视设备的连接。③避免开发TCP/IP 协议栈,降低了设备的运算能力和硬件资源的要求,缩短开发周期。④完全数字化,容易编辑、储存及传送,短时间内能迅速完成。⑤容易整合,采用网络连接方式运作,较容易将其整合至其他监视系统或应用层面。图1所示为分布式水温监控系统联网解决方案。

图1 分布式水温监控系统联网解决方案

系统整体组网主要分为3个部分,第一部分为现场区域。可根据实际需求,可在同局域网的监测区域设置多个数据采集点,节点1至节点N分别代表不同的监测区域点,现场温度数据的采集主要通过单片机AT89S51和数字传感器DS18B20实现,数据可暂时存储在单片机的存储器中,等待上位机发送指令读取。第二部分为数据转换区域。各通道数据通过串口服务器,进行封装和格式转化,打包发送到互联网上,包头数据寻找到对应以太网上的NPORT串口服务器的串口通讯端口号时,将数据进行解包还原给被监控的设备,上位机与下位机就可按照通讯规约相互配合工作,实现串口数据的读取和发送。第3部分为人机界面部分,监控主程序具有操作方便、界面美观、层次清晰等特征。数据库负责存储各监测点数据,用户可通过ADO的方式进行访问。功能主要有实时显示模块、预警预报模块、参数设置模块、数据处理模块、数据通信模块等,来满足监控系统对数据的要求。

2 系统通信方案

2.1 虚拟实串口的工作原理

串口服务器可通过虚拟串口的方式来实现串口设备立即联网。根据串口软件提供的Real COM/TTY驱动程序,可在Windows操作系统或Linux操作系统分别映射成Real COM串口或Real TTY串口,从使用者的角度来看,虚拟串口的操作和真实的物理串口一模一样。数据进行两方面处理,一是处理来自串口设备的串口数据流,并进行格式转换,使之成为可以在以太网中传播的数据帧;二是对来自以太网的数据帧进行判断,并转换成串行数据送达响应的串口设备。图2为虚拟实串口工作模式。

通信协议通常分为不同层次进行开发,每一层分布负责不同的通信功能。串口服务器的网络接口符合TCP/IP标准协议,以太网层采用多种连接介质,包括同轴缆、双绞线和光纤等。IP层中的关键点是包含每个网络设备IP地址。TCP或者UDP层的关键点是端口,端口用于区分一个IP地址下的多个应用程序。用户数据层负责携带用户所需要传输的数据。而串口协议没有IP层和TCP层这两层。但在串口服务器中已经保存了IP层、TCP层的关键点:IP地址和端口。因每个串口服务器都具有一个可以设定的IP地址,同时也有一个TCP或者UDP的端口,计算机就可以通过这个“IP+端口”将网络数据发送给串口服务器,同样地串口服务器也保存了目的计算机的IP和端口,这样也可以将数据发送给计算机[1]。

2.2 数据命令帧格式设计

系统遵循RS485串行口通信规约:传输速率9 600bps,1位起始位,8位数据位,1位停止位,无奇偶校验位[2]。传输报文内容;异步通信,使用起始位和停止位作为通信的判断[3]。数据格式为16进制数,以字节为单位,低位先送,高位后送;传输分为上行和下行两个方向,下行命令或数据是指主机PC机发向多点或单点的数据传送;上行则为响应下行命令而作出的应答。本项目提供6种命令格式,分别为功能字0x01:同步节拍开始;0x02:状态查询;0x03:数据读取;0x04:数据删除;0x05:同步节拍停止命令;0x06:带序列号读取。考虑到上下位机的使用寿命,且并非都一直处于工作状态的实际需求,为了保证数据信息的完整性,设计带序号信息格式,图3为带序列号的数据读取上行命令帧格式。功能字后所带的参数表示为:{sn(0)L,sn(0)H,date(0) L,date(0)H,..............sn(n)L,sn(n)H,date(n)L,date(n) H},其中sn(n)L,sn(n)H表示序列号,开始同步时刻起的采样时刻,单位为10分钟,比如0000,表示本记录为同步时刻起,第一次的采样值;dat(n)L,dat(n)H:计数值,低位在前,经过进制转换后即可得到每个监测点的温度参数值。NUM为上行实际应答条数。因下位机存储器中数据记录数有限,对于某些时间段不需要采集的数据,可先发送状态查询命令询问数据采集的条数,为避免信息冗余,可根据序列号选择性的查询或删除所需数据。表1为上行应答数与请求数之间的关系。

图2 虚拟实串口工作模式

图3 带序列号的数据读取上行命令帧格

表1 上行应答数与请求数之间的关系

在数据记录数未超过下位机存储器容量时,实际应答条数的判别方法如下:

(1)当上行应答数NUM小于等于请求数num时,NUM为实际应答条数;(2)当上行应答数NUM大于请求数时,num为实际应答条数;(3)当模块中数据记录数为0时,实际应答条数为0。

2.3 事件触发方式

系统运行时,考虑到串口通信数据的随机性,采用单一的查询方式占用CPU,效率低下,因此考虑采用事件触发方式实现串口数据的读取。本系统中调用SerialPort类的 DataReceived 事件来读取串口缓冲区的数据[4-5],并添SerialDataReceivedEventHandler 委托至 DataReceived 以读取串口上接收的所有可用的数据,DataReceived事件在不断的触发,所以将数据处理放到委托里面,DataReceived只做数据接收,避免把数据处理放在DataReceived事件中,影响到数据的接收。结合SerialPort类属性和方法,考虑到因其对串口数据的写入与读取有较大的不同,因此调用Timer控件的Start()和Stop()函数,来实现上位机分不同时间段自动循环发送各种命令给下位机的功能,且有规律的在一段时间内执行一次指定命令的发送。在本系统中,给需要采集数据的下位机发送命令,在10分钟内循环采集1条数据,采用“读、存、删”连续性数据处理,即实时显示模块即刻更新,数据即刻存储至数据库和删除处理。

3 方案实现

为验证上位机和下位机能稳定的工作,实验室模拟8多道水温数据采集系统,系统开始运行前,首先检查所有设备连线正确,确保电源供电正常;其次通过NPORT administration软件搜索局域网中所有的NPORT设备,包括和主机IP不同网段的NPORT设备,并同时获得设备的型号、IP地址、MAC地址以及设备名称等相关信息,设置串口服务器的IP地址确保和PC机在同一网段中;最后通过Com Port Settings可设为任意想设的串口号,但务必保证虚拟串口号的唯一性。系统运行时,用户可根据实际需求远程控制和浏览相关信息,本项目中采用“断开连接模式”下访问数据库[6],直接针对本地缓存区数据集DataSet展开[7], 通过DataAdapter的函数Fill()实现,用户对数据的操作不再是直接操作数据库,后期需要分析和处理的数据,如查询、添加、修改、删除等都是在本地数据缓存中进行,提高了因访问量较大,提取数据库服务器资源时的工作效率,经实验证明系统运行状态良好。本系统主要特点如下:

(1)将任意数量或类型的串口设备便捷和廉价的连接到以太网。各数据传输通道独立运行,互不干扰,技术人员可根据现场实际情况随时动态增加或减少现场数据采集设备,并且不会影响其他设备的正常运行。

(2)数据实时性较高。串口收到数据后,立即将此数据转发到相应的TCP/IP连接,中间不作任何等待及缓冲,速度快、效率高。

(3)系统界面层次清晰、操作简单,各功能模块独立运行,通过简单的培训,技术人员便能进行工作。

4 结语

在远程距离的生产现场或工程项目中,由于大多是设备还是采用串行连接,本系统采用串口服务器来实现数据的远程传输,充分利用现有设备,不但解决了传输距离和布线问题的难题,而且节省了经济人力和时间成本。

[1]佚名.智能交通网路摄像机.[EB/OL].(2016-11-25)[2013-04-27].http://www.tpy888.cn/sell/201304/27/790065.html,2010.

[2]CHEN S Z, SHI B. The Serial Communication Based on Multithreading Technique of Windows[J].Wuhan University Journal of Natural Sciences,2000(3):373-375.

[3]王硕.无线数字测图程序设计中的关键技术[J].北京测绘,2012(6):78-82.

[4]王晓鹏,张新成.Visual studio.net平台上事件处理的委托及其实现[J].开封大学学报,2007(2):81-82.

[5]XU L,YU Z.Communication Between SR23 and PC Based on SerialPort in C#.NET[J].Computer and Modernization, 2011(5):107-109.

[6]林平荣.ADO. NET的数据库访问技术研究与实现[J].电脑知识与技术,2008(4):1198-1201.

[7](美)内格尔,埃夫琴.C#高级编程[M].7版.黄静,译.北京:清华大学出版社,2010.

Design and implementation of serial server based water temperature remote communications

Sun Yanqin
(Mechanical and Electrical Engineering College of Huanggang Normal University, Huanggang 438000, China)

A network of remote multi-channel temperature monitoring system using serial port serial device servers and bridges existing Ethernet to reconstruct and design is described in this paper. To ensure the timeliness and accuracy of the multi-channel data acquisition process data, format with serial number is designed in the use of virtual serial port technology and event-triggered way to read and send serial data. The experiment shows that the system is stable and no data loss phenomenon.

serial server; telecommunications; virtual serial port; event trigger

黄冈师范学院青年科研项目;项目编号:2015019503。

孙艳琴(1985— ),女,湖北仙桃。

猜你喜欢

以太网串口服务器
浅谈AB PLC串口跟RFID传感器的通讯应用
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
通信控制服务器(CCS)维护终端的设计与实现
中国服务器市场份额出炉
谈实时以太网EtherCAT技术在变电站自动化中的应用
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
一种90W高功率以太网供电系统的设计