版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章第4章FX5U系列PLC编程基础
4.2PLC编程语言及指令4.2PLC编程语言及指令FX5U、FX5UC系列PLC支持下面4编程语言。1.梯形图编程(1)特点梯形图编程是指使用顺序符号和软元件编号在编程界面上画顺控梯形图的方式。由于顺控回路是通过触点符号和线圈符号来表现的,所以程序更加容易理解。(2)梯形图编程实例,如图4-68所示第四章图4-68梯形图编程第四章4.2.1编程语言的种类2.ST语言编程ST语言是在规定逻辑记述方式的国际标准IEC61131-3中定义的语言。(1)特点ST语言是具有与C语言等相似的语法结构的文本形式的程序语言。适用于梯形图语言难以表现的复杂情况处理。ST语言支持控制语法、运算式、功能块(FB)、功能(FUN)。(2)ST编程实例如图4-69所示。第四章图4-69ST语言编程第四章4.2.1编程语言的种类3.顺序功能图(SFC)编程语言顺序功能图编程语言是一种比较通用的流程图编程语言,常用于编制比较复杂的顺序控制程序。顺序功能图提供了一种图形化编程方法,在顺序功能图中可以用其他语言嵌套编程。其最主要的部分是步、转换条件和动作三种元素,如图4-70所示。第四章图4-70顺序功能图(SFC)编程第四章4.2.1编程语言的种类4.FBD/LD语言(见图4-71)通过将实施特定处理的块、变量、常数沿着数据和信号的流动进行连接,创建程序的语言。在FBD/LD语言的程序中,数据从功能块(FB)、功能(FUN)、变量部件(标签和软元件)、常数部件的输出点流至其他变量部件等的输入点。第四章图4-71FBD/LD语言编程第四章4.2.2顺控程序指令FX5系列PLC的指令集非常丰富,从系统结构和应用场景进行划分,初步分级分类如表4-43所示,教材选部分常用指令进行介绍,此处从顺控程序指令介绍开始。第四章序号分类(一级)小类(二级)示例1CPU模块用指令顺控程序指令LD、OR、MPS、OUT、PLS、SET等基本指令CMP、DZCP、ADD、MUL、BSET、TEST、ZRST、MOV等应用指令ROL、CJ、DI、EI、WDT、FOR/NEXT、CALL、FROM、TO、MEAN、MAX、PLSY、PWM、STMR等步进梯形图指令STL、RETSTLPID控制指令PID2模块专用指令网络通用指令GP.READ、GP.WRITE、GP.SEND等以太网用指令SP.SOCOPEN、SP.SOCCLOSE、SP.SOCCINF等CC-LinkIETSN用指令G.UINI、GP.UINICC-LinkIE现场网络用指令G.CCPASET、G.UINI等高速计数器指令DHSCS、DHSZ等外部设备通信指令RS2、IVCK、IVRD、ADPRW等定位指令DSZR、DVIT、DRVMUL、G.ABRST1等BFM分割读取/写入指令RBFM、WBFM3通用功能/功能块通用功能BOOL_TO_WORD、WORD_TO_DWORD、CPY_BITARR、ABS、SQRT等通用功能块R_TRIG、CTU、TP_E等表4-43指令集分类第四章4.2.2顺控程序指令
FX5系列PLC常用顺控程序指令如表4-44所示,虽然指令表已经不常使用。第四章指令表功能助记符名称指令表[LD]取运算开始a触点[ADNF]与脉冲下降沿下降沿检出串联连接[LDI]取反转运算开始b触点[OR]或并联a触点[LDP]取脉冲上升沿上升沿检出运算开始[ORI]或反转并联b触点[LDF]取脉冲下降沿下降沿检出运算开始[ORP]或脉冲上升沿脉冲上升沿检出并联连接[AND]与串联a触点[ORF]或脉冲下降沿脉冲下降沿并联连接[ANI]与反转串联b触点[ANB]回路块与并联回路块的串联连接[ANDP]与脉冲上升沿上升沿检出串联连接[ORB]回路块或串联回路块的并联连接[OUT]输出线圈驱动指令[MPS]进栈运算存储[SET]置位线圈接通保持指令[MRD]读栈存储读出[RST]复位线圈接通清除指令[MPP]出栈存储读出与复位[PLS]脉冲上升沿检出指令[INV]反转运算结果的反转[PLF]下降沿脉冲下降沿检出指令[NOP]空操作无动作[MC]主控公共串联点的连接线圈指令[END]结束顺控程序结束[MCR]主控复位公共串联点的清除指令表4-44FX5U基本梯形图元素及指令对照一览表第四章4.2.2顺控程序指令1.逻辑取及线圈输出指令(LD、LDI、OUT)LD、LDI、OUT指令的符号、功能、梯形图表示及操作软元件如表4-45所示。第四章指令符号功能梯形图及操作元器件LD(取)动合触点逻辑运算起始X,Y,M,S,T,C等LDI(取反)动断触点逻辑运算起始X,Y,M,S,T,C等OUT(输出)线圈驱动Y,M,S,T,C等表4-45LD、LDI、OUT指令表第四章4.2.2顺控程序指令LD、LDI、OUT指令的应用如图4-72所示。图4-72(a)为梯形图,图4-72(b)为指令表。图4-72(a)所示梯形图中左边一条竖线称为左母线,右边一条竖线称为右母线。第四章(a)梯形图
(b)指令表图4-72LD\LDI\OUT指令的应用第四章4.2.2顺控程序指令说明:①LD、LDI指令用于将触点接到左母线上。另外,与后述的ANB指令组合,在分支起点处也可使用。②OUT指令是对输出继电器、辅助继电器、状态继电器、定时器、计数器的线圈的驱动指令,对于输入继电器不适用。③并行输出指令可多次使用,如图4-72中OUTT10和OUTM110。④X,Y,M,S,T,C操作元器件含义:X-输入继电器,Y-输出继电器,M-内部辅助继电器,S-状态继电器,T-时间继电器,C-计数器⑤对定时器的定时线圈或计数器的计数线圈,在OUT指令后必须有设定值(直接K**或者间接)。⑥表4-46列举常数K的设定范围,常用定时器的实际设定值。第四章定时器、计数器K的设定范围实际的设定值1ms定时器0~327670~32.767s10ms定时器0~327.67s100ms定时器0~3276.7s16bit计数器0~327670~3276732bit计数器0~42949672950~4294967295表4-46定时器/计数器K值设定范围表第四章4.2.2顺控程序指令2.触点串联指令(AND、ANI)AND、ANI指令的符号、功能、梯形图表示及操作元器件如表4-47所示。第四章指令符号功能梯形图表示及操作元器件AND(与)动合触点串联连接X,Y,M,S,T,C等ANI(与非)动断触点串联连接X,Y,M,S,T,C等表4-47AND、ANI指令表说明:①用AND/ANI指令,可进行触点的串联连接。串联触点的个数没有限制,该指令可以多次重复使用。②OUT指令后,通过触点驱动其他线圈输出,称之为纵接输出(图4-73的OUTY14)。纵接输出,可以多次重复。③串接触点的数目和纵接的次数虽然没有限制,但因图形编程器和打印机的功能有限制,尽可能做到一行不超过10个触点和1个线圈,连续输出总计不超过24行。④图4-73可以在驱动Ml11之后通过触点Tl驱动Y14。但是,如果驱动顺序换成图4-74所示梯形图,则必须用多重输出MPS、MRD、MPP指令。第四章4.2.2顺控程序指令
第四章(a)梯形图(b)指令表图4-73AND、ANI指令应用图4-74不恰当的顺序梯形图电路第四章4.2.2顺控程序指令3.触点并联指令(OR、ORI)OR、ORI指令符号、功能、梯形图表示及操作元器件如表4-48所示。第四章指令符号功能梯形图表示及操作元器件OR(或)动合触点并联连接X,Y,M,S,T,C等ORI(或反)动断触点并联连接X,Y,M,S,T,C等表4-480R、ORI指令表第四章OR、ORI指令的应用案例如图4-75所示,图4-75(a)为应用梯形图,图4-75(b)为对应的指令表。说明:OR、ORI指令是从该指令的当前步开始,对前面的LD/LDI指令并联连接。并联连接无限制,但由于编程器和打印机的功能对此有限制,所以并联连接的次数是有限(24行以下)。(a)梯形图
(b)指令表图4-75OR、ORI指令应用4.2.2顺控程序指令OR、ORI指令可以多次并联连接,图4-76中,在使用OR、ORI指令后,两个功能块(虚线框)的连接要用到“块与”指令ANB。第四章图4-76OR、ORI指令功能说明梯形图第四章4.2.2顺控程序指令沿检出逻辑、触点串联、触点并联指令(LDP/LDF、ANDP/ANDF、ORP/ORF)LDP/LDF、ANDP/ANDF、ORP/ORF指令符号、功能、梯形图表示及操作元器件如表4-49所示。第四章指令符号功能梯形图表示及操作元器件LDP(取脉冲上升沿)上升沿检出常开触发X,Y,M,S,T,C等LDF(取脉冲下降沿)下降沿检出常闭触点X,Y,M,S,T,C等ANDP(与脉冲上升沿)上升沿检出常开触点串联X,Y,M,S,T,C等ANDF(与脉冲下降沿)下降沿检出常闭触点串联X,Y,M,S,T,C等ORP(或脉冲上升沿)上升沿检出常开触点并联X,Y,M,S,T,C等ORF(或脉冲下降沿)下降沿检出常闭触点并联X,Y,M,S,T,C等表4-49LDP/LDF、ANDP/ANDF、ORP/ORF指令表第四章4.2.2顺控程序指令LDP/LDF、ANDP/ANDF、ORP/ORF指令的动作时序图和应用案例说明分别如图4-77、图4-78所示。第四章图4-77应用案例动作时序图(a)梯形图
(b)指令表图4-78沿检出指令应用说明:①LDP、ANDP、ORP在指定位软元件的上升沿(OFF→ON)接通一个扫描周期。②LDF、ANDF、ORF在指定位软元件的下降沿(ON→OFF)接通一个扫描周期。第四章4.2.2顺控程序指令5.块或指令(ORB)ORB指令的符号、功能、梯形图表示及操作元器件、程序步如表4-50所示。第四章指令符号功能梯形图表示及操作元器件ORB(电路块或)串联电路的并联连接无表4-50ORB指令表ORB电路块或指令的应用案例说明如图4-79所示。图4-79ORB指令应用第四章4.2.2顺控程序指令说明:①2个或2个以上的触点串联连接的回路称之为串联电路块。串联电路块并联连接时,分支的开始用LD、LDI指令,分支的结束用ORB指令。②ORB指令与ANB指令等均为无操作元器件指令。③每个电路块使用ORB指令个数无限制,如图4-79(b)所示编程的方法,其并联电路块数是无限制的。④ORB指令也可连续使用,如图4-79(c)所示的编程方法,但这种方法重复使用LD/LDI指令的次数要限制在8次以下,这点要注意。6.块与指令(ANB)ANB指令的符号、功能、梯形图表示及操作元器件如表4-51所示。第四章指令符号功能梯形图表示及操作元器件ANB(电路块与)并联电路块之间的串联连接无表4-51ANB指令表第四章4.2.2顺控程序指令ANB指令的应用说明如图4-80所示第四章(a)梯形图
(b)指令表图4-80ANB指令的应用说明:①2个或2个以上的触点并联连接的回路称为并联电路块。分支电路并联电路块与前面电路串联连接时,使用ANB指令。分支的起始点用LD/LDI指令。并联电路块结束后,使用ANB指令与前面电路串联起来。②若多个并联电路块顺次用ANB指令将电路块串联连接,则ANB的使用次数没有限制。③ANB指令也可以连续使用,但重复使用LD/LDI指令的次数要限制在8次以下。第四章4.2.2顺控程序指令7.多重输出指令(MPS、MRD、MPP)MPS、MRD、MPP指令的符号、功能、梯形图表示及操作元器件如表4-52所示。第四章指令符号功能梯形图表示及操作元器件MPS(进栈)数据加入栈中无MRD(读栈)从栈中读出数据MPP(出栈)数据出栈表4-52MPS、MRD、MPP指令表第四章4.2.2顺控程序指令MPS、MRD、MPP指令的功能是将连接点的结果存储起来,以方便连接点后面电路的编程。PLC具有少量存储中间运算结果的存储器,称之为栈存储器,其结构如图4-81所示。使用一次MPS指令,该时刻的运算结果就推入栈的第一段。再次使用MPS指令时,当时的运算结果推入栈的第一段,先推入的数据依次向栈的下一段推移。图4-81中栈存储器中的①是第一次压栈的数据,②是第二次压栈的数据。MRD是最顶端所存最新数据的读出专用指令。栈内的数据不发生下压或上移。使用MPP指令,各数据依次向上推移。最顶端的数据在出栈后就从栈中消失。第四章图4-81栈存储器第四章4.2.2顺控程序指令(1)一层栈电路采用MPS、MRD、MPP指令编程的一层堆栈电路如图4-82所示,图4-82(a)为梯形图,4-82(b)为指令表。第四章图4-82一层堆栈第四章4.2.2顺控程序指令(2)一层堆栈和ANB、ORB指令一层堆栈中使用ANB、ORB指令的实例如图4-83所示。第四章图4-83一层堆栈与ANB、ORB第四章4.2.2顺控程序指令(3)二层堆栈电路二层堆栈电路如图4-84所示。第四章图4-84二层堆栈电路第四章4.2.2顺控程序指令(4)四层堆栈电路四层堆栈电路如图4-85所示。由于MPS指令最多可以连续使用16次。中途使用了MPP指令的情况下,MPS指令的使用数将被-1,并且MPS与MPP必须成对使用。第四章图4-85四层堆栈电路(a)梯形图(b)指令表第四章4.2.2顺控程序指令8.主控触点指令(MC、MCR)MC、MCR指令符号、功能、梯形图表示及操作元器件如表4-53所示。第四章指令符号功能梯形图表示及操作元器件MC主控电路块起点Y,M不允许使用特殊MMCR(主控复位)主控电路块终点表4-53MC、MCR指令表第四章MC、MCR指令的应用案例说明如图4-86所示。(a)梯形图
(b)指令表图4-86MC、MCR无嵌套电路4.2.2顺控程序指令说明:①如图4-86所示,输入X1接通时,执行MC与MCR之间的指令。输入X1断开时,结果如下:a.保持当前元器件的状态,如积算定时器、计数器及用SET/RST指令驱动的元器件。b.非积算定时器,用OUT指令驱动的元器件全为OFF。②MC指令后,母线(LD、LDI点)移至MC触点之后,而返回原来母线的指令是MCR。MC指令使用后,必须要有MCR指令相呼应,并成对使用。③使用不同的Y、M元器件号,可多次使用MC指令。但是若用同一软元件号,就与OUT指令一样成为双线圈输出。④在MC指令内再次使用MC指令时称为嵌套。嵌套级N的编号应顺次增大(按程序顺序由小到大)。返回时用MCR指令,从大的嵌套级开始解除(按程序顺序由大至小)。嵌套级的MC、MCR指令的编程如图4-87所示。第四章图4-87MC、MCR带嵌套电路中的应用第四章4.2.2顺控程序指令9.置位及复位指令(SET、RST)SET、RST指令符号、功能、梯形图表示及操作元器件如表4-54所示。第四章指令符号功能梯形图表示及操作元器件SET(置位)元器件自保持ONY,M,S,C等RST(复位)元器件自保持OFF清除数据寄存器Y,M,S,C,D,V,Z等表4-54SET、RST指令表第四章SET、RST指令的应用说明如图4-88所示。(a)梯形图
(b)时序图
(c)指令表图4-88SET、RST指令的应用4.2.2顺控程序指令10.取反指令(INV)INV指令符号、功能、梯形图表示及操作元器件如表4-55所示。第四章指令符号功能梯形图表示及操作元器件INV(取反)运算结果的反转无表4-55INV指令表11.脉冲输出指令(PLS、PLF)PLS、PLF指令符号、功能、梯形图表示及操作元器件如表4-56所示。表4-56PLS、PLF指令表指令符号功能梯形图表示及操作元器件PLS(前沿脉冲)上升沿微分输出X,Y,M等PLF(后沿脉冲)下降沿微分输出X,Y,M等第四章4.2.2顺控程序指令INV指令的应用说明如图4-89所示。图4-89(a)为INV指令的梯形图,图4-89(b)为INV指令的编程,图4-89(c)为该程序的功能时序图。第四章图4-89INV指令的应用(a)梯形图(b)指令表(c)时序图说明:①INV指令是将INV电路之前的运算结果取反,无操作元器件。②在编制AND、ANI指令步的位置可使用INV,而编制LD、LDI、OR、ORI指令步的位置不能使用INV。③在含有ORB、ANB指令的电路中,INV的功能是将执行INV之前的LD、LDI的运算结果取反。第四章4.2.2顺控程序指令①不能使用T、ST、C。PLS、PLF指令的应用说明如图4-90所示,图4-90(a)为PLS、PLF指令应用梯形图,图4-90(b)为其指令表,图4-90(c)为PLS、PLF指令应用的时序图。第四章(a)梯形图
(b)指令表
(c)时序图图4-90PLS、PLF指令的应用第四章4.2.2顺控程序指令说明:①使用PLS指令,元器件Y、M仅在驱动输入接通后的一个扫描周期内动作(置1)。②使用PLF指令,元器件Y、M仅在驱动输入断开后的一个扫描周期内动作。③特殊继电器不能用作PLS或PLF的操作元器件。④在驱动输入接通时,PLSM10动作;但如果是PLSM600(假设M600已经设置为锁存)不动作。这是因为M600是保持继电器,即使在断电停机时,其动作也能保持。12.空操作指令(NOP)NOP指令符号、功能、梯形图表示及操作元器件如表4-57所示。第四章指令符号功能梯形图表示及操作元器件NOP(空操作)无动作无元器件表4-57NOP指令表第四章4.2.2顺控程序指令NOP指令为空操作指令,主要用于短路电路、改变电路功能及程序调试时使用。图4-91为NOP指令的应用案例。第四章(a)短路触点(b)短路前面全部电路(c)切断电路(d)切断前面全部电路(e)与前面的OUT电路相连图4-91NOP指令的应用第四章4.2.2顺控程序指令说明:①如图4-91中,程序若加入NOP指令,改动或追加程序时,可以减少步序号的改变。另外,用NOP指令替换已写入的指令,也可改变电路。②LD、LDI、ANB、ORB等指令若换成NOP指令,电路构成将有较大幅度变化,须注意。③执行程序全清操作后,全部指令都变成NOP。13.结束指令(END)END指令符号、功能、梯形图表示及操作元器件如表4-58所示。第四章指令符号功能梯形图表示及操作元器件END(结束)程序输入处理程序回第“0”步无表4-58END指令表第四章4.2.2顺控程序指令PLC反复执行输入处理、程序运算、输出处理。若在程序最后写入END指令,则END以后的程序步不再执行,直接进行输出处理,如图4-92所示。第四章图4-92END指令的应用第四章4.2.3功能指令现在工业自动化控制领域中,许多场合需要数据运算和特殊处理。因此,PLC制造商逐步在PLC中引入功能指令(FunctionalInstruction),或称为应用指令(AppliedInstruction),功能指令主要用于数据的传送、运算、变换及程序控制等功能。本小节涵盖常用应用指令。三菱电机FX系列PLC的功能指令有相对应的助记符表示其功能意义。例如功能指令助记符MEAN,其指令含义为求平均值。不同型号的FX系列PLC,其所拥有的功能指令条数不相等。(一)功能指令的表示形式及含义1.功能指令的表示形式FX系列PLC在梯形图中使用功能框表示功能指令。图4-93是功能指令的梯形图表达形式。图中X0是执行该条指令的条件,其后的方框为功能框,分别含有功能指令的名称和参数,参数可以是相关数据、地址或其他数据。当X0为ON后,数据寄存器D0的内容加上123(十进制),然后送入数据寄存器D0中。第四章图4-93功能指令的梯形图表达形式第四章4.2.3功能指令2.功能指令的含义使用功能指令需要注意功能框中各参数所指的含义,现以加法指令来说明,图4-94所示为加法指令(ADD)的指令格式和相关参数形式,表4-59为加法指令、参数说明。第四章图4-94加法指令格式及参数形式指令名称助记符操作数加法(D)ADD(P)(16/32)[S1·][S2·][D·]K、HKnX、KnY、KnM、KnS、T、C、D、Z、LZ等KnY、KnM、KnS、T、C、D、Z、LZ等表4-59加法指令、参数说明第四章4.2.3功能指令说明:①为助记符。功能指令的助记符是该条指令的英文缩写词,如加法指令英文写法为“Additioninstruction”,简写为ADD;交替输出指令“Alternateoutput”简写为ALT等等。②为数据长度(D)指示。功能指令中大多数涉及数据运算和操作,而数据的表示以字长表示,有16位和32位之分。因此,有(D)表示的即为32位数据操作指令,无(D)所示则为16位数据操作指令,如图4-95所示。图4-95(a)所示指令功能为16位数据操作,将(Dl0)的内容传送到(D12)中;图4-95(b)所示指令功能为32位数据操作,将(D21,D20)(32位)的内容传送到(D23,D22)中。第四章(a)16位数据操作(b)32位数据操作图4-9516位/32位数据传送指令实例第四章4.2.3功能指令③为脉冲/连续执行指令标志(P)。功能指令中若带有(P),则为脉冲执行指令;没有(P)则为连续执行指令。图4-96分别表示脉冲执行型、连续执行型指令以及加1、减1指令的连续执行指令的特殊标注方法。第四章图4-96脉冲型、连续执行型指令图例第四章4.2.3功能指令④为操作数。操作数即为功能指令所涉及的参数(或称数据),分为源操作数、目标操作数及其他操作数。源操作数是指功能指令执行后,不改变其内容的操作数,用S表示;目标操作数是指功能指令执行后,将其内容改变的操作数,用D表示;既不是源操作数,又不是目标操作数,则称为其他操作数,用m、n表示。其他操作数往往是常数,或者是对源、目标操作数进行补充说明的有关参数。表示常数时,一般用K表示十进制数,H表示十六进制数。如图4-94所示,在一条指令中,源操作数、目标操作数及其他操作数都可能不止一个(也可能一个也没有),此时均可以用序列数字表示,以示区别。例如S1、S2、…;D1、D2、…;m1、m2、…;n1、n2、…。操作数若是间接操作数,即通过变址取得数据,则在功能指令操作数旁加有一点“·”,例如[S1·]、[S2·]、[D1·]、[D2·]、[m1·]等。第四章字软元件位软元件K:十进制数X:输入继电器H:十六进制数Y:输出继电器KnX:输入继电器(X)的位指定M:辅助继电器KnY:输出继电器(Y)的位指定S:状态继电器KnS:状态继电器(S)的位指定*T:定时器(T)的当前值C,LC:计数器(C)的当前值D:数据寄存器(文件寄存器)Z、LZ:变值寄存器表4-60功能指令操作数(软元件)含义第四章4.2.3功能指令*指定的Kn,16位时K1~K4,32位时Kl~K8。操作数可使用PLC内部的各种位元器件,例如X、Y、M、S等,也可以用这些位元器件的组合,以KnX,KnY,KnM,KnS等形式表示。数据寄存器D、定时器T或计数器C的当前值寄存器也可作为操作数。需要注意的是,计数器LC0~LC63为32位数据寄存器,使用过程中不能当作16位数据进行操作。(二)功能指令说明及应用FX5系列PLC功能指令非常丰富,现将常用的功能指令及应用说明如下:1.比较指令[CMP、ZCP](1)指令格式该指令的名称、助记符、操作数如表4-61所示。第四章指令名称助记符操作数备注[S1·][S2·][D·]比较(D)CMP(P)(D)CMP(P)K、HKnX、KnY、KnM、KnS、T、C、D、Z、LZ等Y、M、S等①16/32位指令②连续/脉冲执行区间比较(D)ZCP(P)K、HKnX、KnY、KnM、KnS、T、C、D、Z、LZ等Y、M、S等①16/32位指令②连续/脉冲执行表4-61比较指令表第四章4.2.3功能指令(2)指令说明1)比较指令[CMP]①比较指令是将源操作数[Sl]、[S2]的数据进行比较,比较结果送到目标操作数[D]中,如图4-97所示。当X10为ON时,不执行CMP指令,M0、Ml、M2保持不变;当X10为OFF时,[Sl]、[S2]进行比较,即C20计数器值与Kl00(数值100)比较。若C20当前值小于100,则M0=1,Y10=1;若C20当前值等于100,则Ml=1,Yl1=1;若C20当前值大于100,则M2=1,Y12=1。②比较的数据均为二进制数,且带符号位比较,如-5<2。③比较的结果影响目标操作数(Y、M、S),若把目标操作数指定其他继电器(例如X、D、T、C),则会出错。④若要清除比较结果时,需要用RST和ZRST复位指令,如图4-98所示。第四章图4-97比较指令CMP使用说明图4-98比较结果复位第四章4.2.3功能指令2)区间比较指令[ZCP]①区间比较指令说明如图4-99所示。它是将一个数据[S]与两个源操作数[S1]、[S2]进行比较,比较结果影响目标操作数[D]。X10为ON,C30的当前值与K100和K120比较,若C30<100时,则M3=1,Y10=1;若100≤C30≤120时,则M4=1,Y11=1;若C30>120时,则M5=1,Y12=1。②区间比较指令,数据均为二进制数,且带符号位比较。(3)应用举例比较指令应用如图4-100所示。图4-100(a)是CMP指令的应用,当X10=1时,若C0计数器计数个数小于10时,即C0<10,Y10=1;计数器C0=10时,Y11=1;当计数器C0>10时,Y12=1。当计数器C0计数到15时,此时Y13为ON。图4-100(b)为ZCP指令的应用。当计数器C1当前值为如下数值时,Y14、Y15、Y16将有相应的输出准备状态。第四章图4-99区间比较指令ZCP使用说明(a)CMP指令的应用(b)ZCP指令的应用图4-100比较指令应用实例第四章4.2.3功能指令1)C1<10,Y14=1;2)10<C1≤20,Y15=1;3)C1>30,Y16=1。Y21为内部秒脉冲SM8013(或者SM412)的输出。当计数器C1=30时,C1清零,在下一个扫描周期,PLC又开始循环工作。2.数据传送(1)传送指令[MOV]1)指令格式,如图4-101所示。该指令的名称、助记符及操作数如表4-62所示。第四章指令名称助记符操作数备注传送(D)MOV(P)[S·][D·]①16/32位指令②单次/连续执行K、H、KnX、KnY、KnM、KnS、T、C、D、Z、LZ等K、H、KnX、KnY、KnM、KnS、T、C、D、Z、LZ等表4-62传送指令表第四章4.2.3功能指令2)指令说明①如图4-101(a)所示,示例为传送指令的基本格式,MOV指令的功能是将源操作数送到目标操作数中,即当X10为ON时,[S]→[D]。②指令执行时,K200十进制常数自动转换成二进制数。当X10为OFF时,指令不执行,D20数据保持不变。③MOV指令为连续执行型,MOV(P)指令为脉冲执行型,X10上升沿执行一次。编程时若源操作数[S]是一个变化的量,则使用连续执行型传送指令MOV。④对于32位数据的传送,使用(D)MOV指令,用MOV指令传送结果并非所期望的值,如图4-101(b)所示为32位数据传送指令。当X10合上,则(Dl,D0)32位值→(D2l,D20);当Xl1合上,则(LC35)32位值→(D31,D30)。图4-101传送指令的基本形式第四章(a)基本格式(b)32位指令传送格式第四章4.2.3功能指令3)应用举例图4-102(a)所示是将计数器C10的当前值送D20中。图4-102(b)中是将十进制K100送D20中,K100即表示T20的定时数值。或者将PLC输入端X10~X13的状态送到输出端Y10~Y13,同样可用MOV指令编写程序,如图4-103所示。(a)读出计数器当前值(b)计数器数值的间接指令图4-102传送指令的应用实例第四章(a)基本指令编程方法(b)功能指令编程方法图4-103利用传送指令进行位软元件的数值传送第四章4.2.3功能指令(2)16位数据块传送指令[BMOV(P)]1)指令格式该指令的名称、助记符、操作数如表4-63所示。第四章指令名称助记符操作数备注[S·][D·]n连续/脉冲执行16位数据块传送BMOV(P)X、Y、M、S、T、C、S、Z、LZ、D等同左同左表4-63比较指令表2)指令说明块传送指令BMOV是从源操作数指定的元件[S.]开始的n个数据组成的数据块传送到目标指定的软元件[D.]为开始的n个软元件中。举例说明块传送指令的应用,如图4-104所示,当X2闭合执行块传送指令后,D0开始的3个数(即D0、D1、D2),分别传送到D10开始的3个数(即D10、D11、D12)中去。(a)块传送指令基本格式(b)块传送指令应用图4-104数据块传送指令应用示例第四章4.2.3功能指令(3)同一16位块数据传送指令[FMOV(P)]1)指令格式,见图4-105。该指令的名称、助记符、操作数如表4-64所示。第四章指令名称助记符操作数备注[S·][D·]n同一16位块数据传送FMOV(P)K、H、X、Y、M、S、T、C、D、Z、LZ等X、Y、M、S、T、C、D等与[S·]相同连续/脉冲执行表4-64比较指令表第四章2)指令说明同一16位块数据传送指令FMOV是将源元件中的数据传送到指定目标开始的n个目标单元中,这n个目标单元中的数据完全相同。此指令用于初始化时清零较方便。举例说明该指令的应用,如图4-105所示,当X2闭合执行多点传送指令后,0传送到D10开始的3个数(D10、D11、D12)中,D10、D11、D12中的数为0。(a)同一16位块数据传送指令格式
(b)同一16位块数据传送指令应用图4-105多点传送指令应用示例4.2.3功能指令(4)位移动指令[SMOV(P)]1)指令格式,见图4-106。图4-106位移动指令格式第四章该指令的名称、助记符、操作数如表4-65所示。指令名称助记符操作数备注[S·]n1n2[D·]n3位移动SMOV(P)X、Y、M、S、T、C、D、W等同左同左同左同左连续/脉冲执行表4-65比较指令表第四章4.2.3功能指令2)指令说明位移动指令SMOV是将数据以位数为单位(4位)进行分配/合成的指令。当SM8168为ON时,为16进制传送,SM8168为OFF时,为BCD码传送。图4-107位移动指令逻辑第四章第四章4.2.3功能指令(1)对(s)执行BINBCD转换。(2)将第(n1)位到低位(n2)位、(d)’的第(n3)位传送(合成)至从前数起的(n2)位。(d)’的第1位、第4位从(s)’开始传送时不受影响。(3)将合成的数据(BCD)转换为BIN,存储到(d)中。举例说明位移动指令SMOV的应用:合成3位数的数字式开关的数据后,以BIN存储到D2中。如图4-108所示。图4-108位移动指令SMOV应用第四章第四章4.2.3功能指令(5)1位数据传送指令[MOVB(P)]1)指令格式,见图4-109。该指令的名称、助记符、操作数如表4-66所示。第四章指令名称助记符操作数备注[S·][D·]1位数据传送MOVB(P)X、Y、M、S、T、C、L、D、W、R等同左连续/脉冲执行表4-661位数据传送指令表2)指令说明将(s)中指定的位数据传送至(d)中。(a)指令格式
(b)指令逻辑图4-1091位数据传送指令第四章4.2.3功能指令举例说明指令MOVB的应用,如图4-110所示。图4-110MOVB指令应用第四章第四章4.2.3功能指令17.交替输出指令[ALT](1)指令格式该指令的名称、助记符及操作数如表4-67所示。第四章指令名称助记符操作数备注[D·]连续/脉冲执行交替输出ALT(P)X、Y、M、L、SM、F、B、SB、S、U\G、D、W、SD、SW、R表4-67交替输出指令(2)指令说明如图4-111所示为交替输出指令功能说明。交替输出指令就是输入信号X10的二分频电路,其波形如图4-111(b)所示。图4-111交替输出指令功能说明第四章4.2.3功能指令(a)梯形图(b)波形图图4-112闪烁电路第四章注意事项:如果通过ALT指令编程,将在每个运算周期进行动作取反。通过指令ON/OFF使动作取反时,应使用ALTP指令(脉冲执行型)或将指令触点设为LDP等(脉冲执行型)。举例说明ALT指令应用:闪烁电路,闪烁电路即要产生2秒ON、2秒OFF的闪烁电路,其程序如图4-112所示。第四章4.2.3功能指令22.位处理(1)字软元件位置位[BSET(P)]1)指令格式,见图4-113。该指令的名称、助记符、操作数如表4-68所示。第四章图4-113BSET指令(a)指令基本格式(b)指令应用举例该指令的名称、助记符、操作数如表4-68所示。第四章表4-68字软元件位置位指令表指令名称助记符操作数备注[D·]n字软元件位置位BSET(P)X、Y、M、L、T、C、D、Z等同左连续/脉冲执行第四章2)指令说明对(d)中指定的字软元件的第(n)位进行设置(1)。举例说明BSET指令的应用,将数据寄存器D10的b6位设置为1,如图4-113所示。(2)字软元件位复位[BRST(P)]1)指令格式,见图4-114。
(a)指令基本格式(b)指令应用举例图4-114字软元件位复位第四章表4-69字软元件位复位指令表指令名称助记符操作数备注[D·]n字软元件位复位BRST(P)X、Y、M、L、T、C、D、Z等同左连续/脉冲执行第四章该指令的名称、助记符、操作数如表4-69所示。2)指令说明对(d)中指定的字软元件的第(n)位进行复位(0)。举例说明BSET指令的应用:将数据寄存器D10的b11位复位为0,如图4-114(b)所示。(3)16位测试指令[TEST(P)]1)指令格式,见图4-115。(a)指令基本格式(b)指令逻辑图4-11516位测试指令第四章表4-7016位测试指令表指令名称助记符操作数备注[S1·][S2·][D·]16位测试TEST(P)X、Y、M、S、F、T、C、D、W等同左连续/脉冲执行第四章该指令的名称、助记符、操作数如表4-70所示。2)指令说明从(s1)中指定的软元件开始,提取(s2)中指定的位置的位数据后,写入到(d)中指定位软元件中。对于(d)中指定位软元件,相应位为“0”时OFF,为“1”时ON。举例说明TEST指令应用:梯形图如图4-116所示,X10导通1次、2次和3次时,试分析程序运行结果。图4-11616位测试指令应用举例
解:X10接通1次时,Y10得电;X10接通2次时,Y11得电;X10接通3次时,Y10、Y11断电。第四章4.2.3功能指令(4)位软元件批量复位[BKRST(P)]1)指令格式,见图4-117。第四章(a)指令基本格式(b)指令逻辑图4-117位软元件批量复位该指令的名称、助记符、操作数如表4-71所示。指令名称助记符操作数备注[D·]n位软元件批量BKRST(P)X、Y、M、S、T、C、D、W等K、H、X、Y、M、S、T、C、D、W等连续/脉冲执行表4-71位软元件批量复位指令表第四章4.2.3功能指令2)指令说明从(d)中指定的位软元件开始,对(n)点的位软元件进行复位。第四章(a)指令基本格式
(b)指令逻辑图4-117位软元件批量复位第四章25.数据转换指令(1)BIN数据转BCD4位数指令[BCD(P)]1)指令格式,见图4-118。(a)指令格式
(b)指令逻辑图4-118BIN数据转BCD4位数指令4.2.3功能指令第四章该指令的名称、助记符、操作数如表4-72所示。指令名称助记符操作数备注[S·][D·]BIN数据转BCD4位数BCD(P)X、Y、M、S、T、C、D等同左连续/脉冲执行表4-72BIN数据转BCD4位数指令表第四章2)指令说明①将(s)中指定的软元件BIN数据转换为BCD后,存储到(d)中指定的软元件中。CPU模块的运算采用BIN(2进制数)数据进行处理,用于在配有BCD译码器的7段显示器中显示数值。②(s)中指定的数据通过BCD(10进制数),可在K0~K9999范围内。③(s)或(d)中指定的数据为位数指定时,其情况如下表4-73所示。表4-73位数指定4.2.3功能指令(2)BCD4位数转BIN数据转换指令[BIN(P)]1)指令格式,见图4-120。第四章该指令的名称、助记符、操作数如表4-74所示。(a)指令格式(b)指令逻辑图4-120BCD4位数转BIN数据转换指令指令名称助记符操作数备注[S·][D·]BCD4位数转BIN数据转换BIN(P)X、Y、M、S、T、C、D、Z等同左连续/脉冲执行表4-74BCD4位数转BIN数据转换指令表第四章4.2.3功能指令2)指令说明①将(s)中指定的软元件BCD数据转换为BIN,存储到(d)中指定的软元件。与数字开关相同,将通过BCD(10进制数)设置的数值转换为可通过CPU模块运算操作的BIN(2进制数),读取时使用。②(s)中指定的数据可在0~9999(BCD)范围内。③(s)或(d)中指定的数据为位数指定时,其情况如下表4-75所示。第四章表4-75位数指定第四章4.2.3功能指令举例说明BIN指令应用:图4-121BCD4位数转BIN数据转换指令应用案例第四章第四章4.2.3功能指令(3)8→256位解码指令[DECO(P)]1)指令格式,见图4-122。第四章该指令的名称、助记符、操作数如表4-76所示。(a)指令格式(b)指令逻辑图4-1228→256位解码指令指令名称助记符操作数备注[S·][D·]n解码DECOX、Y、M、S、T、C、D、W、R等同左同左连续/脉冲执行表4-76解码指令表第四章4.2.3功能指令2)指令说明①将(s)的低位(n)位中指定的BIN值对应的(d)位置为ON。②(n)=0时将变为无处理,(d)中指定的软元件内容不变化。③位软元件作为1位处理,字软元件作为16位处理。举例说明指令DECO的应用:点击按钮SF1第1次,电动机正转;点击按钮第2次电动机停转;点击按钮第3次电动机反转;点击按钮第4次电动机停转;如此循环,要求设计梯形图程序。解:单键启停原理图如图4-123(a)所示,梯形图如图4-123(b)所示,该例用译码指令编写。第四章(a)电气原理图(b)控制梯形图图4-1238→256位解码指令应用案例第四章4.2.3功能指令(4)256→8位编码指令[ENCO(P)]1)指令格式,见图4-124。第四章
该指令的名称、助记符、操作数如表4-77所示。(a)指令格式(b)指令逻辑图4-124256→8位编码指令指令名称助记符操作数备注[S·][D·]n256→8位编码ENCO(P)X、Y、M、S、T、C、D、W、R、Z等同左同左连续/脉冲执行表4-77编码指令表第四章4.2.3功能指令2)指令说明①将从(s)的2(n)位的数据变为1的位所对应的BIN值存储到(d)中。②(n)=0时将变为无处理,(d)中指定的软元件内容不变化。③位软元件作为1位处理,字软元件作为16位处理。④多个位为1时以高位的位置进行处理。(5)7段解码指令[SEGD(P)]1)指令格式,见图4-125。
第四章图4-1257段解码指令格式第四章4.2.3功能指令第四章该指令的名称、助记符、操作数如表4-78所示。指令名称助记符操作数备注[S·][D·]7段解码指令SEGD(P)K、H、X、Y、M、S、T、C、R、ST、D、Z等X、Y、M、S、T、C、R、ST、D、Z等连续/脉冲执行表4-787段解码指令表2)指令说明①将(s)的低位4位(1位数)的0~F(16进制数)解码为7段显示用数据后,存储到(d)的低位8位中。软元件(d)的输出开始的低位8位被占用,高位8位不变化。②7段解码表如下表4-79所示。第四章4.2.3功能指令第四章表4-797段解码表第四章4.2.3功能指令图4-1267段解码指令应用案例第四章举例说明7段解码指令SEGD的应用,设计梯形图程序,使用PLC输出口控制数码管显示,实现循环显示0~F数值,如图4-126所示。第四章4.2.3功能指令3.整数运算指令(1)加法指令[(D)ADD(P)]1)指令格式,见图4-127。
第四章该指令的名称、助记符及操作数如表4-80所示。(a)加法指令连续执行(b)脉冲型加法指令格式图4-127加法指令功能说明指令名称助记符操作数备注[S1·][S2·][D·]加法(D)ADD(P)KnX、KnY、KnM、KnS、T、C、D、Z、LZ等KnY、KnM、KnS、T、C、D、Z、LZ等①16/32位指令②单次/连续执行表4-80加法指令表第四章4.2.3功能指令2)指令说明加法指令是将指定的源操作数相加,结果送到指定的目标操作数中去。加法指令功能说明如图4-127所示。当执行条件X10由OFF→ON时,(D20)+(D22)→(D24)。执行代数运算,例如5+(-10)=-5。在32位加法运算中,被指定的字元器件是低16位元器件,而编号更高的下一个元器件为高16位元器件。源操作数和目标操作数可以用相同的元器件号。若源操作元器件和目标元器件号相同而采用连续执行的ADD、(D)ADD指令时,其结果在每个扫描周期都会改变。对于脉冲执行型指令,如图4-127(b)所示。当X10每次从OFF→ON变化时,D10的数据加1,这与INC(P)指令的执行结果相似。第四章(a)加法指令连续执行(b)脉冲型加法指令格式图4-127加法指令功能说明第四章4.2.3功能指令第四章(2)减法指令[(D)SUB(P)]1)指令格式,见图4-128。(a)脉冲型减法指令(b)连续执行的32位减法指令图4-128减法指令功能说明该指令的名称、助记符及操作数如表4-81所示。指令名称助记符操作数备注[S1·][S2·][D·]①16/32位指令②单次/连续执行减法(D)SUB(P)K、H、KnX、KnY、KnM、KnS、T、C、D、Z、LZ等KnY、KnM、KnS、T、C、D、Z、LZ等表4-81减法指令表第四章4.2.3功能指令2)指令说明减法指令是将指定的源操作数[Sl]、[S2]相减,结果送到指定的目标[D]中,即[S1]—[S2]→[D]。减法指令功能说明如图4-128所示。如图4-128(a)所示,当X10为ON时,(Dl0)-(D12)→(D16)执行一次减法运算,且为16位脉冲执行型指令运算。图4-128(b)为连续执行型32位减法指令,即当X10为ON时,(Dll,Dl0)-(D13,D12)→(D17,D16),连续执行。运算是代数运算,例如5-(-10)=15。标志的动作、32位运算中软元件的指定方法,脉冲执行型和连续执行型的差异等与前述加法指令相同。(3)乘法指令[(D)MUL(P)]1)指令格式,见图4-129。第四章图4-129乘法指令第四章4.2.3功能指令该指令的名称、助记符及操作数如表4-82所示。第四章指令名称助记符操作数备注[S1·][S2·][D·]乘法(D)MUL(P)K、H、KnX、KnY、KnM、KnS、T、C、D、R、Z等KnY、KnM、KnS、T、C、D、R等①16/32位指令②单次/连续执行表4-82乘法指令表2)指令说明乘法指令是将指定的源操作数相乘,结果送到指定的目标操作元器件中去。乘法指令功能说明如图4-129所示,分为16位和32位两种运算形式。执行16位乘法运算,执行条件X10为ON时,(D10)×(D12)→(D15,D14)。源操作数是16位,目标操作数是32位。当(D10)=8、(D12)=9时,(D15,D14)=72。最高位为符号位,0为正,1为负。执行32位乘法运算DMUL时,执行条件X10为ON时,(D11,D10)×(D13,D12)→(D17,D16,D15,D14)。源操作数32位,目标操作数64位。当(D11,D10)=150,(D13,D12)=189时,(D17,D16,D15,D14)=28350。最高位为符号位,0为正,1为负。用字元件时,监视64位数据无法实现,只能监视高32位和低32位。第四章4.2.3功能指令(4)除法指令[(D)DIV(P)]1)指令格式,见图4-130。第四章该指令的格式、助记符及操作数如表4-83所示。图4-130除法指令指令名称助记符操作数备注[S1·][S2·][D·]除法(D)DIV(P)K、H、KnX、KnY、KnM、KnS、T、C、D、R、Z、LZ等KnY、KnM、KnS、T、C、D、R等①16/32位指令②单次/连续执行表4-83除法指令表第四章4.2.3功能指令2)指令说明除法指令是将指定的源操作数相除,[Sl]为被除数,[S2]为除数,商送到指定的目标软元件[D]中去,余数送到[D]的下一个目标软元件。DIV除法指令功能说明如图4-130所示。除法指令分16位和32位两种运算方式,具体运算过程分析如图4-131所示。执行16位运算,执行条件X10为ON时,(D10)÷(D12)→(D14)。当(D10)=17,(D12)=2时,(D14)=8,(D15)=1。变址寄存器Z不可用于[D]中。执行32位运算,执行条件X11为ON时,(D11、D10)÷(D13、D12),商在(D15、D14),余数在(D17、D16)中,变址寄存器V和Z不可用于[D]中。除数为0时,运算错误,不执行指令。商和余数的最高位是符号位。被除数或除数中有一个为负数时,商为负数;被除数为负数时,余数为负数。第四章(a)16位运算(b)32位运算图4-131除法指令应用分析第四章4.2.3功能指令4.加1指令[(D)INC(P)](1)指令格式,见图4-132。第四章该指令的指令名称、助记符及操作数如表4-84所示。图4-132加1指令功能说明指令名称助记符操作数备注[D·]加1(D)INC(P)KnY、KnM、KnS、T、C、D、Z、LZ等①16/32位指令②单次/连续执行表4-84加1指令表第四章4.2.3功能指令(2)指令说明加1指令功能说明如图4-132所示。每当X10由OFF→ON变化时,由[D]指定的软元件D20自动加1。当使用连续指令时,每个扫描周期自动加1。16位指令运算时,+32767再加1就变为-32768。同样,在32位运算时,+2147483647加1就变为-2147483648。5.减1指令[(D)DEC(P)](1)指令格式,见图4-133。第四章图4-133减1指令第四章4.2.3功能指令该指令的名称、助记符及操作数如表4-85所示第四章指令名称助记符操作数备注[D·]减1(D)DEC(P)KnY、KnM、KnS、T、C、D、Z、LZ等①16/32位指令②单次/连续执行表4-85减1指令表(2)指令说明减1指令功能说明如图4-133所示。当X10由OFF→ON变化时,由[D]指定软元件D20自动减1。当使用连续指令时,每个扫描周期自动减1。16位指令运算时,-32768再减l就变为+32767。同样,32位指令运算时,-2147483648再减1就变为+2147483647。第四章4.2.3功能指令6.字逻辑与、或、异或指令[(D)WAND(P)、(D)WOR(P)、(D)WXOR(P)](1)指令格式,见表4-86这三条指令的名称、助记符及操作数如表4-86。第四章指令名称助记符操作数备注[S1·][S2·][D·]字逻辑与(D)WAND(P)K、H、KnX、KnY、KnM、KnS、T、C、D、Z、LZ等KnY、KnM、KnS、T、C、D、Z、LZ等①16/32位指令②单次/连续执行字逻辑或(D)WOR(P)字逻辑异或(D)WXOR(P)表4-86字逻辑与、或、异或指令表第四章4.2.3功能指令(2)指令说明这三条指令均为字逻辑运算,各自的操作如表4-87所示。第四章指令名称指令格式指令功能字逻辑(WAND)各位进行与运算:(D20)(D22)→(D24)1·1=1,0·1=0,1·0=0,0·0=0字逻辑或(WOR)各位进行或运算:(D20)(D22)→(D24)1+1=1,0+1=1,1+0=1,0+0=0字逻辑异或(WXOR)各位进行异或运算:(D20)⊕(D22)→(D24)1⊕1=0,0⊕1=1,1⊕0=1,0⊕0=0表4-87字逻辑与、或、异或指令功能说明表X10为ON时,相应的逻辑与、或、异或按16位或32位进行操作运算。第四章4.2.3功能指令(3)应用举例1)四则运算式的实现,运用PLC梯形图程序执行算式的运算。“X”代表输入端口K2X10送入的二进制数,运算结果送输出口K2Y10;X30为起停开关,梯形图如图4-134所示。第四章图4-134四则混合运算式应用举例控制梯形图第四章4.2.3功能指令2)彩灯亮、灭循环控制彩灯功能用加1、减1指令及变址寄存器完成正序彩灯亮至全亮,反序熄至全熄的循环变化。彩灯状态变化的时间单元为1s,用SM8013(或者SM412)实现。梯形图如图4-135所示,图中Xl0为彩灯的控制开关,彩灯共12盏。第四章图4-135彩灯控制梯形图注:SM8013(兼容)为1s时钟脉冲,等同SM412;SM8034(兼容)为所有输出禁止标识位;SM8002(兼容)为初始脉冲,等同SM402。第四章4.2.3功能指令7.数据批量复位指令[ZRST(P)](1)指令格式,见图4-136。第四章(a)指令格式图4-136数据批量复位指令(b)指令逻辑第四章4.2.3功能指令该指令的名称、助记符、操作数如表4-88所示。指令名称助记符操作数备注[D1·][D2·]连续/脉冲执行数据批量复位ZRST(P)X、Y、M、L、SM、F、B、SB、T、ST、C、D、W等同左第四章表4-88数据批量复位指令表(2)指令说明①在相同类型的(d1)与(d2)中指定的软元件之间进行批量复位。②(d1)、(d2)位软元件时,在(d1)~(d2)的整个软元件范围内写入OFF(复位)。③(d1)、(d2)字软元件时,在(d1)~(d2)的整个软元件范围内写入K0。第四章4.2.3功能指令举例说明ZRST指令的应用,当CPU模块从STOP状态切换到RUN时,对指定范围的位软元件和字软元件执行复位操作,如图4-137所示。第四章图4-137ZRST指令应用第四章4.2.3功能指令8.位右移、位左移指令[SFTR(P)、SFTL(P)](1)指令格式,见图4-138。
第四章(a)指令格式(b)位右移逻辑图4-138位右移指令功能说明第四章4.2.3功能指令表4-89移位指令表指令名称助记符操作数备注[S1·][D·]n1n2位右移SFTR(P)X、Y、M、S等Y、M、S等K、H、X、Y、M、S、Z、R等(n2≤n1)单次/连续执行位左移SFTL(P)第四章这两条指令的名称、助记符及操作数如表4-89所示。第四章4.2.3功能指令(2)指令说明1)SFTR和SFTL两条指令使位软元件中的状态向右、向左移位,nl指定位软元件长度,n2指定移位的位数,且n2≤nl。如图4-138所示为位右移指令功能说明。当M50为ON时,执行该指令,向右移位。每次4位向前一移动,其中X13~X10→M25~M22,M25~M22→M21~M18,M21~M18→M17~M14,M17~M14→M13~M10,M13~M10移出,即从高位移入,低位移出。第四章2)用SFTR(P)脉冲型指令时,仅执行一次,而用SFTR连续指令执行时,移位操作是每个扫描周期执行一次。3)位左移指令功能说明如图4-139所示。当M50为ON时,数据向左移位,每次向左移四位,其中X13~X10→M13~M10,M13~M10→M17~M14,M17~M14→M2l~M18,M2l~M18→M25~M22,M25~M22移出。(a)指令格式(b)位左移逻辑图4-139位左移指令第四章4.2.3功能指令9.字右移、左移指令[WSFR(P)、WSFL(P)](1)指令格式,见图4-140。该指令的名称、助记符及操作数如表4-90所示。第四章指令名称助记符操作数备注[S1·][D·]n1n2字右移WSFR(P)KnX、KnY、KnM、KnS、T、C、D等KnY、KnM、KnS、T、C、D等K、Hn2≤n1单次/连续执行字左移WSFL(P)表4-90字移位指令表第四章4.2.3功能指令(2)指令说明1)字右移指令的功能与位移位指令功能类同,字移位时以字为单位向右或向左移位。图4-140(a)中,当X10为ON时,(D43~D40)→(D25~D22),(D25~D22)→D21~D18),(D21~D18)→(D17~D14),(D17~D14)→(D13~Dl0),(D13~Dl0)移出。nl=K16,是指定D的长度为16个。D中出现的是最低位的数据地址,n2=K4是指每次移动的一组数据,另外n2≤nl。2)图4-140(b)中,当X10为ON时,4个字一组向左移位,(D43~D40)→(D13~D10),(D13~Dl0)→(D17~D14),(D17~D14)→(D21~D18),(D21~D18)→(D25~D22),(D25~D22)移出。nl、n2的设置与字右移情况相同。第四章(a)字右移指令(b)字左移指令图4-140字移位指令功能说明第四章4.2.3功能指令3)该指令分为连续型和脉冲型两种执行方式。当使用脉冲型指令,X10为ON时,只执行一次。而当用连续型指令时,每个扫描周期均执行一次。4)特别说明:如果使用位指定的软元件进行的字移位指令,是以8个数为一组进行,例如K1X10代表X17~X10,K2X10代表X27~X20、X17~X10。如图4-141所示用位软元件进行的字右移指令功能说明。第四章(a)指令格式(b)指令逻辑图4-141字右移指令第四章4.2.3功能指令10.循环右移指令[ROR(P)](1)指令格式,见图4-142。
第四章该指令的名称、助记符及操作数如表4-91所示。(a)指令格式(b)指令逻辑图4-142循环右移指令功能说明指令名称助记符操作数备注[D·]n循环右移ROR(P)X、Y、M、KnS、T、C、D、Z等K、H、X、Y、M、KnS、T、C、D、Z等①单次/连续执行②ROR指令不支持ST语言、FBD/LD语言。可使用通用功能的ROR。表4-91循环右移指令表第四章4.2.3功能指令(2)指令说明1)循环右移指令功能说明如图4-142所示。当X10为ON时,[D]内的各位数据向右移n位,最后一次从最低位移出的状态存于进位标志SM8022中。2)循环右移指令中的[D]可以是16位数据寄存器或32位数据寄存器。3)ROR(P)为脉冲型指令,X10每次触发执行一次,ROR为连续型指令,其循环移位操作每个周期执行一次。4)若在目标软元件中指定“位”数,则只能用K4(16位指令)和K8(32位指令)表示,如图4-143所示。第四章图4-14316位循环移位指令第四章4.2.3功能指令11.循环左移指令[ROL(P)](1)指令格式,见图4-144。第四章该指令的名称、助记符及操作数如表4-92所示。(a)指令格式(b)指令执行示意图图4-144循环左移指令指令名称助记符操作数备注[D·]n循环左移ROL(P)X、Y、M、S、T、C、D、Z等K、H、X、Y、M、S、T、C、D、Z等①单次/连续执行②ROR指令不支持ST语言、FBD/LD语言。可使用通用功能的ROR。表4-92循环左移指令表第四章4.2.3功能指令(2)指令说明1)循环左移指令功能说明如图4-144所示。当X10为ON时,[D]内的各位数据向左移n位,最后一次从最高位移出的状态存储于进位标志SM8022中。2)同循环右移指令一样,[D]可以是16位或32位数据寄存器,有脉冲型和连续型指令。3)若目标元器件D指定“位”数,则只能用K4(16位指令)和K8(32位指令)。举例说明ROR、ROL指令的应用:霓虹灯顺序控制,有8盏(PG1~PG8)霓虹灯管接于PLC输出口K2Y10(Y27-Y10),要求当X10为ON时,霓虹灯PGl~PG8以正序每隔1s轮流点亮,当Y17亮后,停5s;然后,反向逆序每隔1s(SM8013时钟)轮流点亮,当Y10再亮后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年内蒙古中考数学试题
- 供电队班组安全自主管理培训
- 广东省佛山市2024-2025学年高二上学期1月期末考试化学试题(解析版)
- 银行业专业人员初级职业资格考试(专业实务个人贷款)试题及答案(2026年宁夏)
- 一级建造师考试(机电工程管理与实务)题库含答案(2025年蚌埠)
- 事业单位工勤人员高级工中医保健考试试题及答案
- 山东省昌邑市事业单位考试职业能力倾向测验(中小学教师类D类)强化训练题库及答案
- 计量室岗位人员考试题库及答案
- 环境工程企业技术人员专业考试题库及答案
- 电厂人员安全教育考试题库(含答案)
- 小儿川崎病护理查房课件
- 公司入围申请书范文模板
- 分体空调维保技术标书(分体空调维护保养技术标书)
- 2024年海南农垦旅游集团有限公司招聘笔试参考题库含答案解析
- 《新会计法解读》课件
- 幼儿园常见安全事故及其应对策略
- 悬挑式卸料平台监理实施细则
- 1956-1967国家科学技术发展远景规划纲要
- 安全评价人员管理制度
- 20S517 排水管道出水口
- 土壤的物理性质课件
评论
0/150
提交评论