PLC梯形图编译原理

时间:2023-03-20来源:佚名
IL语言非常接近汇编语言,编码后,plc处理器能很容易识别,但是梯形图是图形元素,CPU不容易识别,所以要将梯形图先编译为IL语言。本文提供了一种递归编译的方式,不完善的地方,还请见谅。
转换思路:
将梯形图以网络为单位进行遍历,选择一个网络进行分析,梯形图本质是块和块之间的串联,串联的块中又可能包含了并联关系,但是并联关系中,其实也是串联块的并联。如图1:


PLC梯形图编译原理


在整个梯形图编译的过程中,主要使用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梯形图编译原理

图1
(现在是在步骤1中)依次将块1,块2,输出块传入步骤2,根据步骤1可知,块2后面需要加入ANB指令。
块1传入步骤2后,可以分析到块1是由2个串联块A、B并联组成的。如图2:

PLC梯形图编译原理


图2
(现在是在步骤2中)依次将A、B传入步骤1,根据步骤2可知,B传入步骤1后,要加上ORB指令。
块A传入步骤1后,可以分析到块A是由3个块a,b,c串联组成的,如图3:

PLC梯形图编译原理



(现在是在步骤1中)然后依次将a,b,c传入到步骤2中进行分析,根据步骤1可知,b进入步骤2后,要加入ANB指令,C进入步骤2后,也要加入ANB指令。
块a可以分析得到是由3个单行的串联a1,a2,a3块并联组成的。

PLC梯形图编译原理



(现在是在步骤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
在这个算法中,将梯形图元素分块,是最关键的,所以要处理好梯形图元素的分块,至于怎么分块,就需要自己想了哟~

    相关阅读

    互感器预防雷击的保护措施

    互感器 预防雷 击的保护措施有以下内容: 变电站 遭受的雷击是下行雷,主要来自两个方面:一是雷直击在变电站的电气 设备上;二是架空线路的感应雷过电压和直击雷过电压形成的...
    2023-03-21

    【图】旋转变压器的工作原理_旋转变压器的参数与性能指标

    有关旋转变压品质工作原理,环形变压器式旋转变压器 、磁阻式旋转变压器 、多极旋转变压器的结构组成,以及旋转变压器的主要参数与性能指标,旋转变压器的信号变换方法等。 旋...
    2022-12-10
    【图】旋转变压器的工作原理_旋转变压器的参数与性能指标

    R、L、C串联电路电压与电流的关系

    1. 相量关系 以电流为参考相量 ,根据KVL 令电抗 ,单位:Ω 则有: 定义: 称为 复阻抗 ,简称阻抗,单位:Ω 阻抗分两部分:实部为“阻”――电阻;虚部为“抗”――电容 、电感...
    2023-03-09
    R、L、C串联电路电压与电流的关系

    plc常开常闭触点画法

    常开或常闭触点是指在没有任何外部作用下的自然状态(比如通电),这时候的常开触点就是断开的,常闭就的接通的。在plc 程序中,如果引用了常开触点,那么当对应的I/O外部信号接通...
    2023-03-06
    plc常开常闭触点画法

    变频器的应用误区和弊端及应对策略

    变频器 在于其他智能设备(plc 、dcs 系统)配合后,可实现多重控制策略和闭环调节,其本身也具备较为完善的保护功能。但在实际应用和安装环境中,却存在许多误区。正视矛盾的所...
    2023-03-18

    热销商品

    加厚abs安全帽电工建筑工地程施工领导监理透气防砸头盔可印字V型

    这款加厚ABS安全帽专为电工、建筑工地施工人员、领导及监理设计,采用高强度ABS工程塑料,抗冲击、防砸性能优异,有效保障头部安全。帽体加厚设计,增强耐用性与防护等级...
    5.8

    水口钳高硬度模型剪钳电子钳工业级口水剪斜嘴钳偏口斜口专用钳子

    水口钳高硬度模型剪钳是一款工业级精密工具,专为电子、模型制作及精细作业设计。采用优质高碳钢材质,经热处理工艺打造,具备卓越的硬度和耐磨性,可轻松剪切金属引脚、...
    4.8

    170电子剪钳II 如意斜口钳 工业斜嘴钳水口钳 模型剪塑胶钳尖嘴钳

    170电子剪钳II如意斜口钳是一款专业级精密工具,集工业斜嘴钳、水口钳、模型剪、塑胶钳与尖嘴钳功能于一体,适用于电子维修、模型制作、手工艺及精密作业。其采用优...
    4.5

    安全帽国标工地加厚施工领导透气安全头盔建筑工程监理免费印字

    本款安全帽严格遵循国家GB 2811-2019标准,专为建筑工程、工地施工及监理人员设计。采用高强度ABS工程塑料,加厚壳体有效抗冲击,保障头部安全。帽体轻盈透气,内置可调...
    10

    包邮三角型简易螺丝刀三角十字螺丝刀螺丝批改锥起子五金工具5mm

    这款5mm三角型简易螺丝刀,专为拧紧或拆卸三角形螺丝设计,适用于电子维修、家电维护及精密仪器装配等场景。采用优质合金钢材质,刀头硬度高、耐磨损,确保长久使用不变...
    3.64

    网站栏目