关键词:远程诊断;CAN总线;ASP;Socket
0 引言
DNC(Distributed Numerical Control)是把车间内的数控机床与上位控制计算机集成,实现加工设备集中控制与管理的一种方式。这种方式虽然充分利用了设备的潜力,提高了企业生产效率,但是对设备的维护提出了更高的要求。流水线上关键设备的长时间停机,将会给生产带来巨大的损失。为了使损失降到最低,应该在提高设备可靠性的同时,对加工设备进行状态监控,以便在设备出现故障征兆时,能及时进行故障处理,缩短故障诊断和维修时间。但是从我国大部分企业的人员配备模式来看,企业内部用于设备维护的专业技术人员相对较少,不可能在全国各地设立售后服务中心,当设备出现故障时,由于地域的原因专家无法及时到达故障现场,也就无法了解设备当时的实际运行情况和现场的基本参数,这不仅给诊断带来了困难也给用户带来了巨大的经济损失。为此本文提出了基于CAN总线的DNC远程诊断及监控系统,并对其体系结构及关键技术的实现作了介绍。
1 系统的总体结构
基于CAN总线(The Controller Area Net-work Fieldbus)的DNC远程诊断及监控系统主要由DSP数据采集器、上位监控机、数据库服务器、企业Web服务器、企业故障诊断中心及远程故障诊断中心6部分组成,如图1所示。
图1 系统结构图
DSP数据采集器从传感器组中采集来自数控机床的信号(如来自刀具切削振动信号、机床主轴轴承振动信号、液压系统的温度等),并进行一系列的信号处理(如稳压滤波、A/D转换等)后,经CAN总线送入上位监控机(另有一备份冗余监控机)。上位监控机上的实时在线监控系统不仅能实现数据的实时显示、实时数据的存储,而且还能通过WinSocket控件与数据库之间进行通信。此外,上位监控机还能根据设备的加工能力将加工程序经过CAN总线及RS232/CAN转换模块送入不同的数控机床完成零件的加工;数据库服务器上安装了Microsoft公司的SQL Server 2000。数据库服务器应用程序的主要任务是接收和处理来自上位监控机的数据,并将接收的数据写入原始数据缓冲区,在对数据进行分析处理后将其写入SQL Server数据库。当流水线上的某一机床出现故障时,将故障时刻的记录写入设备故障状况表中;Web服务器是设立在Internet上的服务站点,企业故障诊断中心及远程故障诊断中心与Web服务器之间采用B/S(浏览器/服务器)模式,所有监控、分析、诊断软件都放在Web服务器上,并通过Web主页进行管理。
2 远程诊断及监控系统的实现
2.1 对实时数据的采集
本远程诊断及监控系统中的在现场设备级的通信程序中设置了一些底层函数供上位监控机调用,以实现DSP采集器与监控机的通讯。现场实时数据采集的工作流程是:传感器信号经过必要的稳压滤波,送入ADC(模数转换器),并根据系统对数据的不同需要,若是参考性、资料性信号,就把数据存贮起来适当的时候传到上位机;若是比较紧急和实时的控制反馈数据,比如说机床报警信号,那就及时的传送到上位机进行处理或用作控制。系统中,各DSP芯片独自的完成相应的数据采集。并可通过上位机下传数据表格的方式灵活的改变传感器的定标系数,尤其适合于传感器线性度不是很理想的系统。各DSP的工作状态和工作模式由上位机灵活选择,提高系统的适应能力。
数据采集器以DSP芯片-TMS320LF2407A芯片为核心,TMS320LF2407A的ADC模块带有内置采样/保持电路的10位ADC,总共有16个模拟输入通道,可用来实现采集信号的A/D转换。频率采集则利用DSP芯片所带事件管理器的捕获单元完成由于2407A芯片带有六个捕获单元,他们在相应的捕获引脚上出现跳变时被触发,产生捕获中断。TMS320L2407A芯片所带的数据存储空间只有64K,不能满足数据存储的容量,因此需要对2407A芯片进行存储器扩展。考虑到数据量的大小和防止掉电数据丢失问题,因此选用256K×16位的FLASH芯片SST39VF400A作为片外扩展数据存储器。
2.2 上位监控机与数控机床之间的通信实现
为了减轻现场设备管理层的网络负担,本系统在监控机与数控机床之间采用双层CAN网络结构,一层用于加工过程及机床的状态监测,主要用于DSP采集器中实时数据的传输;另一层用于DNC操作,DNC操作子层的主要任务实现NC程序的上传和下载、NC程序的编辑及加工工艺信息的读取等,它通过CAN总线及RS232/CAN转换模块送入不同的数控机床完成零件的加工。
(1)采集器中实时数据的传输
TMS320LF2407A带有标准的CAN控制器,可以很方便的组成现场级设备网。TMS320LF2407A上的CAN控制器完全支持CAN2.0B协议,其数据帧格式有:标准帧和扩展帧两种不同的帧格式,前者为11位标识符,后者有29位标识符。由于在实际控制中DSP控制器的上传数据仅为32位数据(包括控制器标志符等信息),因此本系统数据格式采用标准帧格式。在实际调试中发现下层的控制器向上位机的传递数据量远大于上位机下传的数据量,因此在数据编码时将控制信息、采样数据编号信息和控制量、采集量均加载在数据字节里。由此CAN总线通讯协议的形式为:“ID号+数据+校验”,其中ID号为各DSP采集器编号,采用11位标识符的前4位。为了保证通讯的可靠性,在数据接受后,都由一个返回帧来表示确认,其校验位(占一个字节)为发送端的固定代码。
CAN通讯系统软件设计中,对于接受采用中断的方式,要求系统对于接受到的数据必须马上处理,以提高系统的实时响应特性,其程序流程图见图2。DSP上传实时采集数据的发送采用定时查询的方式,查询ADC采样是否结束并且进行了相应的数据处理后,立即将数据通过CAN控制器装载并发送到CAN总线上。
图2 CAN中断接受程序流程图
(2)CAN总线及RS232/CAN转换模块
在DNC操作中,由于数控机床所提供的程序传送接口是标准的RS232串行口,因此存在CAN协议与RS232之间的转换问题。由于CAN232B转换器完全支持CAN2.0B协议,并且利用它所组成的CAN控制网络具有组网灵活、数据传输可靠性高、通讯速率高、总线利用率高等优点,故本系统使用CAN232B转换器。对于上位监控机(RS232主控设备)而言,需要它具备寻址各数控机床(多个RS232设备)的能力。此时,按照CAN232B转换器的配置协议,对监控机的RS232程序进行补充、修改,使监控机可向所连接的CAN232B转换器发送命令帧”,以设置CAN帧格式,动态配置CAN232B发送的CAN帧信息。这样,监控机就可以通过CAN232B发送具有不同ID的CAN报文帧,来寻址不同地址的数控机床,从而实现在对DNC的操作。
2.3 基于Web的数据库服务的搭建
要实现数控机床的远程故障诊断,企业故障诊断中心或远程故障诊断中心的专家必须通过Internet(或Intranet)获得系统的故障和状态信息,同时又能够让故障诊断中心的专家通过Internet(或Intranet)查询数据库中的数据。
ASP(Active Server Pages)内含于IIS 3.0之后的版本中,ASP本身并不是一种脚本语言,其实是一套微软开发的服务器端脚本环境,即它只是提供了一种使镶嵌在HTMI页面中的脚本程序得以运行的环境。它具有使用简单,并且有强大的后台支持。本系统的工作环境为Windows 2000 Server,开发系统为VC++,在此选用Microsoft的ASP,它既简单好用,又有强大的功能和强有力的技术支持。通过ASP可以结合HTML网页、VBScript和JavaScript. ASP指令和ActiveX元件建立动态、交互且高效的Web服务器应用程序。而且ASP与ADO(ActiveX Data Objects)结合很容易实现对数据库的访问,访问模型如图3所示。当浏览器发出一个HTTP请求时,Web服务器响应这一请求,调用ASP引擎解释被申请的ASP文件,若遇到的是Active X控件,则启动相应的Active X控件。借助于ADO及SQL语言访问数据库,并将其运行结果生成相应的HTML语法成份,与文件中原有的文本和HTML标记一起组成标准的HTML页面返回至客户端浏览器。
图3 基于ASP的数据库访问示意图
2.4 监控机与企业数据库服务器之间的通信
数据库与企业监控诊断中心(或远程诊断中心)监控机的实时数据通信采用 Windows Sockets通信机制,Socket通信是一种特殊的I/O,Socket实际上是TCP/IP网络上提供的一个通信端口,借助于它,用户所开发的应用程序可以通过网络与其它应用程序进行通信。Socket提供的一整套原语可供用户编程调用和访问系统资源,并可用来开发一些与网络有关的、有实时性要求的应用软件。在应用软件的开发中主要使用两种类型的Socket(套接字):
1.流式套接字。它定义了一种可靠的、面向连接的服务,实现了无差错、无重复的顺序数据传输。适用于处理大量数据,流式套接字使用的是TCP协议,TCP协议是以连接为基础的,即必须先建立连接,才能相互通信。如HTTP, FTP, Telnet等使用的都是流式套接字。
2.据报套接字。它定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且不保证可靠、无差错。数据报套接字虽然也使用IP,但是它不使用TCP,而是UDP(User Datagram Protocol)。 UDP不像流式套接字那样维护一个打开的连接,用户只需要把数据打成一个包,把远程的IP贴上去,然后就把这个包发出去。如TFTP(Trivial File Transfer Protocol)就使用UDP。
为了保证数据传输的可靠性,该系统采用基于可靠连接的流式套接字,其协议为TCP/IP协议。由于Windows server 2000是多任务操作系统,不同的任务对应着不同的进程。为了实现数据的正常传输,必须通过端口号明确监控机是与数据库的哪一个进程相连,可供各监控机使用的端口号范围为:1024~4999,本系统中选用3000。此外,由于同时与数据库相连的监控机可以多于一个,为了使各个进程之间的数据通信不会发生冲突,数据库应用程序应首先创建一个侦听Sockets,用于接收监控机的连接请求。当数据库接受了监控机的连接请求后,会返回一个新Sockets的描述符,这个新Sockets将用来处理新的连接。原来的Sockets将继续侦听新的连接请求。整个数据通信过程的流程图如图4所示。
图4 数据库服务器与监控机之间的实时数据通信流程图
3 结论
基于实时数据采集、CAN总线、数据库服务和Internet的远程故障诊断技术解决了DNC数控机床关键部位的实时监控及故障诊断问题。本文所提出的现场设备级、车间监控级、企业监控级、远程监控级的四级系统结构将有助于提高远程故障诊断的可实现性和准确率,并最终达到提高企业效率的目的。随着网络通信技术和现场设备自动化应用的深入,以及成熟可用的专家系统将逐渐出现,远程故障诊断也必将成为未来企业的一种主要诊断服务方式。
本文作者创新点:提出了基于CAN总线的DNC远程诊断及监控系统;提出了由DSP、多传感器组成的实时数据采集系统;将CAN总线网络与Ethernet、Internet结合,实现了现场设备级、车间监控级、企业监控级、远程监控级的四级系统结构;探讨了基于Web的数据库服务技术。