基于XML的控制单元以太网接入实现--控制网



基于XML的控制单元以太网接入实现
企业:控制网 日期:2003-11-19
领域:PLC&PAC 点击数:1307

楼登峰,曹  莹

1  引言
方兴未艾的现场总线技术正在不断改善控制器和现场仪表之间的通信方式,而控制器与上位监控机之间的通信往往还建立在较为低速或其它专用的网络基础上,生产过程中的实时信息要通过多层网络,多种协议转换才能到达人机界面或企业的过程数据库。随着控制系统多界面支持的需求以及企业管控一体化需求的提高,传统的监控网络在通信速率和组网灵活性上已很难满足企业要求,那么能不能将控制器直接接入相对高速且组网灵活的以太网呢?美国OPTO22公司新近推出的SNAP I/OTM控制单元正是代表这一趋势的典型产品之一。
2  OPTO22公司SNAP I/O产品的介绍
美国OPTO 22公司是一家专门设计、生产控制类产品的企业,其控制类产品在美国市场的占有率是处于较前列的。OPTO22产品的一大特点是它有自己的系统构架和与之相对应的一整套软硬件解决方案。例如与它的上一代控制器MISTIC相配套,OPTO22公司提供了一整套的组态软件,包括基于流程图的过程控制设计软件OPTO CONTROL。
2000年和2001年,OPTO22公司相继推出了SNAP ETHERNET I/O和SNAP ULTIMATE I/O两大类产品,它们模式相同,都是以SNAP I/O Processor(或称Brain)为核心,在其构架(rack)上再结合一些I/O模块组成的一个SNAP I/O Unit,如图1所示。与上一代的控制器和其它的PLC相比,SNAP I/O Unit体积更小,将控制层运算更分散化,因此,称其为控制单元更确切一点。
SNAP I/O控制单元有三大特点:
?  体积更小巧,运算分散化,组网更为灵活。
?  支持以太网接入,设有标准的RJ45接口,可以选配无线收发器。
?  更趋通用,所支持的通信协议更广,应用XML(eXtensible Markup Language)协议可以实现WEB监控。

 
图1  SNAP I/O Unit示意图

应用SNAP I/O控制单元构建的新一代控制系统在通信速度、可靠性、可维护性和组网灵活性上都有很大的优势,其产品不仅可用于工业控制领域,还可以在智能建筑、智能家居领域得到很好推广。

3  SNAP I/O Processor的各种以太网联接方案
SNAP I/O Processor是SNAP I/O控制单元的运算核心,在两个香烟盒大小的Processor内集成了CPU和一定量的RAM/ROM。由于SNAP I/O Processor提供的多种通信接口(RS-232/485、Arcnet、Ethernet),SNAP I/O Processor在硬软件的联接模式上是非常灵活多样的。
SNAP I/O Processor提供多种联网方式,典型的有以下五种:
?  通过交叉网线直接与PC相连。
?  挂接一个现有的TCP/IP以太网。
?  组建一个独立的以太局域网。
?  通过Modem联接。
?  利用无线收发器组建无线局域网。

 
图2  SNAP I/O控制单元的网络联接

具体采用何种组网方案则主要要看监控任务对通信速度的要求,网络中PC和控制器的数量以及传输数据的安全性的要求。图2是一个典型的网络联接方案。
在软件通信上,SNAP I/O Processor不仅可以通过XML实现WEB监控,而且还可以通过E-mail或SNMP等方式传递事件的信息。之所以可以实现这多种的通信功能是基于SNAP I/O Processor在物理层、传输层和应用层所拥有的多种通信协议,如图3所示。

图3  SNAP I/O Processor多样的通信实现途径

从图3可以看到,SNAP I/O Processor在物理层支持10/100Mbps以太网联接和Modem联接,也支持无线局域网Wireless LAN的联接;在传输层,SNAP I/O Processor支持TCP/IP和UDP/IP协议;在应用层,由于SNAP I/O Processor内部固化的格式程序和传输层的支持,使得上位机和控制单元之间可以方便地应用多种通信模式,包括HTTP、SMTP、MODBUS、SNMP、IEEE-1394和数据流等。图中最上一层示意的是作为上位机的PC或SERVER上应用程序可采用的通信模式。
4  基于XML的SNAP I/O Processor以太网接入实现
作为互联网技术发展的重要方向之一,XML技术使数据本身和显示格式相对独立,从而使数据通信更为迅速,数据的显示和存储、检索更为便捷。SNAP I/O Processor内部固化有XML文件,通过镜像I/O模块上的数据,这些XML文件可以方便地将监测数据上传到PC机或SERVER,这样在Internet Explorer 5.0以上版本的浏览器中,就可以得到基于WEB的实时监测信息。
除了SNAP I/O Processor内部固化的XML文件之外,用户还可以自己编制和下载XML文件到控制器上,与之相对应,用户还需在上位机编设XSL文件和HTML文件,才能按理想的格式在浏览器上显示监控信息。下面就定制文件的这一过程,包括对XML技术的核心思想进行以下介绍。
4.1  XML简介
XML是90年代末兴起的新一代标识语言,现在各种介绍XML的书籍都把XML描述成有三大要素和若干特点的SGML(Standard Generalized Markup Language)类语言,但如果把XML和HTML(HyperText Markup Language)作一比较,也许可以对它的认识会更形象一些:
?  XML是类似于HTML的语言,它们同是SGML的一个子集。
?  XML是被设计用来描述数据的;而HTML是数据和显示格式一起描述的。
?  XML是可扩展的,允许用户自定义自己的标记和自己的文档结构;而在HTML中所有的标记和文档结构都是预先定义的,用户只有权利使用规范的HTML标记。
XML的起源思想是想在新一代的WEB构架中将网站的文档内容、表现样式和程序逻辑由不同的文件或程序来提供,这也就形成了XML语言在技术上较先进的几个特点,即结构化的数据存储、良好的可扩展性和在异构环境中的应用。
XSL(eXtensible Stylesheet Language)则是可以把XML文档中的数据格式化地在浏览器上显示的样式单语言。因为XML文档只是用来描述数据,其中的一些标记是由用户定义且不为浏览器所认识的,所以,为了能够正确显示存放在XML文档中的数据,需要另外的一个XSL文件将其转换为格式化的HTML页面。
4.2  生成和下载XML文件
生成和下载XML文件的过程可以分为三步来完成:
(1)  分析要采集的I/O数据点和要实现的控制功能,分配在各个XML文档中的内容。SNAP I/O Processor内共有64KB的存储空间供存放文件。
(2)  编制相应的XML文档,在其中可以应用自己定义的各个标记名。下面的程序演示了一个典型的XML数据采集文档,其中的MemMap插件是I/O点的存储映射地址。
<?xml version="1.0" standalone="yes"?>
<SwitchStatus>
 <Switch>
  <Name>A</Name>
  <State><!--#MemMap adr=F0800000&onoff=on/off--></State>
</Switch>
<Switch>
  <Name>B</Name>
  <State><!--#MemMap adr=F0800040&onoff=on/off--></State>
  </Switch>
</SwitchStatus>
(3)  编制完相应的文档后,就可以将XML文档下载到SNAP I/O Processor,在这个过程中需要明确的是各个Processor的IP地址。下载的文档经过试运行确认无误后,可以从SNAP I/O Processor的RAM再次写入到控制器的Flash Memory中。
4.3  在I.E.浏览器中实时显示采集信息
在Internet Explorer中要查看XML文件很方便,查看未经格式化的XML文档只需在I.E.地址栏输入要查看的SNAP I/O Processor的IP地址和目标文档的全名即可。例如,要查看IP地址为10.22.55.01的控制器上的文档,只需在上位机(可以是子网内的任一台PC/SERVER)输入URL地址和文件名:http://10.22.55.01/SwitchStatus.xml。未经格式化的XML数据在Internet Explorer中的显示格式如下:
 <?xml version="1.0" standalone="yes"?>
-<SwitchStatus>
 -<Switch>
   <Name>A</Name>
   <State>Off</State>
 </Switch>
-<Switch>
   <Name>B</Name>
   <State>On</State>
  </Switch>
</SwitchStatus>
上面已经提到,XML文档只是用来描述数据而没有格式化信息,如果要在Web浏览器中清晰显示数据或利用JavaScript技术仿真测控仪表,则至少需要三个文件:控制器中的XML文档、上位机中的XSL文件和HTML合成文件。HTML文件中的JavaScript程序段将调用XML文件中的数据和XSL文件中的格式信息,将它们合成后在浏览器中显示,如图4所示。

 
图4    格式化后的XML文件显示结果

4.4  在I.E.浏览器中设定输出控制值
除了数据显示,还可以通过相同的技术在浏览器上实现控制值的输出设定。实现过程中,可以先定制一个HTML格式的输出界面,其中至少包括一个数据输入框和执行的确认按钮,然后需要在XSL文档中指定HTML文件所包含元素的属性,包括接收设定量的参数地址、执行后要返回的界面等。
下面的例子中说明了模拟量输出设定的编设过程,开关量的设定过程基本相同,就不再赘述了。
第一步:设计一个HTML格式的输出界面,如图5所示;

 
图5  模拟量输出值的设定界面

第二步:在XSL文档中指定HTML文件所包含元素的属性,如下所示。

5  结语
基于XML技术的SNAP I/O控制单元以太网接入实现不仅从软件上提供了一个高效、快捷、开放、灵活的实现途径,而且在硬件上也深刻改变了控制系统上层网络的构架模式,使应用于企业生产联网内的每台计算机都可以直接联通控制单元。
通过这种实现途径,不仅可以利用I.E.浏览器获取远程、超远程的实时信息,并且在监控生产过程的同时,实现生产信息在数据库中的快速存档和加工。如果有合理的安全体系,甚至可以在世界的任何角落实现监控任务。

参考文献:
[1]  孙德辉. 微型计算机控制系统[M]. 北京: 冶金工业出版社, 2002.5-7.
[2]  OPTO22. SNAP ETHERNET BRAIN USER’S GUIDE [Z]. 美国: OPTO22公司, 2002.
[3]  OPTO22. SNAP ULTIMATE I/O SYSTEM USER’S GUIDE [Z]. 美国: OPTO22公司, 2002.

  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件: