远程诊断技术是通过设备诊断技术与计算机网络技术相结合,在设备上建立状态监测点,采集设备状态数据,在诊断中心对设备运行进行分析诊断的一项新技术。用于诊断的系统大致可以分为三类:大型的在线状态监测与诊断系统; 以便携式数据采集器与巡检装置的计算机辅助诊断系统;利用Internet实现的远程诊断系统。 在线式系统适用于连续的状态监测与诊断,系统构成复杂、费用昂贵、专用性强。而便携式监测与分析系统可以定时或不定时巡检,适用面广,用途广泛。远程诊断的实现既能使设备的故障诊断更加灵活方便,应用更加广泛,又能实现资源共享,避免重复开发。因此,该技术近年来得到飞速的发展。一般的远程诊断系统需要在现场配置专用计算机系统,成本较高,本文提出一种基于嵌入式Web服务器的数据采集与诊断系统,它不需要在现场配置专用计算系统。
1 系统原理及组成
图1是基于嵌入式Web服务器的数据采集与故障诊断系统的结构图。从图1中可以看出,整个远程故障诊断系统可分为三个部分:嵌入式Web服务器的数据采集、客户方局域网、远程诊断服务器与网上诊断资源。
1.1 嵌入式Web服务器
近年来互联技术发展的一个重要趋势就是它被越来越多地用于低成本的场合,如手持设备、智能家电等。8位处理器已经在很多场合替代昂贵的32位处理器实现互联;而且这种策系统也有着自身的优点,例如:低廉的价格、易于与各种传感器和采集器接口、体积小巧,而且能很方便地扩展各种协议如UART、I2C、SPI协议等与以太网协议的转换,从而实现远程数据采集和远程控制。 本系统中嵌入式Web服务器为客户方局域网提供网络接口,同时具有现场数据采集的功能,实现现场采集数据到客户局域网的数据传输。克服了传统方法中需要现场配置PC机的缺陷,而且更能克服环境条件的限制。
(1)硬件结构
嵌入式Web服务器硬件结构如图2所示。
本系统中嵌入式Web服务器选择SX52BD作为主控CPU。SX52BD是美国Ubicom公司专门为网络通信设计的一款8位超高速控制器,运行速度可高达50MHz。该芯片基于RISC架构、运算速度高、灵活的I/O控制、高效的数据操作,而且支持ISP在线编程。
本系统选择24LC256串行EEPROM作为数据存储单元(网页存储单元)。24LC256是32K字节的串行EEPROM,通过I2C总线与SX52BD通信。可以存放采集数据或者网页。如果需要存储网页,应该预留网络下载接口(可以通过I/O口线扩展串行口,网页内容通过PC机串口下载)。NIC芯片可选择RTL8019AS或者美国DAVICON公司的DM9008。RTL8019AS是***REALTEK半导体器件公司生产的10BaseT全双工以太网收发控制器。
这两款控制器与NE2000完全兼容,只是管脚分布有些不同。数据采集部分可以根据需要自行选择,具有相当的灵活性。
(2)软件实现
本系统中嵌入式Web服务器的软件主要由芯片初始化设置、TCP/IP协议栈的实现、数据采集及处理等模块组成。在程序中加入基于TCP/IP协议的用户自定义数据通信协议。这样使客户局域网中的PC机能够与嵌入式Web服务器进行自定义的通信,如:发送数据采集命令、采集参数初始化命令等。利用SX52BD实现的网络协议栈中,物理层功能由网络接口卡(NIC芯片)来完成。
程序的初始化部分包含其驱动程序。网络层部分加入了地址解析协议(ARP),实现IP地址到物理地址的映射。整个结构如图3所示。
协议栈的实现主要分为接收数据包的解释以及发送数据包的打包。以太网数据以帧的格式进行传输,其帧格式如下:(字段没有按比例画出,数据单位为Octet) 如果帧类型字段值为0x0806,则为ARP包;如果为0x0800,则为IP数据包。接收帧时,根据不同的帧类型由不同的软件模块对它进行处理。发送数据帧时,也根据不同的帧类型由不同的程序进行打包处理。基本方法和处理接收帧相同,只是把读操作改为写操作。帧的接收和发送都是基于物理层对NIC的操作,包括读接收缓冲区、写发送缓冲区。NIC采用8位工作方式,对其缓冲区的操作需要逐一读写每个8位组。读接收缓冲区时对不同的字段进行判断、记录处理。NIC操作具体内容可以参考芯片资料,限于篇幅,不作详细介绍。
由于在Internet中都使用约定俗成的TCP/IP协议,因此,基于IP的TCP和UDP协议起着非常重要的作用。由于SX52BD是一种嵌入式微控制器,内存较小,不能用传统的方法实现TCP和UCP。因此它们需要很大的缓冲区来构造套接字(SOCKET),一边进行应用层的处理。发送数据时也是这样,边处理实用数据边填充发送数据。这种方法极大地节约了内存资源,而且有效地提高了应用程序的处理速度。由于程序的主要功能是接收数据采集命令,真正传送的数据量很小,不需巨大的缓存空间。
1.2 客户方局域网
客户方局域网对设备进行在线监测及一般故障的诊断,主要负责重要信息的存储,为数据采集站或现场工作站提供简单的诊断服务,与外界沟通获得帮助。数据库技术是这种监测与诊断系统的一项关键技术。系统必须利用数据库对采样子系统所采集的实时数据进行分析和处理生成历史数据库。库中数据可以被用户查询并进一步分析,从而了解设备的运行状况和发展趋势。在故障发生后也可对相关测点进行追忆,为诊断和维修提供依据。在本系统中,客户局域网能够与嵌入式Web服务器进行通信,对嵌入式Web服务器进行控制。可通过命令应答的方式将采集的现场数据取回进行处理。如果嵌入式Web服务器配置了网页存储资源,也可通过访问嵌入式Web服务器的网页内容与之进行交互。
1.3 远程诊断服务器与网上诊断资源
远程诊断服务器是诊断服务提供者在Internet上建立的服务站点。它通常包括:WWW服务器、ASP程序、CGI程序、JAVA小程序(JAVA Applet)。根据实际需要,可能还需建立FTP服务器、电子邮件服务器等。WWW服务器对网络进行监听,接受用户从浏览器发出的请求、诊断信息和相关断,将有关的诊断结果文件及JAVA小程序近回给用户。诊断服务的主要承担者是诊断服务主程序和网上的诊断资源,包括诊断专家系统、诊断信号分析系统等。
2 系统实现与应用
本系统用于发电机及低压配电网中的变压器故障检测诊断,如振动、掉相、欠压、过压、超载、功率越界等。数据采集在嵌入式Web服务器的I/O端口上接入相应传感器,使用实验室的局域网资源,用一台微机作为客户机与嵌入式Web服务器通信,同时访问远程诊断服务器。远程诊断服务器利用Windows NT4.0及IIS4.0作为操作系统和WWW服务器,并在此基础上分别利用Microsoft Interdev和Visual C++开发建立远程诊断系统。
诊断时,客户端微机利用WWW浏览器登录诊断服务器,并在交互式网页中,利用表单提供故障征兆信息和数据文件,请求诊断服务。诊断服务器调用诊断资源进行诊断得到的诊断结果,利用交互式网页和Java小程序返回给客户机。
远程诊断技术是通过设备诊断技术与计算机网络技术相结合,在设备上建立状态监测点,采集设备状态数据,在诊断中心对设备运行进行分析诊断的一项新技术。用于诊断的系统大致可以分为三类:大型的在线状态监测与诊断系统; 以便携式数据采集器与巡检装置的计算机辅助诊断系统;利用Internet实现的远程诊断系统。 在线式系统适用于连续的状态监测与诊断,系统构成复杂、费用昂贵、专用性强。而便携式监测与分析系统可以定时或不定时巡检,适用面广,用途广泛。远程诊断的实现既能使设备的故障诊断更加灵活方便,应用更加广泛,又能实现资源共享,避免重复开发。因此,该技术近年来得到飞速的发展。一般的远程诊断系统需要在现场配置专用计算机系统,成本较高,本文提出一种基于嵌入式Web服务器的数据采集与诊断系统,它不需要在现场配置专用计算系统。
1 系统原理及组成
图1是基于嵌入式Web服务器的数据采集与故障诊断系统的结构图。从图1中可以看出,整个远程故障诊断系统可分为三个部分:嵌入式Web服务器的数据采集、客户方局域网、远程诊断服务器与网上诊断资源。
1.1 嵌入式Web服务器
近年来互联技术发展的一个重要趋势就是它被越来越多地用于低成本的场合,如手持设备、智能家电等。8位处理器已经在很多场合替代昂贵的32位处理器实现互联;而且这种策系统也有着自身的优点,例如:低廉的价格、易于与各种传感器和采集器接口、体积小巧,而且能很方便地扩展各种协议如UART、I2C、SPI协议等与以太网协议的转换,从而实现远程数据采集和远程控制。 本系统中嵌入式Web服务器为客户方局域网提供网络接口,同时具有现场数据采集的功能,实现现场采集数据到客户局域网的数据传输。克服了传统方法中需要现场配置PC机的缺陷,而且更能克服环境条件的限制。
(1)硬件结构
嵌入式Web服务器硬件结构如图2所示。
本系统中嵌入式Web服务器选择SX52BD作为主控CPU。SX52BD是美国Ubicom公司专门为网络通信设计的一款8位超高速控制器,运行速度可高达50MHz。该芯片基于RISC架构、运算速度高、灵活的I/O控制、高效的数据操作,而且支持ISP在线编程。
本系统选择24LC256串行EEPROM作为数据存储单元(网页存储单元)。24LC256是32K字节的串行EEPROM,通过I2C总线与SX52BD通信。可以存放采集数据或者网页。如果需要存储网页,应该预留网络下载接口(可以通过I/O口线扩展串行口,网页内容通过PC机串口下载)。NIC芯片可选择RTL8019AS或者美国DAVICON公司的DM9008。RTL8019AS是***REALTEK半导体器件公司生产的10BaseT全双工以太网收发控制器。
这两款控制器与NE2000完全兼容,只是管脚分布有些不同。数据采集部分可以根据需要自行选择,具有相当的灵活性。
(2)软件实现
本系统中嵌入式Web服务器的软件主要由芯片初始化设置、TCP/IP协议栈的实现、数据采集及处理等模块组成。在程序中加入基于TCP/IP协议的用户自定义数据通信协议。这样使客户局域网中的PC机能够与嵌入式Web服务器进行自定义的通信,如:发送数据采集命令、采集参数初始化命令等。利用SX52BD实现的网络协议栈中,物理层功能由网络接口卡(NIC芯片)来完成。
程序的初始化部分包含其驱动程序。网络层部分加入了地址解析协议(ARP),实现IP地址到物理地址的映射。整个结构如图3所示。
协议栈的实现主要分为接收数据包的解释以及发送数据包的打包。以太网数据以帧的格式进行传输,其帧格式如下:(字段没有按比例画出,数据单位为Octet) 如果帧类型字段值为0x0806,则为ARP包;如果为0x0800,则为IP数据包。接收帧时,根据不同的帧类型由不同的软件模块对它进行处理。发送数据帧时,也根据不同的帧类型由不同的程序进行打包处理。基本方法和处理接收帧相同,只是把读操作改为写操作。帧的接收和发送都是基于物理层对NIC的操作,包括读接收缓冲区、写发送缓冲区。NIC采用8位工作方式,对其缓冲区的操作需要逐一读写每个8位组。读接收缓冲区时对不同的字段进行判断、记录处理。NIC操作具体内容可以参考芯片资料,限于篇幅,不作详细介绍。
由于在Internet中都使用约定俗成的TCP/IP协议,因此,基于IP的TCP和UDP协议起着非常重要的作用。由于SX52BD是一种嵌入式微控制器,内存较小,不能用传统的方法实现TCP和UCP。因此它们需要很大的缓冲区来构造套接字(SOCKET),一边进行应用层的处理。发送数据时也是这样,边处理实用数据边填充发送数据。这种方法极大地节约了内存资源,而且有效地提高了应用程序的处理速度。由于程序的主要功能是接收数据采集命令,真正传送的数据量很小,不需巨大的缓存空间。
1.2 客户方局域网
客户方局域网对设备进行在线监测及一般故障的诊断,主要负责重要信息的存储,为数据采集站或现场工作站提供简单的诊断服务,与外界沟通获得帮助。数据库技术是这种监测与诊断系统的一项关键技术。系统必须利用数据库对采样子系统所采集的实时数据进行分析和处理生成历史数据库。库中数据可以被用户查询并进一步分析,从而了解设备的运行状况和发展趋势。在故障发生后也可对相关测点进行追忆,为诊断和维修提供依据。在本系统中,客户局域网能够与嵌入式Web服务器进行通信,对嵌入式Web服务器进行控制。可通过命令应答的方式将采集的现场数据取回进行处理。如果嵌入式Web服务器配置了网页存储资源,也可通过访问嵌入式Web服务器的网页内容与之进行交互。
1.3 远程诊断服务器与网上诊断资源
远程诊断服务器是诊断服务提供者在Internet上建立的服务站点。它通常包括:WWW服务器、ASP程序、CGI程序、JAVA小程序(JAVA Applet)。根据实际需要,可能还需建立FTP服务器、电子邮件服务器等。WWW服务器对网络进行监听,接受用户从浏览器发出的请求、诊断信息和相关断,将有关的诊断结果文件及JAVA小程序近回给用户。诊断服务的主要承担者是诊断服务主程序和网上的诊断资源,包括诊断专家系统、诊断信号分析系统等。
2 系统实现与应用
本系统用于发电机及低压配电网中的变压器故障检测诊断,如振动、掉相、欠压、过压、超载、功率越界等。数据采集在嵌入式Web服务器的I/O端口上接入相应传感器,使用实验室的局域网资源,用一台微机作为客户机与嵌入式Web服务器通信,同时访问远程诊断服务器。远程诊断服务器利用Windows NT4.0及IIS4.0作为操作系统和WWW服务器,并在此基础上分别利用Microsoft Interdev和Visual C++开发建立远程诊断系统。
诊断时,客户端微机利用WWW浏览器登录诊断服务器,并在交互式网页中,利用表单提供故障征兆信息和数据文件,请求诊断服务。诊断服务器调用诊断资源进行诊断得到的诊断结果,利用交互式网页和Java小程序返回给客户机。
举报