第三章 可编程序控制器的指令系统_第1页
第三章 可编程序控制器的指令系统_第2页
第三章 可编程序控制器的指令系统_第3页
第三章 可编程序控制器的指令系统_第4页
第三章 可编程序控制器的指令系统_第5页
已阅读5页,还剩121页未读 继续免费阅读

下载本文档

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

文档简介

第三章可编程控制器的指令系统指令系统:

PLC所使用的各种指令的集合说明对象:CPM1A系列3.1编程基础3.2基本指令系统3.3常用的单元程序3.4应用指令系统3.1

基本指令系统

基本指令

LD、LDNOT、OUT、OUTNOTAND、ANDNOT、OR、ORNOTANDLD、ORLDNOP、ENDDIFU、DIFDSET、RSET、KEEPTIM、TIMH、CNT、CNTRIL、ILC、JMP、JME说明:操作不影响标志位;OUT、OUTNOT指令对输出继电器、辅助继电器、暂存继电器TR、保持继电器HR、等继电器线圈的驱动指令,但对输入继电器不能使用;OUT、OUTNOT指令可多次并联使用。

一、取指令和输出指令操作码名称功能梯形图LD取输入母线和常开触点连接LDNOT取反输入母线和常闭触点连接OUT输出将逻辑运算结果输出,驱动线圈OUTNOT反相输出将逻辑运算结果反相后输出,驱动线圈LD00000OUT01000LDNOT00001OUT20100LD20100OUTNOT010010000001000000012010020100

01001例:取指令和输出指令的应用对应指令表:二、串联和并联指令说明:AND、ANDNOT用于LD或LDNOT后一个常开或常闭触点的串联;OR、ORNOT用于LD或LDNOT后一个常开或常闭触点的并联。(串并联的数量不限制)AND、ANDNOT、OR、ORNOT的操作不影响标志位。

操作码名称功能梯形图AND与常开触点串联连接ANDNOT与非常闭触点串联连接OR或常开触点并联连接ORNOT或非常闭触点并联连接LD00000AND00001OUT01000LD00002ANDNOT00003OUT01001OUT0100200000000010000200003010000100101002LD00000OR00001ORNOT00002OUT01000LDNOT01000AND00003OR00004OUT010010000001000000010000400002000030100001001*在指令OUT01001后,对01002使用OUT指令,称为纵接输出,可多次重复使用。

例:串联和并联指令的应用

对应指令表:对应指令表:三、块与和块或指令

说明:两个或两个以上触点并联的电路称为并联电路块两个或两个以上触点串联的电路称串联电路块建立电路块用LD或LDNOT开始当一个并联电路块和前面的触点或电路块串联时,需要用块与ANDLD指令当一个串联电路块和前面的触点或电路块并联时,需要用块或ORLD指令成批使用ANDLD、ORLD指令,使用次数限制在8次以下操作码名称功能梯形图ANDLD块与并联电路块的串联ORLD块或串联电路块的并联例:块或指令的应用对应指令表:(成批使用ORLD)LD00000AND00001LDNOT00002AND00003LDNOT00004ANDNOT00005ORLDORLDOUT0100000005000000000101000000020000300004对应指令表:(分别使用ORLD)LD00000AND00001LDNOT00002AND00003ORLDLDNOT00004ANDNOT00005ORLDOUT01000例:块与指令的应用对应指令表:(并联电路块在后

)LD00000LD00001OR00002ANDLDOUT01000

0000100000010000000200000000010100000002对应指令表:(并联电路块在前)LD00001OR00002AND00000OUT01000例:ANDLD、ORLD指令的混合使用

000000000200003010000000100004000050000600007LD00000OR00001LD00002AND00003LDNOT00004AND00005ORLDOR00006ANDLDOR00007OUT01000块与串联电路块并联电路块串联电路块块或四、空操作和程序结束指令

NOPEND说明:在将全部程序清除时,全部指令成为空操作。END指令以后的其余程序步不再执行,而直接进行输出处理;若在程序中没有END指令,则要处理到最后的程序步,并且编程软件在进行语法检查时,还会显示语法错误的提示;在调试中,可在各程序段插入END指令,依次检查各程序段的动作执行END指令时,ER、CY、GR、EQ、LE标志被置为OFF功能编号操作码名称功能梯形图00NOP空操作无动作01END结束输入/输出处理,返回到程序开始五、置位、复位和保持指令

说明:置位SET、复位RSET指令可单独使用保持指令是置位和复位指令的组合,置位S在先,复位R在后,不能交换次序,S和R也不能单独使用功能编号操作码名称功能梯形图SET置位使指定的继电器ONRSET复位使指定的继电器OFF11KEEP保持保持继电器动作SET操作数RSET操作数RKEEP操作数S例:置位、复位和保持指令的应用

0000101000000000100100001SET010000000000000KEEP01001RSET0100000001对应指令表:LD00000SET01000LD00001RSET01000LD00000LD00001KEEP01001说明:触点00000一旦闭合,线圈01000得电;触点00000断开后,线圈01000仍得电触点00001一旦闭合,则无论触点00000闭合还是断开,线圈01000都不得电对同一软元件,SET、RSET可多次使用,先后顺序也可任意,但以最后执行的一行有效对于使用KEEP指令的线圈01001,当触点00000闭合时,线圈01001得电;触点00000断开后,线圈01001仍得电;触点00001一旦闭合,则无论触点00000闭合还是断开,线圈01001都不得电。时序图:说明:SET和RSET在梯形图中顺序颠倒后的时序图比较

0000101000000000100100001SET010000000000000KEEP01001RSET0100000001对应指令表:LD00000SET01000LD00001RSET01000LD00000LD00001KEEP01001时序图:00000RSET010000000100000KEEP01001SET0100000001对应指令表:LD00001RSET01000LD00000SET01000LD00000LD00001KEEP01001时序图:00001010000000001001六、微分指令

功能编号操作码名称功能梯形图13DIFU上升沿微分在逻辑运算结果上升沿时,继电器在一个扫描周期内ON14DIFD下降沿微分在逻辑运算结果下降沿时,继电器在一个扫描周期内ONDIFU操作数DIFD操作数说明:在微分指令中,U代表上升沿微分,表示在指定的软元件触点闭合(上升沿)时,被驱动的线圈得电一个扫描周期T在微分指令中,D代表下降沿微分,表示在指定的软元件触点断开(下降沿)时,被驱动的线圈得电一个扫描周期TIR区中已用作输入通道的位不能作为微分指令的输出位例:微分指令的应用

对应指令表:LD00001DIFU20002LD00001DIFD20003TT2000300001200020000100001DIFU

20002DIFD

20003时序图:一、基本编程原则1、梯形图中的每一行都是从左侧母线开始画起,线圈或指令画在最右边,线圈或指令右边只能画右母线。

25313

图3.1使用25313的例子

2、线圈或指令不能直接与左侧母线连接(除极少数没有执行条件的指令,如END等)。如果必须时,可以通过特殊辅助继电器25313(常ON)的触点连接。3.2

基本编程规则和编程方法

指令3、用OUT指令输出时,同一编号的继电器线圈在同一程序中使用两次以上称为双线圈输出。双线圈输出容易引起误动作或逻辑混乱,因此一般要避免出现这种情况。(a)图中最后一次输出才是有效的。(b)双线圈输出造成的逻辑混乱。图3.11双线圈输出的例子4、梯形图必须按照从左到右、从上到下的顺序编写,不允许在两行之间垂直连接触点。如果不符合上述顺序,就要进行转换。图3.12(a)若转换成图3.12(b)即符合顺序要求。5、一个完整的梯形图在程序结束后必须使用END指令,否则,运行程序时,不执行。图3.12梯形图的顺序转换二、程序编制注意事项1.不能编程的电路及转换AFBCABCF

线圈位置不对梯形图

转换后的梯形图(2)桥式电路ACBEDFABCAEDDCEBF

错误的梯形图

改正后的梯形图(1)线圈位置不对的梯形图及转换2.同名双线圈输出及其对策

原梯形图

修改后的梯形图(1)修改后的梯形图(2)BAFCDFABFCDAB20000CD200012000020001F3.注意梯形图的结构

LDALDBANDCORLDOUTFLDBANDCORAOUTFABCFBCAFLDALDBORCANDLDOUTFABFCABCFLDBORCANDAOUTF

原梯形图

改画后的梯形图

原梯形图

改画后的梯形图指令表指令表指令表指令表4.常闭接点输入的处理

01000000000000101000END

停止按钮用常闭触点的起动、停止控制程序

七、联锁指令和解锁指令

说明:联锁和解锁指令是专为处理分支电路而设计的。若IL的执行条件为ON时,在IL和ILC之间的程序被驱动。若IL的执行条件为OFF,则IL和ILC之间的程序不执行,此时IL和ILC之间内部器件的状态是:所有OUT指令输出的均为OFF;所有定时器都复位;KEEP指令、计数器、移位寄存器以及SET、RESET指令的操作位都保持IL的执行条件为ON时的状态。不论IL的执行条件为ON还是OFF,IL和ILC之间的指令都要占用扫描时间。IL与ILC指令可以成对使用,也可以多个IL指令配一个ILC指令。但不允许嵌套使用,即ILC指令只能用一条。ILILC┇功能编号操作码名称功能梯形图02IL联锁公共串联触点的连接03ILC解锁公共串联触点的复位对应指令表:LD00000IL(02)LD00001OUT01000LD00002ANDNOT00003OUT01001ILC(03)LD00004OUT01002例:IL、ILC指令的应用对应指令表:LD00000IL(02)LD00001OUT01000LD00002IL(02)LD00003OUT01001LD00004OUT01002ILC(03)LD00005OUT01003例:多个IL指令配一个ILC指令多种输出方式:并联输出、连续输出和复合输出对应指令表:LD00000OUT01000OUT01001SET01002对应指令表:LD00000SET01000AND00001OUT01001AND00002OUT01002对应指令表:LD00000IL(02)LD00001OUT01000LD00002ANDNOT00003OUT01001LD00003OUT01002ILC(03)八、用暂存继电器处理分支程序

说明:在同一分支程序段中,同一TR号不能重复使用。TR需要与LD或OUT等基本指令一起使用。对应指令表:LD00000IL(02)LD00001OUT01000LD00002OUT01001ILC(03)对应指令表:LD00000OUTTR0AND00001OUT01000LDTR0AND00002OUT01001LD00003用TR处理分支用IL/ILC处理分支九、跳转和跳转结束指令

说明:JMP/JME指令用于控制程序流向,当JMP的执行条件为ON时,执行JMP与JME之间的程序;当JMP的执行条件为OFF时,跳过JMP到JME之间的程序,转去执行JME后面的程序,此时不占用扫描周期。JMP到JME之间的程序不参与运算,所有输出、定时器、计数器的状态保持JMP的执行条件为ON时不变。跳转开始和跳转结束的编号要一致;对同一个跳转号N,JMPN/JPEN只能在程序中使用一次。多个JMPN可以共用一个JMEN,这样使用后,在进行程序编译时会出现警告信息,但程序能正常执行。跳转指令可以嵌套使用,但必须是不同跳转号的嵌套。JMPN功能编号操作码名称功能梯形图操作数04JMP跳转开始当驱动触点断开时,跳转到JMEN:00~4905JME跳转结束解除跳转指令JMEN例:JMP/JME指令的应用对应指令表:LD00000JMP(04)00LD00001OUT01000AND00002OUT01001JME(05)00LD00003OUT01004例:JMP/JME指令的应用多个JMP共用一个JME跳转指令的用法例:JMP、JME指令的应用对应指令表LD00000JMP00LD00001OUT01000LD00002TIM000#20LD00003LD00004CNT127#10JME00LD00005OUT0100100000JMP00000010100000002TIM0000000300004CNT127#10JME000000501001说明:当触点00000闭合时,输出线圈01000、定时器T000、计数器127都分别受到触点00001、00002、00003、00004的控制。当触点00000断开时,JMP00到JME00间的梯形图都不参与运算。具体表现为:输出线圈01000不论触点00001的闭合与否,都保持触点00000断开前的状态;定时器T000停止计时,触点00002闭合,定时器不计时,触点00002断开,定时器也不复位;计数器127停止计数,触点00004闭合不能复位计数器,触点00003的通断也不能使计数器计数。

#20十、定时器/计数器指令

SCPRACPCNTR计数器号设定值CPRCNT计数器号设定值TIM定时器号设定值TIMH定时器号设定值功能编号操作码名称功能梯形图操作数TIM定时精度为0.1s的减法定时器(0~999.9s)定时器/计数器号:T/C000~127(在使用高速定时器指令中作中断处理的定时器用T000~T003)设定值:IR000~019、200~255HR00~19AR00~15LR00~15DM、*DM0000~1023、6144~6655#0000~9999(BCD)CNT计数减法计数器,计数设定值0~999912CNTR可逆计数加、减法计数器,计数设定值0~999913TIMH高速定时精度为0.01s的高速减法定时器(0~99.99s)1、定时器的应用对应指令表LD00000TIM000#100LDTIM000OUT01000LD00001TIMH

001#200LDTIM001OUT01001

对应指令表(CX-P)LD0.00TIM000#100LDTIM000OUT10.00LD0.01TIMH001#200LDTIM001OUT10.01

0000100000TIM00101001TIM00001000TIMH001#200TIM000#1000.010.00TIM00110.01TIM00010.00TIMH001#200TIM000#10000001TIM000#10000000TIMH00101001TIM00001000TIMH001#2004s10s01000000004s000012s010012s说明:定时器TIM在人工绘制梯形图时经常简画成上图中的形式TIM000是普通定时器,当触点00000闭合后,定时器TIM000开始计时,10s后触点TIM000常开触点闭合,线圈01000得电。TIMH001被定义为高速定时器,当触点00001闭合后,定时器TIMH001开始计时,2s后触点TIMH001常开触点闭合,线圈01001得电.若触点00000或00001断开,不论在定时中途,还是在定时时间到后,定时器TIM000、TIMH001分别被复位时序图:例:定时器的应用对应指令表LD00000TIM000#SV1LDTIM000TIM

001#SV2LDTIM001OUT01000

对应指令表LD00000IL(02)TIM000#0600LDTIM000OUT01000LDNOTTIM00OUT01001ILC(03)

TIM容量的扩展

接通延时ON和接通延时OFF的控制TIM执行减法运算,当定时器线圈被驱动时,定时器从设定值每0.1s减1,直到0结束,此时,定时器的常开触点闭合,常闭触点断开;当定时器线圈未驱动时,定时器被复位,返回到设定值TIMH也执行减法运算,每0.01s减1,其余同TIMCNT执行减法计数,CP为计数脉冲输入,每来一个脉冲,计数器的当前值减1,直到0结束,此时,计数器的常开触点闭合,常闭触点断开;R为复位,当复位端有效时,计数器被复位,返回到设定值CNTR执行加法或减法计数,ACP为加计数脉冲输入,SCP为减计数脉冲输入,R为复位。可逆计数器在进位或借位时有输出,即在加计数过程中当加到设定值再加1,或在减计数过程中减到0再减1时,计数器的常开触点闭合,常闭触点断开;当复位端有效时,计数器被复位,返回到0。出错标志位25503:当设定值不是BCD数时或间接寻址的DM通道不存在时为ON。定时和计数指令说明:对应指令表(CPT)LD00000LD00001CNT100200LDCNT100OUT010002、计数器的应用例:计数器容量的扩展对应指令表LD25502LD25315ORCNT000CNT000SV1LDCNT000LD25315CNT001SV2LDCNT001OUT01000对应指令表LD00001LD00002LD00003CNTR046#02003、可逆计数器的应用例:可逆计数器的应用000010000300002C101当前值01001C100当前值0000000000CNT100#5CNTR101#300001CNT10001000000020000300001CNTR10101001对应指令表(CPT)LD00000LD00001CNT100#5LDCNT100OUT01000LD00002LD00003LD00001CNTR101#3LDCNTR101OUT01001

第三节常用的单元程序1.起动、停止程序对应指令表LD00000OR01000ANDNOT00001OUT01000END00000000010100001000000000000101000END对应指令表LDNOT00001AND01000OR00000OUT01000END

00000000010100000000END000010100001000*起动优先*停止优先时序图时序图2.单稳态程序

END00000T0000100001000T000#500000010000.5s0.5s对应指令表LD00000OR01000TIMT000#5ANDNOTT000OUT01000END时序图3.双稳态程序

对应指令表LD00000DIFU20000LD20000ANDNOT01000LDNOT20000AND01000ORLDOUT01000END0000001000ENDDIFU20000200000100001000200000100000000时序图4.多谐振荡器程序

1s01001000002s0100001001T000#1000000T001T000T001#20T0000100000000T000END对应指令表LD00000ANDNOTT001TIM000#10LDT000TIMT001#20LDT000OUT01000LD00000ANDNOTT000OUT01001END时序图5.顺序脉冲程序

000000100001001010020.1s0.1s0.1sT001#1END00000T00301000T001T002#1T00101001T002T003#1T00201002T003时序图第四节应用指令系统

指令分类:数据传送数据比较数据移位递增递减四则运算数据变换逻辑运算……

特殊运算子程序控制中断控制步进控制显示故障诊断高速计数控制功能编号操作码名称梯形图符号功能/有关标志21MOV传送将S通道的数据、常数传送到D通道中S范围:IR、SR、HR、AR、LR、TC、DM、*DM、#D范围:IR、SR、HR、AR、LR、DM、*DM※对标志位的影响:1.当间接寻址DM通道不存在时,25503为ON;2.执行指令后若的中的数据为0000,25506为ON。22MVN取反传送将S通道的数据、常数取反传送到D通道中S范围:IR、SR、HR、AR、LR、TC、DM、*DM、#D范围:IR、SR、HR、AR、LR、DM、*DM对标志位的影响同上一、数据传送指令数据传送指令有传送MOV、取反传送MVN、块传送XFER、块设置BSET、位传送MOVB、数字传送MOVD、单字分配DIST、数据交换XCHG、数据调用COLL等MOVSDMVNSD*MOV指令的应用

说明:当触点00000闭合时,MOV指令将常数100传送到数据存储器DM0001,作为定时器TIM000的设定值。TIM000DM000100001MOV#100DM000100000对应指令表LD00000MOV#100DM0001LD00001TIM000DM0001

*MOV指令的应用

25502CNT001#800000100000MOVCNT001010说明:当触点00000闭合时,MOV指令将计数器的当前值送到输出继电器010通道以BCD码的形式输出25502是1s时钟脉冲,驱动计数器减计数对应指令表LD25502LDNOT00001CNT001#80LD00000MOVCNT001010

功能编号操作码名称梯形图符号功能/有关标志70XFER块传送将以S通道开始的连续N个通道的数据、常数传送到以D通道开始的连续N个通道中N范围:IR、SR、HR、AR、LR、TC、DM、*DM、#S范围:IR、SR、HR、AR、LR、TC、DM、*DMD范围:同S※下列情况下,25503为ON:1.N不是BCD码;2.S+N-1和D+N-1超出所在区域;3.间接寻址DM通道不存在。71BSET块设置将源数据S传送到St到E通道中S范围:IR、SR、HR、AR、LR、TC、DM、*DM、#St范围:IR、SR、HR、AR、LR、TC、DM、*DMD范围:同St※1.St与E必须在同一区域;2.St≤E。一、数据传送指令XFERNSDBSETSStE*MOV指令的应用

用MOV指令修改TIM的设定值*BSET指令的应用

使用@BEST指令改变定时器当前值的例子功能编号操作码名称梯形图符号功能/有关标志82MOVB位传送根据C的内容,将S中指定的某一位传送到D通道的指定位中去S范围:IR、SR、HR、AR、LR、TC、DM、*DM、#C范围:控制数据(BCD码),同SD范围:IR、SR、HR、AR、LR、DM、*DM※下列情况下,25503为ON:1.C指定的位不存在;2.间接寻址DM通道不存在。83MOVD数字传送根据C的内容,将S中指定的数字传送到以D通道的指定数字位中去S范围:IR、SR、HR、AR、LR、TC、DM、*DM、#C范围:控制数据(BCD码),同SC中的bit0~bit3指定S中要传送的第一位数字的位号;bit4~bit7指定S中要传送的数字位的位数;bit8~bit11指定D中要接收的第一位数字的位号;D范围:IR、SR、HR、AR、LR、DM、*DM一、数据传送指令MOVBSCDMOVDSCD功能编号操作码名称梯形图符号功能/有关标志80DIST单字分配根据C的内容,进行单字数据分配或堆栈的进栈操作,堆栈的深度由C的低3位决定S范围:IR、SR、HR、AR、LR、TC、DM、*DM、#C范围:控制数据(BCD码),同SC的含义:bit12~bit15的内容≤8,进行单字数据分配;bit12~bit15的内容=9,进栈操作DBs范围:IR、SR、HR、AR、LR、TC、DM、*DM1.单字数据分配将S的内容送到(DBs+C)确定的通道中2.进栈操作DBs的内容为堆栈指针,将S的内容复制到(DBs+1+堆栈指针)确定的通道中,然后指针加1※下列情况下,25503为ON:1.C不是BCD码;2.间接寻址DM通道不存在;3.

(DBs+C)或(DBs+1+堆栈指针)与DBs不在同一数据区73XCHG数据交换将E1与E2的内容进行互换E1范围:IR、SR、HR、AR、LR、TC、DM、*DM、E2范围:同E1※间接寻址DM通道不存在时,25503为ON。一、数据传送指令DISTSDBsCXCHGE1E2功能编号操作码名称梯形图符号功能/有关标志81COLL数据调用根据C的内容,进行调用数据或堆栈的出栈操作,堆栈的深度由C的低3位决定SBs范围:IR、SR、HR、AR、LR、TC、DM、*DMC范围:控制数据(BCD码),范围比SBs多个#C的含义:bit12~bit15的内容≤8,进行单字数据分配;bit12~bit15的内容=9,进栈操作D范围:同SBs1.调用数据C=0000~6655时,将(SBs+C)内容送到D通道中2.出栈操作(1)C=9000~9999时,以SBs的内容为堆栈指针,按先入先出的原则将堆栈中的数据复制到D中,然后指针减1(2)C=8000~8999时,以SBs的内容为堆栈指针,按后入先出的原则将堆栈中的数据复制到D中(堆栈中的内容不变),然后指针减1※对标志位的影响:当S的内容为0000时,25506为ON下列情况下,25503为ON:1.C不是BCD码;2.间接寻址DM通道不存在;3.

(SBs+C)或(SBs+栈深)与SBs不在同一数据区一、数据传送指令COLLSBsCD*进、出栈指令的应用

执行完(1):块设置指令DM0000~DM0004的内容都是0000;(2)、(3)、(4)指令均为进栈操作执行完(2):将#1234→DM0001、(DM0000)=1;执行完(3):将#5678→DM0002、(DM0000)=2;执行完(4):将#9000→DM0003、(DM0000)=3;执行完(5):先入先出堆栈出栈操作

将#1234→TIM000、(DM0000)=2#5678→DM0001、#9000→DM0002;执行完(6):后入先出堆栈出栈操作

将#9000→CNT127、(DM0000)=1功能编号操作码名称梯形图符号功能/有关标志20CMP单字比较将C1通道的数据、常数与C2通道的数据、常数进行比较,根据比较结果分别设置各标志位;C1范围:IR、SR、HR、AR、LR、TC、DM、*DM、#C2范围:同C1当C1﹥C2,大于标志位25505为ON;当C1﹦C2,大于标志位25506为ON;当C1﹤C2,大于标志位25507为ON;间接寻址DM通道不存在时,25503为ON。60CMPL双字比较将C1+1、C1通道的数据与C2+1、C2通道的数据进行比较,根据比较结果分别设置各标志位;C1、C2范围:IR、SR、HR、AR、LR、TC、DM、*DM各标志位同上二、数据比较指令

数据比较指令有比较CMP、双字比较CMPL、块比较BCMP、表比较TCMP等指令。CMPC1C2CMPLC1C2000

*CMP指令的应用

00000CMP#10CNT000010012550501002255060100325507对应指令表LD00001CMP#10CNT000LD25505OUT01001LD25506OUT01002LD25507OUT01003

*CMP指令的应用

说明:当触点00000闭合时,将定时器的当前值和立即数200进行比较;当定时器的当前值大于200时,触点25505闭合,线圈20000被驱动;当定时器的当前值等于200时,触点25506闭合,线圈20001被驱动;当定时器的当前值小于200时,触点25507闭合,线圈20002被驱动;定时时间到时,线圈20003被驱动。当触点00000断开时,不执行CMP指令,但以前的比较结果被保存。功能编号操作码名称梯形图符号功能/有关标志68BCMP块比较将从CB开始的连续32个通道分成16个区域,一个区域由两个通道组成,一个通道存下限数据,另一个通道存上限数据;将数据CD与每个区域比较,若CD处在某个区域中,则与该区域对应的R通道的位为ONCD范围:IR、SR、HR、AR、LR、TC、DM、*DM、#CB范围:IR、SR、HR、LR、TC、DM、*DMR范围:IR、SR、HR、AR、LR、TC、DM、*DM当比较块超出所在区域或间接寻址DM通道不存在时,25503为ON。85TCMP表比较从TB开始的连续16个通道组成一个比较表;将数据CD与比较表中的数据进行比较,若CD与比较表中某个通道中的数据相同,则与该通道对应的R通道的位为ONCD范围:IR、SR、HR、AR、LR、TC、DM、*DM、#TB范围:IR、SR、HR、LR、TC、DM、*DMR范围:IR、SR、HR、AR、LR、TC、DM、*DM当比较表超出所在区域或间接寻址DM通道不存在时,25503为ON。二、数据比较指令

BCMPCDCBRTCMPCDTBR*BCMP指令的应用

说明:将S通道的数据123和DM0000到DM0031内的16对数据进行比较,123大于121,小于130,因此将200通道的12位(20012)置“1”,其余位置“0”。S通道数据比较表开始通道比较结果通道123T=DM0000D=200上限下限比较结果通道数据通道数据位状态DM00000DM000110200000DM000211DM000320200010DM000421DM000530200020DM000631DM000740200030DM000841DM000950200040DM001051DM001160200050DM001261DM001370200060DM001471DM001580200070DM001681DM001790200080DM001891DM0019100200090DM0020101DM0021110200100DM0022111DM0023120200110DM0024121DM0025130200121DM0026131DM0027140200130DM0028141DM0029150200140DM0030151DM0031160200150功能编号操作码名称梯形图符号功能/有关标志10SFT移位

移位信号(SP)ON时,将D1到D2通道的数据依次向高位移1位,再将数据信号(IN)移入通道的最低位

St、E范围:IR、SR、HR、AR、LR三、数据移位指令SPSFTStEINR说明:

SFT由三个执行条件IN、SP和R控制。当执行条件SP由OFF→ON且R为OFF时,那么,执行条件IN的数据移到D1和D2之间的移位寄存器的最右面位,寄存器的最左位丢失。执行条件SP的功能就像一条微分指令,即只有当SP由OFF→ON时,才移位。当执行条件R为ON时,移位寄存器的所有位将置为OFF(即置为0),移位寄存器将不动作。

数据移位指令有移位寄存器SFT、可逆移位寄存器SFTR、数字左移SLD、数字右移SRD、字移位WSFT、算术左移ASL、算术右移ASR、循环左移位ROL、循环右移位ROR等

SFT指令的应用

IN1丢失说明:假设200通道中原来的数据(从高位到低位)是1000101100111010,在触点00001未闭合前,触点00000闭合(设为1),当触点00001闭合时,该指令执行的过程是:首先将存放在20015中的1移出,并将低位的数据依次向高位移一位,最后将触点00000的状态“1”移入。移位后的数据是0001011001110101。当触点00002闭合时,200通道中的数据均复位,全为0。000000000100002SFT20020020015200142001320012200112001020009200082000720006200052000420003200022000120000200CH1000101100111010SP来到前的状态0001011001110101SP来到后的状态

SFT指令的应用

对应指令表LD00000LD25502LD00001OR25315SFT200200LD20003OUT01000功能编号操作码名称梯形图符号功能/有关标志84SFTR左右移位根据控制数据C的内容,把St-E通道的数据进行左右移位SFTRCStE数据输入移位信号输入复位输入移位方向0:右移,1:左移15141312111009080706050403020100控制数据

C说明:当执行条件为ON时,SFTR开始工作。如果复位端(bit15)为ON,则从St到E通道的数据及进位位CY全部复位为0,SFTR不能接收输入数据。如果控制通道的复位端(bit15)为OFF,则在控制通道移位脉冲端(bitl4)为ON时,从D1到D2通道的数据根据控制通道规定的移位方向(bit12)移位。左移时

015015ECYSt0/1右移时015015ECYSt0/11

SFTR指令的应用说明:00004为SFTR的执行条件,200CH为控制通道,可逆移位寄存器由DM0000、DM0001构成。00000控制移位方向,当00000为ON时,数据左移,当00000为OFF时,数据右移;00001是移位寄存器的数据输入端,当00001为ON时,输入1,当00001为OFF时,输入0;00002的微分信号作为移位脉冲;00003为复位输入。当若00004为ON且00003为ON时,DM0000、DM0000l及进位位CY的数据清零。当00004为ON且00003为OFF,00002由OFF→ON时,DM0000~DM0001的数据进行一次移位。移位方向取决于00000,00000为ON则左移一位,00000为OFF则右移一位。200130000020012SFTR200DM0000DM00010000100002DIFU20014000032001500004功能编号操作码名称梯形图符号功能/有关标志25ASL算术左移位每执行一次移位指令,将Ch通道中的数据按位左移一位,最高位移到CY中,0移近最低位Ch范围:IR、SR、HR、AR、LR、DM、*DM※对标志位的影响:1.间接寻址DM通道不存在时25503为ON;2.移位溢出的位进入25504;3.当Ch中的内容为0000时25506为ON。26ASR算术右移位每执行一次移位指令,将Ch通道中的数据按位右移一位,0移近最高位,最低位移到CY中Ch范围及对标志位的影响同上。27ROL循环左移位每执行一次移位指令,将Ch通道中的数据连同CY的内容按位循环左移一位Ch范围及对标志位的影响同上。28ROR循环右移位每执行一次移位指令,将Ch通道中的数据连同CY的内容按位循环右移一位Ch范围及对标志位的影响同上。三、数据移位指令ASLChASRChROLChRORCh数字左移位SLD和右移位SRD指令对应指令表LD00000@MOV#0003HR00LD00001@SLDHR00HR00LDHR0000OUT01000对应指令表LDHR0001OUT01001LDHR0004OUT01002LDHR0005OUT01003St:移位的开始通道号E:移位的结束通道号字移位指令WSFT对应指令表LD00000@MOV#0846HR00LD00001@WSFTHR00HR04四、数据转换指令

数据变换指令有BCD码→二进制数转换BIN、二进制数→BCD码转换BCD、16→4编码器DMPX、4→16译码MLPX、七段译码指令SDEC、ASCII码变换ASC等指令。BCD码→二进制数转换指令BIN对应指令表LD00000@MOV#4321200@BIN200DM0000四、数据转换指令二进制数→BCD码转换指令BCD对应指令表LD00000@MOV#10E1HR00@BCDHR00HR0116→4编码器指令DMPX对应指令表LD00000@MOV#0013220@DMPXHR00DM0000220S:源开始通道号R:结果通道号C:控制数据当执行条件为ON时,对被编码通道中为ON的最高位的位号编为1位十六进制数,再将结果送到结果通道指定的数字位(由C的最低位数字确定存放结果的第一个数字位)上,C的次低位数字确定被编码的通道数。4→16译码指令MLPX对应指令表LD00000@MOV#78F5200@MLPX200#0013HR00S:源通道号R:结果开始通道号C:控制数据当执行条件为ON时,对S的指定数字位进行译码(由C的最低位数字确定要译码的起始数字位,C的次低位数字确定要译码的译码位数),即将该位数字转换为0~15的十进制数,再将结果通道中相应位置为ON。七段译码指令SDEC对应指令表LD00000@MOV#1673HR00@SDECHR00#0013HR01S:源通道号R:结果开始通道号C:控制数据当执行条件为ON时,对S中的数字进行译码(由C的最低位数字确定要译码的起始数字位,C的次低位数字确定要译码的译码位数),译码结果放在R中(由C的次高位数字确定是从R的低8位还是高8位开始存放)。五、数据运算指令

四则运算指令有进位位置1STC、进位位置0CLC、BCD加法ADD、BCD减法SUB、递增INC、递减DEC、BCD乘法MUL、BCD除法DIV、BCD倍长加法ADDL、BCD倍长减法SUBL、BCD倍长乘法MULL、BCD倍长除法DIVL等指令。(一)十进制运算指令进位标志指令

进位标志指令有:置进位标志指令STC和清进位标志指令CLC。STC:将进位标志25504设置为1。CLC:将进位标志25504设置为0。功能编号操作码名称梯形图符号功能/有关标志30ADD单字BCD码加法Au通道数据、常数与Ad通道数据、常数及进位位进行4位BCD码相加,结果送R通道和进位位CY(Au+Ad+CY→R、CY)Au、Ad范围:IR、SR、HR、AR、LR、TC、DM、*DM、#R范围:IR、SR、HR、AR、LR、DM、*DM※对标志位的影响:1.Au和Ad的内容不是BCD码时,25503为ON;2.间接寻址DM通道不存在时,25503为ON;3.若结果大于9999时,25504为ON;4.当和为0000时,25506为ON。54ADDL双字BCD码加法Au+1、Au通道数据与Ad+1、Ad通道数据及进位位(CY)进行8位BCD码相加,结果送R+1、R通道和进位位CY(Au+1•Au+Ad+1•Ad+CY→R+1•R、CY)若结果大于99999999时,将进位标志CY置1※对标志位的影响同上十进制加法运算指令ADD和ADDLADDAuAdRADDLAuAdR十进制加法运算指令应用对应指令表LD00000@CLC@ADDHR00#8341DM0000LD00001@CLC@ADDLHR01LR01DM0001十进制加法运算指令应用运行前,向DM0010写入初值#030000000ON→01000OFF30s→01000ON60s→01000OFF60s↑↓01000ON60s←01000OFF90s←01000ON60s

使用ADD指令修改TIM的设定值功能编号操作码名称梯形图符号功能/有关标志31SUB单字BCD码减法Mi通道数据、常数与Su通道数据、常数及进位位(CY)进行4位BCD码相减,结果送R通道和进位位CY,R中为十进制补码,通常先清CY位(Mi-Su-CY→R、CY)Mi、Su范围:IR、SR、HR、AR、LR、TC、DM、*DM、#R范围:IR、SR、HR、AR、LR、DM、*DM对标志位的影响:1.Mi和Su的内容不是BCD码时,25503为ON;2.间接寻址DM通道不存在时,25503为ON;3.若结果小于0时,25504为ON;4.当差为0000时,25506为ON。55SUBL双字BCD码减法Mi+1、Mi通道数据与Su+1、Su通道数据及进位位(CY)进行8位BCD码相减,结果送R+1、R通道和进位位CY,R+1、R中为十进制补码,通常先清CY位(Mi+1•Mi-Su+1•Su-CY→R+1•R、CY)若结果小于0时,将进位标志CY置1※对标志位的影响同上十进制减法运算指令SUB和SUBLSUBMiSuRSUBLMiSuR十进制减法运算指令应用对应指令表LD00000ILCLCSUBHR00DM0000HR01LDNOT25504MOV#0000HR02对应指令表LD25504CLCSUB#0000HR01HR01MOV#0001HR02ILC

HR00DM0000CYHR01CY第一次相减:1000—2000—0→1000+(10000-2000)=90001HR01CYHR01CY第二次相减:0000—9000—0→0000+(10000-9000)=10001功能编号操作码名称梯形图符号功能/有关标志38INC通道数据递增运算每执行一次INC指令,通道Ch中的数据(BCD码)按十进制递增1Ch范围:IR、SR、HR、AR、LR、DM、*DM※对标志位的影响:1.Ch的内容不是BCD码时,25503为ON;2.间接寻址DM通道不存在时,25503为ON;3.执行结果不影响25504;4.当通道内容为0000时,25506为ON。39DEC通道数据递减运算每执行一次INC指令,通道Ch中的

温馨提示

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

评论

0/150

提交评论