第八章三菱PX2N系列PLC应用指令及编程_第1页
第八章三菱PX2N系列PLC应用指令及编程_第2页
第八章三菱PX2N系列PLC应用指令及编程_第3页
第八章三菱PX2N系列PLC应用指令及编程_第4页
第八章三菱PX2N系列PLC应用指令及编程_第5页
已阅读5页,还剩319页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第八章 FX2N系列PLC应用指令及编程方法,4.1,PLC仅有基本指令是远远不够的。现代工业控制在许多场合需要数据处理,因而PLC制造商逐步在PLC中引入应用指令(Applied Instruction),也有的书称为功能指令(Functional Instruction),用于数据的传送、运算、变换及程序控制等应用。这使得PLC成了真正意义上的计算机。 应用指令的丰富程度是表征PLC数据处理能力的重要标志。应用指令无论从梯形图的表达形式上,还是从涉及的机内器件种类及信息的数量上都有一定的特殊性。,近年来,应用指令在向功能综合性方面研究不断深入,出现了许多一条指令即能实现以往需要大段程序才能

2、完成的某种任务的指令:PID指令应用、 表应用指令等。 这类指令实际上就是一个个应用完整的子程序,从而大大提高了PLC的实用价值和普及率。,教学要求: 1、本章主要介绍FX2N系列PLC的应用指令表示与执行形式、数值处理、分类和编程方法,阐述常用的应用指令的原理及应用。 2、主要掌握“程序控制、传送与比较、四则运算与逻辑运算、循环移位五种类型的应用指令,其指令的功能意义及编程应用,并能灵活运用它们编程解决实际工程问题。 了解“数据处理、高速处理、便利指令、外部设备IO处理”应用指令的功能及编程应用。,FX2N系列PLC应用指令依据应用不同分为四大类指令。,第一节 应用指令的类型及使用要素,1、

3、程序控制类指令主要用于程序的结构及流程的控制,该类指令有子程序、中断、跳转及循环等指令。 2、数据处理类指令种类多,数量大、使用频繁,可分为传送与比较、四则运算及逻辑运算、循环与移位、数据处理、浮点数操作、时钟运算等类指令。 3、特种应用类指令是机器的一些特殊控制应用,如高速处理和方便类指令是一些专用机械或专用电气设备应用的指令等。 4、外部设备类指令含一般的输入输出口设备及专用外部设备二大类。专用外部设备是指与主机配接的应用单元及专用通讯单元等。,一、应用指令的表示形式、应用与操作 与基本指令不同的是,应用指令不含表达梯形图符号间相互关系的成分。而是直接表达指令要做什么。 FX2N系列PLC

4、在梯形图中一般是使用应用框来表示应用指令的。,图中M8002的常开触点是应用指令的执行条件,其后的方框即为应用框。 应用框中分栏表示指令的名称、相关数据或数据的存储地址。 该指令的应用意义是:当M8002接通时,十进制常数245将被传送到数据寄存器D501中去。,图8-1 应用指令的梯形图形式,图8-2 应用指令的表示形式及要素*,表81加法指令的要素,图8-3 表8-2中操作数可用元件类型的表示范围符号*,二、FX2N系列PLC应用指令分类及汇总,FX2N系列PLC应用指令在FX2型应用指令的基础上,又增加了浮点数运算、触点形比较及时钟应用等指令,指令数量达到128种298条,列于表82中所

5、示。,三、操作数说明,在数据处理和运算过程中,均要用到相关寄存器,即数据寄存器,变址寄存器,中断指针和辅助继电器等。 相关的规则要掌握,以便正确使用。,操作数的修改方法,1、数据寄存器编号修改 A、16位指令操作数的修改,B、32位指令操作数的修改,2、常数K的修改,3、输入/输出继电器(八进制软继电器元件编号)修改,X10=1,V3=0:X7-X0 Y7-Y0 X11=1,V3=8:X17-X10 Y7-Y0 X12=1,V3=16:X27-X20 Y7-Y0,4、定时器/计数器当前值的修改,修改操作数的课堂练习1,填空: X4=1,X5=1,则V5=( ),D10= ( ) X4=0,X5

6、=1,则V5=( ), D10= ( ),第二节 程序流程类应用指令及应用,程序流程类应用指令共有十条,指令功能编号为FNC00FNC09(其中FNC06:FEND和FNC07:WDT指令自学),它们在程序中的条件执行与优先处理,主要与顺控程序的控制流程有关。,程序流程类应用指令十条,FNC00 CJ(P) 条件跳转 FNC01 CALL 子程序调用和返回 FNC02 SRET FNC03 IRET FNC04 EI 中断返回、中断允许和中断禁止 FNC05 DI FNC06 FEND 主程序结束、看门狗定时器 FNC07 WDT FNC08 FOR 循环指令 FNC09 NEXT,一、条件跳

7、转指令及应用 1条件跳转指令说明 该指令的代码、助记符、操作数和程序步如表8-3所示。 跳转指令在梯形图中的使用如图84所示。图中跳转指针P8、P9分别对应CJP8及CJP9二条跳转指令。,图8-4 条件跳转指令使用说明,跳转指令执行的意义是:在满足跳转条件(X000=ON)时, PLC在每个扫描周期里都不执行跳转指令与跳转指针Pn之间的程序,而是跳到以指针Pn为入口的程序段中执行,直至跳转条件不满足, 跳转停止进行。,2、条件跳转程序段中元器件在跳转执行中的工作状态 表84给出了图84中跳转发生前后输入或前序器件状态发生变化对程序执行结果的影响。 (1)被跳过的程序段中的输出继电器Y、辅助继

8、电器M、状态S由于该段程序不再执行,即使梯形图中涉及的工作条件发生变化,它们的工作状态仍保持跳转发生前的状态不变。,表84跳转对元器件状态的影响,(2)跳过的程序段中的时间继电器T及计数器C,无论其是否具有掉电保持功能,由于跳过的程序停止执行,它们的当前值寄存器被锁定保持不变。在不发生跳转程序顺序执行时,计时、计数器才开始继续进行。 另外,计时、计数器的复位指令具有优先权,即使复位指令位于被跳过的程序段中,只要复位条件满足,复位指令就将执行。,3、使用跳转指令的几点注意 (1)由于跳转指令具有选择执行程序段的功能。在同一程序且位于因跳转而不会被同时执行的程序段中的同一线圈,不被视为双线圈,如图

9、8-4中Y001。 (2)可以有多条跳转指令使用同一标号。 在图85中,如X020接通,第一条跳转指令有效,从这一步跳到标号P9。如果X020断开,而X021接通,则第二条跳转指令有效,程序从第二条跳转指令处跳到P9处。 但不允许一个跳转指令对应二个标号的情况存在,即在同一程序中不允许存在二个相同的标号。在编写跳转程序的指令表时,标号需占一行。,(3)标号一般设在相关的跳转指令之后,也可以设在跳转指令之前,如图8-6所示。应注意的是,从程序执行顺序来看,如果X024接通约200ms以上,造成该程序的执行时间超过了D8000中警戒时钟设定值,会发生监视定时器M8000出错。,(4)使用CJ(P)

10、指令时,跳转条件满足时,只在第一个扫描周期执行一次跳转。但是如果采用M8000作为跳转条件,则跳转就成为无条件跳转了。,(5)跳转可用来执行程序初始化工作,如图87所示。在PLC运行的第一个扫描周期中,跳转CJ 指令不执行,而执行跳转指令与P7之间的初始化程序,下一个扫描周期,才执行跳转指令,跳过初始化程序。,(6)图88说明了主控区与跳转指令的关系。 对跳过整个主控区(MCMCR)的跳转不受限制。 从主控区外跳到主控区内时,跳转独立于主控操作,CJ P1执行时,不论M0状态如何,均作ON处理。 在主控区内跳转时,若M0为OFF,跳转不能执行;若M0为ON,跳转可以执行。 从主控区内跳到主控区

11、外时,M0为OFF时,跳转不能执行;M0为ON时,跳转条件满足,可以跳转,这时MCR N0无效,但不会出错。 从一个主控区内跳到另一个主控区内时,当M1为ON时,可以跳转。执行跳转时不论M2的实际状态如何,均看做ON。MCR N0被忽略。,举例1:图89即为一段手动、自动程序选择的梯形图和指令表。图中输入X025接的是手动自动转换开关。 当X025置1时,执行自动工作方式,置0时执行手动工作方式。,图8-9 手动/自动转换程序,4.跳转指令的应用及实例 跳转指令可用来选择执行一定的程序段,在工业控制中经常使用。比如,同一套设备在不同的条件下,有两种工作方式,需运行二套不同的程序时可使用跳转指令

12、。,跳转指令课堂练习2: 应用跳转指令实现手动/自动控制,要求: 1、手动程序X001输入5个脉冲,Y000有输出; 2、自动程序Y001为观察秒脉冲的输出,C1对秒脉冲(M8013)计数,计满10个则Y002输出。 3、计数器的复位; 4、X010为手/自动切换开关跳转指令。,(1)手动程序X001输入5个脉冲,Y000有输出; (2)自动程序Y001为观察秒脉冲的输出,C1对秒脉冲(M8013)计数,计满10个则Y002输出。 (3)对计数器清零处理,M8013,LD M8002 OR C0 OR C1 RST C0 RST C1 LD X010 CJ P5 LD X001 OUT C0

13、K5 LD C0 OUT Y000 LDI X010 CJ P6 P5 LDI M8013 OUT Y001 OUT C1 K10 LD C1 OUT Y002 P6 END,手动程序,自动程序,二、子程序指令及应用 1.子程序指令的使用说明及其梯形图表示方法 该指令的指令代码、助记符、操作数、程序步见表85,表85子程序指令使用要素,2子程序的执行过程及在程序编制中的意义 在图810中,若调用指令改为非脉冲执行指令CALL P10: 当X001置1并保持不变时,每当程序执行到该指令时,都转去执行P10子程序,遇到SRET指令即返回原断点继续执行原程序。若X001=0,不调用子程序,仅执行主程

14、序。 子程序可以使主程序的结构简洁明了。编程时可将相对独立的功能都编成子程序,放在主程序后面,而在主程序中设置一些调用指令,就能实现对这些子程序的调用了。 当有多个子程序排列在一起时,每个标号和最近的一个子程序返回指令构成一个子程序。,3-1子程序应用实例1 某化工反应装置需要完成多液体物料的化合工作,连续生产。使用PLC完成物料的比例投入及送出,并完成反应装置温度的控制工作。 反应物料的比例投入可根据装置内酸硷度,经运算控制有关阀门的开度来实现,反应物的送出依进入物料的量,经运算控制出料阀门的开启程度实现。 温度控制使用加温及降温设备。温度需维持在一个区间内。 在设计程序的总体结构时,将运算

15、为主的程序内容做为主程序。将加温及降温等逻辑控制为主的程序作为子程序。 X010及X011作为子程序的执行条件,它们与温度高低限继电器连接。图811为该程序结构示意图。,图8-11 温度控制子程序结构图,在设计程序的总体结构时,将运算为主的程序内容做为主程序。将加温及降温等逻辑控制为主的程序作为子程序。 X010及X011作为子程序的执行条件,它们与温度高低限继电器连接。,3-2.子程序应用实例2:X0=ON,X1=OFF,调P0子程序;X0=OFF,调P1子程序;X1=ON,调P2子程序,1秒脉冲子程序: 2秒脉冲子程序: 4秒脉冲子程序,整体梯形图,M8013,P1,T1,T0 K10,F

16、NC02 SRET,T0,T1 K10 Y1,1秒子程序,2秒子程序,T3,P2,END,4秒子程序,主程序,三、中断指令及其应用 1中断指令说明及其梯形图表示方法 中断指令的助记符、指令代码、操作数、程序步见表86。 表86中断指令使用要素,中断是指PLC在执行主程序的过程中,根据中断条件自动转去执行中断子程序。 中断是为某些特定的控制功能而设定的独立于主程序的子程序。 和普通子程序的不同点是,这些特定的控制功能都有一个共同的特点,即要求:中断子程序响应时间小于机器的中断源。 FX2N系列PLC有三类十五个中断源:输入中断(6个)、定时器中断(3个)、和计数器中断(6个)。为了区别不同的中断

17、源入口,应在程序中标明不同的中断指针标号(在编写中断子程序的指令表时,标号需占一行)。指针地址编号不可重复使用。,六个输入中断指针是接收对应输入端X000X005信号而执行中断子程序的。常用于由外部干预需要中断处理一些工作的场合。 三个定时器中断标号是机内的中断定时器,当定时值与设定时间相等时,自动执行中断子程序。常用于需要周期性中断处理一些工作的场合。 六个计数器中断标号是机内高速计数器(C235C255)计数值与设定值比较相等时,指定执行中断子程序的入口地址。常用于由高速计数器计数而需要中断处理一些工作的场合。,中断子程序是脱离于程序扫描执行的。处理多个中断子程序突发执行的优先秩序,称为中

18、断优先权。 FX2N系列PLC一共有15个中断,其优先权由中断号的大小决定,号数小的中断优先权高。外部输入中断号整体上高于定时器中断。即外部输入中断的优先权较高。 中断子程序是为一些特定的随机事件处理而设计的子程序,它能否允许响应中断请求,取决于主程序中是否安排有中断允许的开放区和中断禁止的关闭区。,在主程序中,允许中断指令EI与禁止中断指令DI 指令之间为允许(或开)中断区,区外为关中断。 若EI和DI在主程序的头尾,则整个主程序都为开中断区,称为全程允许中断。 PLC是根据开中断区中的工作性质决定是否响应中断子程序的。 如果主程序后面安排的中断子程序比较多,而这些中断子程序又不一定需要同时

19、响应时,可以在主程序开中断区中安排特殊辅助继电器M8050M8059对输入,定时,计数中断子程序选择执行, M8050M8059与15个中断指针的对应关系如表87所示。机器规定:当M8050M8059被置1时,其对应的中断被封锁;反之置时,允许对应的中断执行。,中断指令的梯形图表示如图812所示。从图中可以看出,中断程序作为子程序是安排在主程序结束指令FEND之后的。 主程序中EI及DI指令之间的程序区为允许中断子程序响应的范围。 若主程序带有多个中断子程序时,为了区分每个独立的中断子程序,中断标号和与其最近的一处中断返回指令构成的程序即为一个中断子程序。,2.中断指令的执行过程及应用实例 (

20、1)外部(输入)中断子程序 外部输入中断常用来引入发生频率高于机器扫描频率的外控制信号,或用于处理那些需快速响应的信号。 比如,在可控整流装置的控制中,取自同步变压器的触发同步信号可经专用输入端子引入可编程控制器作为中断源,并以此信号作为移相角的计算起点。,在主程序的开中断区, 当X001=OFF,则M8050 =OFF,标号为I001的中断子程序允许执行,即每当输入口X000接收到一次上升沿中断请示信号时,就执行该中断子程序一次,使Y000=ON,利用触点型秒脉冲特殊继电器M8013驱动Y012每秒接通一次,中断子程序执行完后返回主程序。,(2)定时中断子程序 图814为一个时间比较的验证性

21、中断子程序。定时中断子程序的入口标号为I610,每10ms自动执行一次中断子程序。从梯形图的程序可知: 当程序第一次扫描执行期间, M8056=ON,标号为I610的定时中断子程序禁止执行,只对M1M3,D0和T0初始化; 第二次扫描执行程序时,M8056=OFF,定时中断子程序允许工作,即每间隔10mS,执行一次中断子程序,数据存储器D0中加1,当加到1000时,M2为ON,使主程序中Y002置1。 为了验证定时中断子程序执行的正确性,主程序中的定时器T0与中断子程序同时定时运行,其设定值也为10秒,控制输出端Y001,这样主程序与中断子程序经过10S的运行,Y001及Y002应同时置1。,

22、(3)计数器中断子程序 计数器中断是利用PLC内部的高速计数器对外部脉冲计数,若当前计数值与设定值比较相等时,执行中断子程序。 计数器中断子程序常用于利用高速计数器计数进行优先控制的场合。计数器中断要与高速计数器比较置位指令FNC 53 (HSCS)组合使用才能实现。 图8-16所示,当高速计数器C255的当前计数值与K100比较相等时,产生中断响应,转去执行中断指针指向的中断子程序,中断子程序执行完后,返回原断点后的主程序。,计数器中断子程序实例2,M8059=OFF,允许中断,I010,高速计数器C255计到1000,执行中断程序,中断指令的课堂练习3:,某化工设备设有外应急输入信号X02

23、0,用以封锁全部输出口,以保证设备安全。试用中断方法设计相关梯形图。 提示:M8050=ON,I001禁止中断;M8034:全输出禁止,I001,X000时,M8034使输出全部禁止,M8050=off,允许执行输入中断子程序,四 、主程序结束和监视定时器刷新指令(自学) 五、程序循环指令及应用 1程序循环指令的要素及梯形图表示 该指令的助记符、指令代码、操作数、程序步见表810。 表810程序循环指令要素,循环程序中的循环指令FOR与NEXT二条指令要成对使用。 图821有三条FOR指令和三条NEXT指令相互对应,构成三层循环,这样的嵌套可达五层。在梯形图中相距最近的FOR指令和NEXT指令

24、是一对,构成最内层循环;其次是中间的一对指令构成中循环,再就是最外层一对指令构成外循环。 FOR-NEXT 3次循环: n=K4,循环4次; n=(D3)=3,循环3次;n=K1X000(4),循环4次; 一共4*3*4=48次,2循环程序的意义及优点 循环指令常用于某种操作需反复进行的程序中,如对某一取样数据做一定次数的加权运算,控制输出口依一定的规律做重复的输出动作或利用重复的加减运算完成一定量的增加或减少,或利用重复的乘除运算完成一定量的数据移位。 循环程序可以使程序简明扼要,增加编程的方便,提高程序执行效率。,六、程序控制指令与程序结构 程序是由一系列的指令组成的,一定的指令集合总是完

25、成一定的功能。当功能控制要求复杂,程序变的庞大时,就要求将具有一定功能的指令程序块合理地组织起来,这就是程序的结构。 程序结构应具有方便程序的编写,有利于阅读理解程序。好的程序结构,能使PLC的运行效率提高。 常见的程序结构类型有简单结构、跳越及循环结构、组织模块式结构,它们的结构形式和特点请同学们课下阅读P193。,第三节 传送、比较类应用指令及应用,FX2N系列可编程控制器数据传送、比较类指令包含有比较指令、区间比较指令、传送与移位传送指令、取反传送指令、块传送指令、多点传送指令等十条指令,它们所涉及的数据均以带符号位的16位或32位二进制数进行操作或变换,是数据处理类程序中使用十分频繁的

26、指令。 本节介绍传送和比较类指令的使用方法及应用,并给出一些应用实例。,一、传送和比较类指令使用说明 (一)比较CMP与区间ZCMP比较指令,CMP/ZCMP指令是将S1()与S2()中的常数或指定软组件中的数据进行比较,比较结果使目标操作数D()指定的对应位元件动作,(1)CMP指令如图822所示。图中目标软元件指定M0时,M0、M1、M2会自动被占用。 当比较指令的操作数不完整或者指定的操作数不符合要求,或者指定的操作数的元件号超出了允许范围等情况,比较结果将会出错。,目标软元件在使用比较指令前应清零或要清除其比较结果时,要采用复位指令RST或批复位指令ZRST。如图8-23。,图8-23

27、 比较结果复位,(2)区间比较指令ZCP 该指令可以实现S1SS2区间的比较,该指令是将S()数据与上、下两个源数据S1()和S2()间的数据进行代数比较(即带符号比较)。要求源数据S1()S2(),若S1()S2(),则S2()则被看作与S1()一样大,例如在S1()K100,S2()=K90时,则S2()当作K100进行运算。 在X000断开时,ZCP指令不执行,M3M5保持X000断开前的原状态。使用区间比较指令前对目标操作数指定的软元件清零,也可采用图8-23方法复位。,图8-24 区间比较指令的使用说明,比较指令应用:,T1,T0 K10,C010,Y2=1 C0计数到15,Y3=1

28、,(二)传送指令 1传送指令说明及梯形图表示方法 该指令的助记符、指令代码、操作数范围、程序步如表8-13所示。 表8-13 传送指令的要素,传送指令MOV的使用说明如图8-25。当X000ON时,源操作数S()中的十进制常数K100传送到目标操作软元件D10中。当指令执行时,常数K100自动转换成二进制数。当X000断开,指令不执行时,D10中原数据保持不变。,图8-25 传送指令的使用说明,2指令的应用举例 (1)将定时器、计数器的当前值读出,如图8-26。图中,X001=ON时,(T1当前值)(D21)。 (2) 定时器、计数器设定值的间接指定,如图8-27。图中,X002=ON时,K1

29、00(D10),(D10)中的数值作为T20的时间设定常数,定时器延时10S。,(3) 对若干的位软元件成批数据传送,可用图8-28中右图MOV指令来表示左图的顺控程序。,(4) 32位数据的传送,如图8-29。DMOV指令常用于将运算结果以32位数据进行传送的应用指令(如乘法指令MUL等)以及32位的数值或32位的高速计数器的当前值等的传送。,课堂练习1: 将定时器T1设定值K50改为间接设定,其设定值存放在数据寄存器D1,重新修改程序。,D1,X000,T1,T1,Y000,MOV(P) K50 D1,M8002,(三)移位传送指令 1移位传送指令说明及梯形图表示方法 该指令的助记符、指令

30、代码、操作数范围、程序步如表8-14所示。 图8-14 移位传送指令的要素,SMOV是进行数据分配与合成的指令。该指令是将源操作数S()中二进制(BIN)码自动转换为BCD码。 根据指令中对源操作数指定的起始位号m1和移位的位数m2向目标操作数中指定的起始位n进行移位传送,目标操作数中未被移位传送的BCD位,数值不变,然后再自动转换成新的二进制(BIN)码,如图8-30所示。 源操作数为负以及BCD码的值超过9999将出现错误.,图8-30 移位传送指令的使用和移位说明,2移位传送指令应用 (1) 三位BCD码数字开关与不连续的输入端连接实现数据的组合。如图8-31所示,(2)移位指令的扩展应

31、用 可以驱动特殊辅助继电器M8168接通,使SMOV指令执行中,不再对源操作数进行BCD码变换,而是直接将二进制的源操作数以四位为单位,对目标操作数进行多点传送。如下图所示。,(四)取反指令 取反指令的助记符、指令代码、操作数范围、程序步如表815所示。 表815取反指令的要素,该指令的使用说明如图8-32,其功能是将源数据D0中的数值按位取反(01,10)传送到目标操作数指定的元件中去。若将常数K用于源数据,则自动进行二进制变换。该指令常用于希望将数据取反输出的场合。,(五)块传送指令 该指令的助记符、指令代码、操作数范围、程序步如表8-16所示。 表8-16 块传送指令的要素,BMOV指令

32、是从源操作数指定的软元件开始的n点数据传送到指定的目标操作数开始的n点软元件。如果元件号超出允许的元件号范围,数据仅传送到允许的范围内,如图8-33所示。注意:BMOV指令的传送方向受M8024控制。,图8-33 块传送指令的使用说明之一,图8-33 块传送指令的使用说明之一。若块传送的是位元件构成的字长数据,源与目标操作数中的位元件要采用相同的字长,如图8-34所示。 在传送的源与目标操作数地址号范围有重叠的场合,为了防止源数据没有传送就被改写,PLC自动确定传送顺序,如图8-35中的顺序。,利用BMOV指令在M8024传送方向控制下可以读写文件寄存器(D1000D7999)中的数据,如图8

33、-36所示。,(六)多点传送指令 该指令的助记符、指令代码、操作数范围、程序步如表8-17所示。 表8-17 多点传送指令的要素,FMOV指令是将源操作数指定的软元件中内容向以目标操作数指定的软元件起始的n个软元件传送,n个软元件的内容都一样。如图8-37所示,当X000=ON时,K10数据传送到D1D5中。,如果目标操作数指定的软元件号超出允许的范围,数据仅传送到允许的范围内。,(七)数据交换指令 该指令的助记符、指令代码、操作数范围、程序步如表8-18所示。 表8-18 数据交换指令的要素,XCH指令可以将指定的两个目标软元件中数据进行交换,如图8-38所示。 也可利用M8160实现16位

34、数据的高低八位数据交换,如图8-39。该功能等价于FNC147 SWAP指令。,(八)BCD码转换指令4.14 该指令的助记符、指令代码、操作数范围、程序步如表819所示。 表819BCD交换指令的要素,该指令可以将源元件中的二进制数转换成BCD码送到目标元件。转换BCD指令的说明如图840所示。 当X000ON时,源元件D12中的二进制数转换成BCD码送到目标元件Y000Y007中,可用于驱动七段显示器。,图8-40 BCD变换指令使用说明*,注意:若指令为16位操作,转换的BCD码不能超出9999范围,否则出错;若指令是32位操作,转换的BCD码不能超出99999999的范围,否则会出错。

35、,(九)BIN转换指令 该指令的助记符、指令代码、操作数范围、程序步如表820所示。 表8-20 BIN转换指令的要素,BIN指令可将源元件中的BCD码转换成二进制数送到目标元件中。源数据范围:16位操作为09999;32位操作为099999999。 BIN转换指令的使用如图841所示。当X010ON时,指令根据源元件X000X007接收的BCD码转换成二进制数送到目标元件D12中去。,如果源数据不是BCD码时,M8067为ON(运算错误),M8068(运算错误锁存)为OFF,不工作。,图8-42是用七段显示器显示数字开关输入PLC中的BCD码数据。在采用BCD码的数字开关向PLC输入时,要用

36、BIN指令BCD码转换为BIN码;欲要输出BCD码到七段显示器时,应采用BCD指令将BIN码转换为BCD码输出。,传送和比较类指令小结,本节介绍的传送和比较类指令是数据处理应用较为广泛的一类指令,共有十条, 可以分为三部分:,1多谐振荡电路 用程序构成一个闪光信号灯,要求通过改变输入口的置数开关改变闪光频率。 四个置数开关分别接于输入端X000X003,X010为启停开关,闪光信号灯接于Y000。 梯形图程序如图8-43所示。图中第一行为变址寄存器,通电时完成清零。第二行从输入口读入置数开关数据送入Z0中,变址综合后的数据(K8+Z0)送到寄存器D0中,作为定时器T0的设定值,并和第三行T1配

37、合产生D0时间间隔的脉冲,驱动Y000。,二-(1)、传送比较类指令的应用实例,2用传送指令实现电动机的Y/降压启动控制 电机的Y/降压启动主电路路及PLC接线如下图所示, I/O点分配如下:,依电机Y降压启动控制要求: 定子Y形接法降压启动时,应Y000,Y001接通(传送常数为123);当转速上升到6秒时,定子应断开电源接成形,即断开Y000,Y001,接通Y002(传送常数为4)。然后接通Y000,Y002(传送常数为145),通电后定子形全压运行。停止时,传送常数0。 另外,启动过程中Y/切换应有1s时间间隔。,3密码锁程序 用比较指令可构成密码锁的软件系统,该锁需要四次输入正确的3位

38、十六进制密码才能开启。 每次接收3位十六进制密码需从12个输入端X000X013的12个按钮输入,即X000X003接收第一个十六进制数;X004X007接收第二个十六进制数;X010X013接收第三个十六进制数。如果四次输入的密码与设定值都相符合,5秒后,锁开启。20秒后不开锁,重新锁定。 密码锁的密码可由程序设定和修改。假定设定的四个密码为H2A4、H01E、H151、H18A,每次从K3X000输入的数据可用比较指令CMP与四个设定值进行判断,梯形图如图8-45所示。 以上采用十二键排列组合设计的密码锁,具有较高的实用性。,4外置数计数器 PLC中计数器的设定值通常是由程序设定的,在一些

39、工业控制场合,希望计数器设定值能在程序外由操作人员根据工艺要求临时设定,这就需要一种外置数计数器,图8-46就是一种外置数计数器的程序。 在图8-46中,二位BCD拨码开关接于X000X007,通过它们可以根据要求在99以下置值;X010为计数脉冲源输入端;X011为启停开关。 C10计数值是否与外部拨码开关设定值一致,是借助比较指令实现的。须注意的是,拨码开关送入的值为BCD码,要用BIN指令转换为二进制数。因为比较操作只对二进制数有效。,5简易定时报时器 用计数器与比较指令可构成“24h可设定定时时间的定时控制器”。要求定时控制器作如下控制: 早上6点半,电铃(Y000)每秒响一次,响六次

40、后自动停止。 9:0017:00,启动住宅报警系统(Y001)。 晚上6点开花园内照明(Y002接通)。 晚上10点关园内照明(Y002断开)。 使用时,在0:00时启动定时器。 设X000为启停开关;X001为15min快速调整与试验开关,每15min为一个设定单位,24小时共96个时间单位;X002为格数设定的快速调整与试验开关。时间设定值为钟点数4。梯形图如图8-47所示。,二-(2)、传送比较类指令的课堂练习,1. 下列程序中当X000为ON时,C21当前值为200时,则 为ON。 A. Y000B. Y001 C.Y002 D.Y000Y002,2、有一组彩灯L1-L8,要求隔灯显示

41、,每2s变换一次,反复进行。用二个开关实现启停控制。 设置启动开关为X001,停止开关为X002; L1-L8接于Y000-Y007。,K1值取,K2值取,3、四路七段显示控制程序,控制要求: (1)为了节省PLC的输出点,而达到多位显示目地,采用上述接线方法。 (2)Y0-Y4为BCD码,Y4-Y7为片选信号,数据存放在数据寄存器D0-D3,其中D0为千位,D1为百位,D2为十位,D3为个位,X5为运行/停止开关。 (3)利用应用指令编程。,第四节 算术及逻辑运算指令及应用,本节将介绍FX2NPLC的整数算术运算和逻辑运算指令,共有十条,功能编号为FNC2029。完成四则运算或逻辑运算的基本

42、运算指令,同时通过运算实现数据的传送、变位及其他控制功能。 可编程控制器有整数四则运算和实数四则运算两种,前者指令较简单,实数运算是浮点运算,是一种高精确度的运算。 FX2N系列PLC除有BIN的整数运算指令之外,还具有BIN浮点运算的专用四则运算指令(见本章第十一节)。,一、算术及逻辑运算指令的使用说明 (一)二进制加法指令 该指令的助记符、指令代码、操作数、程序步如表8-21所示。 表8-21加法指令的要素,ADD加法指令是将指定的源元件中的二进制数相加,结果送到指定的目的元件中去。ADD加法指令的使用说明如图8-48所示。,(二)二进制减法指令 该指令的助记符、指令代码、操作数、程序步如

43、表8-22所示。 表8-22二进制减法指令的要素,SUB减法指令是将指定的源元件中的二进制数相减,结果送到指定的目标元件中去。SUB减法指令的说明如图8-50所示。,各种标志的动作、32位运算中软元件的指定方法、连续执行型和脉冲执行型的差异等均与上述加法指令相同。,(三)二进制乘法指令 该指令的助记符、指令代码、操作数、程序步如表8-23所示。 表8-23二进制乘法指令的要素,MUL乘法指令是将指定的源元件中的二进制数相乘,结果送到指定的目标元件中去。MUL乘法指令使用说明如图8-52所示。它分16位和32位两种运算情况。,注意:在32位乘法指令中: 1. 目标操作数不能使用位组合的字元件,因

44、限于K的取值(k8),只能得到低位32位的结果,不能得到高位32位的结果。 2.用字元件作目标操作数时,也不能对作为运算结果的64位数据进行成批监视,在这种场合下,建议采用浮点运算。 3.变址寄存器Z不能在32位运算中作为目标元件的指定,只能在16位运算中作为源操作数元件的指定。,(四)二进制除法指令 该指令的助记符、指令代码、操作数、程序步如表8-24所示。 表8-24二进制除法指令的要素,DIV除法指令是将源操作数S1()作为被除数, S2()作为除数,进行二个常数或二个源元件中的二进制数相除,商送到目标元件D()指定的元件中去,余数送到目标元件D()+1的元件中。 DIV除法指令使用说明

45、如图8-53所示,它也分16位和32位两种运算情况。,(五)二进制加1指令 该指令的助记符、指令代码、操作数、程序步如表8-25所示。 表8-25 加1指令的要素,加1指令说明如图8-54所示。当X000由OFFON变化时,由D()指定的元件D10中的二进制数自动加1。 图8-54 加1指令使用说明 若用连续指令时,每个扫描周期都加1。16位运算时,32767再加上1则变为32768,但标志位不动作。同样,在32位运算时,2147483647再加1就变为2147483647,标志位不动作。,(六)二进制减1指令 该指令的助记符、指令代码、操作数、程序步如表8-26所示。 表8-26 二进制减1

46、指令的要素,减1指令的使用说明如图8-55所示,当X001由OFFON变化时,由D()指定的元件D10中的二进制数自动减1。 图8-55 二进制减1指令使用说明 若用连续指令时,每个扫描周期都减1。在16位运算时,32768再减1就变为+32767,但标志位不动作。同样,在32位运算时,2147483648再减1就变为2147483647,标志位不动作。,表8-27逻辑字与、或、异或指令的要素,(七)逻辑字与、或、异或指令 逻辑字与、或、异或指令的助记符、指令代码、操作数、程序步如表8-27所示。,逻辑字与、或、异或指令的使用说明如图8-26所示。,图8-56 逻辑字与、或、异或指令使用说明,

47、(八)求补码指令 该指令的助记符、指令代码、操作数、程序步如表8-28所示。 表8-28 求补码指令的要素,求补指令仅对负数求补码,其使用说明如图8-57所示,当X000由OFFON变化时,由D()指定的元件D10中的二进制负数按位取反后最低位加1,求得的补码存入原来的D10内。 图8-57 求补码指令的使用说明 若使用的是连续指令时,则在各个扫描周期都执行求补运算,可能结果会出错。,二、算术及逻辑运算指令应用实例 (一)四则运算式的实现,编程实现: 算式的运算,式中X代表从输入端口K2X000送入的二进制数,运算结果送输出口K2Y000; X020为启停开关。其程序梯形图如图858所示。,(

48、二)彩灯正序亮至全亮、反序熄至全熄再循环控制 4.19,实现彩灯控制功能可采用加1、减1指令及变址寄存器Z0来完成。彩灯有12盏,各彩灯状态变化的时间单位为1s,可用秒时钟M8013控制。 梯形图见图859,图中X001为彩灯控制开关,X001= OFF时,禁止输出继电器M8034=1,使输出均为OFF。M1用于控制正/反 序循环。,(三)利用乘除运算指令实现移位(扫描)控制 采用乘除法指令实现灯组的移位循环。一组15个灯接于Y000Y016,要求:当X000为ON,灯正序每隔1S单个移位点亮,并循环;当X001为ON且Y000为OFF时,灯反序每隔1S单个移位点亮,直至Y000为ON,停止。

49、梯形图如图860所示,该程序是利用乘2、除2实现目标数据中“1”移位的。,主控1:控制正序,主控2:控制反序,(四)指示灯的测试电路 某机场装有十六盏指示灯,接于K4Y000,用于各种场合的指示。一般情况下总是有的指示灯是亮的,有的指示灯是灭的。但机场有时候需将灯全部点亮或全部关闭。,现需设计一个程序,用一个开关000打开所有的灯,用另一个开关X001熄灭所有的灯。十六盏指示灯在K4Y000的分布构成的开/关测试字如图861(a)所示。,程序设计中可采用逻辑控制指令来完成这一功能,梯形图如图861(b)。先为所有的指示灯设一个状态字,随时将各指示灯状态字存入K4M0中。再设一个开灯字和一个熄灯

50、字:开灯字内置1的位和灯在K4Y000中的排列顺序相同;熄灯字内置0的位和K4Y000中灯的位置相同。 设K4Y000的状态字为K33826,需要全部亮灯时按下X000,开灯时将开灯字和灯的状态字相“或”,指示灯全部打开;若K4Y000的状态字为K31709时,需要全部灭灯时按下X001,将熄灯字和灯的状态字相“与”,即可实现指示灯全部熄灭。,第五节 循环与移位指令及其应用,FX2N系列PLC循环与移位类指令有循环移位、位移位、字移位及先入先出(FIFO) 指令等十种,从指令的功能来说: (1)循环移位是指数据在单或双字元件内的一种环形移动。而非循环移位是线性的移位,数据从其他数据移入,移出部

51、分将丢失。 (2)移位指令可用于数据的倍乘处理,形成新数据,或形成某种控制开关。字移位和位移位不同,它可用于字数据在存储空间中的位置调整等功能。 (3)先进先出(FIFO)指令可用于数据的管理。,一、循环与移位控制类指令说明 (一)循环右移和循环左移指令 该类指令的助记符、指令代码、操作数、程序步如表829所示。 表829循环右移、左移指令的要素,循环右移指令可以使16位或32位数据向右循环移位,其使用说明如图862(a)所示。当X000由OFFON时,D ()指定的元件内各位数据向右移4位,最后一次从低位移出的状态同时存于进位标志M8022中。,图8-62 循环移位指令使用说明,循环左移指令

52、可以使16位数据或32位数据向左循环移位,其使用说明如图862(b)所示。当X001由OFFON时,D()内各位数据向左移4位,最后一次从高位移出的状态同时存于进位标志M8022中。,图8-62 循环移位指令使用说明,(二)带进位循环右移、左移指令 该类指令的助记符、指令代码、操作数、程序步如表830所示。 表830带进位循环右移、左移指令的要素,带进位循环右移指令可将进位标志M8022的状态与16或32位数据一起向右循环移n位,使用说明如图863(a)所示。当X000=ON时,M8022驱动前的1态先被移入D()指定元件高位,且D()元件内各位数据向右移4位,最后从低位移出的状态0存于M80

53、22中。,图8-63 带进位循环移位指令使用说明,带进位循环左移指令可以使进位标志M8022的状态与16或32位数据向左循环移n位,使用说明如图863(b)所示。当X001=ON时,M8022驱动前的0态先被移入D()指定元件的低位,且D()元件内各位数据向左移4位,最后从高位移出的状态1存于M8022中。,图8-63 带进位循环移位指令使用说明,(三)位右移、位左移指令 该类指令的助记符、指令代码、操作数、程序步如表831所示。 表831位移位指令的要素,位移位指令是对D()所指定的n1个位元件连同S()所指定的n2个位元件的数据右移或左移n2 位 。 图8-64(a)是位右移指令梯形图:

54、当X010=ON时,D()指定的(M0M15)中16位数据连同S()指定的X000X003接收的4位数据向右移4位。(X000X003)中4位数据从D()的高位端移入,而D()的低位M0M3数据溢出。,同理,图8-64(b)的位左移指令的梯形图移位原理也类同。用脉冲型指令执行时,X000由OFFON变化时指令仅执行一次,移n2位;若用连续型指令执行时,移位操作是每个扫描周期执行一次,使用该指令时应注意。,(四)字右移、字左移指令 该类指令的助记符、指令代码、操作数、程序步如表832所示。 表832 字移位指令的要素,字左/右移位指令是对D() 所指定的n1个字元件连同S()所指定的n2个字元件

55、右移或左移n2个字数据。 图8-65(a)为WSFR字右移指令的梯形图及使用说明:,图8-65(b)为WSFL字左移指令梯形图及使用说明,原理类同。 用脉冲型指令执行时,X000由OFFON变化时指令执行一次,进行n2个字移位;若用连续指令执行时,移位操作每个扫描周期将执行一次,必须注意。,(五)FIFO写入/读出指令 先进先出读/写指令的助记符、指令代码、操作数、程序步如表833所示。 表833FIFO写入指令的要素,SFWR指令是先进先出控制数据写入指令,其使用说明如图866(a)所示。图中n=10表示D()指定从D1开始有10个连续软元件,且D1作为数据写入次数的指针,初始应置0。,当X

56、000触点每闭合一次,指令则将S()所指定的D0中数据存到D()所指定的D2,D3D10中,指针D1每次自动加1。当D1内的数据超过n-1=9时,则上述操作不再执行,进位标志M8022动作置1,表示写入已满。若是连续指令,执行时则在各个扫描周期按顺序写入。,SFRD指令是先进先出控制数据读出指令,其使用说明如图866(b)所示。图中n=10表示S()指定从D1开始有10个连续软元件,且D1被指定作为数据读出次数的指针,初始应置n-1。,当X000触点每合一次时,指令则将S()中D2内的数据传送到D()所指定的D20内,同时指针D1的内容减1,D3D10的数据向右移一个字。当D1的内容减到0时,

57、则上述操作不再执行,零位标志M8020动作置1,表示数据读出结束。,若是连续型SFRD指令,则在每个扫描周期将S()中n-1个元件的数据按顺序右移逐个从D2中读到D20中,D20中数据要及时取走,否则会被刷新。,二、循环与移位指令应用 (一)流水灯光控制 某招牌上有L1L8八个灯接于K2Y000,要求当X000为ON时,灯先以正序(左移)每隔1S依次点亮,当Y007亮后,停2S;然后以反序(右移)每隔1S依次点亮,当Y000亮后,停2S,重复上述过程。当X001为ON时,停止工作。如图所示。,流水灯光控制PLC输入、输出接点与内部器件分配表,演示,(二)步进电机控制4.21 用位移位指令可以实

58、现步进电机正反转和调速控制。以三相双三拍电机为例,由晶体管输出型PLC的Y010Y012输出脉冲列,作为步进电机驱动电源功放电路的输入,如下图(a)所示。 三相双三拍步进电机的A 、B、C三个绕组,应按下图(b)的脉冲输入分配方式及通电顺序,电机才能按要求的规律旋转。,三相双三拍步进电机正、反转的脉冲时序图如下:,设X000为正反转切换输入(X000为OFF时,M正转;X000为ON时,M反转); X002为启动按钮,X003为减速按钮,X004为增速按钮。,步进电机正反转和调速控制PLC接点分配,程序设计分成三个模块: 一个模块是采用1ms积算型定时器T246构成脉冲发生器,它的设定值D0中

59、可设定K2K500,并可进行调整,即定时为2ms500ms可变,从面可使步进电机获得500步s2步/s的变速范围。 第二个模块采用位左移和位右移指令,实现步进电机的三相双三拍通电脉冲顺序。 第三个模块是步进电机的加/减速调节,采用加1和减1指令调节D0中的数值,就可实现调速功能。 梯形图如图868所示。,第一模块: T246构成脉冲发生器 脉冲频率初值为K500,正转:在T246作用下形成011,110和101的三拍循环,第二模块: 三相双三拍通电脉冲顺序,第三模块: 加/减速调节,采用加1和减1指令调节D0中的数值,(三)产品的进出库控制 先进先出控制指令可应用于边登记产品进库,边按顺序将先

60、进的产品出库登记。若产品地址号为4位以下数字,最大库存量为99点以下,采用十六进制。其程序梯形图如图869所示。 当入库按钮X020按下时,从K4X000(X000X017)输入口输入产品地址号到D256,并以D257作为指针,存入从D258D356的99个字元件组成的堆栈中;当出库按钮X021按下时,从D257指针后开始的99个字元件组成的堆栈中取出先进的一个地址号送至D375,由D375向输出口K4Y000输出。,第六节 数据处理指令及其应用,数据处理类指令有区间复位指令、编、译码指令、置1位求和指令、平均值计算指令和标志位置位/复位指令等十条。其中批复位指令可用于数据区的初始化;编/译码

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论