控制工程在线更新2006年3月10日

通过控制工程人员 二六年三月十日
二六年三月十日
突出了 凤凰联络赞助
PLC编程工具在过去的20年里有了很大的发展。然而,绝大多数PLC实现都没有实现。原因:管理层经常面临这样的困境:只有特定的技术人员知道程序是如何编写的,因此他们是唯一有资格排除故障和/或修改程序的人。Grafcet,也称为顺序函数图编程(SCF),提供了符合IEC 61131-1的方法。

从凤凰接触完成
四种连接技术通过我们的专利双桥系统协同工作,该系统可以接受相同的插入式跳线和配件。螺丝夹,弹簧笼,自动弹簧和绝缘位移连接器为任何应用提供正确的连接技术。访问phoenixcon.com/cliplinecomplete了解更多关于这项创新技术的信息。www.phoenixcon.com/cliplinecomplete

结构化PLC编程使用Grafcet

plc的结构化编程方法已经存在了几十年,甚至可以在遗留控制器上实现。这些方法中的大多数都包含了控制序列的图形流程图,这直接转化为控制器逻辑。这些流程图可以由非程序员阅读、编写和修改,并确保以图形方式传达的内容将在逻辑中逐字实现。控制器所有者的直接利益包括:

•逻辑开发周期更短
•加速测试和调试任务
•由于增强的诊断,减少停机时间
•更方便的离线模拟和工厂验收测试

其中一种编程方法被称为grafcet——一种创建于1977年的图形编程方法,在IEC 60848和IEC 61131-3中进一步定义为顺序函数图编程(SFC)。该术语是法语首字母缩写:Graphe Fonctionnel de Command Etape-Transition,意思是阶跃转换命令的功能图。下面的图1显示了简单Grafcet的基本元素。

该序列从步骤0开始,执行动作#1。然后,该序列等待,直到条件#1满足,然后进入步骤1,执行动作#2。该序列停留在步骤1上,直到满足条件#2,从而推进到步骤2。一旦在步骤2,操作#3执行一次程序扫描,然后序列返回步骤0,循环重复。

这种结构在plc中有两种流行的实现。基于位或锁存/解锁的风格,以及基于文件或内存表的风格。

也由Moxa赞助


访问www.moxa.com了解Moxa的2-8端口即插即用嵌入式计算机,用于制造自动化、电力/公用事业、交通、POS/ATM、环境监测等。特点:Linux和Windows支持,强大的无风扇设计,LCM显示和键盘的HMI,双10/100 Mbps以太网,和英特尔Xscale处理器。拨打电话了解更多888-MOXA-USA。

基于位Grafcet

Grafcet流程图的最简单实现可以用基本的闩锁-解锁阶梯逻辑完成。在这个实现中,为每个Grafcet分配一个子例程。步骤转换逻辑在子例程的顶部被解析,步骤输出或动作逻辑紧随其后。

为了确保每个步骤之间至少发生一次程序扫描,每个Grafcet都使用一个过渡词和一个步骤词。步进字中的位发起动作,而过渡字中的位发起步进转换。通过这种方式,没有条件的步骤仍然可以确保操作有机会执行。图2说明了所需的逻辑。

解决过渡逻辑是对格拉夫塞的直接翻译。对于图1中的示例,可以使用图3中的过渡逻辑:

解析图1中的Grafcet的典型步骤操作逻辑可能如图4所示。

这种编程风格的优点是:
•容易被电工理解
•几乎可以在任何PLC上实现
•阶数/网络数可以直接与步数相关
•强制执行步进只需要设置步进位
•通过步骤的条件可以很容易地在逻辑的一个梯级/网络上看到
•在同一个Grafcet中可以并行分支执行
编程开销相对较低

缺点包括:
•顺序修改需要阶梯式逻辑更改
•Grafcet越大,需要的逻辑就越多
•自动步骤操作和恢复可能具有挑战性

基于文件的Grafcet

类似于在许多PLC控制器中发现的罐装鼓排序器指令,基于文件的Grafcet试图用标准逻辑实现这一点,同时允许这些指令中没有的灵活性。输入和输出条件存储在预设文件中。步进计数器用作这些文件的索引。

至少需要以下数据字:

STEP_COUNTER—保存步骤号
INPUT_WORD -映射到所有必需的输入
OUTPUT_WORD -激活所需的输出
INPUT_XOR_RESULT -保存输入XOR的结果

还需要以下数据文件:

#INPUT_MASKS -保存每个步骤所需的输入
保存每个输入所需的状态
#OUTPUT_PRESETS -保存每个步骤所需的输出

一旦格式就位,就可以为自动序列的几乎任何方面定义步骤预设。合并其他功能的逻辑是最小的。要实现图1中的示例,可以使用图5所示的映射。然后可以修改Grafcet以匹配图6。

映射的输入

序列输入映射如图7所示:

Grafcet预设

将实际输入的状态与预期通过步长(预设)的条件进行比较。对于本文,将同时使用输入文件(掩码位)和状态文件(输入ON或OFF)。通过在Mask文件中打开一个位,序列被告知用户希望在该步骤上查看该输入以便传递步骤。通过在state文件中设置相关的状态位,表示用户希望看到输入打开以通过步骤。类似地,通过在Output文件中设置一个位,表明关联的输出条件应该在该步骤上被激活。在某步上的输出没有设置位将强制该步上的输出关闭。

表1显示了实现图6中定义的Grafcet所需的预设值:

# INPUT_MASKS
#: 15 14 13 12 11 10 9 8 7 6 5 4 3. 2 1 0
字0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
词1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
字2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
词3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
# INPUT_STATES
字0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
词1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
字2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
词3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
# OUTPUT_PRESETS
字0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
词1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
字2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
词3 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
表1

步评估

基于文件的Grafcet体系结构的关键是,根据预设文件评估实际输入并在满足条件时向前推进一步。图8演示了这是如何在PLC上实现的:

通过一步

一旦异或结果计算为零,Grafcet就可以通过递增步骤计数器来传递步骤,如图9所示。

设置输出

从为当前步骤存储的预设设置输出字,如图10所示。

然后通过输出单词的图像设置实际输出,如图11所示。

基于文件的Grafcet的优点是:

一组逻辑执行所有步骤
预设文件可用于序列的任何方面,包括:

•可以直接在数据表中进行步骤更改
•步骤可以轻松地推进和重复
•一旦步进逻辑被证明,它将适用于任何数量的步骤
•可在任何支持间接寻址,AND, OR和XOR功能的PLC上实现
•真实的I/O变化很容易适应映射逻辑
•诊断和预设条件易于可视化

缺点包括:
•需要比基于位的Grafcet更多的开销
•电工可能需要额外的培训来理解间接寻址模型

为什么Grafcet ?

通过使用符合IEC 61131-1标准的软件和技术(如Grafcet),可以编写更容易排除故障、维护和重新部署不同应用程序的程序。本文中演示的Grafcet技术已经在各种各样的plc上实现,包括罗克韦尔自动化、西门子、欧姆龙、Modicon、Idec、三菱和西屋电气。Grafcet图表很容易理解,非程序员也可以解释甚至修改,以确保机器周期在第一次就能按照所有涉众的预期运行。

在线资源

Grafcet主页:www.lurpa.ens-cachan.fr/grafcet.html

IEC 60848标准:https://tc3.iec.ch/txt/147.htm

Petri网:https://lamspeople.epfl.ch/decotignie/G7RdPgb.pdf

IEC 1131-1定义的SFC: www.61131.com/sfc.htm

Mike Voll, Stantec Consulting Ltd.制造/工业控制经理