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