图3基于ASP的数据库访问示意图
2.4监控机与企业数据库服务器之间的通信
数据库与企业监控诊断中心(或远程诊断中心)监控机的实时数据通信采用WindowsSockets通信机制,Socket通信是一种特殊的I/O,Socket实际上是TCP/IP网络上提供的一个通信端口,借助于它,用户所开发的应用程序可以通过网络与其它应用程序进行通信。Socket提供的一整套原语可供用户编程调用和访问系统资源,并可用来开发一些与网络有关的、有实时性要求的应用软件。在应用软件的开发中主要使用两种类型的Socket(套接字):
1.流式套接字。它定义了一种可靠的、面向连接的服务,实现了无差错、无重复的顺序数据传输。适用于处理大量数据,流式套接字使用的是TCP协议,TCP协议是以连接为基础的,即必须先建立连接,才能相互通信。如HTTP,FTP,Telnet等使用的都是流式套接字。
2.据报套接字。它定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且不保证可靠、无差错。数据报套接字虽然也使用IP,但是它不使用TCP,而是UDP(UserDatagramProtocol)。UDP不像流式套接字那样维护一个打开的连接,用户只需要把数据打成一个包,把远程的IP贴上去,然后就把这个包发出去。如TFTP(TrivialFileTransferProtocol)就使用UDP。
为了保证数据传输的可靠性,该系统采用基于可靠连接的流式套接字,其协议为TCP/IP协议。由于Windowsserver2000是多任务操作系统,不同的任务对应着不同的进程。为了实现数据的正常传输,必须通过端口号明确监控机是与数据库的哪一个进程相连,可供各监控机使用的端口号范围为:1024~4999,本系统中选用3000。此外,由于同时与数据库相连的监控机可以多于一个,为了使各个进程之间的数据通信不会发生冲突,数据库应用程序应首先创建一个侦听Sockets,用于接收监控机的连接请求。当数据库接受了监控机的连接请求后,会返回一个新Sockets的描述符,这个新Sockets将用来处理新的连接。原来的Sockets将继续侦听新的连接请求。整个数据通信过程的流程图如图4所示。
3结论
基于实时数据采集、CAN总线、数据库服务和Internet的远程故障诊断技术解决了DNC数控机床关键部位的实时监控及故障诊断问题。本文所提出的现场设备级、车间监控级、企业监控级、远程监控级的四级系统结构将有助于提高远程故障诊断的可实现性和准确率,并最终达到提高企业效率的目的。随着网络通信技术和现场设备自动化应用的深入,以及成熟可用的专家系统将逐渐出现,远程故障诊断也必将成为未来企业的一种主要诊断服务方式。
本文作者创新点:提出了基于CAN总线的DNC远程诊断及监控系统;提出了由DSP、多传感器组成的实时数据采集系统;将CAN总线网络与Ethernet、Internet结合,实现了现场设备级、车间监控级、企业监控级、远程监控级的四级系统结构;探讨了基于Web的数据库服务技术。