plc梯形图编程基础知识详解 附plc梯形图中各符号的含义

发布时间:2019-11-12 08:23:38

PLC梯形图编程基础知识详

初学PLC梯形图编程,应要遵循一定的规则,并养成良好的习惯。下面以三菱FX系列PLC为例,简单介绍一下 PLC梯形图编程时需要遵循的规则,希望对大家有所帮助。有一点需要说明的是,本文虽以三菱PLC为例,但这些规则在其它PLC编程时也可同样遵守。

  一,梯形阶梯都是始于左母线,终于右母线(通常可以省掉不画,仅画左母线)。每行的左边是接点组合,表示驱动 逻辑线圈的条件,而表示结果的逻辑线圈只能接在右边的母线上。接点不能出现在线圈右边。如下图(a)应改为(b)



  二,接点应画在水平线上,不应画在垂直线上,如下图(a)中的接点X005与其它接点间的关系不能识别。对此类桥式电路,应按从左到右,从上到下的单向性原则,单独画出所有的去路。如图(b)所示:



  三,并联块串联时,应将接点多的去路放在梯形图左方(左重右轻原则);串联块并联时,应将接点多的并联去路放 在梯形图的上方(上重下轻的原则)。这样做,程序简洁,从而减少指令的扫描时间,这对于一些大型的程序尤为重要。如下图所示:



  四,不宜使用双线圈输出。若在同一梯形图中,同一组件的线圈使用两次或两次以上,则称为双线圈输出或线圈的重 复利用。双线圈输出一般梯形图初学者容易犯的毛病之一。在双线圈输出时,只有最后一次的线圈才有效,而前面的线圈是无效的。这是由PLC的扫描特性所决定 的。

  PLCCPU采用循环扫描的工作方式。一般包括五个阶段(如图所示):内部诊断与处理,与外设进行通讯,输入采样,用户程序执行和输出刷新。当方式开关处于STOP时,只执行前两个阶段:内部诊断与处理,与外设进行通讯。



  1,输入采样阶段

  PLC顺序读取每个输入端的状态,并将其存入到我们称之为输入映像寄存器的内在单元中。当进入程序执行阶段, 如输入端状态发生改变.输入映象区相应的单元信息并不会跟着改变,只有在下一个扫描周期的输入采样阶段,输入映象区相应的单元信息才会改变。因此,PLC 会忽视掉小于扫描周期的输入端的开关量的脉冲变化。

  2,程序执行阶段

  PLC从程序0步开始,按先上后下,先左后右的顺序扫描用户程序并进行逻辑运算。PLC按输入映象区的内容进 行逻辑运算,并把运算结果写入到输出映象区,而不是直接输出到端子。

  3,输出刷新阶段

  PLC根据输出映象区的内容改变输出端子的状态。这才是PLC的实际输出。

  以上简单说明了PLC的工作原理,下面我们再以实例说明为什么编写梯形图程序,不宜重复使用线圈。如下图所示,设输入采样时,输入映象区中X001=ONX002=OFFY003-ONY004=ON被实际写入到输出映象区。但继续往下执行时,因 X002=OFF,使Y003=OFF,这个后入为的结果又被写入输出映象区,改变原Y003的状态。所以在输出刷新阶段,实际外部输出 Y003=OFFY004=ON。许多新手就碰到过这样的问题,为什么X001已经闭合了,而Y003没有输出呢?逻辑关系不对。其实就是因为双线圈使用造成的。



  注意:我们所说的是不宜(最好不要)使用双线圈,双线圈使用并不是绝对禁止的,在一些特殊的场合也可以使用双 线圈,这时就需要你有较丰富的编程经验和技巧了。下面我们会谈到这一点。但对于初学者还是不要冒这个险。其实,从以上的例子可以看出,重复利用线圈之所以会造成Y003的输出混乱,是由于程序是从上到下顺序执行的缘故造成的。但如果我们可以改变程序执行的顺序,保证在任何时刻两个线圈只有一个驱动逻辑发生,就可以使用双线圈。其中,最常用的方法就是使用跳转指令。如下图所示:



  程序分析:M0闭合,程序跳至P0(不执行X001语句)M0常闭断开,CJP1不会发生,执行下一语句。此时,Y003X002状态进行驱动。M0断开时,程序顺序执行并按X001的状态对T003进行驱动,M0常闭闭合,跳至P1X003状态对 Y004进行驱动,即跳过了X002驱动Y003的语句。可见,在同一时刻,Y003驱动只有一个可以发生。此时,双线圈利用是可以的。

  但在梯形图编程时,我们还是要尽量避免使用双线圈,而引入辅助继电器是一个常用的方法。如下图所示:



  图(b)中,X001X002接点控制辅助继电器M000X003~X005接点控制辅助继电器 M001,再由两个继电器M000M001接点的并联组合去控制线圈Y000。这样逻辑关系没变,却把双线圈变成单线圈。

 

plc梯形图中各符号的含义

三菱 FX 系列PLC20条基本逻辑指令。

取指令与输出指令(LD/LDI/LDP/LDF/OUT

1LD(取指令) 一个常开触点与左母线连接的指令,每一个以常开触点开始的逻辑行都用此指令。

2LDI(取反指令) 一个常闭触点与左母线连接指令,每一个以常闭触点开始的逻辑行都用此指令。

3LDP(取上升沿指令) 与左母线连接的常开触点的上升沿检测指令,仅在指定位元件的上升沿(由OFFON)时接通一个扫描周期。

4LDF(取下降沿指令) 与左母线连接的常闭触点的下降沿检测指令。

5OUT(输出指令) 对线圈进行驱动的指令,也称为输出指令。

取指令与输出指令的使用说明:

1LDLDI指令既可用于输入左母线相连的触点,也可与ANBORB指令配合实现块逻辑运算;

2LDPLDF指令仅在对应元件有效时维持一个扫描周期的接通。图1中,当M1有一个下降沿时,则Y3只有一个扫描周期为ON

3LDLDILDPLDF指令的目标元件为X Y M TCS

4OUT指令可以连续使用若干次(相当于线圈并联),对于定时器和计数器,在OUT指令之后应设置常数K或数据寄存器。

5OUT指令目标元件为YMTCS,但不能用于X

触点串联指令(AND/ANI/ANDP/ANDF

1AND(与指令) 一个常开触点串联连接指令,完成逻辑“与”运算。

2ANI(与反指令) 一个常闭触点串联连接指令,完成逻辑“与非”运算。

3ANDP 上升沿检测串联连接指令。

4ANDF 下降沿检测串联连接指令。

触点串联指令的使用的使用说明:

1ANDANIANDPANDF都指是单个触点串联连接的指令,串联次数没有限制,可反复使用。

2ANDANIANDPANDF的目标元元件为XYMTCS

3OUT M101指令之后通过T1的触点去驱动Y4称为连续输出。

触点并联指令(OR/ORI/ORP/ORF

1OR(或指令) 用于单个常开触点的并联,实现逻辑“或”运算。

2ORI(或非指令) 用于单个常闭触点的并联,实现逻辑“或非”运算。

3ORP 上升沿检测并联连接指令。

4ORF 下降沿检测并联连接指令。

触点并联指令的使用说明:

1ORORIORPORF指令都是指单个触点的并联,并联触点的左端接到LDLDILDPLPF处,右端与前一条指令对应触点的右端相连。触点并联指令连续使用的次数不限;

2ORORIORPORF指令的目标元件为XYMTCS

块操作指令(ORB / ANB

1ORB(块或指令) 用于两个或两个以上的触点串联连接的电路之间的并联。

ORB指令的使用说明:

1)几个串联电路块并联连接时,每个串联电路块开始时应该用LDLDI指令;

2)有多个电路块并联回路,如对每个电路块使用ORB指令,则并联的电路块数量没有限制;

3ORB指令也可以连续使用,但这种程序写法不推荐使用,LDLDI指令的使用次数不得超过8次,也就是ORB只能连续使用8次以下。

2ANB(块与指令) 用于两个或两个以上触点并联连接的电路之间的串联。ANB指令的使用说明:

1)并联电路块串联连接时,并联电路块的开始均用LDLDI指令;

2)多个并联回路块连接按顺序和前面的回路串联时,ANB指令的使用次数没有限制。也可连续使用ANB,但与ORB一样,使用次数在8次以下。

置位与复位指令(SET/RST

1SET(置位指令) 它的作用是使被操作的目标元件置位并保持。

2RST(复位指令) 使被操作的目标元件复位并保持清零状态。

SETRST指令的使用如图6所示。当X0常开接通时,Y0变为ON状态并一直保持该状态,即使X0断开Y0ON状态仍维持不变;只有当X1的常开闭合时,Y0才变为OFF状态并保持,即使X1常开断开,Y0也仍为OFF状态。

SET RST指令的使用说明:

1SET指令的目标元件为YMSRST指令的目标元件为YMSTCDV ZRST指令常被用来对DZV的内容清零,还用来复位积算定时器和计数器。

2)对于同一目标元件,SETRST可多次使用,顺序也可随意,但最后执行者有效。

微分指令(PLS/PLF

1PLS(上升沿微分指令) 在输入信号上升沿产生一个扫描周期的脉冲输出。

2PLF(下降沿微分指令) 在输入信号下降沿产生一个扫描周期的脉冲输出。

  利用微分指令检测到信号的边沿,通过置位和复位命令控制Y0的状态。

PLSPLF指令的使用说明:

1PLSPLF指令的目标元件为YM

2)使用PLS时,仅在驱动输入为ON后的一个扫描周期内目标元件ON,如图3-21所示,M0仅在X0的常开触点由断到通时的一个扫描周期内为ON;使用PLF指令时只是利用输入信号的下降沿驱动,其它与PLS相同。

主控指令(MC/MCR

1MC(主控指令) 用于公共串联触点的连接。执行MC后,左母线移到MC触点的后面。

2MCR(主控复位指令) 它是MC指令的复位指令,即利用MCR指令恢复原左母线的位置。

  在编程时常会出现这样的情况,多个线圈同时受一个或一组触点控制,如果在每个线圈的控制电路中都串入同样的触点,将占用很多存储单元,使用主控指令就可以解决这一问题。MCMCR指令的使用如图8所示,利用MC N0 M100实现左母线右移,使Y0Y1都在X0的控制之下,其中N0表示嵌套等级,在无嵌套结构中N0的使用次数无限制;利用MCR N0恢复到原左母线状态。如果X0断开则会跳过MCMCR之间的指令向下执行。

MCMCR指令的使用说明:

1MCMCR指令的目标元件为YM,但不能用特殊辅助继电器。MC3个程序步,MCR2个程序步;

2)主控触点在梯形图中与一般触点垂直(如图3-22中的M100)。主控触点是与左母线相连的常开触点,是控制一组电路的总开关。与主控触点相连的触点必须用LDLDI指令。

3MC指令的输入触点断开时,在MCMCR之内的积算定时器、计数器、用复位/置位指令驱动的元件保持其之前的状态不变。非积算定时器和计数器,用OUT指令驱动的元件将复位,22中当X0断开,Y0Y1即变为OFF

4)在一个MC指令区内若再使用MC指令称为嵌套。嵌套级数最多为8级,编号按N0N1N2N3N4N5N6N7顺序增大,每级的返回用对应的MCR指令,从编号大的嵌套级开始复位。

堆栈指令(MPS/MRD/MPP

  堆栈指令是FX系列中新增的基本指令,用于多重输出电路,为编程带来便利。在FX系列PLC中有11个存储单元,它们专门用来存储程序运算的中间结果,被称为栈存储器。

1MPS(进栈指令) 将运算结果送入栈存储器的第一段,同时将先前送入的数据依次移到栈的下一段。

2MRD(读栈指令) 将栈存储器的第一段数据(最后进栈的数据)读出且该数据继续保存在栈存储器的第一段,栈内的数据不发生移动。

3MPP(出栈指令) 将栈存储器的第一段数据(最后进栈的数据)读出且该数据从栈中消失,同时将栈中其它数据依次上移。

  堆栈指令的使用说明:

1)堆栈指令没有目标元件;

2MPSMPP必须配对使用;

3)由于栈存储单元只有11个,所以栈的层次最多11层。

逻辑反、空操作与结束指令(INV/NOP/END

1INV(反指令) 执行该指令后将原来的运算结果取反。反指令的使用如图10所示,如果X0断开,则Y0ON,否则Y0OFF。使用时应注意INV不能象指令表的LDLDILDPLDF那样与母线连接,也不能象指令表中的ORORIORPORF指令那样单独使用。

2NOP(空操作指令) 不执行操作,但占一个程序步。执行NOP时并不做任何事,有时可用NOP指令短接某些触点或用NOP指令将不要的指令覆盖。当PLC执行了清除用户存储器操作后,用户存储器的内容全部变为空操作指令。

3END(结束指令) 表示程序结束。若程序的最后不写END指令,则PLC不管实际用户程序多长,都从用户程序存储器的第一步执行到最后一步;若有END指令,当扫描到END时,则结束执行程序,这样可以缩短扫描周期。在程序调试时,可在程序中插入若干END指令,将程序划分若干段,在确定前面程序段无误后,依次删除END指令,直至调试结束。

FX系列PLC的步进指令

1.步进指令(STL/RET

  步进指令是专为顺序控制而设计的指令。在工业控制领域许多的控制过程都可用顺序控制的方式来实现,使用步进指令实现顺序控制既方便实现又便于阅读修改。

FX2N中有两条步进指令:STL(步进触点指令)和RET(步进返回指令)。

  STLRET指令只有与状态器S配合才能具有步进功能。如STL S200表示状态常开触点,称为STL触点,它在梯形图中的符号为-|| ||- ,它没有常闭触点。我们用每个状态器S记录一个工步,例STL S200有效(为ON),则进入S200表示的一步(类似于本步的总开关),开始执行本阶段该做的工作,并判断进入下一步的条件是否满足。一旦结束本步信号为ON,则关断S200进入下一步,如S201步。RET指令是用来复位STL指令的。执行RET后将重回母线,退出步进状态。

2.状态转移图

  一个顺序控制过程可分为若干个阶段,也称为步或状态,每个状态都有不同的动作。当相邻两状态之间的转换条件得到满足时,就将实现转换,即由上一个状态转换到下一个状态执行。我们常用状态转移图(功能表图)描述这种顺序控制过程。,用状态器S记录每个状态,X为转换条件。如当X1ON时,则系统由S20状态转为S21状态。

状态转移图中的每一步包含三个内容:本步驱动的内容,转移条件及指令的转换目标。如图1S20步驱动Y0,当X1有效为ON时,则系统由S20状态转为S21状态,X1即为转换条件,转换的目标为S21步。

3.步进指令的使用说明

1STL触点是与左侧母线相连的常开触点,某STL触点接通,则对应的状态为活动步;

2)与STL触点相连的触点应用LDLDI指令,只有执行完RET后才返回左侧母线;

3STL触点可直接驱动或通过别的触点驱动YMST等元件的线圈;

4)由于PLC只执行活动步对应的电路块,所以使用STL指令时允许双线圈输出(顺控程序在不同的步可多次驱动同一线圈);

5) STL触点驱动的电路块中不能使用MCMCR指令,但可以用CJ指令;

6)在中断程序和子程序内,不能使用STL指令

学习PLC基本梯形图

1。启动、保持、停止电路

x1 x2

|--||---|/|-----(y1)

| |

| y1 |

|--||-

|

2.三相异步电机正反转控制电路

|

| x0 x2 x1 y1

|--||--------|/|------|/|-------|/|-------(y0) 正转

| |

| y0 |

|--||------

|

| x1 x2 x0 y0

|--||--------|/|------|/|-------|/|-------(y1) 反转

| |

| y1 |

|--||------

|

3.闪烁电路

x0 T1

|--||---|/|-----(To)k20

|

| T0

|--||-----------(T1)k30

| |

|-----(y0)



4.延时接通/断开电路

x0

|--||-----------------(T0)k90

|

| y1 x0

|--||--------|/|------(T1)k30

|

| t0 t1

|--||--------|/|------(y1)

| |

| y1 |

|--||------

|

5. DF上升沿微分,DFI下降沿微分



概述

DF:当检测到输入触发信号的上升沿时,仅将触点闭合一个扫描周期。

DFI:当检测到输入触发信号的下降沿时,仅将触点闭合一个扫描周期。

程序示例

示例说明

在检测到 X0的上升沿(OFFON)时,Y0仅为 ON一个扫描周期。

在检测到 X1的下降沿(ONOFF)时,Y1仅为 ON一个扫描周期。



描述

当触发信号状态从 OFF 状态到 ON状态变化时,DF 指令才执行并且输出仅接通一个扫描周期。

当触发信号状态从 ON状态到 OFF 状态变化时,DFI 指令才执行并且输出仅接通一个扫描周期。

若执行条件最初即为闭合,则 PLC接通电源,则不会产生输出。

编程时的注意事项

DF DFI 指令的使用次数有限制,CX1-16R使用这两个指令的次数之和最多为 128 次。

6。微分指令的应用示例

如果采用微分指令编程,可以使程序调试更加简单。

自保持回路应用示例

使用微分指令可以保持输入信号。

7。交替回路应用示例

使用微分指令也可以构成一个交替变化回路,实现利用同一个输入信号切换进行保持或释放。

plc梯形图编程基础知识详解 附plc梯形图中各符号的含义

相关推荐