1、PLCWORLD欧姆龙PLC指令系统及编程欧姆龙PLC指令系统及编程PLC,WORLD欧姆龙PLC指令系统及编程6.1 概述6.2 基本编程指令6.3 保持、微分指令6.4 顺序控制和暂存指令6.5 定时器和计数器应用指令6.6 数据比较类应用指令6.7 数据转换类应用指令6.8 数据移位类应用指令6.9 数据传送类应用指令6.10 数据运算类应用指令6.11 子程序和中断控制类 应用指令6.12 高速计数器应用指令6.13 其他特殊应用指令6.14 特殊运算指令6.15 通信指令6.16 典型应用举例欧姆龙PLC指令系统及编程6.1概述CPM1A共有:基本指令14条,应用指令79条(有功能号
2、)。指令执行的典型时间是:基本指令:LD指令的执行时间为0.64 uso应用指令:MOV指令:16.3 usoPLC编程可以以梯形图形式出现,也可以用指令 形式表示,两者可以相互转化。欧姆龙PLC指令系统及编程助记符指令的一般格式为:指令码 操作数1 操作数2 操作数3 或指令码操作数PLCWORLD欧姆龙PLC指令系统及编程【例1】某指令ADD(30)#1270*DM0101DM0123由指令码可知,该指令为一条BCD码加法运算指令。指令 的三个操作数分别为参加运算的加数、被加数和结果。其中加 数为立即数操作数1270。被加数为间接寻址操作数,程序在 DM0101通道中取出操作数的实际地址。
3、运算结果为直接寻址操 作数,即把和数送至DM0123通道。PLCWORLD欧姆龙PLC指令系统及编程,小于标志LEQ5507),执行比较指令时,如果第一操作数小于 第二操作数,该位置ON。等于标志EQQ5506),执行比较指令时两操作数相等,或执行 运算指令时运算结果等于0,该位置ON。.大于标志GRQ5505),执行比较指令时,如果第一操作数大于 第二操作数,该位置ON。,进位标志CYQ5504),执行运算指令时,如果结果最高位向上 有进位或借位,该位置ON。.出错标志ERQ5503),执行指令出错时该位置ON。典型的执行 错误有操作数地址错、控制字无定义等。出错标志为ON时,指令 将停止执
4、行。工PLCWORLD欧姆龙PLC指令系统及编程PLCWORLD欧姆龙PLC指令系统及编程PLCWORLD以人应c4匕人NT以TL4声工口地 址指 令数 据00000LD 一;ooooo00001OR;20000 00002AND NOTc!ooo _00003OUT1 20000 00004LD;2000000005AND NOTT j 00200006TIM1 001杵;001000007LD:2000000008AND NOTT 5 002 r00009TIM*002#002000010LD2000000011AND!ooi 100012LD NOT(2000000013CNT;000
5、1#;001000014LDi 200001OOOL5AND NOTT!001 100016OUT 0100000017ENIX001)11(1)自今将回路(2)1秒定时R(3)2秒冗时令(4)1。次计发.S(6)END指令(5)妹冲棺出欧姆龙PLC指令系统及编程6.2基本编程指令基本编程指令主要包括与、或、非、输 出、复位、置位等逻辑指令。另外,普通定时器和计数器指令也没有 功能号,也归为基本指令。共14条。所有无功能号的指令称为基本编程指 令。PLCWORLD欧姆龙PLC指令系统及编程FUN NO指令符号助记符掾作数功 能掾作数、相关标志LD*国|继电器号I逻辑开始时使用住电器号1LDNO
6、T*|LD|gOTj继电器号I逻楫反相开始时使用00000-0191520000 25507 HR00C0-1915AR00 的1515 LROOOO1515ANDTLANDf继电器号逻楫与操作awnlotTIM/CNT0Q0-127TR0 7NOT继电器号逻辑与非操作ORLorJ继电器号I逻胃或操作*TR仅能使用于LD指 令OR NOTwOR|not盔电器号I逻辑或非操作ANDLDr.r c班L I J|and西和前面的条件与ORLD9 一*-、回和前面的条件或PLCWORLD欧姆龙PLC指令系统及编程FUN NO指令符号助记符 墀作数功 能操作数、相关标志OUT-oOUT)|继电器号|将逻
7、辑运算的结果送输出继 电器I继电器号I 0000001915-1OUT NOT-0|not|将逻辑运算的结果反相后送 输出继电器20000-25 215HROOOO-1915AR0OOOT915 LR00(W-1915 TROT*TR仅能使用于 OUT指令继电辖号SET-(SET)set使指定接点ONRESETTRS ETRSET使电器号I使指定接点OFFPLCWORLD欧姆龙PLC指令系统及编程FUNNO指令符号助记符据作融功 能操作码相关的标志定时器1-0接通延时定时器(减算)设定时间0 999.9秒(0.1秒为单位)|tim|计时器号|设定值|定时号NO|计数器号NQ|TIM/CNTOO
8、O-127在使用高速定时器 指令中作中断处理 的定时器请指定 T】M00OO03。计数器50|cnt|计数器号1成法计数器设定值o99gg次L_J1设比值1设定值1000-019.200-25 5HR00-19AR00-15LROO-15DM0000 1023、61446655*DMOOOO 1023、61446655#0000-9999(RCD)。欧姆龙PLC指令系统及编程1 LD和LD NOT指令格式:LD NLD NOT N其中的操作数N为位,即LD和LD NOT指令只能以位为单位进 行操作。这里的N可以是IR、S R、AR、HR、LR、TR或TC。功能:装入指令。用来表示一个逻辑运算的
9、开始,它们的执 行不会影响标志位。LD表示N的常开触点与左端母线相连。LD NOT表示N的常闭 触点与左端母线相连。说明:LD和LD NOT指令的执行不会影响标志位。欧姆龙PLC指令系统及编程2 OUT和OUT NOT指令格式:OUT NOUT NOT N其中的操作数N也是位,它可以是IR、S R、AR、LR、TR或 HRo功能:输出指令。用来表示一个运算结果。OUT指令将运算结果输出到N。OUT NOT指令将运算结果取反 后输出到N。说明:OUT和OUT NOT指令也只能以位为单位进行操作。它们的执行不会影响标志位。在程序中不同的线圈可以同条 件并联输出。WORLD欧姆龙PLC指令系统及编程
10、【例1】OUT和OUT NOT等指令的应用,指令的程序如下:LDOUTOUT NOTLD NOTOUT0000001000010010000201002PLCWORLD欧姆龙PLC指令系统及编程3 AND和AND NOT指令格式:AND NAND NOT N其中的操作数N也是位,它可以是IR、S R、AR、LR、HR或TC。功能:逻辑与运算指令。AND表示N与前面的逻辑结果进行与运算。即N的常开触点与前 面的逻辑串联。AND NOT表示N取非并与前面的逻辑结果进行 与运算。即N的常闭触点与前面的逻辑串联。说明:AND和AND NOT指令只能以位为单位进行操作。它们 的执行不会影响标志位。在程序
11、中逻辑与运算的串联触点个 数是没有限制的。欧姆龙PLC指令系统及编程【例2】AND和AND NOT指令的应用。00001 00002 00003-II-II-并-()01001指令的程序如下:LD 00001AND 00002AND NOT 00003OUT01000欧姆龙PLC指令系统及编程4 OR和OR NOT指令格式:OR NOR NOT N其中的操作数N也是位,它可以是IR、S R、AR、LR、HR或 TCo功能:逻辑或运算指令。OR表示N与前面的逻辑结果进行或运算。即N的常开触点与前 面的逻辑并联。OR NOT表示N取非并与前面的逻辑结果进行 或运算。即N的常闭触点与前面的逻辑并联。
12、说明:OR和OR NOT指令只能以位为单位进行操作。它们 的执行不会影响标志位。在程序中逻辑或运算的并联触点个 数是没有限制的。欧姆龙PLC指令系统及编程【例3】OR和OR NOT等指定的应用程序段为:00000 HI-00001-II 00002LDOROR NOTOUT0100100000000010000201001这段程序表示的运算逻辑为:当三个输入条件00000为ON 或00001为ON,或00002为OFF中有一个被满足时,输出 01001就会被置ON。欧姆龙PLC指令系统及编程5 AND LD和OR LD指令格式:AND LDOR LD功能:触点组操作指令。AND LD指令表示对
13、触点组进行逻辑与运算。OR LD指令表示 对触点组进行逻辑或运算。说明:AND LD指令和OR LD指令不需要任何操作数,只表 明触点组之间的逻辑运算关系。使用这两条指令有两种方 法:分置法和后置法。两种方法可以得到相同的运算结果,但使用分置法时触点组数是没有限制的,而采用后置法时触 点组数不能超过8WORLD欧姆龙PLC指令系统及编程【例4】设有梯形图为图(a)、(b)所示的两个逻辑运 算。将该运算用AND LD和OR LD指令完成,有两种方 法实现助记符程序段,分别如下:00000 00002TIII00003 00004TI00005 000064(b)WORLD欧姆龙PLC指令系统及编
14、程图(a)逻辑分置法实现程序段:LDORLDORAND LDLD NOTOR NOTAND LDOUT00000000030000100004000020000501001WORLD欧姆龙PLC指令系统及编程图(a)逻辑后置法实现程序段:LDORLDORLD NOTOR NOTAND LDAND LD000000000300001000040000200005OUT01001WORLD欧姆龙PLC指令系统及编程图逻辑分置法实现程序段:LDANDLDAND NOTOR LDLD NOT0000000002000030000400005AND NOT 00006OR LDOUT01001WORLD
15、欧姆龙PLC指令系统及编程图(b)逻辑后置法实现程序段:LD 00000AND 00002LD 00003AND NOT 00004LD NOT 00005AND NOT 00006OR LDOR LDOUT 01001欧姆龙PLC指令系统及编程6 S ET和RES ET指令格式:S ET NRES ET N其中的操作数N也是位,它可以是IR、S R、AR、LR或HR。功能:置位和复位指令。用来完成直接对位的置位或复位操作。当S ET指令的执行 条件满足时置N为ON。当RES ET指令的条件满足时置N 为 OFF。WORLD欧姆龙PLC指令系统及编程【例5】在00000和00002的状态变化已
16、知的条件下,F面程序段执行的结果如图4.2.4所示。LD00000S ET20000LD00002RES ET20000000000000220000欧姆龙PLC指令系统及编程7、编程规则在编制梯形图或助记符程序时,应注意遵循以 下编程规则:(1)每一个内部继电器的触点在程序中可以无 限次重复使用,但其线圈在同一程序中一般只 能使用一次。同一继电器的多线圈使用会引起 逻辑上的混乱,应尽量避免。(2)梯形图信号流向只能自左向右,垂直分支 上不可以有任何触点。欧姆龙PLC指令系统及编程【例1】梯形图的编制举例。在下图的梯形图例中,图为不规范的梯形图,:图(b)为规范的梯形图。欧姆龙PLC指令系统及
17、编程PLCWORLD00004000030000200001 0000200004 000050100001001II-R00001II000010000300004000050100001001欧姆龙PLC指令系统及编程(3)继电器的线圈应该放在每一运算逻辑的最 右端,在线圈右端不能再有任何触点。线圈不 可以与左端母线直接相连,如果逻辑上有这种 需要时也要通过一合适的常闭触点来实现。【例2】下图所示逻辑应用了特殊继电器中的常 ON触点来实现上电后一直执行的操作。01001欧姆龙PLC指令系统及编程(4)编程时对于复杂逻辑关系的程序段,可按照先难后易的基本原则实现。当有几个串联支路相并联时,可
18、按先串 后并的原则将触点多的支路放在梯形图的 最上端。当有几个并联支路相串联时,可按先并后 串的原则将触点多的支路放在梯形图的最 左端。WORLD欧姆龙PLC指令系统及编程【例3】梯形图等效变换图例如图所示。WORLD欧姆龙PLC指令系统及编程图(a)等效变换前程序段 图(a)等效变换后程序段OUT 01001LD00001LD00002LD00002.AND.00003AND00003OR00001OR LDOUT01001WORLD欧姆龙PLC指令系统及编程OUT 01001图(b)等效变换前程序段图(b)等效变换后程序段LD00001LD00002LD00002OR00003OR0000
19、3AND00001AND LDOUT01001欧姆龙PLC指令系统及编程8 TIM指令格式:TIM NSV其中:操作数N为定时器TC号,取值范围为十进制数000 127 o操作数SV为定时器的设定值,由4位BCD码组成,可以 是IR、SR HR、AR、LR、DM、*DM、#,取值范围 00009999。功能:定时器指令。TIM是最小单位为0.1秒的减一计数 器,故定时范围为0999.9秒。当输入条件为ON时,TIM 开始记时。记时操作为每01秒当前值PV减一。当PV等于 0时,定时到,TIM状态置ON。当输入条件为OFF或电源 掉电时,TIM被复位。复位后状态置OFF,送SV为新的PV 值。欧
20、姆龙PLC指令系统及编程00000【例1】TIM指令应用图例之一如图所示。图中的定时器TIMOOO的定时时间为60秒,即当00000 为ON时,TIM开时记时。60秒以后定时器定时到,程 序段中的01000为ON。相应的梯形图程序如下:LD 00000TIM 000#0600LD TIMOOOOUT 01000TIM 000#0600TIM 0001101000欧姆龙PLC指令系统及编程9计数器CNT指令格式:CP条件R条件CNT NSV其中:操作数N为计数器TC号,取值范围为十进制数000 127o操作数SV为计数器的设定值,由4位BCD码组成,可以 是IR、SR、HR、AR、LR、DM、*
21、DM、#,取值范围 00009999。CNT在程序中有两个输入条件,故在格式中专门列 出。在这里CP为计数脉冲输入端。R为复位端。欧姆龙PLC指令系统及编程功能:计数器指令。减一计数器。当R为OFF时 计数器为计数状态。计数时,CP每次由OFF变为 ON计数一次。计数操作由PV值减一完成。当PV 值减到0时计数到,计数器输出状态置ON。当R 为ON时计数器为复位状态,复位后计数器输出 状态置OFF,PV被重新置入S V值。WORLD欧姆龙PLC指令系统及编程【例3】ONT指令的应用。CNT指令的程序段如下:LD 00000LD 00001CNT 127#0050LD CNT127OUT 010
22、0100000T4 00001 TI-CNT 127-HF-CNT 127#0050o io o i欧姆龙PLC指令系统及编程6.3保持指令、微分指令、空操作和结束指令PLCWORLD欧姆龙PLC指令系统及编程KEEP指令格式:条件S条件RKEEP(l l)N其中的操作数N也是位,它可以是IR、S R、AR、LR或HR。,功能:锁存指令。KEEP相当于一个软件保持器。它前面要有 两个条件,故在格式中专门列出。条件S为保持器的置位输入。条 件R为保持器的复位输入。即:当条件S满足,操作数N置ON并保 持;当条件R满足,则操作数N置OFF。特别地,当S和R同时满足 时,按复位优先的运算,操作数N置
23、OFF。PLCWORLD欧姆龙PLC指令系统及编程【例6】KEEP指令的应用。KEEP指令的程序段如下:LD 00001LD 00002KEEP(l l)01000 与程序段对应的梯形图例及其相应波形如图4.2.5所示。例中 的置位输入为00001,复位输入为00002,显然利用KEEP指令可 以代替相应的自锁运算逻辑。WORLD欧姆龙PLC指令系统及编程00001L 0000201001(b)图425 KEEP指令应用梯形图例及相应的波形PLCWORLD欧姆龙PLC指令系统及编程DIFU(13)和 DIFDQ4)指令格式:DIFU(13)NDIFD(14)N其中的操作数N也是位,它可以是IR
24、、S R、AR、LR或HR。功能:微分指令。二DIFU为上升沿微分指令,当执行条件上升沿时使操作数N有 一个扫描周期的ON。DIFD为下降沿微分指令,当执行条件下降沿时使操作数N有 一个扫描周期的ON。PLCWORLD欧姆龙PLC指令系统及编程【例7】DIFU和DIFD指令的应用。DIFU和DIFD指令的程序段如下:LD00001DIFU(13)20001DIFD(14)20002与程序段的对应的梯形图例及其相应波形如图426所示。其中微分指令的输出脉冲宽度为一个扫描周期。欧姆龙PLC指令系统及编程-00001_ 20001-L 20002(b)图426 DIFU(13)和DIFD(14)指令
25、应用梯形图例及相应的波形欧姆龙PLC指令系统及编程NOP(OO)指令格式:NOP(OO).功能:空操作指令。不做任何操作,可用于程序调试时 的指令暂时删除或程序执行时间微调等特殊用途。PLCWORLD欧姆龙PLC指令系统及编程END(Ol)指令格式:END(Ol)功能:结束指令。表示程序的结束。每一程序的最后一条 指令必须是END指令。没有END指令的程序不能被执行并会显 示相应的出错信息。END指令以后的程序段将不会被执行。说明:执行END指令时标志位ER、CY、GR、EQ和LE将 被置OFF。欧姆龙PLC指令系统及编程6.4顺序控制和暂存指令6.4.1 IL 和 ILC 指令格式:IL(0
26、2)ILC(03)功能:互锁和互锁解除指令。PLCWORLD欧姆龙PLC指令系统及编程IL定义互锁程序段的开始,IL指令的条件就是互锁的条 件。ILC定义互锁程序段的结束。当IL前的逻辑条件为ON时,位于IL和ILC指令之间的互锁程序段照常运行。当IL前的逻辑条 件为OFF时,互锁程序段将不被执行。此时该程序中的各个输出 的状态为:所有的输出线圈置为OFF,所有的定时器被复位,所 有的计数器、保持继电器和移位寄存器保持当前状态不变。-说明:IL和ILC指令应成对使用,否则在检查程序时会得到 出错信息。但该错误并不影响程序的执行。PLCWORLD欧姆龙PLC指令系统及编程例1】IL和ILC指令的
27、应用。有互锁程序段如图4.4.1(a)所示,无互锁程序段如图441(b)所示。当互锁条件00001为OFF时,无论其他条件如何变化,程序 段中的所有输出均保持OFF不变。从逻辑运算上看图(a)和图(b)具有完全相同的功能。WORLD欧姆龙PLC指令系统及编程000010100101001(b)图441 IL和ILC指令应用例梯形图PLCWORLD欧姆龙PLC指令系统及编程6.4.2 TR指令功能:TR被称为暂存继电器。与LD和OUT指令配合,TR可 以用来暂存程序运行的中间结果。利用TR可以方便编程。在程 序中可以使用的TR共有8个,分别编号为TR0到TR7。WORLD欧姆龙PLC指令系统及编
28、程【例2】TR指令的应用。TR指令的程序段如下:LDOUT AND OUTLDAND OUT AND OUTLDAND OUT00000TRO0000101000TRO00002TRI0000301001TRI0000401002WORLD欧姆龙PLC指令系统及编程00000 00001010000100101002图442 TR指令应用例梯形图欧姆龙PLC指令系统及编程6.4.3 JMP和JME格式:JMP(04)NJME(05)NN为跳转号,可以是0049之间任何十进制数字。功能:跳转和跳转结束指令。PLCWORLD欧姆龙PLC指令系统及编程当JMP指令前的执行条件为OFF时,CPU将跳过
29、JMP和JME 指令之间的程序段,直接执行其后面的程序内容。当JMP指令前 的执行条件为ON时,则不进行跳转,如同没有跳转指令时一样 执行。,JMP、JME指令和互锁程序的最大不同是,当发生跳转时,JMP和JME指令之间程序段中的所有输出、保持器、定时器和计 数器状态都会保持不变。且被跳转的程序段不再占用扫描时,间。欧姆龙PLC指令系统及编程【例3】JMP和JME指令应用图例如图443所示。程序段4图443 JMP和JME指令应用例梯形图WORLD欧姆龙PLC指令系统及编程程序段A程序侬程序既4.4.4 JMP指令嵌套应用例梯形图欧姆龙PLC指令系统及编程65定时器和计数器应用指令PLCWOR
30、LD欧姆龙PLC指令系统及编程6.5.2 TIMH指令格式:,TIMH(15)NS V其中:.操作数N和S V的定义和取值范围与TIM指令相同。功能:高速定时器指令。最小定时单位为0.01秒。定时范 围为099.99秒。其应用和使用方法与TIM指令相同。欧姆龙PLC指令系统及编程6.5.4 CNTR指令格式:ACP条件:S CP条件R条件CNTR(12)NS VPLCWORLD欧姆龙PLC指令系统及编程其中:操作数N为计数器TC号,取值范围为十进制数000225(CPM/A为000127)。操作数S V为计数器的设定值,由4位-BCD码组成,可以是IR、S R、HR、AR、LR、DM、*DM、
31、#,取 值范围00009999。CNTR在程序中有三个输入条件。ACP为加计数脉冲输入端。S CP为减计数脉冲输入端。R为复位端。功能:可逆循环计数器指令。当R为OFF时,为计数状态。计 数时每当ACP由OFF变为ON时,PV值做一次加法运算。每当S CP 由OFF变为ON时,PV值做一次减法运算。当PV值加到等于S V后 再有加一脉冲,CNTR的状态置ON,PV值变为0。当PV值减至再 有减一脉冲,CNTR的状态置ON,PV值被置入S V值。当R为ON时 为复位状态。复位时CNTR状态为OFF,ACP和S CP脉冲不起作欧姆龙PLC指令系统及编程【例4】CNTR指令的应用。CNTR指令的程序
32、段如下:LDLDLDCNTR(12)000000000100002126#0100LD CNT126OUT01000欧姆龙PLC指令系统及编程由程序可知可逆计数器CNTR126的S V=100,在加一运 算时,当加到PV=S V,再加一,PV=O,CNTR为ON。若再加 一,PV=1,CNTR为OFF。在减一运算时,当减至l|PV=0,再 减一,PV=S V,CNTR为ON。若再减一,PV=S V-1,CNTR 为OFF。与程序段对应的梯形图例及其相应的工作时序波形 如图454所示。PLCWORLD欧姆龙PLC指令系统及编程00002OFF-_ U U U U o o o o o LI LJ
33、LJ LI o o o o iPV=1 0 100 99 98ON-CNTR 126OFF-(b)图454 CNTR指令应用例梯形图及工作时序波形图欧姆龙PLC指令系统及编程6.5.4定时器和计数器的扩展(1)长时间定时器TIM+TIM(例 30 分)0.00T2 200.00Tt-O(900 秒)(900 秒)PLCWORLD欧姆龙PLC指令系统及编程程序地址指令数据000000LD000000000001TIM0001#9000000002LDT0001000003TIM0002#9000000004LDT0002000005OUT200.00PLCWORLD欧姆龙PLC指令系统及编程TI
34、M+CNT(例 500 秒)(100 次)(5秒)PLCWORLD欧姆龙PLC指令系统及编程程序地址指令数据000000LD100.00000001LD0.01000002CNT0002#100000003LD0.00000004AND NOT100.00000005ANT NOTC0002000006TIM0001#50000007LDT000100000SOUT100.0000000QLDC0002000010OUT200.01通过TIM0001每5 秒产生一次脉冲,通 过CNT0002对每隔 5秒发生的脉冲进 行计数。定时器时间为(定时 器十周期时间)x计 数。示例中为500 秒的定时器
35、。此时计数器的当前 值,即使电源为 OFF,也保存数据。PLCWORLD欧姆龙PLC指令系统及编程时钟脉冲+计数器(例700秒)0.00 p_1sHIIH1秒时钟0.01TkA200.11T1G1CNT1#700200.02OPLCWORLD欧姆龙PLC指令系统及编程程序地址指令数据000000LD0.00000001AND1s000002LDNOT0.01000003CNT0001#700000004LDC0001000005OUT200.02可以通过组合内部时钟 脉冲和计数器构成长时 间定时器。如果在CNT0001的复位 输入中对特殊辅助继电 器A200。11第1个循环(周期为ON)执行O
36、R,则在程序执行开始时,重 新从设定值(0700)开始 计数。PLCWORLD欧姆龙PLC指令系统及编程PLCWORLD欧姆龙PLC指令系统及编程如果需要进行QQQQ 次以上的计数,可 通过对计数器进行 多级编程来实现。程序地址指令数据000000LD0.00000001AND0.01000002LD NOT0.02000003ORC0001000004ORC0002000005CNT0001#100000006LDC0001000007LD NOT0.02000008CNT0002#20000000QLDC0002000010OUT200.03欧姆龙PLC指令系统及编程6.6数据比较类应用指
37、令6.6.1 CMP 和 CMPL 指令格式:CMP(20)ClC2CMPL(60)ClC2欧姆龙PLC指令系统及编程,其中:操作数C1为比较数1,操作数C2为比较数2。CMP的两个比较数可以是IR、S R、AR、LR、HR、TC、DM、*DM、#。CMPL的两个比较数可以是IR、S R、AR、LR、HR、TC、DM、*DMo欧姆龙PLC指令系统及编程功能:CMP为单字比较指令,完成C1和C2两个字的比 较。CMPL为双字比较指令,完成C1与C1+1组成的双字和C2 与C2+1组成的双字的比较。,当指令前的执行条件为ON时执行比较操作,比较操作的 结果送S R中的标志位。若C1C2,大于标志位
38、(LG)25505置ON。若C1=C2,等于标志位(EQR5506置ON。若C1C2,小于标志位(LER5507置ON。S R中的比较结果,可以用做其他运算的条件。WORLD欧姆龙PLC指令系统及编程【例1】CMP指令的应用。CMP指令的程序段如下:LD00000CMP(20)HR10#0100LD00000AND25505OUT01000LD00000AND25506OUT01001LD00000AND25507OUT01002WORLD欧姆龙PLC指令系统及编程图461 CMP指令应用例梯形图欧姆龙PLC指令系统及编程6.6.2 BCMP指令格式:BCMP(68)CDCBRBCMP(68)
39、CDCBR欧姆龙PLC指令系统及编程其中:#。;操作数CB为比较数据块起始通道,它可以是IR、S R、:AR、LR、HR、TC、DM、*DM。操作数R为比较结果通道,它可以是IR、S R、AR、LR、HR、TC、DM、*DMo-功能:块比较指令。用数据CD和CB开始的16个上下限数 据进行比较,比较结果送R通道。WORLD欧姆龙PLC指令系统及编程表661 CB通道与R位的对应关系序号.上限:下限R中的对应位1CBCB+1 第0位,1 2CB+2CB+3 第1位3CB+4CB+5第2位:16CB+30CB+31;第15位 WORLD欧姆龙PLC指令系统及编程【例2】设以下数据存储区中的数据值为
40、:DM0005=0000DM0006=0100DM0007=0101DM0008=0200DM0009=0201DM0010=0300DM0036=1600PLCWORLD欧姆龙PLC指令系统及编程执行下边程序段:LD 20000BCMP(68)#0210DM0005HR05当20000为ON时进行块比较操作。由于比较数据等于210,介于 201和300之间,因此,比较操作的结果是将HR05通道的第二位 即 HR0502置 ON。配合相应的硬件设备,BCMP指令可以用来实现运动部件的位置控制。欧姆龙PLC指令系统及编程6.6.3 TCMP指令格式:TCMP(85)CDCBTCMP(85)CDC
41、BRRPLCWORLD欧姆龙PLC指令系统及编程其中:操作数CD为比较数据,它可以是IR、S R、AR、LR、HR、TC、DM、*DM、#o操作数CB为比较数据表起始通道,它可以是IR、S R、AR、LR、HR、TC、DM、*DM。操作数R为比较结果通道,它可以是IR、S R、AR、LR、HR、TC、DM、*DMo 功能:表比较指令。当指令的执行条件满足时,将数据CD与 从TB开始的16个通道分别进行比较。若CD与其中的某一通道数 据相等,则置R中的相应位为ON。TCMP指令在程序中可以用来 查询某一指定数据。欧姆龙PLC指令系统及编程【例3】设由HROO到HR15的16个通道中只有HR06和
42、HR07等于100,则表比较指令执行后,01006和01007为ON。LD 00000TCMP(85)#0100HROO010欧姆龙PLC指令系统及编程6.6.4 ZCP和ZCPL指令格式:ZCP的指令格式:;ZCP(-)CDLLUL欧姆龙PLC指令系统及编程其中:.操作数CD为比较字,它可以是IR、S R、AR、LR、HR、TC、DM、#o,操作数LL为数据范围下限,它可以是IR、S R、AR、LR、HR、TC、DM、#o操作数UL为数据范围上限,它可以是IR、S R、AR、LR、HR、TC、DM、#oLLWUL。欧姆龙PLC指令系统及编程ZCPL指令格式:ZCPL(-)CDLLUL其中:操
43、作数CD为比较字,它可以是IR、S R、AR、LR、HR、TC、DMo操作数LL为数据范围下限,它可以是IR、S R、AR、LR、HR、TC、DMo操作数UL为数据范围上限,它可以是IR、S R、AR、LR、HR、TC、DMoLLWUL。PLCWORLD欧姆龙PLC指令系统及编程功能:ZCP是数据区域范围比较指令;ZCPL是双字数据区 域范围比较指令。-数据区域范围比较时用CD和由LL和UL指定的数据区域进 行比较,根据比较结果置相应的标志位:若CDLL,则置LE为 ON;若LLWCDWUL,贝I)置EQ为ON;若UL SCL2和SCL3指令格式:S CL(66)S 1PiRS CL2(-)S
44、 2PjRS CL3(-)J S 2PjRS CL(66)S I Pi RS CL2(-)S 2 Pj RS CL3(-)S 2 Pj RPLCWORLD欧姆龙PLC指令系统及编程其中:操作数S I、S 2为源通道,S 1可以是IR、S R、AR、LR、HR、TC、DM、#;S 2可以是IR、S R、AR、LR、HR、DM。操作数Pi、Pj为第一参数通道,Pi可以是IR、S R、AR、LR、HR、TC、DM;Pj可以是IR、S R、AR、LR、HR、DMo操作数R为结果通道,它可以是IR、S R、AR、LR、HR、DMo:功能:S CL是十六进制到BCD码线性转换指令。与BCD指令不同的是,S
45、 CL是按用户指定的线性关系来进行转 换的。其线性关系由从Pi到Pi+1四个通道的数据给定的两点来描 的。PLCWORLD欧姆龙PLC指令系统及编程在以BCD码为纵坐标,十六进制数为横坐标的二维空间中,Pi为点1的纵坐标值(Ay),取值范围00009999;Pi+1为点1 的横坐标值(Ax),取值范围0000FFFF;Pi+2为点2的纵坐标值(By),取值范围00009999;Pi+3为点2的横坐标值,取值范围 0000-FFFFo设被转换的十六进制数为S,则转换结果为:R=By-(By-Ay)/(Bx-Ax)X(Bx-S)o最后结果取运算结果最接近 的整数。如果运算结果大于9999,则取99
46、99;如果运算结果小 于0000,则取0000。PLCWORLD欧姆龙PLC指令系统及编程S CL2是带符号十六进制到BCD码线性转换指令,按照一定 线性关系将4位带符号的十六进制数转换成相应的BCD码,其线 性关系由用户在指令中指定的直线的斜率和x轴上的截距来描 述。在Pj到Pj+2三个通道中,Pj为横坐标截距,取值范围为十六 进制数80007FFF(-3276832767);Pj+1为Ax,取值范围为十 六进制数80007FFF;Pj+2为Ay,取值范围为BCD码0000 9999o Ax/Ay就是指定的直线的斜率。设被转换的十六进制数 为S,则转换结果为:R=(Ax/Ay)X(S-Pl)
47、o如果最后结果为负 数,则置CY为ON;如果运算结果大于9999,则取9999;如果 运算结果小于-9999,则取-9999。PLCWORLD欧姆龙PLC指令系统及编程S CL3是BCD码到带符号十六进制线性转换指令。按照一定 线性关系将4位BCD码转换成相应的带符号的十六进制数,其线 性关系由用户在指令中指定的直线的斜率和y轴上的截距来描 述。在Pj到Pj+4五个通道中,Pj为纵坐标截距,取值范围为十六 进制数80007FFF(-3276832767);Pj+1为Ax,取值范围为 BCD码00009999;Pj+2为Ay,取值范围为十六进制数8000 7FFF;Pj+3为纵坐标上限值,取值范
48、围为十六进制数8000 7FFF;Pj+3为纵坐标下限值,取值范围为十六进制数8000 7FFFo设被转换的BCD码为S,则转换结果为:R=(Ax/Ay)X(S-Pl)。指令执行时若CY为ON,则源数据按负数 处理,故S的实际有效范围是-99999999;如果运算结果大于或 小于给定上下限,则最后结果取上限或下限值。欧姆龙PLC指令系统及编程【例4】设有如下的S CL指令:LD 25313CLC(41)LD 00100S CL3(-)LR02DM0000DM0001WORLD欧姆龙PLC指令系统及编程并有如下数据:DM0000=0005DM0001=0003DM0002=0006DM0003=
49、07FFDM0004=F800LR02=0100则在程序段的执行条件00100满足后,执行结果是:DM0100=00CDCY=0欧姆龙PLC指令系统及编程6.7.6 BINL和BCDL指令格式:BINL(58)SRBCDL(58)SRBINL(58)BCDL(58)SRSRPLCWORLD欧姆龙PLC指令系统及编程其中:操作数S为源开始通道,它可以是IR、S R、AR、TC、LR、HR、DMo操作数R为目的开始通道,它可以是IR、S R、AR、LR、HR、DMo功能:BINL是双字长BCD码(8位BCD,低4位在S,高4位在 S+1)到二进制数转换指令;BCDL是双字长二进制数(32位,低 1
50、6位在S,高16位在S+1)到BCD码转换指令。当条件满足时,将 S和S+1中的双字节数据完成相应的转换,结果存入R和R+1。欧姆龙PLC指令系统及编程6.7.7 SEC和HMS指令格式:S EC(-)SR000HMS(-)SR000S EC(-)SR 000 HMS(-)SR 000PLCWORLD欧姆龙PLC指令系统及编程其中:,操作数S为源开始通道,它可以是IR、S R、AR、TC、LR、HR、DM,数据格式为BCD码。操作数R为目的开始通道,它可以是IR、S R、AR、LR、:HR、DMo数据格式为BCD码。,功能:S EC为小时到秒转换指令,用来将按“小时/分/秒”组 成的时间值转换