《应用技术PLC电气控制技术最完美.pptx》由会员分享,可在线阅读,更多相关《应用技术PLC电气控制技术最完美.pptx(148页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、指令系统 梯形图编程的注意事项指令系统概述基本指令逻辑运算指令数据比较指令数据传送指令数据移位与数据运算指令子程序调用及中断控制指令第1页/共148页编程的注意事项编程的注意事项能流只能从左边的母线流向右边母线。继电器触点和线圈只能作为水平元件使用。网络中,最右一列只能放置线圈。线圈如放在其他列,其右边不能放置任何指令。线圈在梯形图程序中只能使用一次,但作为该线圈的触点,可以在梯形图中多次使用。若梯形图中串联或并联的指令数超过网络规定的数值时,必须使用内部继电器经分段组合来完成 第2页/共148页0000000001线圈可以并联0000000001线圈总在最右边第3页/共148页编程技巧(P8
2、6)第4页/共148页编程技编程技巧巧直接输出、减少内存不要出现串、并交叉的情况简化方法第5页/共148页指令指令概述概述PLC基本指令:LD、NOT、AND、OR、OUT、TIM(H)、CNT、CNTR锁存、微分指令:KEEP、DIFU(D)数据移位类指令:SFT数据传送类指令:MOV、MVN数据比较类指令:CMP数制换算类指令:BCD、BIN数据运算类指令:ADD、SUB、COM指令系统高级指令(微分形式)分支、跳转:IL/ILC、JMP/JME第6页/共148页CQM1 PLC 基本指令PLCLD/LD NOTAND/AND NOTOR/OR NOTOUT/OUT NOTAND LDOR
3、 LDEND(01)TIMCNT CNTRTIMH(15)TR第7页/共148页基本指令基本指令LD 以常开接点开始的指令作 用:把常开接点连接到母线上或从特定的程序地址开始执行操作。地 址 指 令 操作数 00000 LD 00000 00001 OUT 1000000000 10000第8页/共148页基本指令基本指令LD NOT 以常闭接点开始的指令作 用:把常闭接点连接到母线上或从特定的程序地址开始执行操作。地 址 指 令 操作数 00000 LD NOT 00000 00001 OUT 100000000010000第9页/共148页基本指令基本指令AND 对两个输入进行逻辑与 作
4、用:串联常开接点。地 址 指 令 操作数 00000 LD 00000 00001 AND 00001 00002 OUT 10002000000000110000第10页/共148页基本指令基本指令 AND NOT 串联常闭接点作 用:串联常闭接点。000000000110000 地 址 指 令 操作数 00000 LD 00000 00001 AND NOT 00001 00002 OUT 10002第11页/共148页基本指令基本指令OR对两个输入进行逻辑或作 用:并联常开接点。地 址 指 令 操作数 00000 LD 00000 00001 OR 00001 00002 OUT 100
5、00000000000110000第12页/共148页基本指令基本指令OR NOT对两个输入进行逻辑或非作 用:并联常闭接点。地 址 指 令 操作数 00000 LD 00000 00001 OR NOT 00001 00002 OUT 10000000000000110000第13页/共148页基本指令基本指令OUT输出指令 作 用:对外输出控制。地 址 指 令 操作数 00000 LD 00000 00001 OR NOT 00001 00002 OUT 10000000000000110000第14页/共148页基本指令基本指令OUT NOT输出指令 作 用:对逻辑结果反相输出控制。地
6、址 指 令 操作数 00000 LD 00000 00001 OR NOT 00001 00002 OUT NOT 10000000000000110000第15页/共148页基本指令基本指令AND LD两个程序块串联 助记符指令格式:LD A LD B LD C AND LD 地 址 指 令 操作数 00000 LD 00002 00001 AND NOT 00003 00002 LD 00004 00003 AND 00005 00004 OR 10000 00005 OR NOT 00006 00006 AND LD 00007 OUT 10000 0000200003000040000
7、5100000000610000第16页/共148页基本指令基本指令 OR LD两个程序块并联 助记符指令格式:LD A LD B LD C OR LD 地 址 指 令 操作数 00000 LD 00002 00001 AND NOT 00003 00002 LD 00004 00003 AND 00005 00004 OR LD 00005 AND 00006 00006 AND 00007 00007 OUT 10000 00008 LD 00012 00009 LD 00013 00010 AND 00014 00011 LD NOT 00010 00012 AND 00008 0001
8、3 OR LD 0000200003 00006 0000710000000040000500012 000130001400010 0000800009 0001010001第17页/共148页基本指令基本指令 END(01)程序结束 注意:1)程序的最后一条指令都必须是END(01)。2)如果程序中有多个子程序存在,则END指令要放在最后一个子 程序的子程序返回指令RET(93)之后。3)END指令后面所写的任何指令都不会被执行,这样可以分段 的来检查程序。4)如果程序中没有END指令,CPU不会执行程序中的任何指令。如果有编程器连接在可编程序控制器上,在编程器显示窗口将显示“NO END
9、 INST”错误信息,同时,位于中央处理器模块上的ERR指示灯将被点亮。第18页/共148页PLC0000100002000030000400005000060000710000200002000110000OR LDANDLDLDAND LDOROR基本指令示例END运行程序三人抢答器控制程序第19页/共148页基本指基本指令令TIM定时器 N是定时器的编号,其取值范围:000N511。SV的取值区域:IR,HR,AR,LR,DM,*DM或#。若采用通道定时,则通道内容必须是BCD码,否则ER标志位置“1”,程序虽能运行,但定时器不准确。功能:实现导通延时操作的指令。当定时器的输入条件是OF
10、F或电源断电时,定时器复位时,计时当前值PV等于定时器设定值SV;当输入条件变为ON时,定时器开始定时,计时当前值不断减1,当经过设定时间后当前值变为0000,定时器输出。SV的取值范围是09999,系统定时精度是0.1秒,故定时范围是0999.9秒;第20页/共148页定时器指令TIM工作示例PLC 地 址 指 令 操作数 00000 LD 00000 00001 AND NOT 00001 00002 TIM 000#0050 00003 LD TIM000 00004 OUT 100000000000001TM000#0050TM000100000程序演示水处理控制第21页/共148页基
11、本指基本指令令CNT计数器 当通道内容不是BCD码或间接寻址DM区不存在时,ER标志位置“1”。功能:预置计数器,完成减数操作。当计数输入端(CP)信号从OFF变为ON时,计数值减1,当计数器当前值减为0000时,计数器为ON;当计数复位端(R)为ON时,计数器为OFF,且当前值返回到初始设定值。当电源断电时,计数器当前值保持不变,计数器不复位,这是计数器与定时器的不同点。当计数输入(CP)和复位输入(R)同时来到时,复位输入优先。CNT与TIM的编号不能重复使用,两者数量和为512个。N是计数器的编号,取值范围:000N511。SV的取值区域:IR,HR,AR,LR,DM,*DM或#。SV的
12、取值范围是09999 第22页/共148页计数器指令CNT工作示例PLC程序演示 地 址 指 令 操作数 00000 LD 00001 00001 AND NOT 00002 00002 LD 00003 00003 CNT 001#0003 00004 LDCNT001 00005 OUT 10000 0000100002 00003CNT001#0003 CNT00110000问题:若接点00002改成25502程序会怎样?第23页/共148页 可逆计数器指令:CNTRPLC 当递增计数输入端ACP信号从OFF变ON时,可逆计数器将计数当前值加1;当递减计数输入端SCP信号从OFF变ON时
13、,可逆计数器将计数当前值减1,这两个输入端信号同时从OFF变ON时,可逆计数器不计数。复位输入信号R从OFF变ON时,可逆计数器复位,计数当前值被复位成0000。复位信号保持为ON时,不能计数。在电源掉电或CNTR指令位于IL-ILC间而IL条件为OFF时,CNTR的当前值被保持。当递增计数时,计数当前值达到设定值时,计数器不输出,当下一个递增计数信号到达时,计数器才有输出;当递减计数时,计数当前值减到0000时,计数器不输出,当下一个递减计数信号到达时,计数器才有输出。符号:CNTR N SVACPRN是计数器的编号,取值范围:000N511。SV的取值区域:IR,HR,AR,LR,DM,*
14、DM或#。SV的取值范围是09999 SCP功能:第24页/共148页PLCCNTR指令示例#0005 0000000002 00001CNTR001CNTR00110000ACPSCPR 地 址 指 令 操作数 00000 LD 00000 00001 LD 00001 00002 LD 00002 00003 CNTR 001#0005 00004 LDCNTR001 00005 OUT 10000程序演示第25页/共148页基本指令基本指令TIMH高精度定时器 说明:1)高精度定时器TIMH与定时器TIM的工作过程基本相同。递减,OFF时复归。2)两者的主要区别在于TIMH的最小定时单位
15、是001秒。在使用中如果程序的扫描周期大于10毫秒,TIMH定时器可能产生较大的误差。3)高精度定时器共有15个可以利用。和TIM定时器一样SV设置值由用户设定,范围为BCD数据0000到9999,相应定时范围是0到9999秒,小数点不需要输入。第26页/共148页PLCTIMH(15)指令示例0000000001TIMH000#0050TM000100000 地 址 指 令 操作数 00000 LD 00000 00001 AND NOT 00001 00002 TIMH(15)000#0050 00003 LD TIM000 00004 OUT 100001.延时闭合型时间继电器。要求输出
16、一个延时闭合的常开接点。2.延时打开型时间继电器。一个延时打开的接点。3.利用SR区继电器及CNT指令编写一个时间继电器。4.4000秒的计时器如何设计?(用两种方法)5.脉冲宽度可调的脉冲信号 6.400与4000可选的定时器。作业第27页/共148页基本指令基本指令TR暂存继电器 说明:在对复杂控制系统进行梯形图程序设计时,需要用到暂存继电器。CQM1系统暂存继电器共有8个,编号n为00到07。在同一段程序中可以利用TR n 指令设置8处分支,即设置TR0到TR07,在不同程序段中暂存继电器TR0TR07可以重复使用。TR最好用于不能用IL和ILC编程的场合。编程器是唯一有“TR”输入的设
17、备。故只有当前使用编程器时,才能使用“TR”TR状态不能监视。第28页/共148页PLCTR指令示例地 址 指 令 操作数 00000 LD 00000 00001 OUTTR0 00002 AND NOT 00001 00003 OUT TR1 00004 AND 00002 00005 OUT 10000 00006 LD TR1 00007 AND 00003 00008 OUT 10001 00009 LD TR0 00010 AND 00004 00011 OUT 1000200000TR000001 TR1 0000210000 00003100010000410002第29页/共
18、148页特殊功能指令表第30页/共148页高级指令vIL(02)/ILC(03)互锁和互锁解除说明:1)建立互锁和互锁解除,IL(02)和ILC(03)指令总是成对使用。IL(02)位于一段分支程序的首处,ILC(03)位于分支程序的末尾处。2)IL前面的继电器为OFF状态,则位于IL和ILC之间的指令不执行,并且IL和ILC之间的所有输出位均为OFF状态,所有定时器均为复位状态,所有计数器和移位寄存器均保持以前的状态。3)如果IL前的输入条件为ON,则位于IL和ILC之间的指令正常执行,如同程序中没有IL和ILC指令一样。第31页/共148页PLCIL(02)/ILC(03)指令示例 地 址
19、 指 令 操作数 00000 LD 00000 00001 IL(02)-00002 LD 00001 00003 AND 00002 00004 OUT 10000 00005 LD 00003 00006 OUT 10001 00007 LD NOT 00004 00008 OUT 10002 00009 ILC(03)-00000IL(02)0000100002 1000000003 10001 0000410002 ILC(03)TIM或CNT指令会怎样?输出线圈、内部辅助线圈输出线圈、内部辅助线圈OFFOFF定时器定时器TIMTIM、TIMHTIMH复位复位计数器、保持继电器、移位寄
20、存器计数器、保持继电器、移位寄存器保持当前状态保持当前状态第32页/共148页高级指令JMP(04)/JMP(05)跳转和跳转结束 说明:1)JMP和JME指令用于控制程序的跳转。2)当JMP指令前面的输入条件状态为ON时,JMP和JME指令不起作用,与没有它们一样执行程序B,然后在执行程序C。3)如果JMP指令前面的输入条件状态为OFF时,则执行完程序A后将跳过程序段B转去执行程序C。4)JMP和JME指令必须成对出现,如果一段程序中有多对JMP和JME指令时用跳转 号n来区分。对于CQM1系列可编程序控制器JMP和JME指令的跳转号可以是00到99之间的任意数。5)JMP 00是一种特殊情
21、况,当JMP 00和JME 00之间的指令被跳转时,这些指令仍被CPU扫描但不执行,在扫描这些指令时仍要占用扫描时间。6)对于跳转号n不是00的JMP和JME指令,在执行跳转时JMP和JME之间的程序则完全被跳过,不占用CPU扫描时间。7)JMP00和JME00指令在程序中可以使用任意次,而其它跳转号的JMP和JME指令在同一段程序中只能使用一次。第33页/共148页PLCJMP(04)/JME(05)指令示例程序AJMEJMP程序B程序C执行程序A执行程序B执行程序CNY 00000 10001 JMP(04)00 00001 00001 10000 JME(05)00程序跳转时不受0000
22、1接点控制第34页/共148页高级指令vKEEP(11)保持继电器 说明:1)KEEP指令用于对继电器状态的保持,它可以使某一继电器的状态保持ON或OFF状态直到复位输入端使其复位。2)n是需要保持的继电器号,S是启动条件输入端即置位输入端,R是复位输入端。IR、SR、AR、HR和LR区的各位均可以用作保持。将HR和AR继电器区的位用作保持时可以实现掉电保护。3)在复位和置位输入中,复位信号具有较高的优先级,当复位信号R和置位信号S同时变为ON时,将首先进行复位操作。第35页/共148页PLCKEEP(11)指令示例 地 址 指 令 操 作 数00000 LD 0000000001OR 000
23、01 00002 OR 00002 00003 LD 00003 00004 KEEP(11)10000 KEEP(11)1000000000 00001 00002 0000300000 000031000010000演示例题报警系统第36页/共148页高级指令vDIFU(13)/DIFD(14)上微分和下微分 DIFU(13):输入脉冲的上升沿使指定继电器闭合一个扫描周期,然后复位。DIFD(14):输入脉冲的下降沿使指定继电器闭合一个扫描周期,然后复位。在CQM1指令系统中,某些高级指令具有微分特性,在指令前加符号来标识。第37页/共148页PLCDIFU(13)/DIFD(14)上微分
24、和下微分指令示例0000010000演示例题 地 址 指 令 操作数 00000 LD 00000 00001 DIFU(13)10000 00002 DIFD(14)10001DIFU(13)DIFD(14)10001第38页/共148页微 分 指 令PLC微分指令编程实例报警器消声控制程序自动门开关控制程序第39页/共148页高级指令vSET/RSET 强制置位和复位SET指令在执行条件为ON时将指定的继电器位置为ON,而在执行条件为OFF时并不影响操作数位的状态。RSET指令在执行条件为ON时将指定的继电器位置为OFF,而在执行条件为OFF时不影响操作数位的状态。第40页/共148页RS
25、ET10000SETPLCSET/RSET强制置位和复位示例例题 地 址 指 令 操 作 数 00000 LD 00000 00001 OUT 10000 地 址 指 令 操 作 数 00000 LD 00000 00001 SET 10000 00002 LD 00001 00003 RSET 1000000000 10000 000001000000001第41页/共148页高级指令vNOP(00)空操作 梯形图符号:无 助记符格式:NOP(00)说明:NOP(00)是空操作指令,它在程序中不是必须的,也没有梯形图符号,在程序中出现NOP时,什么也不作,程序执行转向下一条指令。在编程前清除
26、内存区域时,所有的内存单元都被写上了NOP(00)指令,NOP(00)是用00号功能代码输入到可编程序控制器的。第42页/共148页逻 辑 运 算 类 指 令PLC 逻辑反指令:COM(29)逻辑与指令:ANDW(34)逻辑或指令:ORW(35)逻辑异或指令:XORW(36)逻辑异或非指令:XNRW(37)第43页/共148页高级指令COM(29)求反说明:1)指令对单个通道中的数据按位求反,求反结果仍存在原输入通道中。COM指令影响标志位ER和EQ。ER:间接寻址DM通道不存在时,ER标志位被置1。EQ:求反结果为0时,EQ标志位被置1。2)如果使用COM指令的非微分形式,COM指令前面的条
27、件为ON状态,则在每次扫描中 都要计算一次W的反码,如果不希望这样可以使用COM指令的微分形式COM。第44页/共148页PLCCOM(29)求反指令示例例题COM(29)COM(29)地 址 指 令 操作数 00000 LD 00000 00001 COM(29)HR10 00002 LD 00001 00003COM(29)HR111 0 1 0 1 0 1 0 1 0 1 0 1 0 1 00 1 0 1 0 1 0 1 0 1 0 1 0 1 0 100000HR10HR1100001 HR10HR11演示第45页/共148页说明:1)ANDW指令对两个字(16位二进制数I1和I2逐位
28、进行逻辑与运算,并将运算结果输出至指定通道R中。2)只有当输入I1和I2的相对应位同时为“1”时,结果通道R中的相对应位才被置为“1”,否则为“0”。3)输入I1和I2的取值区域为IR、SR、AR、LR、TC、DM和立即数。结果通道的取值区域为IR、SR、AR、HR、LR和DM。注意:1)对于CQM1来讲DM区不能取DM6144DM6655的空间。2)ANDW指令影响标志位ER和EQ。当间接寻址DM区域不存在时,ER标志位被置1。当逻辑与运算结果为0时,EQ标志位被置1。高级指令ANDW(34)逻辑与第46页/共148页PLCANDW(34)逻辑与指令示例例题1 0 1 0 1 0 1 1 1
29、 0 1 0 1 0 1 00 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 HR00演示 地 址 指 令 操作数 00000 LD 00000 00001 ANDW(34)-HR 00#0100 DM0000 00000ANDW(34)HR 00#0100DM00000 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0DM0000#0100第47页/共148页 说明:1)ORW(35)对两个字(16位二进制数)I1和I2进行逻辑或运算,输出结果存入输出通道R中。2)只要输入I1和I2相对应的某一位为“1”,则结果通道R中相对应的位被置“1”。3)ORW指令影响标志位E
30、R和EQ。4)ER:间接寻址DM通道不存在时,ER标志位被置1。5)EQ:逻辑或结果为0时,EQ标志位被置1。6)输出结果R不能使用DM6144DM6155区间。高级指令ORW(35)逻辑或第48页/共148页PLCORW(35)逻辑或指令示例例题演示00000#0100DM00000 0 0 10 0 0 00 0 0 10 0 0 10 0 0 00 0 0 10 0 0 00 0 0 00 0 0 10 0 0 10 0 0 10 0 0 1DM0000#0100 地 址 指 令 操作数 00000 LD 00000 00001 ORW(35)-#1011#0100 DM0000 ORW
31、(35)#1011#1011第49页/共148页说明:1)XORW指令的功能是对两个字(16位二进制数)作逐位异或运算,并将运算结果输出到R所指定的通道中。当XORW指令前面的执行条件满足时(ON),对输入I1和I2的内容进行逻辑异或运算,即I1和I2中相对应的位如果不同时为“1”或“0”,则结果通道中相对应的位被置“1”,否则置“0”。2)XORW指令操作影响标志位ER和EQ。ER:间接寻址DM通道不存在时,ER被置1。EQ:异或运算结果R中数据为0时,EQ被置1。当输出结果通道R位于DM区时,不能取DM6144DM6655。高级指令XORW(36)逻辑异或 第50页/共148页PLCXOR
32、W(36)逻辑异或指令示例例题演示00000XORW(36)DM00000 0 0 10 0 0 10 0 0 10 0 0 10 0 0 10 0 0 10 1 0 00 0 0 00 0 0 00 0 0 00 1 0 10 0 0 1DM0000#0100HR 00DM1000 地 址 指 令 操作数 00000 LD 00000 00001 XORW(36)-HR 00DM1000 DM0000 HR 00第51页/共148页说明:1)XNRW指令对两个字(16位二进制数)作逐位异或非运算,运算结果存放到指定通道R中。当两个输入数据I1和I2的对应位相同时即同为“1”或同为“0”,输出
33、通道R中的相应位置“1”,否则置“0”。2)XNRW指令影响标志位ER和EQ。3)ER:间接寻址DM通道不存在时,ER标志位被置1。4)EQ:输出通道R中的各位全为0时,EQ标志位被置1。5)输出结果通道R不能是DM6144DM6655区间。高级指令XNRW 逻辑异或非 第52页/共148页PLCXNRW 逻辑异或非指令示例例题演示00000DM20000 0 0 10 0 0 10 0 0 10 0 0 10 0 0 10 0 0 10 1 0 00 0 0 01 1 1 11 1 1 11 0 1 01 1 1 0DM2000DM1000DM1000 地 址 指 令 操作数 00000 L
34、D 00000 00001 XNRW(37)-DM0000 DM1000 DM2000 DM0000DM0000XNRW(37)第53页/共148页数据比较类指令PLC CMP(20)单通道数据比较 CMPL(60)双通道数据比较 BCMP(68)块比较 TCMP(85)表比较 MCMP(19)多通道比较第54页/共148页说明:CMP指令用来比较两个指定通道CP1和CP2内的数据,并将比较结果输出到SR继电器区的GR、EQ和LE标志位。高级指令vCMP(20)单通道数据比较 标 志 位标 志 位 地 址 CP1 CP2 GR 25505 OFF OFF ON EQ 25506 OFF ON
35、OFF LE 25507 ON OFF OFF ER 25503间接寻址DM通道不存在时ER标志为被置1第55页/共148页PLCnCMP(20)单通道数据比较指令示例例题演示地 址 指 令 操 作 数 00000 LD 00000 00001 OUT 00002 CMP(20)-HR09 010 00003 LD TR0 00004 AND 25505 00005 OUT 10000 00006 LD TR0 00007 AND 25506 00008 OUT 10001 00009 LD TR0 00010 AND 25507 00011 OUT 1000200000TR0TR0HR09
36、010CMP(20)2550510000255062550710001 10002第56页/共148页说明:CMPL指令用来比较双通道数据,其中CP1是第一对比较字的第一个字,CP2是第二对比较字的第一个字。在这里CP1和CP11、CP2和CP21必须在同一数据区内。当CMPL指令前面的执行条件是OFF时不执行CMPL指令,当执行条件是ON时,CMPL指令连接CP1和CP1中的两个4位十六进制数成为一个8位十六进制数,同样连接CP2和CP21中的两个4位十六进制数成为另一个8位十六进制数,然后比较这两个8位十六进制数,把比较结果输出到SR区的GR、EQ和LE标志位。高级指令vCMPL(60)双
37、通道数据比较第57页/共148页PLCnCMPL(60)双通道数据比较 标 志 位标 志 位 地 址 CP1 CP2 GR 25505 OFF OFF ON EQ 25506 OFF ON OFF LE 25507 ON OFF OFF ER 25503间接寻址DM通道不存在时ER标志为被置1 注:表中CP1和CP2代表双字长的数据 CP1 =CP1+1,CP1 ;CP2=CP2+1,CP2第58页/共148页说明:1)CD为用于比较的数据,CB为指定一个数据块起始字,R存放比较结果的字。2)数据块是由CB、CB1、CB2CB31组成的连续数据块,每两个通道为一组共16组,这16组中的32个数
38、据由用户设置。用户在设置数据时必须是数值小的数据存放在通道号低的通道中。16组数据的比较结果存放在结果通道R中的对应位。3)当执行条件为ON时,若 CB下限CD数据字CB上限 则对应位的R=1,否则R=0 4)BCMP指令影响标志位ER,当间接寻址DM通道不存在或数据块超出了所在数据区的范围时,ER标志位被置1。高级指令vBCMP(68)块比较第59页/共148页PLCnBCMP(68)块比较指令示例例题BCMP(68)HR 10 0000 HR 12 0101 HR 14 0201 HR 16 0301 HR 18 0401 HR 20 0501 HR 22 0601 HR 24 0701
39、HR 26 0801 HR 28 0901 HR 30 1001 HR 32 1101 HR 34 1201 HR 36 1301 HR 38 1401 HR 40 1501 HR 11 0100 HR 13 0200 HR 15 0300 HR 17 0400 HR 19 0500 HR 21 0600 HR 23 0700 HR 25 0800 HR 27 0900 HR 29 1000 HR 31 1100 HR 33 1200 HR 35 1300 HR 37 1400 HR 39 1500 HR 41 1600 10000 0 10001 0 10002 1 10003 0 1000
40、4 0 10005 0 10006 0 10007 0 10008 0 10009 0 10010 0 10011 0 10012 0 10013 0 10014 0 10015 0 下 限 上 限 结果R:100 CD DM0000 0210 地 址 指 令 操 作 数 00000 LD 00000 00001BCMP(68)-DM0000 HR 10 10000000DM0000HR 10 100第60页/共148页说明:1)TCMP指令用于将一个数据与一个数据表中的数据相比较。CD是比较数据,TB是一个具有16个字的数据表,R是存放比较结果通道。数据表由16个连续通道(字)组成,每一通道
41、中包含有待比较的数据。2)TB指定数据表的起始通道号。3)比较时,把数据表中每一通道的数据依次与指定的比较数据CD相比较,若二者相等,则在结果通道R中的相应位上置1,否则置0。如果间接寻址DM通道不存在或者数据表超出了所在数据区的范围,标志位ER将被置1。高级指令vTCMP(85)表比较第61页/共148页PLCnBCMP(68)块比较指令示例例题TCMP(85)地 址 指 令 操 作 数 00000 LD 00000 00001TCMP(85)-DM0000 HR0100000HR00HR00DM0000HR01DM 0000 0100 DM 0001 0200 DM 0002 0300 D
42、M 0003 0400 DM 0004 0500 DM 0005 0600 DM 0006 0700 DM 0007 0800 DM 0008 0900 DM 0009 1000 DM 0010 0210 DM 0011 1200 DM 0012 1300 DM 0013 1400 DM 0014 1500 DM 0015 1600 HR 0100 0 HR 0101 0 HR 0102 0 HR 0103 0 HR 0104 0 HR 0105 0 HR 0106 0 HR 0107 0 HR 0108 0 HR 0109 0 HR 0110 1 HR 0111 0 HR 0112 0 HR
43、 0113 0 HR 0114 0 HR 0115 0HR 00 0210 数据表 结 果 比较数据 第62页/共148页说明:1)MCMP指令用于比较两个数据表TB1和TB2,每个数据表包含16个连续的通道。2)当数据表中相对应通道的数据相等时,则在输出通道R相对应的位上置0,否则置1。3)每个数据表的16个通道必须是同一数据区内的连续通道,当数据表的范围超出了数据区的范围时,或者间接寻址DM通道不存在时,标志位ER将被置为1。高级指令vMCMP(19)多通道比较 第63页/共148页PLCnMCMP(19)多通道比较指令示例例题MCMP(19)DM200000000 地 址 指 令 操 作
44、 数 00000 LD 00000 00001MCMP(19)-DM2000 DM3000 100DM3000 100DM 2000 0000 DM 2001 0101 DM 2002 0201 DM 2003 0301 DM 2004 0401 DM 2005 0501 DM 2006 0601 DM 2007 0701 DM 2008 0801 DM 2009 1000 DM 2010 1100 DM 2011 1101 DM 2012 1300 DM 2013 1400 DM 2014 1500 DM 2015 1501DM 3000 0000 DM 3001 0101 DM 3002
45、0300 DM 3003 0301 DM 3004 0401 DM 3005 0600 DM 3006 0601 DM 3007 0701 DM 3008 0900 DM 3009 1000 DM 3010 1100 DM 3011 1200 DM 3012 1300 DM 3013 1400 DM 3014 1500 DM 3015 1600 10000 0 10001 0 10002 1 10003 0 10004 0 10005 1 10006 0 10007 0 10008 1 10009 0 10010 0 10011 1 10012 0 10013 0 10014 0 10015
46、1TB1:DM2000TB2:DM3000结果R:100注意:R=0-相等;R=1-不等第64页/共148页传 送 类 指 令PLC 传递/反传递指令:MOV(21)/MVN(22)块设置指令:BSET(71)块传送指令:XFER(70)数据交换指令:XCHG(73)位传送指令:MOVB(82)数传送指令:MOVD(83)变址传送指令:DIST(80)数据采集指令:COLL(81)第65页/共148页说明:两个通道间传送数据,MOV/MVN指令将原通道S中的数据(也可以是立即数传送/反传送到目标通道D中去。由于源通道和目的通道均为一个,因此称其为单通道数据传送指令。MOV/MVN指令操作影响标
47、志位ER和EQ。ER:当间接寻址DM通道不存在时,ER标志位被置1。EQ:当目标通道中的数据全为0时,EQ标志位被置1。对于DM区不能使用DM61446655空间。高级指令vMOV(21)/MVN(22)单通道数据传送/反传送第66页/共148页PLCMOV(21)/MVN(22)单通道数据传送/反传送指令示例例题演示 地 址 指 令 操作数 00000 LD 00000 00001 MOV(21)/MVN(22)-#1010 00000MOV(21)/MVN(22)#1010 100 第67页/共148页说明:BSET(71)指令用于将某一常数或某一通道中的数据传送到若干个连续通道构成的块中
48、。利用BSET指令可以将数据传送到定时/计数器中作为预置数据使用。1)S(source)是要传送的源数据或存放源数据的通道号,ST(start)是目标块的起始通道号,E(end)是目标块的结束通道号。2)在BSET指令中,ST和D必须位于同一数据区内,并且STE。高级指令v BSET(71)块置数第68页/共148页PLC BSET(71)块置数指令示例例题演示BSET(71)HR00 TIM000 地 址 指 令 操作数 00000 LD 00000 00001 BSET(71)-HR00 HR00TIM 000 TIM 000 00002 00002 TIM000TIM000HR00HR0
49、0 00003 00003 LD LD TIM000 TIM000 00004 00004 OUT OUT 10000 10000 00000TIM 000TIM 000TIM00010000第69页/共148页说明:1)将相邻几个通道中的数据传送到另外几个相邻通道中,N必须是BCD码格式,S和D可以不在同一数据区内,但是当S和D在同一数据区时,不能占用相同的通道。2)XFER指令影响标志位ER。当间接寻址DM通道不存在,S和SN或者D和DN不在同一数据区时,标志位ER被置1。高级指令v XFER(70)块传送第70页/共148页PLCXFER(70)块传送指令示例例题演示 地 址 指 令 操
50、作数 00000 LD 00000 00001 XFER(70)-#0003DM1000 DM2000 00000XFER(70)#0003DM1000DM2000第71页/共148页说明:1)XCHG(73)指令的功能是将两个不同通道的数据进行交换。2)只要指令前面的条件为ON,每次扫描到XCHG指令时都要交换E1和E2通道的数据,这样就可能导致输入条件满足一次,E1和E2通道的数据交换多次的现象。3)为了避免这种现象的发生,最好使用XCHG指令的微分形式XCHG。4)XCHG指令影响标志位ER。ER:间接寻址DM通道不存在时,ER标志位被置1。高级指令vXCHG(73)数据交换演示第72页