计算机监控接口技术研究
图1 典型的计算机监控系统硬件结构
无论是串行通讯还是网络通讯,都不能保证其数据传输平稳流畅,即数据有间断性。应该根据具体的情况,将一定时间内的不连续的数据合并成一个完整的数据包,进行校验分析。将属于一个数据包的不连续的数据分开,或将不属于一个数据包的数据合并处理都是错误的,这是由于软件处理不当所造成的严重的通讯故障。实际的数据流示例如图2所示。受控机的软件一般采用低级语言编写,这可以通过设置循环次数来收集数据,如果在设置的最大的时间片内没有新的数据到达,则当前数据为一个数据包,作为整体进行处理。在主控机端则可以简单地通过定时器来实现。对于串行通讯,等待的时间片由字节数来计算,并考虑波特率和具体的串口类型。
图2 实际数据流
由于计算机一般配备网口(RJ45)和串口(RS232),所以,用软件来实现网口和串口之间的数据转换,是一个安全、可靠和方便的手段,避免了硬件串行网关的设备故障的可能性。可以通过Visual Basic语言,采用串行通讯控件MsComm32.OCX和网络通讯控件WinSock.OCX[3][4]来实现,两个控件的收发数据的变量类型都应设置为变体Variant,因为在数据包中存在“00”字节是常有的事,如果设置为字符串String,“00”字节后面的数据将被截去。MsComm控件是通过Input和Output属性来收发数据的,应将接收阈值设为1,即一有数据,立即响应,当发生数据到达事件comEvReceive时,通过Input属性直接读取数据,然后通过Winsock的SendData立即转发(见图3-1所示)。对于WinSock控件,当发生DataArrival事件时,用GetData函数读取,然后通过MsComm控件的Output属性立即转发(见图3-2所示)。
5 远程测试模型及分析
对计算机监控系统进行测试的最理想的地理位置,一般是现场,因为只有在现场,才能观察各种复杂的因素。有的监控模块可以通过撤换法进行查错,然而,大型设备,如大型柴油发电机组,难以搬迁,也无法替换。如何采用一种简洁高效的方式,对现场监控系统和设备进行检测?文献[5]介绍了一个“智能设备的通用测试”软件,通过串口进行测试,只能在近距离或现场进行。借助上文的串口和网口的转换软件,可以实现远距离现场测试。远程测试模型如图4所示,服务器和客户机都是普通的PC机,均运行RS232/RJ45转换软件。
图4 远程测试模型
对于测试结果,如果属于软故障,即非设备故障,工程师可以通过电子协作指示用户对系统加以调整或维护;如果是硬故障,即设备故障,工程师可以根据具体情况,有准备地去现场解决问题,节省人力物力。
6 结束语
计算机监控系统广泛应用于众多领域,接口的可靠性则关系到系统的生命。本文充分研究了各种常用接口的硬件性能和相关的软件特性,以及接口之间的硬件转换和软件转换,最后设计了一个远程测试模型,并在局域网上通过了测试,取得了良好的效果。通过因特网进行远程测试,可以节省大量的人力物力,不失为一种高效的测试手段。
参考文献
[1] 大漠电子?http://www.demo.com.cn/,2003
[2] 马玉春,赵跃华?高山无人站监控系统设计与开发?电脑开发与应用[J]?13(9):35, 2000
[3] 汪晓平,钟军等?Visual Basic网络高级编程[M],北京:人民邮电出版社,2001
[4] MSDN Library Archive?http://msdn.microsoft.com/archive/,2003
[5] 王建明,马玉春?智能设备的通用测试?工业控制计算机[J]?15(12):10, 2002(end)
评论