4 软件方案设计
根据用户要求,本设计选择相较于B/S(浏览器/服务器)模式,交互性更强.安全性更高.可以灵活解决突发问题.有完整应用程序的C/S(客户机/服务 器)模式来设计系统.C/S模式是指2个逻辑(一般为物理的)系统(客户机和服务器)及其应用程序逻辑组件之间复杂关系的协同.该模式即是将一个系统应用 分为2个部分:客户端和服务器端.
本系统是基于LabVIEW 平台开发,利用其已发布的TCP VI及相关函数实现TCP通信.此前,需要在通信的PC正确安装TCP/IP协议簇,同时保证通信所需的源端口/目标端口的开放.
4.1 设计流程图
本系统的基本原理是:客户端用户连接到网络上,通过远程访问的客户程序发送客户身份验证信息和与远程机连接的请求,远程主机的服务器端程序验证客户身份,如果验证通过,客户端就与服务器建立连接,客户端开始接收并处理数据,同时向服务器发送连接成功反馈.
在本设计中,服务器端主要是负责响应客户端的服务请求,通过多功能数据采集卡对被维修的电路主板信息进行采集,并通过相应网络传输协议将数据进行传输,同 时本地实时显示和保存.客户端则主要是负责向服务端发出网络连接及数据监控的请求,把从服务端传送过来的数据进行接收.分析,并在本地实时显示和保存.由 此实现通过网络及相关协议远程监控.服务器端和客户端的运行流程图如图3和图4所示.
4.2 软件模块的设计
本系统设计中,数据采集是通过硬件实现的,系统通过调用LabVIEW 函数库中DAQ助手从多功能数据采集卡上获得数据,然后对这些数据进行分类.编码.打包发送和本地显示.
4.2.1 视频图像采集模块
在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中.当执行某一个程序 时,相应的DLL文件就会被调用.一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件. 通过使用DLL,程序可以实现模块化,由相对独立的组件组成,也可以更为容易地将更新应用于各个模块,而不会影响该程序的其他部分.
Nivissvc.dll是由C语言代码在VC++环境中集成,而后形成的后缀为dll的文件.在LabVIEW 中调用它可以完成AVI格式视频的创建.帧写入.视频保存等功能.
本系统中调用“视觉获取”控件实现视频图像的采集,调用封装了Nivissvc.dll文件的子VI实现视频的创建.帧写入和本地保存.
4.2.2 数据发送模块
数据的发送可以直接调用LabVIEW 函数库中编写完整且已封装好的TCP系列子VI中的TCP监听.TCP写.TCP关闭连接等子VI。
由于数采卡和摄像头是在不间断地采集信息,加上要发送文件的内容.报警信号.控制信号.即时文字信息等数据,容易因为发送的数据太多而造成堵塞,数据 包解码混乱等故障.因此,本系统采用队列方式发送信息.并且把不同的信息分别打上“标签”,先发送“标签”再发送监控数据,客户端接收到数据包后先解码 “标签”,再解码相应的监控数据,这样就避免了数据混乱和堵塞.图5为该模块的工作示意图.
4.2.3 数据接收模块
数据的接收也直接调用LabVIEW 函数库中编写完整且已封装好的TCP系列子VI中的TCP 开启连接.TCP读.TCP关闭连接等子VI来实现数据的接收.显示和保存.图6为该模块的工作示意图.
5 系统功能调试
系统主要通信程序框图,如图7所示,服务器端各个模块运行测试界面分别如图8所示,客户端界面与服务器端界面相仿.
经测试,该系统整体功能运行良好,监测波形数据准确,监控画面清晰,数据保存及时.有条理,用户界面友好.
6 结 论
本文提出的电路在线维修远程监控系统将分散的电子设备维修过程通过网络来整合,实现了远程故障诊断和维修监控的目的,具有灵活性.高效性等优点.该系统的 推广应用不仅能使用户的涉密电子设备得到及时有效的技术服务与技术支持,也能使设备的生产厂家降低技术服务的成本,提高服务的档次与水平.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。