1 / 54

第6章 可编程控制器的指令

第6章 可编程控制器的指令. 6.1 概述 6.2 基本逻辑指令 6.3 步进顺控指令 6.4 功能指令简介. 第6章 可编程控制器的指令. 6.1 概述 用户程序的三种形式: 梯形图、指令表和状态转移图( SFC)。 1. 梯形图语言 在继电器控制系统中常用的接触器、继电器梯形图的基础上演变而来,与继电器控制系统原理图相呼应。 PLC 梯形图使用的内部继电器、定时/计数器等,都由软件实现。主要特点是使用方便、修改灵活,是传统继电器控制系统梯形图的硬件接线所无法比拟的。 典型的梯形图见图6-1。 左右两条垂直线称作左母线和右 母线。在左、右两母线之间,触

oistin
Download Presentation

第6章 可编程控制器的指令

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第6章 可编程控制器的指令 • 6.1 概述 • 6.2 基本逻辑指令 • 6.3 步进顺控指令 • 6.4 功能指令简介

  2. 第6章 可编程控制器的指令 • 6.1 概述 • 用户程序的三种形式:梯形图、指令表和状态转移图(SFC)。 • 1.梯形图语言 • 在继电器控制系统中常用的接触器、继电器梯形图的基础上演变而来,与继电器控制系统原理图相呼应。 • PLC梯形图使用的内部继电器、定时/计数器等,都由软件实现。主要特点是使用方便、修改灵活,是传统继电器控制系统梯形图的硬件接线所无法比拟的。 • 典型的梯形图见图6-1。 • 左右两条垂直线称作左母线和右 • 母线。在左、右两母线之间,触 • 点在水平线上相串联,相邻的线 • 也可以用一条垂直线连接起来, • 作为逻辑的并联。 • 图6-1 典型的梯形图

  3. 第6章 可编程控制器的指令 • “能流”概念:图6-1中,把左母线假想为电源“相线”,而把右母线假想为电源“零线”。如果有“能流”从左至右流向线圈,则线圈被激励。如没有“能流”,则线圈未被激励。 • 强调:引入“能流”概念,仅用于说明如何理解梯形图各输出点的动作,实际并不存在这种“能流”。 • 2.指令表语言 • 类似于计算机的助记符语 • 言,可编程控制器最基础 • 的编程语言。 • 指令表编程:用一个或几 • 个容易记忆的字符来代表 • 可编程控制器的某种操作 • 功能。 • 指令表编程举例见图6-2示. • 图6-2 基本指令应用举例

  4. 第6章 可编程控制器的指令 • 3.状态转移图(即顺序功能流程图)语言 • 一种较新的编程语言。用顺序功能流程图来表达一个顺序控制过程。 • 用状态转移图实现钻孔顺控举例见图6-3示. • 图6-3 状态转移图编程例 • 图中,每一方框表示一个状态,方框中的数字代表顺序步,每一状态对应于一个控制任务,每个状态的转移条件以及每个状态执行的功能可以写在方框右边。

  5. 第6章 可编程控制器的指令 • 6.2 基本逻辑指令 • 6.2.1 逻辑取指令和输出指令(LD/LDI/OUT) • 符号、名称、功能、梯形图、可用软元件见表6-1(P199)。 • LD:从输入公共线(左母线)开始,取用常开触点。 • LDI:从输入公共线(左母线)开始,取用常闭触点。 • OUT:用于对Y、M、S、T、C的线圈的驱动指令,不能用于X。 • 例:应用如图6-4示. • 图6-4 LD、LDI、OUT指令的应用 • 说明: • 1、LD、LDI指令用于输入公共线相连之触点,也可与ANB、ORB指令配合用于分支回路开头。

  6. 第6章 可编程控制器的指令 • 2. OUT指令用于输出继电器、辅助继电器、定时器及计数器。不能用于输入继电器。 • 3.串联的OUT指令可连续使用任意次。 • 4.对定时器、计数器使用OUT指令之后,必须跟常数K。 • 6.2.2 触点串联指令(AND/ANI) • 符号、名称、功能、梯形图、可用软元件见表6-2(P200)。 • AND:用于单个常开触点的串联。 • ANI:用于单个常闭触点的串联。 • 例:指令应用见图6-5示。 • 图6-5 AND、ANI指令的应用

  7. 第6章 可编程控制器的指令 • 说明: • 1.AND、ANI是单个触点串联连接指令,可连续使用。 • 2.若需串联由多个触点组合回路(如并联回路),须用ANB(与块)指令。 • 3.如电路设计正确,可任意次重复使用OUT指令。 • 4.串联触点个数原则上无限制,但在使用图形编程器和打印机时,每行触点个数应少于10个。连续输出不超过24行。 • 6.2.3 触点并联指令(OR/ORI) • 符号、名称、功能、梯形图、可用软元件见表6-3(P201)。 • OR:用于单个常开触点并联。 • ORI:用于单个常闭触点并联。 • 例:指令应用见图6-6示。 • 说明: • 1.只能作为一个接点的并联联接指令,紧接在LD、LDI指令后使 • 用,可连续使用。 • 2.将二个以上触点的串联回路与其它回路并联时,须用ORB(或块)指令。

  8. 第6章 可编程控制器的指令 • 图6-6 OR、ORI指令的应用 • 6.2.4 串联电路块并联指令(ORB) • 符号、名称、功能、梯形图见表6-4(P202)。 • 用于串联电路块(回路)的并联联接。 • 例:指令应用见图6-7示。 • 说明: • 1.几个串联回路并联时,支路起点以LD、LDI开始,支路终点用ORB指令。 • 2.如需多个回路并联,在每一回路后面加ORB指令。

  9. 第6章 可编程控制器的指令 • 图6-7 ORB指令的应用 • 3.也可将所有要并联的回路全部写出,再连续使用与支路个数相同的ORB指令,但不得超过8次。 • 6.2.5并联电路块串联指令(ANB) • 符号、名称、功能、梯形图见表6-5(P202)。 • 用于并联电路块(回路)的串联联接。 • 例:指令应用见图6-8示。 • 说明: • 1.各并联回路区段的开头,使用LD或LDI指令;构成各并联回路区段后,再用ANB指令与前面回路串联.

  10. 第6章 可编程控制器的指令 • 图6-8 ANB指令的应用 • 2.如有多个并联回路区段,可顺次用与块指令与前面回路联接,回路数量无限制。但连续使用与块指令,不得超过8次。 • 若将图6-8(a)改成图6-8(b)形式,梯形图功能不变,但可减少指令条数。 • ANB、ORB指令的混合使用见图6-9示。

  11. 第6章 可编程控制器的指令 • 图6-9 ANB、ORB指令的混合使用 • 6.2.6 多重输出电路指令(MPS/MRD/MPP) • 符号、名称、功能、梯形图见表6-6(P204)。 • MPS:进栈 • MRD:读栈 作用:将联接点先存贮,用于连接后面的电路。 • MPP:出栈 • PLC中有11个用于存贮运算中间结果的栈存贮器。 • 说明:

  12. 第6章 可编程控制器的指令 • 1)使用一次MPS指令,该时刻运算结果就推入栈的第一段;再次使用MPS,当时的运算结果推入栈的第一段,先推入的数据依次向栈的下一段推移。 • 2)使用MPP指令,各数据依次向上段压移,最上段的数据在读出后从栈内消失。 • 3) MRD是最上段所存最新数据的读出专用指令,栈内数据不发生下压或上托。 • 例:指令应用见图6-10示。 • 图6-10 MPS、MRD、MPP指令的应用

  13. 第6章 可编程控制器的指令 • 6.2.7 主控触点指令(MC/MCR) • 符号、名称、功能、梯形图见表6-7(P205)。 • MC:主控指令(主控电路块起点) • MCR:主控复位(主控电路块终点) 成对使用 • 例:指令应用见图6-11示。 • 图6-11 MC、MCR指令的应用

  14. 第6章 可编程控制器的指令 • 说明: • 1.输入X000接通时,执行MC与MCR间指令;X000断开时,从MC到MCR间的指令无效。此时若触点X001、X002闭合,线圈Y000、T0均不得电,线圈Y002也不会在1s后得电。 • 2.MC指令后,母线(LD、LDI)移至MC触点之后,返回原来母线的指令是MCR。MC、MCR必须成对使用。 • 3.使用不同的Y、M元件号,可多次使用MC指令。特殊辅助继电器不能用作MC的操作元件。 • 4. 在MC指令内再使用MC指令时,嵌套级N的编号顺次增大,返回时用MCR指令,从大的嵌套级开始解除。 • 嵌套举例:见图6-12示。 • 注:最大嵌套层数为8层(0-7). • 6.2.8自保持与解除指令(SET/RST) • 符号、名称、功能、梯形图和可用软元件见表6-8(P207)。 • SET:置位,令元件自保持ON; • RST:复位,清除动作保持,寄存器清零。 • 用于输出继电器Y、状态器S、辅助继电器M等作置位和复位操作。 • 例:指令应用见图6-13示。

  15. 第6章 可编程控制器的指令 • 图6-12 含有嵌套的MC、MCR指令的应用

  16. 第6章 可编程控制器的指令 • 图6-13 自保持与解除指令的应用 • 说明: • 1.X000一接通,即使再断开,Y000也保持接通;X001接通后,即使再断开,Y000也保持断开,对M、S也同样。 • 2.对同一元件可多次使用SET、RST指令,但最后执行的一条才有效。 • 3.RST指令也可使数据寄存器D、变址寄存器V、Z的内容清零。 • 6.2.9定时器、计数器指令(OUT/RST) • 符号、名称、功能、梯形图和可用软元件见表6-9(P207)。 • OUT:驱动定时器、计数器线圈; • RST:复位输出触点,并将当前数据清“0”。 • 1.定时器的应用 • 图6-14中,T0是普通定时器,当触点X000闭合后,定时器T0开始计时,10s后触点T0闭合,线圈Y000得电;若触点X000断开,不论在定时中途,

  17. 第6章 可编程控制器的指令 • 还是在定时时间到后,定时器T0均被复位。T250是积算型定时器,当触点X001闭合后,定时器T250开始计时,在计时过程中,即使触点X001断开或停电,定时器T250仍保持已计时的时间。当触点X00l再次闭合后,定时器T250在原计时时间的基础上继续计时,直到10s时间到。当触点X002闭合,定时器T250被复位。 • 图6-14 定时器的应用 • 2.计数器的应用 • 图6-15中,C0是普通计数器,利用触点X011从断开到闭合的变化,驱动

  18. 第6章 可编程控制器的指令 • 计数器C0计数。触点X0ll闭合一次,计数器C0的当前值加l,直到其当前 • 值为5,触点C0闭合。以后即使继续有计数输入,计数器的当前值不变。当触点X010闭合,执行RST C0指令,计数器C0被复位,当前值为0,触点C0断开,输出继电器线圈Y001失电。 • 普通计数器与停电保持计数器区别:PLC掉电后,普通计数器的当前值被清除,而停电保持用计数器则可存储计数器在停电前的计数值。当恢复供电后,停电保持用计数器可在上一次保存的计数值上累计计数。 • 图6-15 计数器的应用 • 6.2.10脉冲输出指令(PLS/PLF) • 符号、名称、功能、梯形图和可用软元件见表6-10(P209)。

  19. 第6章 可编程控制器的指令 • 又称微分输出指令。用于输出继电器Y、辅助继电器M(特殊继电器除外)的短时间的脉冲输出。 • PLS:上升沿微分输出; • PLF:下降沿微分输出。 • 例:指令应用见图6-16示. • 图6-16 脉冲输出指令的应用 • 说明: • 1)PLS、PLF指令作用:将脉宽较宽的输入信号变成脉宽等于PC扫描周期的触发脉冲信号,而信号周期不变。 • 2)为积算定时器、计数器等提供复位脉冲信号,避免因脉冲过宽(对计数器而言,可能屏蔽掉正常输入信号)或过窄(不能可靠复位)等问题。

  20. 第6章 可编程控制器的指令 • 6.2.11 脉冲式触点指令 • 符号、名称、功能、梯形图和可用软元件见表6-11(P209)。 • 说明: • 一组与LD、AND、OR指令相对应的脉冲式触点指令。指令中P代表上升沿检测,它表示在指定的软元件触点闭合(上升沿)时,被驱动的线圈得电一个扫描周期T;F代表下降沿检测,它表示在指定的软元件触点断开(下降沿)时,被驱动的线圈得电一个扫描周期T。 • 脉冲检测指令可用图6-17(P210)形象地说明。波形图中的高电平表示触点闭合。 • 图6-17 脉冲检测指令的应用 • 6.2.12 逻辑运算结果取反指令 • 符号、名称、功能、梯形图、可用软元件见表6-12(P210)。

  21. 第6章 可编程控制器的指令 • 说明: • 1.INV指令是把指令所在位置当前逻辑运算结果取反,取反后的结果仍可继续运算。INV指令无操作元件。 • 2.使用INV指令,在AND或ANI,ANDP,ANDF指令的相同位置处编程。 • 3.不能象OR,0RI,ORP,ORF指令那样单独使用,也不能象LD,LDI,LDP,LDF那样与母线单独连接。 • INV指令的应用如图6-18(P211)示。 • 在图6-18中,如果X0断开,则Y0接通;如果X0接通,则Y0断开。 • 图6-18 INV指令的应用 • 6.2.13 空操作指令(NOP) • 符号、名称、功能、梯形图、可用软元件见表6-13(P211)。

  22. 第6章 可编程控制器的指令 • NOP:空操作,无具体动作,用于程序修改。 • 例:指令应用指令见图6-19示。 • 图6-19 NOP指令的应用 • 说明: • 1、在修改或增加程序时,插入NOP指令,可使步序号的改变减到最少。 • 2、用NOP取代已写入的指令,可改变电路。 • 3.若将LD、LDI、ANB、ORB等指令改为NOP,程序构成会发生很大变化。 • 4.执行程序全清操作后,全部指令都变成NOP。 • 6.2.14 程序结束指令(END) • 符号、名称、功能、梯形图、可用软元件见表6-14(P212)。 • END:用于程序结束,返回第“0”步。

  23. 第6章 可编程控制器的指令 • 说明: • 1.PLC的用户程序存贮区很大,若在 • 程序最后写入END指令,对END后面的 • 程序步不再执行。如无END指令,PLC • 扫描整个存贮区,程序运行周期加长。 • 2.调试程序时,将END指令插入各程 • 序段,便于查找故障和调试。 • 不同型号PLC,指令系统有差异。PLC功能越强,指令越丰富。 • 6.3 步进顺控指令 • 利用IEC标准的流程图(SFC)语言编制步进控制程序,初学者很容易编写复杂的步进控制程序,工作效率大大提高。 • SFC语言:一种通用的流程图语言。三菱小型PLC在基本逻辑指令之外增加两条简单的步进梯形指令(STL,RET),同时辅之以大量状态元件,就可用类似于SFC语言的状态转移图方式编程。 • 步进梯形指令(STL):利用内部软元件进行工序步进式控制的指令。 • 返回指令(RET):指状态(S)流程结束,用于返回主程序(母线)的指令。

  24. 第6章 可编程控制器的指令 • 6.3.1 状态转移图 • 1.状态转移图的基本概念 • 又称功能图或功能流程图,一种描述顺序控制系统的图形表示方法,专用于工业顺序控制程序设计的一种功能性说明语言。 • 主要由“状态”、“转移条件”、“转移方向”、等元素组成。 • (1)状 态 • 状态的符号如图6-21示。矩形框中可写上该状态的编号或代码。 • ①初始状态 • 功能图运行的起点,一个控制系统至少有一个初始状态。图形符号为双线的矩形框,如图6-22示. • 图6-21 状态的图形符号 图6-22 初始状态的图形符号 • ②工作状态 • 根据系统是否运行,状态可分为动态和静态两种。动状态是指当前正在

  25. 第6章 可编程控制器的指令 • 运行的状态,静状态是没有运行的状态。 • ③与状态对应的动作 • 表示方法如图6-23示。 • (2)转 移 • 用一个有向线段表示转移的方向。两个状态之间的有向线段上再用一段横线表示这一转移。转移的符号如图6-24示. • 图6-23 状态下动作的表示 图6-24 转移符号 • 转移条件:指使系统从一个状态向另一个状态转移的必要条件,通常用文字、逻辑方程及符号来表示。 • 2.状态的功能 • 称为“状态”的软元件是构成状态转移图的重要元素。FX2N系列可编程控制器的软元件中有900点状态(S0-S899)可用于构成状态转移图。

  26. 第6章 可编程控制器的指令 • 每个状态具有驱动负载、指定转移方向以及指定转移条件三个功能。 • 图6-25中:①状态S20有效时,输出Y0,Y1动作,程序等待转移条件X10动作。②X10瞬时接通,动作状态就从S20向S2l转移,同时S20自动断开。③S20转到S2l,使Y0 置OFF,Y2置 ON。在上一状态中由SET指令驱动的Y1保持接通。状态转移图、步进顺控图和助记符指令如图6-25示。 • 编程顺序:先进行负载的驱动处理,接着进行转移处理。 • 图6-25 状态的功能 • 3.状态转移图的构成规则 • (1)状态与状态不能相连,必须用转移分开; • (2)状态与转移、转移与状态之间的连接采用有向线段,从上向下画时,可以省略箭头;当有向线段从下向上画时,必须画上箭头,以表示方向; • (3)一个状态转移图至少要有一个初始状态。

  27. 第6章 可编程控制器的指令 • 举例:某冲压机状态转移图。 • 工作顺序分为三个状态:初始、 • 下冲和返回。 • 初始位置是冲头抬起,处于高位; • 按动启动按钮时,冲头向工件冲 • 击;到最低位置时,触动低位行 • 程开关;然后冲头抬起,回到高 • 位,触动高位行程开关,停止运 • 行。 图6-26 冲压机状态转移图 • 注意:初始状态到下冲状态的转移须满足启动信号X0和高位行程开关信号X2同时为ON;从下冲状态到返回状态,须满足低位行程开关X1为ON。 • 6.3.2 编程方法 • 1.单序列状态转移图的编程方法 • 图6-27中,旋转工作台用凸轮和限位开关实现运动控制。初始状态时,左限位开关X3为ON,按下启动按钮X0,Y0变为ON,电机驱动工作台沿顺时针正转,转到右限位开关X4所在位置时暂停5s(用T0定时),定时时间到时Y1变为ON,工作台反转,回到限位开关X3所在的初始位置时停止转动,系统回到初始状态。

  28. 第6章 可编程控制器的指令 • 图6-27 状态转移图与步进梯形图 • 工作台一个周期的运动由图中自上而下的4个状态组成,它们分别对应于S0,S20~S22,S0是初始状态。

  29. 第6章 可编程控制器的指令 • 使用STL指令应注意: • (1)与STL触点相连的触点应使用LD或LDI指令. • (2)STL触点可以直接驱动或通过别的触点驱动Y,M,S,T等元件的线圈和应用指令. • (3)由于PLC只执行活动状态对应的电路块,使用STL指令时允许双线圈输出. • (4)在活动状态转移过程中,相邻的两个状态元件会同时ON一个扫描周期,可能会引发瞬时的双线圈问题。 • (5)OUT指令与SET指令均可用于活动状态的转移. • 在STL区内的OUT指令用于状态转移图中的跳转。如果想跳回已经处理过的步,或向前跳过若干步,可对状态继电器使用OUT指令(见图6-28)。OUT指令还可以用于远程跳转,即从状态转移图中的一个序列跳到另外一个序列(见图6-29)。 • (6)STL指令不能与MC/MCR指令一起使用。 • (7)并行序列或选择序列中分支处的支路数不能超过8条,总的支路数不能超过16条。 • (8)在转移条件对应的电路中,不能使用ANB,ORB,MPS,MRD和MPP指令。

  30. 第6章 可编程控制器的指令 • 图6-28 状态转移图中的跳转 图6-29 远程跳转 • (9)与条件转移指令(CJ)类似,PLC不执行处于断开状态的STL触点驱动的电路块中的指令. • (10)M2800~M3071是单操作标志,当图6-30中M2800的线圈通电时,只有它后面第一个M2800的边沿检测触点(2号触点)能工作,而M2800的1号和3号脉冲触点不会动作。M2800的4号触点是使用LD指令的普通触点,M2800的线圈通电时,该触点闭合。 • 借助单操作标志可用一个转移条件实现多次转移。图6-31中,当S20为活动状态,X0的常开触点闭合时,M2800的线圈通电,M2800的第一个上升沿检测触点闭合一个扫描周期,实现状态S20到状态S21的转移。 X0的常

  31. 第6章 可编程控制器的指令 • 开触点下一次由断开变为接通时,因为S20是不活动状态,没有执行图中的第一条LDP M2800指令,S21的STL触点之后的M2800触点闭合一个扫描周期,系统由状态S21转移到状态S22。 • 图6-30 单操作标志 图6-31 单操作标志的使用 • 6.3.3选择序列的编程方法 • 复杂控制系统的状态转移图由单序列、选择序列和并行序列组成,掌握选择序列和并行序列的编程方法,可将复杂的状态转移图转换为梯形图。 • 自动门控制系统的状态转移图和梯形图见图6-32。 • 工作过程:人靠近自动门时,感应器X0为ON,Y0驱动电机高速开门,碰到开门减速开关X1时,变为低速开门。碰到开门极限开关X2时电机停转,开始延时。若在0.5s内感应器检测到无人,Y2起动电机高速关门。碰到

  32. 第6章 可编程控制器的指令 • 关门减速开关X4时,改为低速关门,碰到关门极限开关X5时电机停转。 • 在关门期间若感应器检测到有人,停止关门,T1延时0.5s后自动转换为高速开门。 • 图6-32 自动门控制系统梯形图

  33. 第6章 可编程控制器的指令 • 1.选择序列分支的编程方法 • 图6-32中状态S23之后有一个选择序列的分支。当状态S23是活动状态(S23为ON)时,如果转移条件X0为ON(检测到有人),将转移到状态S25;如果转移条件X4为ON,将进入状态S24。 • 如果某一状态的后面有N条可选择的分支序列,则该状态的STL触点开始的电路块中应有N条分别指明各转移条件和转移目标的并联电路。 • 2.选择序列的合并的编程方法 • 图6-32中状态S20前有一个由两条支路组成的选择序列的合并,当S0为活动状态,转移条件X0得到满足,或者状态S25为活动状态,转移条件T1得到满足,都使状态S20变为活动状态,同时系统程序将状态S0或状态S25复位为不活动状态。 • 设计梯形图时,只要正确确定每一步的转移条件和转移目标,就能“自然地”实现选择序列的合并。 • 6.3.4 并行序列的编程方法 • 举例:某专用钻床加工圆盘状工件上均匀分布孔示意图见图6-33(a)示,控制系统状态转移图见图6-33(b)。

  34. 第6章 可编程控制器的指令 • 图6-33 组合钻床的状态转移图 • 工作过程:放好工件后,按下启动按钮X0,Y0变为ON,工件被夹紧,夹紧后压力继电器X1为ON,Y1和Y3使两只钻头同时开始向下进给。大钻头钻到由限位开关X2设定的深度时,Y2使它上升,升到由限位开关X3设定的

  35. 第6章 可编程控制器的指令 • 起始位置时停止上升。小钻头钻到由限位开关X4设定的深度时,Y4使它上升,升到由限位开关X5设定的起始位置时停止上升,同时设定值为3的计数器C0的当前值加1。两个都到位后,Y5使工件旋转120O,旋转到位时X6为ON,旋转结束后又开始钻第二对孔。3对孔都钻完后,计数器的当前值等于设定值3,转移条件C0满足。Y6使工件松开,松开到位时,限位开关X7为ON,系统返回初始状态。 • 注意:状态S2l之后,有一个选择序列的合并,还有一个并行序列的分支。在状态S29之前,有一个并行序列的合并,还有一个选择序列的分支。在并行序列中,两个子序列中的第一个状态S22和S25是同时变为活动状态的,两个子序列中的最后一个状态S24和S27不是同时变为不活动状态的。 • 图6-33(b)中,当状态S21是活动状态,并且转移条件X1 ON时,状态S22和S25同时变为活动状态,两个序列开始同时工作。在梯形图中,用S21的STL触点和X1的常开触点组成的串联电路来控制SET指令对S22和S25同时置位,系统程序将前级状态S2l变为不活动状态。 • 图6-33(b)中并行序列合并处的转移有两个前级状态S24和S27,根据转移实现的基本规则,当它们均为活动状态并且转移条件满足,将实现并行序列的合并。 • 图6-34是用STL指令编制的步进梯形图。

  36. 第6章 可编程控制器的指令 • 图6-34 组合钻床的步进梯形图 • 图6-34中,S27的STL触点出现了两次,如果不涉及并行序列的合并,同一状态继电器的STL触点只能在梯形图中使用一次。串联的STL触点的个数不能超过8个,即一个并行序列中的序列数不能超过8个。 • 6.4 功能指令简介 • 6.4.1 FX系列PLC功能指令的表示方法与数据结构 • 1.功能指令的表示方法

  37. 第6章 可编程控制器的指令 • FX系列PLC采用计算机通用的助记符形式表示功能指令。一般用指令的英文名称或缩写作为助记符.例如,图6-35中的BMOV表示数据块传送指令。 • 图6-35 功能指令示例 • 图中,[S]表示源操作数,[D]表示目标操作数。源操作数或目标操作数不止一个时,可表示为[S1],[S2],[Dl],[D2]等。n或m表示其它操作数,它们常用来表示常数,或源操作数和目标操作数的补充说明。 • 指令助记符占一个程序步,每一个16位操作数和32位操作数分别占2个和4个程序步。 • 图中给出了应用指令BMOV的指令表和步序号,指令中的SP表示在用编程器输入时,在两个操作数之间要按标有“SP”的空格键。 • 指令功能:常开触点X0接通时,将3个(n=3)数据寄存器D10~D12中的数据传送到D20~D22中去。

  38. 第6章 可编程控制器的指令 • 2.32位指令与脉冲执行指令 • (1)32位指令 • 图6-35中,助记符MOV之前的“D”表示处理32位(bit)数据,这时相邻的两个数据寄存器组成数据寄存器对,该指令将D11,D10中的数据传送到D13,D12中去,D10中为低16位数据,D11中为高16位数据。 • 处理32位数据时,为避免出现错误,建议使用首地址为偶数的操作数。没有“D”时表示处理16位数据。 • (2)脉冲执行指令 • 图6-35中,MOV后面的“P”表示脉冲执行,即仅在X1由OFF→ON状态时执行一次。如果没有“P”,在X1为ON的每一扫描周期指令都要被执行,称为连续执行。INC(加1)、DEC(减1)和XCH(数据交换)等指令一般应使用脉冲执行方式。 • (3)数据格式 • ① 位元件与位元件的组合 • 位元件用来表示开关量的状态,如常开触点的通、断,线圈的通电和断电,分别用二进制数1和0表示,或称为该编程元件处于ON或OFF状态。X,Y,M和S为位元件。

  39. 第6章 可编程控制器的指令 • 功能指令中的操作数可取K(十进制常数),H(十六进制常数),如KnX,KnY,KnM,KnS,T,C,D,V和Z。 • ② 字元件 • 一个字由16个二进制位组成,字元件用来处理数据. • 例如,定时器和计数器的设定值寄存器、当前值寄存器和数据寄存器D都是字元件,位元件X,Y,M,S等也可组成字元件进行数据处理。 • (4)变址寄存器V,Z • 在传送、比较指令中,变址寄存器V,Z用来修改操作对象的元件号,在循环程序中常使用变址寄存器。 • 对于32位指令,V为高16位,Z为低16位。 • 32位指令中V,Z自动组对使用。这时变 • 址指令只需指定Z,Z就能代表V和Z的组 • 合。 • 变址寄存器的使用见图6-36.各触点接 • 通时,常数10送到V0,常数20送到Z1, • ADD(加法)指令完成运算(D5V0)+(D15Z1) • →(D40Z1),即(D15)+(D35)→(D60)。 图6-36 变址寄存器的使用

  40. 第6章 可编程控制器的指令 • 6.4.2 程序流控制指令 • 1.条件跳转指令(FNC00) • 指针P用于分支和跳转程序。在梯形图中,指针放在左侧母线的左边。FX2N系列有64点分支用指针(P0~P63)。 • 条件跳转指令CJ用于跳过顺序程序中的某一部分,以控制程序的流程。 • 图6-37中,X0为ON时,程序跳到指针P8处; 如果X0为OFF,不执行跳转,程序按原顺序执行。跳转时,不执行被跳过的那部分指令。 • 2.子程序调用与子程序返回指令 • 子程序调用指令CALL(FNC01)的操作数为P,子程序返回指令SRET(FNC02)无操作数。 • 图6-37 CJ指令的应用 图6-38 子程序调用

  41. 第6章 可编程控制器的指令 • 图6-38中,X10为ON时,CALL指令使 • 程序跳到指针P8处,子程序被执行, • 执行完SRET指令后返回到104步。 • 子程序中调用子程序称为嵌套调用, • 最多可嵌套5级。图6-39中的CALL(P) • P11指令仅在X0由OFF变为ON时执行一 • 次。在执行子程序1时,如果X1为ON, • CALL P12指令被执行,程序跳到P12 • 处,嵌套执行子程序2。执行第二条 • SRET指令后,返回子程序1中CALL • P12指令的下一条指令,执行第一条 • SRET指令后返回主程序中CALL P11 • 指令的下一条指令。 图6-39 子程序的嵌套调用 • 3.中断指令 • FX2N系列PLC的中断事件包括输入中断、定时中断和高速计数器中断.发生中断时,CPU停止执行当前的工作,立即执行预先写好的相应的中断程序.

  42. 第6章 可编程控制器的指令 • 中断返回指令IRET、允许中断指令EI和禁止中断指令DI的指令编号分别为FNC03~FNC05,均无操作数,分别占用一个程序步。 • PLC通常处于禁止中断状态,指令EI和DI之间的程序段为允许中断的区间,当程序执行到该区间时,如果中断源 • 产生中断,CPU将停止执行当前程序, • 转去执行相应的中断子程序,执行到 • 中断子程序中的IRET指令时,返回原 • 断点,继续执行原来的程序。 • 如有多个中断信号依次发出,则优先 • 级按发生的先后为序.若同时发生多个 • 中断信号,则中断指针号小的优先. • 图6-40 中断指令的使用 • 4.主程序结束指令(FNC06) • 主程序结束指令FEND无操作数,占用一个程序步,表示主程序结束和子程序区的开始。执行到FEND指令时,PLC进行输入输出处理、监控定时器刷新,完成后返回第0步。

  43. 第6章 可编程控制器的指令 • 5.监控定时器指令(FNC07) • 监控定时器指令WDT无操作数,占用一个程序步。 • 监控定时器又称看门狗,在执行FEND和END指令时,监控定时器被刷新(复位).PLC正常工作时扫描周期(从0步到FEND或END指令的执行时间)小于它的定时时间。如外部干扰使PLC偏离正常的程序执行路线,监控定时器不再被复位,定时时间到时,PLC将停止运行,CPU-E发光二极管点亮. • 6.循环指令 • FOR(FNC08)指令用来表示循环区的起点,它的源操作数N用来表示循环次数(N=1~32767),可以取任意的数据格式。如果N为负数,当作N=1处理,循环可嵌套5层。 • NEXT(FNC09)是循环区终点指令,无操作数。 • FOR与NEXT之间的程序被反复执行,执行次 • 数由FOR指令的源操作数设定。执行完后, • 执行NEXT后面的指令。 • 图6-41:外层循环程序A嵌套了内层循环B, • 循环A执行5次,每执行一次循环A,就要执 图6-41 循环程序

  44. 第6章 可编程控制器的指令 • 行10次循环B,因此循环B一共要执行50次。利用循环中的CJ指令可跳出FOR-NEXT之间的循环区。 • FOR与NEXT指令总是成对使用的,FOR指令应放在NEXT的前面. • 6.4.3 传送、比较指令 • 1.比较指令 • 比较指令包括CMP(比较)和ZCP(区间比较),比较结果用目标元件的状态表示。待比较的源操作数[S1],[S2]和[S3](CMP只有两个源操作数)可取任意的数据格式,目标操作数[D]可取Y,M和S,占用连续的3个元件。 • (1)比较指令(FNCl0) • 比较指令CMP比较源操作数[S1]和[S2], • 比较的结果送到目标操作数[D]中。图 • 6-42中的比较指令将十进制常数100与 • 计数器C10的当前值比较,比较结果送 • 到M0~M2。图6-42 比较指令的使用 • (2)区间比较指令(FNCll) • 区间比较指令的助记符为ZCP.图6-43中的X2为ON时,执行ZCP指令,将T3的当前值与常数100和150相比较,比较结果送到M3~M5,源数据[S1]不能大于[S2]。

  45. 第6章 可编程控制器的指令 • 图6-43 区间比较指令的使用 • (3)触点型比较指令(FNC224~FNC246) • 触点型比较指令相当于一个触点,执行时比较源操作数[S1]和[S2],满足比较条件则触点闭合,源操作数可取所有的数据类型。 • 图6-44:C10的当前值等于20时,Y10被驱动,D200的值大于-30且X0为ON时,Y11被SET指令置位。 • 图6-45:M27为ON或C20的值等于146时,M50的线圈通电. • 图6-44 LD触点型比较指令 图6-45 AND/OR触点型比较指令

  46. 第6章 可编程控制器的指令 • 2.传送指令(FNC12~FNCl6) • 传送指令包括MOV(传送)、SMOV(BCD码移位传送)、CML(取反传送)、BMOV(数据块传送)和FMOV(多点传送)以及XCH(数据交换)指令。 • MOV和CML指令的源操作数可取所有的数据类型,SMOV指令可取除K,H以外的其它类型的操作数。它们的目标操作数可取KnY,KnM,KnS,T,C,D,V和Z。 • (1)传送指令(FNCl2) • 传送指令MOV将源数据传送到指定目标. • 图6-46:X1为ON时常数100被传送到D10,并自动转换为二进制数。 • 图6-46 传送指令与块传送指令 • (2)移位传送(FNCl3)

  47. 第6章 可编程控制器的指令 • 移位传送指令SMOV将4位十进制源数据[S]中指定位数的数据,传送到4位十进制目的操作数中指定的位置。 • (3)取反传送指令(FNCl4) • 取反传送指令CML将源元件中的数据逐位取反(1→0,0→1),并传送到指定目标。 • (4)块传送指令(FNCl5) • 块传送指令BMOV的源操作数可取KnX,KnY,KnM,KnS,T,C,D,V,Z和文件寄存器,目标操作数可取KnY,KnM,KnS,T,C,D,V,Z和文件寄存器。该指令将源操作数指定的元件开始的n个数据组成的数据块传送到指定的目标,n可取K,H和D。 • 传送顺序见图6-46示。 • (5)多点传送指令(FNCl6) • 多点传送指令FMOV将单个元件中的数据传送到指定目标地址开始的n个元件中,传送后n个元件中的数据完全相源操作数可取所有的数据类型,目标操作数可取KnY,KnM,KnS,T,C,D,V和Z,n为常数,n≤512。 • 图6-47:X2为ON时将常数0送到D5~D14这10个(n=10)数据寄存器中。

  48. 第6章 可编程控制器的指令 • 图6-47 多点数据传送与数据交换 • (6)数据交换指令(FNCl7) • 执行数据交换指令XCH时,数据在指定的目标元件之间交换,一般采用脉冲执行方式(见图6-47)。 • 目标操作数可取KnY,KnM,KnS,L C,D,V和Z。 • 3.数据变换指令 • 数据变换指令包括BCD(二进制数转换成BCD码并传送)和BIN(BCD码转换为二进制数并传送)指令(见图6-48)。源操作数可取KnX,KnY,KnM,KnS,T,C,D,V和Z,目标操作数可取KnY,KnM,KnS,T,C,D,V和Z。 • (1)BCD变换指令(FNCl8) • BCD变换指令将源元件中的二进制数转换为BCD码并送到目标元件中。 • 可以用BCD指令将二进制数变换为BCD数后输出到7段显示器。 • M8032为ON时,双字将被转换为科学计数法格式。

  49. 第6章 可编程控制器的指令 • (2)B1N变换指令(FNCl9) • 将源元件中的BCD码转换为二进制数 • 后送到目标元件中。 • 可以用BIN指令将BCD数字拨码开关提 • 供的设定值输入到PLC.M8032为ON时, • 将科学计数法格式的数转换为浮点数。 图6-48 BCD变换与BIN变换 • 6.4.4 循环移位、移位指令 • 1.循环移位指令 • (1)右、左循环移位指令 • 右、左循环移位指令分别为ROR(FNC30)和ROL(FNC31)。它们只有目标操作数,可取KnY,KnM,KnS,T,C,D,V和Z. • 执行这两条指令时,各位数据向右(或向左)循环移动n位(n为常数),16位指令和32位指令中n应分别小于16和32,每次移出来的那一位同时存入进位标志M8022中(见图6-49和图6-50)。 • 若在目标元件中指定位元件组的组数,只有K4(16位指令)和K8(32位指令)有效,例如K4Y10和K8M0。

  50. 第6章 可编程控制器的指令 • 图6-49 右循环 图6-50 左循环 • (2)带进位的循环移位指令 • 带进位右、左循环移位指令的指令代码分别为RCR(FNC32)和RCL(FNC33)。目标操作数、程序步数和n的取值范围与循环移位指令相同. • 执行这两条指令时,各位数据与进位位M8022一起(16位指令时共17位)向右(或向左)循环移动n位。在循环中移出的位送入进位标志,后者又被送回到目标操作数的另一端。 • 2.移位指令 • (1)位右移和位左移指令 • 位右移SFTR(FNC34)与位左移SFTL(FNC35)指令使位元件中的状态成组地向右或向左移动,由n1指定位元件组的长度,n2指定移动的位数,常数n2≤n1≤1024。 • (2)字右移和字左移指令

More Related