在传统的集中监控系统中一般通过Modem 或E1 等进行数 据传输随着网络技术的发展和网络在各行各业的普及通过网络 进行远程监控和远程数据采集成为一种最经济最可靠的方式但由 于网络跟传统通讯方式的工作模式和工作原理相比具有更好的优 势因此为了充分发挥网络通讯的优势基于网络的远程监控和远 程数据采集可以采用一些更加高效和可靠的软件设计方案本文以 下以深圳市宇泰科技有限公司生产的串口服务器 为例对于网络的远程监控和远程数据采集的系统设计方案进行一 些探讨 首先我们了解一下串口服务器的功能串口服务器是一 个RS232 与TCP/IP 的协议转换器在集中监 控系统中的应用方案 它提供RS232 到网络和网络到RS232 的透明数据传输串口服务器 向上提供10M 以太网接口向下提供1 个标准RS232 串行口内部集成ARP,IP,ICMP,TCP,UDP,DHCP,SOCK5 等协议支 持网关和代理服务器 C2000 Plus S232/1 TW 有三种工作模式1. 作为TCP 服务器转 换器在指定的TCP 端口上监听平台程序的连接请求2. 作为TCP 客户端转换器上电时主动向平台程序请求连接3. 自动方式 转换器一般工作在TCP 服务器模式当转换器收到串口数据时自动 切换到TCP 客户端模式转换器向平台程序请求连接并将数据传 送到平台传送完后转换器自动切换回TCP 服务器模式 监控中心应用程序可以通过三种方式和串口服务器转换器进行数据 通讯1.使用Socket(套接字) 2.本公司提供的ActiveX 控件 SockServer.ocx 3.虚拟串口 一系统结构 使用串口服务器的基于网络的远程监控和远程数据采集的系统结构 如下 监控平台负责与现场设备通讯接收各种现场设备信息和控制现场 设备并把经过处理后的数据保存到数据库数据服务器运行数据 库系统同时通过WEB 服务器向数据查询终端提供数据数据查 询终端通过浏览器或专用查询工具查询所需要的信息 二软件设计方案 由于监控中心应用程序可以通过三种方式和串口服务器转换器进行 数据通讯本文以使用控件SockServer.ocx 与串口服务器通 讯为例说明平台软件的设计方案使用Windows Socket 与串口服务器 通讯与使用控件与串口服务器通讯可以采用相同的软件设计方案 1 首先监控中心软件要能识别现场设备现场设备必须具有一 个唯一的标识一般来讲可以采用以下三种方式标识现场设备 1 使用串口服务器的MAC 地址标识现场设备该方式只适用 于使用控件的情况 2 使用现场设备自己的序列号该序列号对于每个现场设备必 须是唯一的这种方式可以同时适用于使用控件和使用Win Socket 的情况 3 使用串口服务器 的IP 地址标识现场设备但这样要求每个现 场设备分配一个固定的IP 地址这样做在很多情况下会带来网络资 源浪费和网络管理及维护的困难一般不推荐使用此方式这种方 式可以同时适用于使用控件和使用Win Socket 的情况 2 在传统的远程监控和分布式数据采集细途中一般采用主机 轮询的方式进行数据通讯这样做的目的主要是为了解决总线和资 源如串口Modem 竞争的问题但总线和资源竞争的问题在网 络环境中已经不存在了因此在网络条件下完全可以采用基于事件 驱动的更加高效的通讯方式具体来说就是 串口服务器和平台软件建立TCP 连接的过程中将平台软件作为 TCP 服务器时与平台软件连接的串口服务器设置为TCP 客户端的 工作方式平台软件在指定TCP 端口上被动的等待串口服务器的连 接请求串口服务器上电时主动向监控平台请求建立TCP 连接监 控平台软件在收到连接请求后建立TCP 连接并且连接一旦建立 除非监控平台软件主动要求断开连接否则连接一直保持这样可 以保证监控平台软件和串口服务器之间的数据通讯管道一直存在由于 TCP 连接建立后如果不进行数据通讯它不占用任何网络资源因 此采用这种方式不但可以保证用户程序和串口服务器之间的通讯可 以时实进行而且不会增加任何网络负担 由于监控平台软件和串口服务器之间的TCP 连接一直存在因此 现场设备如果有数据需要传送到监控平台时它随时可以与监控平 台进行通讯即使有两个或多个现场设备同时向监控平台发送数据 也不会造成任何问题因为监控平台与每个串口服务器的TCP 连接 都分别由不同的Win Socket 进行管理当某个TCP 连接收到数据时 相应的Win Socket 会通过接收数据事件通知平台软件进行数据 处理当同时从几个连接收到数据时这些TCP 连接相对应的Win Socket 会分别产生接收数据事件这些事件进入平台软件的事件 队列由平台软件分别进行处理当监控平台有数据需要传送到现 场设备时监控平台随时可以向现场设备发送数据而不必理会其 它现场设备和平台软件的通讯状态 通过这种基于事件驱动方式设计的远程监控系统当现场设备产生 报警信息时现场设备可以立即将这个信息传送到监控平台而不 必等到监控平台轮询到该现场设备时才传送这样就大大提高了系 统的响应速度特别是当系统中现场设备数量较大时效果更加明 显同时由于避免了轮询点名系统中网络通讯的数据量大大减少 节约了网络带宽也就意味着节约了网络资源和网络投资(虽然点 名时传送的数据很少但在网络通讯中即使只有一个字节的有效 数据它产生的一个以太网数据包也超过512 字节因为不足512 个字节时协议自动用无用数据填充而在轮询点名的系统中会产生 大量的这种数据包使网络的效率下降) 3 平台软件基于事件驱动时的通讯处理流程如下 1 通过串口服务器的MAC 地址标识设备 将串口服务器的工作方式设置成TCP 客户端 2 通过现场设备序列号标示设备 将串口服务器的工作方式设置成TCP 客户端