0 引 言
随着高等教育的迅速发展,高校规模和人数不断扩大,而教育资源并没有随之相应地得到及时有效补充,现阶段形成了不断增长的学生人数和教育资源、特别是实验室资源相对缺乏的矛盾。另外,目前高等学校实验创新性不足,学生对教学规定的实验缺乏兴趣等等现象严重。如何高效、合理地利用现有的实验条件进行实验教学,提高学生自主学习积极性,建立创新性实验、实践教学条件和环境,科研对于解决这些问题有着重要的意义。
本文提出了一种开放性实验室的具体实施方案,从现有的实验条件出发,利用以太网技术,自动化技术和嵌入式的硬件开发,实现通过校园网、甚至Internet 可以远程访问和监控实验现场,做到如同亲临实验现场的感觉,不但提高了实验室资源的利用率,有效地缓解了实验室资源与增多的高校学生人数之间的矛盾,也全面提升了自动化专业实验手段的技术含量和扩大了学生专业视野,对培养学生的实验兴趣也有很大效果。
1 系统的整体方案
现在高校电气与自动化类实验室设备大多是有通讯串口,能在本地用计算机对实验过程数据监测和操作,但是对于联入以太网或者校园网的功能欠缺,本文以过程控制实验室为例,采用以太网监控系统的通信接口和软件技术,对具有本地传统通讯串口的实验设备实施具备远程访问、监控功能的二次开发和设计,实现一种基于工业以太网架构的远程开放型控制系统实验平台。
以过程控制实验室中流行使用的PCI—Ⅰ型过程控制系统实验装置为例,此装置主要对连续性工业过程中的物理模拟量例如液位、压力、流量、温度等热工参数的自动调节控制。上位机软件采用北京亚控公司组态王软件,完成现场数据的采集、流程控制、动画显示、报表输出、实时和历史数据的处理,报警和安全机制、趋势曲线及企业监控网络的功能。
原有的实验设备是通过控制台的RS-232串口接入计算机,其最大讯通距离只有15 m,无法满足远程监控的需要。利用现有的实验室以太网系统,把串口实验设备联入网络,再进入校园网。在实验设备终端进行串口与网口的转换,使用串口联网模块,实验串口数据转化为支持以太网TCP/IP 协议的网络数据。系统的总体框图如图1。
图1 以太网框架
数据采集部分仍然使用实验设备自带的液位传感器、压力传感器、流量传感器以及标准的工业自动化仪表等,通过牛顿7000 系列模块实验A/D转换,把实验数据传送给RS-232 串口。用户上位机仍然使用原有的组态王监控软件,使用重定位串口程序,使得本地计算机串口和远程现场实验设备串口实现对应。另外由于组态王软件直接支持TCP/IP 协议,在软件上设置数据来源,也可直接访问以太网中IP 地址来与实验设备进行数据交换。
2 系统中用到的关键技术
构建基于以太网的远程实验平台用到计算机技术、自动化技术和网络技术等,由于实验对象没有网口使实验系统直接接入以太网,而仅有一个标准的RS-232 串口,所以需要在底层开发配置智能网络节点,在串口和网口之间进行数据交换,实现串口数据发送给网络,接收网络命令给实验设备的功能。
由于已有的组态王软件可以支持串口和TCP/IP 网络访问,所以用户端可采用两种方式访问实验终端,一种是安装虚拟串口驱动程序,并创建虚拟串口,通过参数设定,计算机的虚拟串口和远端的真实串口建立对应关系,使用者可像真实串口一样任意使用这些虚拟串口。第二种方式是实验终端的串口联网模块设置固定的IP 地址,用户通过以太网访问网络中的IP 地址,来进行对实验设备的访问和控制。
2.1 串口服务器
底层智能网络接口采用了深圳三旺通信公司的NP-311 型串口设备联网服务器。NP311 支持诸如WINSOCK 等标准的API 接口形式TCP/UDP 以太网直接访问方式,并且使用On-the-Fly 免设置功能,通过驱动程序实时监听客户软件,实时调整。
支持TCP(TransmissionControlProtocol),UDP(User Datagram Protocol),ARP(AddressResolution Protocol),ICMP(InternetControl Message Protocol)和DHCP(Dynamic Host Configuration Protocol)。支持Server和Client 模式,使串口实验设备工作在C/S 模式。
此设备模块使用的On-the-Fly 免设置功能,监听使用者的软件,实时调整串口参数,在使用过程中诸如串口速率、奇偶校验、比特位等一系列参数实现自动设置。并且提供了一种安全的密码保护功能,这在开放式总线结构的的以太网中非常实用,可以避免非法用户的访问,对实验设备起到保护的作用。
2.2 嵌入式TCP/IP 协议
嵌入式设备的存储器一般都很有限,要把整个TCP/IP 协议族嵌入到系统中,显然会非常吃力,并且在实际使用中,并不是协议族中的所有协议都要用到。鉴于嵌入式系统自身的特点以及系统实际需要,这里并没有实现全部的TCP/IP 协议,而是采用了简化了的TCP/IP 协议族。它的体系结构由高到低分为应用层、传输层、网络层和链路层四层,每一层都有相应的协议集来完成不同的通信功能。
图2 TCP/IP 协议族的分层
作为TCP/IP 协议的最底层,链路层也称为数据链路层或网络接口层,主要是接收网络层的IP数据包,然后通过物理接口发送给串口实验设备,或是从串口设备接收数据帧,抽出数据包并转发给网络层。也为ARP 模块发送ARP 请求和接收ARP应答。
网络层的主要协议是IP 协议,是整个协议族中最重要的一层,是所有TCP、UDP、ICMP 及IGMP的基础,IP 协议提供了不可靠、无连接的数据报传送服务。另外,网络层中ICMP 负责传递差错报文以及其他需要注意的信息,在IP 数据报内部传输;IGMP 用于支持主机和路由器进行多播,让一个物理网络上的所有系统知道主机当前所在的多播组。
传输层主要用于两台主机应用程序的端对端通信,提供了两种不同的传输协议:UDP(用户数据报协议)和TCP(传输控制协议)。UDP 是面向无连接、不可靠的传输协议,TCP 是面向连接、可靠的传输协议。TCP 主机与客户机通信时,通过三次所谓的“握手”认证,在网络间建立一个虚拟的连接路径;而UDP 则不建立这个连接。所以有时候UDP 会出现数据丢包现象。
串口服务器接收到网络数据后,进入到TCP/IP协议对以太网数据帧进行处理,逐个判断是否为ARP 报文、IP 报文、ICMP 报文以及TCP 报文,确定后进入相应的报文处理过程[4]。程序设计中采用中断的方式,可以提高CPU 的利用率,当有新数据接收或发送时,主程序进入中断程序进行响应的处理。网络数据处理流程图略。
2.3 上位机软件设计
用户端使用基于Windows 平台的组态王软件,它具有快速构成和生成上位机监控系统的功能,具有强大的开放性,可以利用VC、VB 等开发工具编写应用程序来访文组态王实时数据库中的变量,对组态王进行控制。
组态王软件支持TCP/IP 以及485/232 等多种网络体系功能,这就给了多一些选择来实现远程监控。一种是通过直接访问串口服务器的在校园网中唯一确定的IP 地址,进行网络控制;另外可以在用户端安装一种虚拟串口软件,也叫串口重定位软件,使实验设备中的实际串口与用户端的虚拟串口对应,对实际串口进行一个网络映射,在用户端通过组态王就可以对实验设备进行网络访问控制。
另外,在没有上位机通用软件的实验系统中,可以采用基于Socket的远程实验ActiveX控件或远程实验Java Applet小程序两种方式实现远程实验用户机和现场实验室之间的动态数据的交换。ActiveX控件和Java Applet都是驻留在Web服务器上的,用户在做实验前下载到远程用户机上使用。两者的区别是ActiveX控件在下载到远程用户机后与具有独立IP地址的远程实验代理服务器直接建立Socket连接,实现动态实验数据的传输,建立连接后不需要再通过Web服务器转接;而用Java Applet技术实现动态数据交换方式时,下载到远程实验工作站的Applet小程序与Web服务器之间建立Socket连接,Web服务器在局域网内与远程实验代理服务器建立连接,远程实验工作站和远程实验代理服务器之间交换的动态实验数据和控制命令需要通过Web服务器中继。
3 结 论
通过构建实验室以太网系统,突破了实验室对时间和空间的要求,特别是对一些比较贵重和需要反复实验的设备具有重要的意义。还可以在不同校区进行跨校区实验,对不同大学,研究单位之间的跨地区合作有重要的作用。
另外,采用串口联网服务器的远程实验以太网,对原有的实验条件无需做大的修改,就可以达到远程实验的效果。
参考文献:
[1].PCIdatasheethttp://www.dzsc.com/datasheet/PCI_1201469.html.
[2].RS-232 datasheethttp://www.dzsc.com/datasheet/RS-232+_584855.html.