【图】plc梯形图编程思路_plc梯形图的编译原理

来源:电工天下时间:2020-02-20 09:18:54 作者:老电工手机版>>

有关plc梯形图的编程思路,plc梯形图的编译原理,在整个梯形图编译的过程中,一个步骤分析块之间的串联关系,一个步骤分析块之间的并联关系,注意相关指令的使用方法。

plc梯形图的编译原理

il语言非常接近汇编语言,编码后,plc处理器能很容易识别,但是梯形图是图形元素,cpu不容易识别,所以要将梯形图先编译为il语言。本文提供了一种递归编译的方式,感兴趣的朋友可以参考下。

转换思路:将梯形图以网络为单位进行遍历,选择一个网络进行分析,梯形图本质是块和块之间的串联,串联的块中又可能包含了并联关系,但是并联关系中,其实也是串联块的并联。

如图1:

plc梯形图的编译原理1

在整个梯形图编译的过程中,主要使用2个步骤(或者叫函数),一个步骤分析块之间的串联关系,一个步骤分析块之间的并联关系。

步骤0:先初始化开始行为网络的第一行,开始列为第一列,结束列为最后一列。然后进去步骤1。

步骤1、

(1)建立一个块堆栈BlockStack,输出堆栈OutputStack。

(2)首先,将图进行串联块的分析。将分析到的块压入BlockStack,输出块压入OutputStack。

(3)遍历BlockStack,对每一个块进行分析,

1)如果块的行数大于1,表示块中有并联关系,到步骤2分析该块。如果块不是第一个块,则要在并联关系解释完后,加入ANB指令。

2)如果块的行数等于1,表示块已经是最简串联块,直接输出块的语句。如果块是第一个块,使用LD加载第一个元素,依次往后使用AND。(至于使用LDI,还是ANI,请判断元素的类型。)如果块不是第一个块,使用AND加载第一个元素,依次往后使用AND。

(4)遍历输出块。

如果输出块是多行,使用步骤2分析输出块。如果输出块是单行,则直接输出块中元素:OUT、SET、RST。

步骤2、

(1)首先判断传入的块是输出块还是普通块。如果是输出块,建立一个记录标志。

(2)建立一个或堆栈.OrBlockStack.

(3)分析块Blcok中由哪几个串联块并联而成,将块压入OrBlockStack中.

(4)A、遍历OrBlockStack,每一个串联块进行步骤1串联分析。

B、为每一个串联块加上并联关系。

1)如果是输出:如果一共有2个分支,则第一个分支加入MPS,第二个分支加入MPP。如果分支大于2个,则第一个分支加入MPS,最后一个分支加入MPP,其他分支加入MPR。

2)如果不是输出:如果串联块中横线方向元素个数大于1个,加入ORB,如果只有一个元素,加入OR,进入步骤3检查代码。如果没有元素,就是短路。报错。

步骤3:全部完成后,对指令进行分析,如果有

LD Xn

OR

这样的指令,要合并为:

OR Xn.

举例:

梯形图程序如图1,可以划分为3个块:块1,块2,输出块。3个之间是串联的关系。

plc梯形图的编译原理2 

梯形图

图1

(现在是在步骤1中)依次将块1,块2,输出块传入步骤2,根据步骤1可知,块2后面需要加入ANB指令。

块1传入步骤2后,可以分析到块1是由2个串联块A、B并联组成的。如图2:

plc梯形图的编译原理3

梯形图

图2

(现在是在步骤2中)依次将A、B传入步骤1,根据步骤2可知,B传入步骤1后,要加上ORB指令。

块A传入步骤1后,可以分析到块A是由3个块a,b,c串联组成的,如图3:

plc梯形图的编译原理4

梯形图

(现在是在步骤1中)然后依次将a,b,c传入到步骤2中进行分析,根据步骤1可知,b进入步骤2后,要加入ANB指令,C进入步骤2后,也要加入ANB指令。

块a可以分析得到是由3个单行的串联a1,a2,a3块并联组成的。

梯形图

plc梯形图的编译原理5

(现在是在步骤2中)再依次把a1,a2,a3传入步骤1进行串联分析,根据步骤2可知,X2传入步骤1后,要加入OR指令,X3传入步骤1后,也要加入OR指令。

a1进入步骤1,可以得到a1只有一行,所以直接输出a1为

LD X1

a2传入步骤1,可以得到

LD X2

OR

a3传入步骤1可以得到

LD X3

OR

最后对指令进行分析,只要有

LD Xn

Or

这样的,都合并为OR Xn.

整理后得到指令为:

 LD X1

 OR X2

 OR X3

依次往后遍历,最后能得到所有的指令为:

LD X1

OR X2

OR X3

LD X4

OR X5

ANB

LD X6

OR X7

ANB

LD X9

OR X10

LD X11

LD X12

ANB

ORB

LD X13

OR X14

LD X15

OR X16

ANB

OR X17

ANB

OUT Y1

此算法中,将梯形图元素分块很关键,所以要处理好梯形图元素的分块。

相关文章
  • 自锁与互锁功能的plc梯形图程序设计实例

    自锁与互锁功能的plc梯形图程序设计实例

    自锁与互锁功能的plc梯形图程序设计,利用自身的常开触点使线圈持续保持通电即“ON”状态的功能称为自锁,利用两个或多个常闭触点来保证线圈不会同时通电的功能成为“互锁”。

    时间:2022-07-11 08:50:34

  • 将继电器控制电路转换为plc梯形图的方法

    将继电器控制电路转换为plc梯形图的方法

    继电器控制电路转换为plc梯形图的方法,需要用plc的外部接线图和梯形图来等效继电器电路图,根据继电器电路图设计梯形图,将继电器电路图转换为具有相同功能的plc外部硬件接线图和梯形图。

    时间:2022-07-11 08:50:25

  • plc梯形图编程中继电器原理图与梯形图图符的对应关系

    plc梯形图编程中继电器原理图与梯形图图符的对应关系

    plc梯形图编程中继电器原理图与梯形图的图符对应关系,plc梯形图编程语言的基本知识,根据继电器原理图画出梯形图,梯形图最左边是起始母线,最右边还有结束母线。

    时间:2022-07-11 08:50:24

  • 三菱plc梯形图的四条编程规则

    三菱plc梯形图的四条编程规则

    三菱plc梯形图的四条编程规则,梯形阶梯都是始于左母线,终于右母线,接点应画在水平线上,不应画在垂直线上,并联块串联时,应将接点多的去路放在梯形图左方,不宜使用双线圈输出。

    时间:2022-07-11 06:26:14

  • 电工图转换为plc梯形图的方法步骤

    电工图转换为plc梯形图的方法步骤

    将电工图转换为plc梯形图的方法与步骤,以三相感应电动机故障警报控制电路图为例,介绍了控制电路的动作、i/o编码、plc外部接线图、plc阶梯图、plc转换接线与阶梯图的设计过程。

    时间:2022-07-11 06:26:13

  • plc梯形图编程的四个概念

    plc梯形图编程的四个概念

    plc梯形图编程的四个概念,分为软继电器、能流、母线与梯形图的逻辑解算,根据梯形图中各触点的状态和逻辑关系,求出与图中各线圈对应的编程元件的状态,称为梯形图的逻辑解算。

    时间:2022-07-11 06:26:10

  • plc梯形图实现路灯延时触模开关控制

    plc梯形图实现路灯延时触模开关控制

    分享一个路灯延时触模开关控制的plc梯形图程序,plc梯形图实现路灯的延时开关,这在很多路灯控制场合经常会用到,配有实例图,供大家学习参考。

    时间:2022-07-10 07:15:52

  • plc梯形图程序与语句表的转换程序

    plc梯形图程序与语句表的转换程序

    有关plc梯形图程序与语句表的转换程序,根据plc梯形图程序写出对应的语句表程序,有完整的实例(图片),感兴趣的朋友参考下。

    时间:2022-07-10 07:15:47

推荐文章

Copyright © 2015 - 2022 dgjs123.com All Rights Reserved

电工天下 版权所有