第6章 可编程控制器的指令(课件)-《工厂电气控制设备》同步教学(清华大学出版社)

2024-05-30
| 55页
| 72人阅读
| 2人下载
普通

内容正文:

第6章 可编程控制器的指令 6.1 概述 6.2 基本逻辑指令 6.3 步进顺控指令 6.4 功能指令简介 第6章 可编程控制器的指令 6.1 概述 用户程序的三种形式:梯形图、指令表和状态转移图(SFC)。 1.梯形图语言 在继电器控制系统中常用的接触器、继电器梯形图的基础上演变而来,与继电器控制系统原理图相呼应。 PLC梯形图使用的内部继电器、定时/计数器等,都由软件实现。主要特点是使用方便、修改灵活,是传统继电器控制系统梯形图的硬件接线所无法比拟的。 典型的梯形图见图6-1。 左右两条垂直线称作左母线和右 母线。在左、右两母线之间,触 点在水平线上相串联,相邻的线 也可以用一条垂直线连接起来, 作为逻辑的并联。 图6-1 典型的梯形图 第6章 可编程控制器的指令 “能流”概念:图6-1中,把左母线假想为电源“相线”,而把右母线假想为电源“零线”。如果有“能流”从左至右流向线圈,则线圈被激励。如没有“能流”,则线圈未被激励。 强调:引入“能流”概念,仅用于说明如何理解梯形图各输出点的动作,实际并不存在这种“能流”。 2.指令表语言 类似于计算机的助记符语 言,可编程控制器最基础 的编程语言。 指令表编程:用一个或几 个容易记忆的字符来代表 可编程控制器的某种操作 功能。 指令表编程举例见图6-2示. 图6-2 基本指令应用举例 第6章 可编程控制器的指令 3.状态转移图(即顺序功能流程图)语言 一种较新的编程语言。用顺序功能流程图来表达一个顺序控制过程。 用状态转移图实现钻孔顺控举例见图6-3示. 图6-3 状态转移图编程例 图中,每一方框表示一个状态,方框中的数字代表顺序步,每一状态对应于一个控制任务,每个状态的转移条件以及每个状态执行的功能可以写在方框右边。 第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章 可编程控制器的指令 2. OUT指令用于输出继电器、辅助继电器、定时器及计数器。不能用于输入继电器。 3.串联的OUT指令可连续使用任意次。 4.对定时器、计数器使用OUT指令之后,必须跟常数K。 6.2.2 触点串联指令(AND/ANI) 符号、名称、功能、梯形图、可用软元件见表6-2(P200)。 AND:用于单个常开触点的串联。 ANI:用于单个常闭触点的串联。 例:指令应用见图6-5示。 图6-5 AND、ANI指令的应用 第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(或块)指令。 第6章 可编程控制器的指令 图6-6 OR、ORI指令的应用 6.2.4 串联电路块并联指令(ORB) 符号、名称、功能、梯形图见表6-4(P202)。 用于串联电路块(回路)的并联联接。 例:指令应用见图6-7示。 说明: 1.几个串联回路并联时,支路起点以LD、LDI开始,支路终点用ORB指令。 2.如需多个回路并联,在每一回路后面加ORB指令。 第6章 可编程控制器的指令 图6-7 ORB指令的应用 3.也可将所有要并联的回路全部写出,再连续使用与支路个数相同的ORB指令,但不得超过8次。 6.2.5并联电路块串联指令(ANB) 符号、名称、功能、梯形图见表6-5(P202)。 用于并联电路块(回路)的串联联接。 例:指令应用见图6-8示。 说明: 1.各并联回路区段的开头,使用LD或LDI指令;构成各并联回路区段后,再用ANB指令与前面回路串联. 第6章 可编程控制器的指令 图6-8 ANB指令的应用 2.如有多个并联回路区段,可顺次用与块指令与前面回路联接,回路数量无限制。但连续使用与块指令,不得超过8次。 若将图6-8(a)改成图6-8(b)形式,梯形图功能不变,但可减少指令条数。 ANB、ORB指令的混合使用见图6-9示。 第6章 可编程控制器的指令 图6-9 ANB、ORB指令的混合使用 6.2.6 多重输出电路指令(MPS/MRD/MPP) 符号、名称、功能、梯形图见表6-6(P204)。 MPS:进栈 MRD:读栈 作用:将联接点先存贮,用于连接后面的电路。 MPP:出栈 PLC中有11个用于存贮运算中间结果的栈存贮器。 说明: 第6章 可编程控制器的指令 1)使用一次MPS指令,该时刻运算结果就推入栈的第一段;再次使用MPS,当时的运算结果推入栈的第一段,先推入的数据依次向栈的下一段推移。 2)使用MPP指令,各数据依次向上段压移,最上段的数据在读出后从栈内消失。 3) MRD是最上段所存最新数据的读出专用指令,栈内数据不发生下压或上托。 例:指令应用见图6-10示。 图6-10 MPS、MRD、MPP指令的应用 第6章 可编程控制器的指令 6.2.7 主控触点指令(MC/MCR) 符号、名称、功能、梯形图见表6-7(P205)。 MC:主控指令(主控电路块起点) MCR:主控复位(主控电路块终点) 成对使用 例:指令应用见图6-11示。 图6-11 MC、MCR指令的应用 第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示。 第6章 可编程控制器的指令 图6-12 含有嵌套的MC、MCR指令的应用 第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断开,不论在定时中途, 第6章 可编程控制器的指令 还是在定时时间到后,定时器T0均被复位。T250是积算型定时器,当触点X001闭合后,定时器T250开始计时,在计时过程中,即使触点X001断开或停电,定时器T250仍保持已计时的时间。当触点X00l再次闭合后,定时器T250在原计时时间的基础上继续计时,直到10s时间到。当触点X002闭合,定时器T250被复位。 图6-14 定时器的应用 2.计数器的应用 图6-15中,C0是普通计数器,利用触点X011从断开到闭合的变化,驱动 第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)。 第6章 可编程控制器的指令 又称微分输出指令。用于输出继电器Y、辅助继电器M(特殊继电器除外)的短时间的脉冲输出。 PLS:上升沿微分输出; PLF:下降沿微分输出。 例:指令应用见图6-16示. 图6-16 脉冲输出指令的应用 说明: 1)PLS、PLF指令作用:将脉宽较宽的输入信号变成脉宽等于PC扫描周期的触发脉冲信号,而信号周期不变。 2)为积算定时器、计数器等提供复位脉冲信号,避免因脉冲过宽(对计数器而言,可能屏蔽掉正常输入信号)或过窄(不能可靠复位)等问题。 第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)。 第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)。 第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”步。 第6章 可编程控制器的指令 说明: 1.PLC的用户程序存贮区很大,若在 程序最后写入END指令,对END后面的 程序步不再执行。如无END指令,PLC 扫描整个存贮区,程序运行周期加长。 2.调试程序时,将END指令插入各程 序段,便于查找故障和调试。 不同型号PLC,指令系统有差异。PLC功能越强,指令越丰富。 6.3 步进顺控指令 利用IEC标准的流程图(SFC)语言编制步进控制程序,初学者很容易编写复杂的步进控制程序,工作效率大大提高。 SFC语言:一种通用的流程图语言。三菱小型PLC在基本逻辑指令之外增加两条简单的步进梯形指令(STL,RET),同时辅之以大量状态元件,就可用类似于SFC语言的状态转移图方式编程。 步进梯形指令(STL):利用内部软元件进行工序步进式控制的指令。 返回指令(RET):指状态(S)流程结束,用于返回主程序(母线)的指令。 第6章 可编程控制器的指令 6.3.1 状态转移图 1.状态转移图的基本概念 又称功能图或功能流程图,一种描述顺序控制系统的图形表示方法,专用于工业顺序控制程序设计的一种功能性说明语言。 主要由“状态”、“转移条件”、“转移方向”、等元素组成。 (1)状 态 状态的符号如图6-21示。矩形框中可写上该状态的编号或代码。 ①初始状态 功能图运行的起点,一个控制系统至少有一个初始状态。图形符号为双线的矩形框,如图6-22示. 图6-21 状态的图形符号 图6-22 初始状态的图形符号 ②工作状态 根据系统是否运行,状态可分为动态和静态两种。动状态是指当前正在 第6章 可编程控制器的指令 运行的状态,静状态是没有运行的状态。 ③与状态对应的动作 表示方法如图6-23示。 (2)转 移 用一个有向线段表示转移的方向。两个状态之间的有向线段上再用一段横线表示这一转移。转移的符号如图6-24示. 图6-23 状态下动作的表示 图6-24 转移符号 转移条件:指使系统从一个状态向另一个状态转移的必要条件,通常用文字、逻辑方程及符号来表示。 2.状态的功能 称为“状态”的软元件是构成状态转移图的重要元素。FX2N系列可编程控制器的软元件中有900点状态(S0-S899)可用于构成状态转移图。 第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)一个状态转移图至少要有一个初始状态。 第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所在的初始位置时停止转动,系统回到初始状态。 第6章 可编程控制器的指令 图6-27 状态转移图与步进梯形图 工作台一个周期的运动由图中自上而下的4个状态组成,它们分别对应于S0,S20~S22,S0是初始状态。 第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指令。 第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的常 第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起动电机高速关门。碰到 第6章 可编程控制器的指令 关门减速开关X4时,改为低速关门,碰到关门极限开关X5时电机停转。 在关门期间若感应器检测到有人,停止关门,T1延时0.5s后自动转换为高速开门。 图6-32 自动门控制系统梯形图 第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)。 第6章 可编程控制器的指令 图6-33 组合钻床的状态转移图 工作过程:放好工件后,按下启动按钮X0,Y0变为ON,工件被夹紧,夹紧后压力继电器X1为ON,Y1和Y3使两只钻头同时开始向下进给。大钻头钻到由限位开关X2设定的深度时,Y2使它上升,升到由限位开关X3设定的 第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指令编制的步进梯形图。 第6章 可编程控制器的指令 图6-34 组合钻床的步进梯形图 图6-34中,S27的STL触点出现了两次,如果不涉及并行序列的合并,同一状态继电器的STL触点只能在梯形图中使用一次。串联的STL触点的个数不能超过8个,即一个并行序列中的序列数不能超过8个。 6.4 功能指令简介 6.4.1 FX系列PLC功能指令的表示方法与数据结构 1.功能指令的表示方法 第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中去。 第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为位元件。 第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 变址寄存器的使用 第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 子程序调用 第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停止执行当前的工作,立即执行预先写好的相应的中断程序. 第6章 可编程控制器的指令 中断返回指令IRET、允许中断指令EI和禁止中断指令DI的指令编号分别为FNC03~FNC05,均无操作数,分别占用一个程序步。 PLC通常处于禁止中断状态,指令EI和DI之间的程序段为允许中断的区间,当程序执行到该区间时,如果中断源 产生中断,CPU将停止执行当前程序, 转去执行相应的中断子程序,执行到 中断子程序中的IRET指令时,返回原 断点,继续执行原来的程序。 如有多个中断信号依次发出,则优先 级按发生的先后为序.若同时发生多个 中断信号,则中断指针号小的优先. 图6-40 中断指令的使用 4.主程序结束指令(FNC06) 主程序结束指令FEND无操作数,占用一个程序步,表示主程序结束和子程序区的开始。执行到FEND指令时,PLC进行输入输出处理、监控定时器刷新,完成后返回第0步。 第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 循环程序 第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]。 第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触点型比较指令 第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) 第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)数据寄存器中。 第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时,双字将被转换为科学计数法格式。 第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。 第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)字右移和字左移指令 第6章 可编程控制器的指令 字右移WSFR(FNC36)、字左移WSFL(FNC37)指令将n1个字成组地右移或左移n2个字(n2≤n1≤512)。 (3)移位寄存器写入与读出指令 移位寄存器又称为FIFO(先入先出)堆栈,堆栈长度范围为2~512个字。写入指令SFWR(FNC38)和读出指令SFRD(FNC39)用于FIFO堆栈的读写,先写入的数据先读出。 6.4.5 数据处理指令 1.区间复位指令(FNC40) 区间复位指令ZRST将[D1],[D2]指定的 元件号范围内的同类元件成批复位(见 图6-51),目标操作数可取T,C和D(字 元件)或Y,M,S(位元件). 2.解码与编码指令 图6-51 区间复位与解码、编码指令 设图6-51的解码指令DECO(FNC41)的源操作数X2~X0组成的二进制数为N,该指令将M10开始的目标操作数M10~M17(共8位,2n = 8)中的第N位置为l,其余各位置0,相当于数字电路中译码电路的功能。 第6章 可编程控制器的指令 图6-51:编码字指令ENCO(FNC42)将源操作数M20~M27(共8位,2n = 8)中为ON的最高位的位数(二进制)存放在目标元件D10的低3位中,n=1~4。 3.求置ON位总数与ON位判别指令 求置ON位总数指令SUM(FNC43)统计源操作数中为ON的位的个数,并将它送入目标操作数。 ON位判别指令BON(FNC44)用来检测指定元件中的指定位是否为ON。若为ON,则位目标操作数变为ON. 4.报警器置位复位指令 应用指令ANS(信号报警器置位)和ANR(信号报警器复位)时,状态标志S900~S999可用作外部故障诊断的输出。 (1)报警器置位指令ANS(FNC46) ANS的源操作数为T0~T199,目标操作数为S900~S999,n=1~32767(定时器以100ms为单位的设定值)。 图6-52:M8000的常开触点一直接通,使M8049的线圈通电,特殊数据寄存器D8049的监视功能有效,D8049用来存放S900~S999中处于活动状态且元件号最小的状态继电器的元件号。 第一条ANS指令可实现如下功能:在驱动工作台前进的输出继电器Y0变为 第6章 可编程控制器的指令 ON后,100ms定时器T0开始定时,如果检测前进的限位开关X0在10s内未动作(n = 100),S900变为ON。如果S900~S999中任意一个的状态为ON,特殊辅助继电器M8048为ON,使指示故障的输出继电器Y10变为ON。 若第一条ANS指令的输入电路断开,定时器T0复位,而S900仍保持为ON. (2)报警器复位指令ANR(FNC47) ANR无操作数,图6-52中用故障复位按钮X5和ANR指令将用于故障诊断的状态继电器复位,每按一次复位按钮,按元件号递增的顺序将—个故障报警器状态复位。 5.平均值指令MEAN(FNC45) MEAN用来求1~64个源操作数的代数和被n除的商,余数略去(见图6-53). 图6-52 信号报警器置位与复位指令 图6-53 MEAN、SQR、FLT指令 第6章 可编程控制器的指令 6.二进制平方根指令SQR(FNC48) SQR的源操作数[S]应大于零,可取K,H,D,目标操作数为D。图6-53中的X2为ON时,将存放在D45中的数开平方,结果存放在D123内. 计算结果舍去小数,只取整数。M8023为ON时,将对32位浮点数开方,结果为浮点数。 源操作数为整数时,将自动转换为浮点数。如果源操作数为负数,运算错误标志M8067将会ON。 7.二进制整数与浮点数转换指令FLT(FNC49) FLT的源操作数和目标操作数均为D。 图6-53:X4为ON,且M8023(浮点数标志)为OFF时,该指令将存放在源操作数D10中的数据转换为浮点数,并将结果存放在目标寄存器D13和D12中。 M8023为ON时,将浮点数转换为整数。 用于存放浮点数的目标操作数应为双整数,源操作数可以是整数或双整数。 第6章 可编程控制器的指令 $$

资源预览图

第6章  可编程控制器的指令(课件)-《工厂电气控制设备》同步教学(清华大学出版社)
1
第6章  可编程控制器的指令(课件)-《工厂电气控制设备》同步教学(清华大学出版社)
2
第6章  可编程控制器的指令(课件)-《工厂电气控制设备》同步教学(清华大学出版社)
3
第6章  可编程控制器的指令(课件)-《工厂电气控制设备》同步教学(清华大学出版社)
4
第6章  可编程控制器的指令(课件)-《工厂电气控制设备》同步教学(清华大学出版社)
5
第6章  可编程控制器的指令(课件)-《工厂电气控制设备》同步教学(清华大学出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。