可视化的PLC程序使用XML
米巴尼尤尼斯和G.弗雷
摘要:由于PLC程序日益复杂,在PLC应用方面有越来越多的兴趣爱好者。形式化方法,让僵化的证明系统属性被核查和验证。一个传统思路的方法就是在PLC编程中设立一个正式的设计方法。不过,现有的软件已被优化,改变,或移植到新系统.有需要找到从某一PLC程序开始的方法。因此,规范PLC程序是一个现在研究的热点。该文章概述了基于形式化的PLC程序基础上从新启动的方法。转型成为一个独立的格式和可视化的结构,在这个过程中,PLC程序的确定是作为这项措施的重要中间步骤。这表明如何XML和相应的技术可用于形式化和可视化现有的PLC程序。
一、导言
可编程逻辑控制器(PLC)是一种特殊类型的计算机,它应用于工业和安全的关键地方。应用PLC的目的是控制某一特定的或可选择的过程,它是通过产生的电控制信号回应电器中相关的输出信号来实现的。应用在制造业和化工过程控制,机械加工,交通,电力分配,以及其他许多领域。PLC控制有着极大的不同,自动化应用范围的复杂性从一个简单的小组运作到控制一个会议室的的灯光和自动窗成为一个全自动化的生产线。
随着他们应用PLC知识的增加,他们把PLC应用到复杂性和品质要求高的地方,特别是对安全性要求特别严格的地方。由于在有限的时间里PLC的发展应用日益复杂,现有的软件或PLC的模块也在迅速发展,以此,需要一个正式的办法加以规范 。为了确保高品质的要求,我们需要检查和验证程序,以及分析和模拟现有系统。其中一个重要的领域就是已经在最近的时间成长在规范化的PLC程序是逆向工程。逆向工程是通过评估达到了解它的运转过程,以达到重复或加强的目的。而重用的PLC守则正在建立,作为一种打击复杂PLC程序的工具,逆向工程在今后几年将得到越来越多的重要性,特别是如果现有的硬件被适用于各种不同程序环境的新硬件所取代的情况下。
现有的PLC程序的可视化是逆向工程一个重要的中间步骤。本文章提供了一个方法,使用XML使PLC程序可视化,让PLC程序工程师更容易把握方向和更好地了解。
该文件的结构如下。首先,简单的介绍了PLC(根据国际电工委员会61131-3的标准是给予)和相应的编程技巧,。在第三部分,在现有基础上用形式化PLC程序重新设计方法的介绍。PLC代码转型成为一个独立的格式被确定为在这个过程中重要的第一步。XML和相应的技术,例如XSL和XSLT(第四节可以使用的这种转变)。第五部分提出了应用XML的使PLC程序可视化的方法并用一个例子做出说明。最后一节总结了结果,并就今后的工作在这方面正在进行的项目做了一个前景的展望。
二、PLC和IEC 61131
自从七十年代初期公布于世,由于它的成功的完成目的,取代了机器上的硬连线控制设备,PLC日益受到重视,。最终它作为一个独特的应用领域成长起来,它的研究和开发,主要是为控制工程。
IEC61131是为工业自动化第一次真正的努力来规范PLC的编程语言。在1993国际电工委员会上公布了IEC 61131作为可编程控制器标准。在标准化PLC的编程语言之前,正在制定为了个别PLC实用的专有编程语言。为了提高不同产品的兼容性,开放性和互操作性以及为了促进工具和方法的发展,国际电工委员会61131标准设立固定的一套符号。第三部分,定义了一个适合5种编程语言标准:
Originated (IL)语言是一种低层次的文本语言, 其结构类似于汇编语言。Originated语言L被视为PLC的在所有其他IEC61 131-3语言都可以翻译语言。
梯形图(L0)是一种被认为起源于于美国的图形语言。LDS符合从电子及电器电路实施控制逻辑的编程风格。
结构化文本(ST)是一个非常强大的高层次的语言。圣借从帕斯卡尔那里借用了它的语法,充实它的一些特点。圣包含一个现在编程语言多要求的所有要素。
功能块图(FBD)是一种图形语言,在工业流程里是非常常见的。在这种语言中,控制器被认为是可在功能块之间流动的信号和数据。FBD把换文本编程转变为功能块编程,因而提高了模块化和软件重用性。
顺序功能图(SFC)是一个图形化的语言。SFC要素的定义是为了构建可编程序控制器程序的组织。
其中在IEC 61 131-3中出现的一个问题就是在PLC的编程工具的工程信息中没有一个标准化的格式。目前,每个厂商都在运用他们各自的具体的不同格式。这亦是其中一个原因就是被限制了的形式化的做法,以单一的程序或算法。不过,最近的PLC用户组织PLCopen阻止了一个技术委员会,以确定一个基于格式accordingto的IEC 61131-3的XML项目 。这种新格式将缓解形式化的工具,使之成为 PLC项目的所有相关的信息。
三、重新设计的方法
对于重新设计所提出的态度,(参见图1)是基于认为XML可作为一种中间媒体语言用来改造PLC的代码。
这种转变提供了取得avendor独立规格代码优势,。 (即使PLCopen成功地确定了一种标准化的格式为PLC所应用,仍将有很多现有的程序不符合这个标准) 。
在此代码基础上的一个明智步骤转型到一个正式的模型(自动机)正在计划之中。这个模型可以用来进行分析,模拟仿真,正式的检查和验证,最终对同一PLC或其他产品重新执行该优化算法。
一个很大的可能就是这个完成编程的逆向启动只能是一个半自动的过程,中间可视化的代码是最重要的一点。在过程中的不同阶段,代码或形式化模型不同方面的都必须是可视化的设计方式,只有这样设计者才可以进一步的指导工作。XML以其强大的可视化和改造工具,成为解决这方面的工作的一种理想的工具。
四、作为一种可视化工具的XML
XML (可扩展标记语言)是一种简单而灵活的元语言,即一种描述其他语言的语言。由万维网协会( W3C )裁定(W3C)作为一个方言SGML分支语言, XML的删除两个阻碍网络发展制约因素。依赖于一个单一的,一成不变的文件类型( HTML ),这种文件类型中大部分被滥用任务,这是从来没有设计为对一方有利。充满了SGML的复杂性,他的语法,让许多强大的并且努力到计划方案到了另一个方向。
当HTML描述了数据本身是怎样显现的同时, XML描述了数据本身。一些行业和学科、医疗记录及报纸出版,其中已使用XML交换信息,可以跨多个平台来
图2 解析器使用比较
应用。在一个信息获取人可以使用各种不同的方式形式下,XML可可裁定描述几乎任何种类的信息。它是专门设计用于支持从根本上使用不同形式的数据的系统之间的信息交流,例如民航处及调度之间的应用。使用拥有强大的解析器和固有的简单性的条款XML,句法和语义语法比常规词汇分析器和验证分析器的使用更有利(参见图2) 。
常规的程序代码分析方法需要一个扫描仪(词法分析仪)由剖析器检查语法结构的代码产生了一套终端符号(令牌),并生成一个对象网。在该对象的内部结构的程序代表的确定对象和两者之间的关系。双方扫描器和分析器将使用的这种方法是面向文件的,这就意味着,分析不同类型的文件,需要重新生成的代码为扫描仪和分析器。一个应用这种方法的方法的例子可以在发现 。
使用XML的最有前途的方面,就是XML及其应用的互补性转变为标准化,以便给它的用户提供最大的灵活性。基于该XML的方法是十分有利的,因为词汇的规格是不变的组成部分,因此XML良好的形式从各自的个别申请是独立的。因此, XML的解析器也可以吧XML文件在一个抽象的代表性换成以所谓的文档对象模型( DOM ) ,不需使用语法。 DOM的是一个应用程序编程接口( apii )对HTML和格式良好的XML文件有效。它定义的逻辑结构文件和文件的方式访问和操纵。在DOM中的规格,任期“文件”是中被越来越多广泛使用的意识。 XML被用来作为一种代表许多不同种的信息可能在不同的系统中存储以及许多传统上,这将被看作是数据而不是作为文件。不过, XML介绍了此数据文件,并且DOM可以用来管理这方面的数据。
XML的转型语言XSLT的是能够不仅转换XML到另一个XML或HTML ,还能够转换到许多其他友好的用户格式。前XSLT的来临以前 ,改造XML成为任何其他格式只有通过在一个程序语言如C + + , Visual Basic或 Java定制开发的应用程序来实现。这个程序与尊重的结构性变化XML相比文件缺乏一般性。XSLT的演变,作为一个高层次的宣示性的语言,对利用的观念,习俗申请的变革都是十分相似的。
XSLT的功能分为两个步骤。在第一步,它执行的结构性转型,以便为转换成XML的结构,反映了所需的输出。第二阶段是格式化的新架构成所需的格式,如HTML或PDF (参见图3 ) 。这个转变最重要的优势是它允许一个可以想象的简单而容易的文件或数据结构良好嵌入内部结构,以了解XML来制作。当HTML被选择作为格式转化的产生的时候,是有可能使用HTML的广泛能力来产生出可想象的和有吸引力的可视化程序。
每一个XML文件都有自己的语法和词汇。因此,除了作为良好的形式, XML文件需要符合一套规则。根据W3C建议,这套规则已通过文件型态定义( DTD )或一个XML架构加以界定。该定义的规则在一个DTD或一个XML Schema的国家层次和结构制约的XML文件。
近期,一些另类语言已提出,DTD是用以界定文件文法。W3C XML Schema的语言重复了重要的功能DTDS ,并增加了一些特点。使用XML的语法,例如,明确之间的关系架构和命名空间,一个有系统的区分元素的种类和数据类型,和单继承的形式,类型的推导。在其他的话架构提供了更丰富和更强大的方式描述的信息,比什么是可能的与DTDS 。图 4显示了XML技术讨论上述之间的联系。
五、方法的可视化OFPLC程序
A. 概况
由于Instruction List (IL)是在欧洲最常用的PLC编程语言,现在展示的介绍的做法是在此基础上的语言。西门子第5步和标准版根据的IEC 61131-3正在被考虑。
XML文件显示的生成显示了不同方面的PLC程序,实现了在以下三个步骤(参见图5 ) :
1. PLC程序到XML文件的转换
2. XML的的可行性和确定了语法的XML的XML架构,
3. 根据该指令集的来源,临立会,转换的XML介绍元素的定义
这三个步骤是讨论分别分节B至D。小组E节解释了在前一阶段期间不同的XMLS的可视化取得的成绩。
在整个这一节的一个例子是用来说明所提出的概念。图 6显示了在西门子公司名单中S5Z中PLC的代码的书面指示。临立会的代码是写在形式的地方,每列的元素,是一种地址,标签,指示,操作和说明或评构成的分隔清单。
B. PLC程序转换成为格式良好的XML
由于ASCII格式PLC程序加上一个结构与单独列地址,标签,指示,运算和说明划定的表格,XSLT的可以把它转换为格式良好的XML文件。通过这种转变 获得的XML文件是一个分层结构的文件。
图 7显示通过XML文件获得改造的PLC。XML文件是在结构上的等级,其中的根元素是ilcodeblock是代表全PLC的代码。每行的PLC代码是包含在相应的ilrow元素,这是米呃子元素。注:结构选择的XML代表性的IL代码是面向在工作的建议,该plcopen 。
C. XML验证和XML架构
由于前处理,除了正在完善被确认XML文件,可以验证的使用验证解析器取得的XML,形成符合一套句法规则所界定的背景下的PLC编程语言。
D. 介绍的认可
这一步,可视化的PLC程序在这个过程中使用XML确保XML文件将用于只包含有效可视化,可以用来变换,以及形成有效的另一个XML ,这是由于对鉴定指示拥有一个额外的属性附加到指示标记。此属性通知是一个有效的指示,指示是否是有关的指令集。这个转变的程序,也能指示附加属性的标记,宣布一项分类的指示到预定义类。
转换的XML的指示识别的证明了XML的语义是与PLC的编程语言的操作类型相一致的。
在本节中的例子中(参见图8 ) ,新的XML包含额外的根据它所代表的类型分类指示的运作属性。步骤指示分为11不同类型的操作如合乎逻辑的,跳转,负载或转让的运作转让等等。
E. 可视化的XML
上述所产生的两种XML文件可转化为HTML或在XSL的帮助下转换为其他可读的文件。一个巧妙的XSL可以被设计用来产生一个可以容易想象的转达PLC程序的逻辑或者其他特征的HTML文件。此外, DOM的结构在嵌入在XML中(参见图9 ),也可让使用者用一个简单的方法浏览PLC程序。
指示鉴定后的XML被转化成使用XSL转化,取得那里的指示和身份指示后,根据该行动的类型提取的XML在 HTML表载列了两栏(指示,指令编号)是在可视化的。
HTML结构的建议,这不是唯一的可能性,其中的XML可以可视化,但他们提
供一个很容易的切实可行的方案,那就是为用户把握的PLC代码。图 10显示了相同的PLC的代码,在图 4他作为一个HTML文档转换XML文档,显示的图 7使用的XSL 。这可视化,更好地了解PLC程序成为可能。图 11显示了在图 6中的XML教学入侵检测系统特殊的可视化。
六、 结论和展望
重新设计的PLC程序需要一个正式的办法加以发展。在本文章中,是来解决这个任务一个方法的介绍。在给出了书面指示PLC程序的基础上,在清单的通过一个明确步骤转型为被建议的正式代表。由于这个过程不会完全自动,有必要采取灵活的可视化中间步骤。XML是作为一种灵活的,标准化的手段来充当数据格式来描述的PLC代码。相应的XSL转换和文档对象模型的技术是作为工具,在重整过程为各种定制可视化任务。
基于XML的描述PLC程序的进一步转变,将适用于最后得出一个完全形式化描述原PLC的代码。这将是在成立一个有限自动机。在这个计划过程中,他们通过一个知识库确定共同的介素的结构和正规化,得益于XML元数据交换(XMI)作为一个开放的行业标准,适用于XML来抽象系统,如UML和指的是分类指导的IL到上述11类。我们可以提取的UML类从这种分类,因为它类似行动语义的UML。