通过总结目前普遍使用的组合逻辑函数法、功能转移图法、Petri网分析法等可编程控制器程序设计方法,提出了一种面向对象的可编程控制器程序设计方法。依照面向对象技术的思想,详细阐述了在可编程控制器程序设计中如何构造底层的基本控制对象类及其高层的对象模型封装类。给出了外部信号的定义并且例举了对象模型同外部信号的交互情况。最后再深入分析面向对象方法的优良性能。
1 引言
可编程控制器PLC因其操作简单、性能可靠而得到广泛使用。各种类型的可编程控制器充斥着市场。作为可编程控制器系统的设计者来说,面对不同型号的PLC控制器要进行不同的设计。系统的整体设计和硬件设计随控制器型号的变化通常只需做很小的改动,甚至根本不必作出修改。但是对于程序设计部分来说,改动结果往往是面目全非。有时还不如根据新的控制器型号重新设计。虽然可编程控制器程序相对于各种大型计算机应用软件来说要简单得多,但是应用软件设计中遇到的问题在可编程控制器程序设计中也同样存在,如:交流问题、需求不断变化及软件复用等问题。面向对象技术正是解决这些问题的方法。本文首先总结几个常用的设计方法,然后提出一种面向对象的可编程控制器程序设计方法。
2 常用方法介绍
1.组合逻辑函数法
可编程控制器是随传统继电器逻辑的发展而诞生的。电气控制线路与逻辑代数有一一对应的关系。具体设计时是首先根据控制要求列出逻辑代数表达式,然后对逻辑代数进行化简,最后根据化简后的逻辑代数表达式画出梯形图,得出程序。此种方法简单直观。程序经化简后而得,显得非常精练。对于那些对电气控制线路熟悉的设计人员来说,容易接受这种设计方法。 但是,换个角度来说,程序化简后系统的冗余性和安全性不好体现。精练的程序使得调试时很难判断出问题的确切位置,并且程序很小的变化往往涉及全盘变动。另外,逻辑代数只适用于系统开关量的设计,模拟量需求助于其它的方法。然而,一个系统的开关量和模拟量设计往往是紧密结合不可分的。
2.功能转移图法
这是一种顺序控制系统的图解表示法。适用于处理顺序、随机等类型的问题。此种方法就象制造工厂的流水线,干完一道工序才能进行下一道工序,直至最后整个工艺流程结束。系统在设计时,首先按控制要求划分出一个个功能块,然后根据工艺流程将各个功能块进行排序,最后整合成满足用户需求的系统。很显然,在利用这种方法编制的程序中每个功能块只与前后功能块有接口,之间仅仅存在功能转移的关系。对于柔性制造系统,它的各个组成元素需并行运行,协同动作,对资源并具有竞争性。前两种方法都是无法满足这种要求的。
3.Petri网分析法
用Petri网描述的系统有一个共同的特征:系统的动态行为表现为资源(物质资源和信息资源)的流动。可编程控制器的控制逻辑充分体现了这一特点,即谁条件满足谁就得电,得电者才能动作。该方法的具体设计步骤如下:
(1)各个执行元件、位置检测元件、启动信号等都作为Petri的状态元素。
(2)对每个切换主令信号采用一个转换表示。
(3)设置启动状态,并列出各个状态标志。
(4)设计Petri网的各个分程序。
(5)对于协调控制系统,将要协调的各个单元主令信号进行约束。
(6)对竞争控制系统、并发性的系统采用并行程序,循环型的系统采用与单序列程序相似的方法处理。
(7)分配地址,列出逻辑方程,进行编程。