基于PLC软件的建模方法

2018-11-26 09:32王雪燃张换香
电脑知识与技术 2018年22期
关键词:可编程逻辑控制器嵌入式系统

王雪燃 张换香

摘要:可编程逻辑控制器(PLC,Programmable Logic Controler)是一种典型的嵌入式系统。嵌入式系统规模越来越大,迫切需要引入软件工程中的方法,该文将从以建模语言为基础的形式化方法和基于构件的方法两方面进行探究。

关键词:可编程逻辑控制器;嵌入式系统;建模语言;构件方法

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)22-0225-03

1 形式化方法

形式化方法是基于数学的特种技术,不同的形式化方法的数学基础是不同的,有的以集合论和一阶谓词演算为基础(如Z和 VDM),有的则以时态逻辑为基础。形式化方法需要形式化规约说明语言的支持。在计算机科学和软件工程领域使用,可适当地提高设计的可靠性和鲁棒性,适合于软件和硬件系统的描述、开发和验证。嵌入式系统的核心是由一个或几个预先编程好以用来执行少数几项任务的微处理器或者单片机组成。与通用计算机能够运行用户选择的软件不同,PLC[1]嵌入式系统上的软件通常是暂时不变的,在建模时要考虑其复用性、易用性、系统级可信及代码实现的自动性。

建模语言是建模方法的重要内容。基于嵌入式软件的反应式特点,目前在各种文献上介绍过的过程建模语言已达数十个,从表示风格上可以分为以下几种类型:逻辑规则,也称为基于规则的语言或逻辑语言;命令式程序设计语言;自动机,包括有穷状态自动机和网人工智能等,具体如下:

1.1 Z语言

Z语言[2]是一种用数学文字或数学符号来描述计算机系统的规范化语言,它不但能应用于计算机硬件系统,而且也特别适用于计算机软件系统,它是目前使用最广泛的一种形式化述语言,在软件产业的一些大型项目中已经获得成功的应用。在Z中有两种语言:数学语言和模式(Schema)语言。

1.2 有限状态机

有限状态机[3]是一个时序逻辑电路,过去输入部分和当前输入部分决定了它的输出。除此之外,状态寄存器也是有限状态机的一部分,因为有限状态机内部的状态需要记忆,状态寄存器正好实现了此功能,输入的信号以及寄存器的当前状态一起决定了寄存器的下一个状态,所以逻辑电路和寄存器逻辑一起决定了有限状态机的功能和状态。在PLC系统设计中,有限状态机也是常用的建模语言之一。

1.3 Petri网

Petri网[4]是数学要求非常高的一种表示,是主要针对离散并行系统的设计而出现的。Petri网有非常严格的图形表达方式和数学表达方式,既有分析能力,又有描述功能,很适合描述异步的、并发的计算机系统模型。PLC系统规模大、控制装置众多且分布广泛,系统的体系结构的设计中常常离不开使用Petri网技术。

1.4 Estelle

Estelle[5]是一种形式化描述语言,是对有限状态机的扩展,也被称为扩展有限状态机,此种语言是由ISO/TC97/SC21/WGI/SUBGROUP B定义的。Estelle是目前ISO/OSI的一个重要的形式描述语言。它是将系统分割成许多不同的模块,然后将各个模块互相连接在一起,每个模块都是一个分布式的并发的信息系统,都是利用一定的语言处理一些状态变量以及交互活动的参数,PLC系统环境下处理通信协议的服务定义以及协议的描述,由于其易于理解,并且对实现具有直接的指导意义,所以也是在PLC的系统设计中有着举足轻重的作用。

1.5 UML(Unified Modeling Lan-guage)

UML(Unified Modeling Lan-guage)[6]是典型的工程建模语言,广泛的使用于工程领域,它除了可以用于非软件领域的系统 更主要的是用于建立软件系统的模型,在描述任何类型的系统是主要采用 面向对象图的方式实现,PLC机械系统、企业机构或业务过程,以及PLC处理复杂数据的信息系统、具有实时要求的PLC工业系统或工业过程等。

1.6 开发领域特定语言DSL(DomainSpecific Language)

DSL 是领域专家使用的专用语言,供非程序员使用,抽象级别更高,只能描述某领域内的模型很少涉及计算机数据结构的详细知识结构,常见的有Hume、Mawl、动态自然景观描述语言等,分别用在实时嵌入式系统描述、表单服务描述等方面,如基于领域模型的PLC过程控制软件开发方法,使用过程控制描述语言Proc Graph建模,自动的生成PLC代码。

2 构件化建模方法

要设计高效的PLC嵌入式系统,建模语言固然重要,但更重要的是支撑设计过程的工程方法。PLC嵌入式系统对环境的要求较高,随着环境的变化,计算过程也会发生较明显的变化,构件化建模方法[7]是一种适合设计PLC嵌入式系統的有效方法, PLC嵌入式系统里有各不相同的计算模型,各个计算模型都会发生相互交互,交互实质上就是各个构建之间的通信,另外PLC嵌入式系统的软件一方面很复杂,另一方面软件具有分布式的特点,通信过程要靠不同的工业网络或者是总线实现,也是适用构件化方法的一个重要原因。另外构件化设计方法在设计PLC嵌入式系统中有着与众不同的优势,由于软件的成本低于硬件,再加上PLC嵌入式系统设计过程相对复杂,所以设计师们总是在想方设法用软件模块取代硬件功能模块,使得好的构件可以重复使用减少开发费用,缩短开发时间;构件之间可以动态的重新组合,结构清晰;可以将协同和计算分开,并且接口分明;各个构件都有不同的属性,设计者可以将已有的属性重新组合或连接,设计一个新的满足用户需求的新系统,在设计过程中关键要解决的问题是构件化理论、模型和辅助工具。

2.1 PLC绪论式系统

绪论式系统是异质系统,异质的计算模型、异质的交互、异质的抽象层次是异质系统的三个特征表现,具体如:离散模型和连续模型,广播、同步、函数调用等,统一语义模型是设计过程中主要做的工作,想表达上层的异质模型,通过统一的基于语法的元模型实现,用于混合复杂的控制系统的实现。

2.2 嵌入式系统结构分析设计语言AADL(Architecure analysis design language)标准

AADL[7] 通过构件属性描述非功能性质,构件、连接等概念表述系统体系结构,在欧美工业领域得到了广泛应用。AADL大部分通过自然语言和例子解释,一少部分语言用到形式化语义,构件与接口的契约关系靠接口自动机方法描述,通过把不相容状态的接口机去除,将剩余接口机进行组合得到,并检查构件之间的兼容性问题。

2.3 BIP(Behavior,Interaction,Priority)构件化设计方法

BIP[8–11]是法国Verimag实验室提出的设计方法,是一种高级构件化的设计方法,BIP语言有着明确的形式语义、强大的表达能力及其优先级机制,再加上PLC软件的专业书知识,基于BIP的PLC系统设计方法表现出强大的优势,每个构件都被详细地描述了其内部细节,是行为、交互、优先级的叠加产物。BIP语言有着强大的建模能力、构件化机制和严格的形式化语义,是建立PLC系統的硬件模型和结构模型的重要方法。

2.3.1 BIP系统特征建模

PLC系统是软硬件混合的复杂系统,其中软件的执行不仅受硬件平台的影响,还受环境的影响,首先需要将硬件平台抽象成模型,以及将环境建成模型,所以共三层模型,具体如图1所示。

PLC中的软件在反复的循环运行。第一层,采集现场信号或数据,存入输入映像寄存器中。第二层,读取用户存储器中的指令,逐条执行读取的存储器中的指令,将计算结果输出。第三层,待所有指令执行完毕,输出到端子,驱动部件执行命令。

2.3.2 函数调用建模

PLC软件具有良好的模块化特征,每个模块还可以调用其他函数或功能块,但函数不能调用其他函数或功能块,函数调用的一般模式如图2所示。通过 call端口,在主程序模型中,采用广播的方式执行调用,被调用构件接收到 call 端口的信号后,执行程序。待程序执行到尾部结束,发送结束信号,将结果通过 ret端口返回。

2.3.3 定时器建模

实时性PLC嵌入式系统的重要特征。对时间约束的要求相当高。PLC内部有定时器来实现时间约束,在PLC-BIP中,用tick信号模拟时钟变量,表达时间的概念。所有的构件想表达时间都有tick端口,互相连通。具体模型如图3所示。

3 PLC双门控制案例

双门是指无尘房间的入口两道门,双门的物理结构如图4所示,PLC双门控制系统如图5所示,为防止灰尘进入房间,双门不能同时打开,当某人想进入房间时,首先在门外按下S1按钮,PLC得到button1信号,然后计算得到Open Door1命令,发送给门1。然后人可以从门1进入。门1在3秒之后自动关闭,紧接着门2打开,同样等待3秒钟关闭。光电传感器是用来感知大门附近是否有人。如果有人靠近,信号sensor1和sensor2为0。

3.1 对PLC控制器建模

PLC控制器自动机模型如图6所示,M0为入口,button1或button3传入信号时,转入M01。然后控制器向门1发送命令,并且将Mu Ex2赋值为0。此时表示门2不能打开。然后当控制器收到完全打开的信号后即刻启动计时器,进入M2状态。此时时间约束为t <=3。当t 为3, sensor1为1时,转入M3状态,并发出关门命令给门1。具体轨迹如下:

4 结束语

该文探究了PLC软件建模方法,针对PLC软件的特点,给出了6种形式化方法和3种结构化方法,根据PLC双门控制案例,给出了PLC软件的建模实践,分别对各种特征建模进行总结,方便用户建立系统级模型,使得所建系统模型符合实际的PLC软件和平台特征。

参考文献:

[1] 胡学林. 可编程控制器原理与应用[M].北京: 电子工业出版社, 2007.

[2] Lightfoot D. Formal specification using Z[J]. Macmillan, 1991, 35 (2): 147-147.

[3] Alur R, Dill D L. A theory of timed automata[J]. Theoretical Computer Science, 1994, 126(2): 183-235.

[4] Peterson J. Petri Net Theory and the Modeling of Systems[J]. Computer Journal, 2010, 25(1).

[5] Budkowski S, Dembinski P. An introduction to Estelle: a specification language for distributedsystems[J]. Computer Networks, Isdn Systems, 1987, 14(1): 3-23.

[6] The UML homepage[EB/OL]. http://www.uml.rrg/.

[7] Feiler P, Gluch D, Hudak J. The architecture analysis & design language (AADL): An intro-duction[R]. Technical report, DTIC Document, 2008.

[8] G ¨o?ler G, Graf S, Majster-Cederbaum M E, et al. An Approach to Modelling and Verificationof Component Based Systems[J]. Proceedings of SOFSEM, 2007(1): 295-308.

[9] Basu A, Bozga M, Sifakis J. Modeling Heterogeneous Real-time Components in BIP[C]. Proceedings of SEFM, 2008: 3-12.

[10] Poulhi`es M, Pulou J, Rippert C, et al. A Methodology and Supporting Tools for the Devel-opment of Component-Based Embedded Systems[C]// Proceedings of Monterey Workshop, 2008: 75-96.

[11] Basu A, Bensalem S, Bozga M, et al. Rigorous Component-Based System Design Using theBIP Framework[J]. IEEE Software, 2015, 28(3): 41-48.

【通联编辑:谢媛媛】

猜你喜欢
可编程逻辑控制器嵌入式系统
基于PLC的城市给排水控制系统研究
办公自动化系统的设计
基于中药自动配药PLC系统的设计方案的研究
嵌入式系统课程“中断、异常与事件”教学实践及启示
面向实践创新人才培养的嵌入式系统教学研究