LG plc 应用指令手册_第1页
LG plc 应用指令手册_第2页
LG plc 应用指令手册_第3页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

1、lg plc 应用指令手册第五章 应用指令5.1数据传送指令5-15。1。1mov, movp, dmov, dmovp515.1。2cmov, cmovp, dcmov, dcmovp535.1.3gmov, gmovp5-55.1.4fmov, fmovp5-75。1.5bmov, bmovp5-95.2转换指令5115。1.1bcd, bcdp, dbcd, dbcdp5115.2.2bin, binp, dbin, dbinp5-145。3比较指令5165.3.1cmp, cmpp, dcmp, dcmpp5-165。3.2tcmp, tcmpp, dtcmp, dtcmpp5-195

2、.3。3ld ( =, , =, =, )5-215。3.4and ( =, , =, )5-225.3.5or ( =, , , =, =, )5-235。4增加/减少运算5-255。4。1inc, incp, dinc, dincp5255.4。2dec, decp, ddec, ddecp5275.5回转指令5-295。5.1rol, rolp, drol, drolp5-295.5。2ror, rorp, dror, drorp5-315。5。3rcl, rclp, drcl, drclp5-335。5.4rcr, rcrp, drcr, drcrp5-355.6移位指令5375。6.

3、1bsft, bsftp5-375。6。2wsft, wsftp5395。6.3sr5-415。7交换指令5-435。7.1xchg, xchgp, dxchg, dxchgp5-435.8bin 算术指令5455.8。1add, addp, dadd, daddp5-455.8.2sub, subp, dsub, dsubp5-475。8.3mul, mulp, dmul, dmulp5495。8。4muls, mulsp, dmuls, dmulsp5-515。8.5div, divp, ddiv, ddivp5-535.8。6divs, divsp, ddivs, ddivsp5555.

4、9bcd算术指令5-575.9.1addb, addbp, daddb, daddbp5-575.9。2subb, subbp, dsubb, dsubbp5-595.9.3mulb, mulbp, dmulb, dmulbp5-615。9.4divb, divbp, ddivb, ddivbp5-635。10逻辑算术指令5-655.10。1wand, wandp, dwand, dwandp5655。10。2wor, worp, dwor, dworp5-675。10.3wxor, wxorp, dwxor, dwxorp5695.10。4wxnr, wxnrp, dwxnr, dwxnrp

5、5715。11数据处理指令5-735。11。1seg, segp5-735。11。2asc, ascp5765.11。3bsum, bsump, dbsum, dbsump5785。11.4enco, encop5-805。11。5deco, decop5825.11.6filr, filrp, dfilr, dfilrp5-845。11.7filw, filwp, dfilw, dfilwp5-865.11.8dis, disp5885.11。9uni, unip5-905.11.10iorf, iorfp5-925.12系统指令5945.12.1fals5-945。12。2duty5965

6、.12.3wdt, wdtp5985.12.4outoff5-1005.12.5stop51015。13跳转指令5-1025。13。1jmp, jme5-1025。13.2call, callp, sbrt, ret5-1045.14循环指令5-1065.14。1for, next51065.14。2break51075.15标志指令51085。15.1stc, clc51085.15.2cle5-1095.16特殊模块指令5-1105。16。1get, getp51105。16。2put, putp51125.17数据连接指令5-1145.17.1read5-1145.17。2write5-

7、1175。17。3rget51195。17.4rput5-1225.17.5status51245。18中断指令51255。18。1ei, di5-1255。18。2tdint, iret51265。18.3int, iret51275。19符号反转指令51285.19.1neg, negp, dneg, dnegp51285。20位接触指令51305。20。1bld, bldn5-1305.20。2band, bandn51315.20.3bor, born51325。20。4bout5-1335。20.5bset, brst5-1345.21计算机连接模块指令51355.21。1snd5-

8、1355。21。2rcv51365。22高速计数器指令51375。22。1hscnt5-1375。22.2hsc51395。23rs-485 通讯指令5-1415.23.1recv51415.23.2send51435 应用指令5.1 数据传送指令5.1.1 mov, movp, dmov, dmovpmov(move)fun(80) movfun(82) dmovfun(81) movpfun(83) dmocp适用的 cpu全部 cpus指令适用的设备步标志mpklftcsd#d整数错误(f110)0(f111)进位(f112)dsmov(p)dmov(p)oooo*oooooo5/7oo

9、ooooooodsdsdsdmovpdmovmovpmov传送目的地的设备保存将要被传送数据的设备.操作数设定 仅适用于没有使用计算机连接模块和数据连接模块的情况1) 功能16 位- mov(p) : 传送在 s 中的16位数据至指定的设备 d .s0111100001111001101111000011110011d- dmov(p) : 传送在指定设备 s+1, s 中的32位数据到指定的设备 d+1, d 。16 位16 位s0 1 1 0 11 0s0 1 1 0 1+ 11 0d0 1 1 0 11 0d0 1 1 0 1+ 11 0- 执行条件输入条件mov, dmovmovp,

10、dmovp仅执行一次仅执行一次每次扫描执行每次扫描执行2) 编程举例在p020检测到一个上升沿,h70f3被传送到p04。movp h70f3 p04 p02001111000011110011p04fp0405.1.2 cmov, cmovp, dcmov, dcmovpcmov (补码传送)fun(84) cmov fun(86) dcmovfun(85) cmovp fun(87) dcmocp适用的 cpu全部 cpus指令适用的设备步标志mpklftcsdd整数错误(f110)0(f111)进位(f112)dscmov(p)dcmov(p)oooooooooo5/7ooooooooo

11、cmovpdcmovpdssddsdcmovcmov反向结果存储的设备保存将要被传送数据的设备.操作数设定 仅适用于没有使用计算机连接模块和数据连接模块的情况1) 功能- cmov(p) : s 的每一位求反之后传送结果到 d .16 位100011110000110001111000011110011s求反d16 位- dcmov(p) : s+1, s 中的每一位求反之后,结果传送至 d+1, d .16 位0 1 1 0 11 0s0 1 1 0 11 0s+ 1求反求反d1 0 0 1 00 1+ 1d1 0 0 1 00 1- 执行条件输入条件cmov, dcmovcmovp, dc

12、movp仅执行一次仅执行一次每次扫描执行每次扫描执行2) 编程举例- 在m020 处于on状态时,p02字的数据求反且结果传送至p06字。cmov p02 p06 m02016 位p06p02求反00110100111000111110010110001111005.1.3 gmov, gmovpgmov(group move)fun(90) gmovfun(91) gmovp适用的cpu全部cpus指令适用的设备步标志mpklftcsd#d整数错误(f110)0(f111)进位(f112)dsngmovgmovpoooo*ooooo7ooooo*oooooodsdsdsnnngmovpgmo

13、v被传送字的数目目标区域的起始地址将存储传送的结果源数据区域的其始地址操作数设定 仅适用于没有使用计算机连接模块或者数据连接模块时1) 功能- 从指定的设备 s 开始传送n字的内容,以块的形式传送n字至以指定的设备 d 为开始的区域. h0002h0007h007fh005ah006fh0037h0002h0007h007fh005ah006fh0037sd+ 1sdd+ 2+ 2s+ 1sd+ (n-3)+ (n-2)sd+ (n-2)+ (n-3)sd+ (n-1)+ (n-1)- 执行条件输入条件gmovgmovp仅执行一次仅执行一次每次扫描执行每次扫描执行2) 编程举例- 在p020处

14、于on的状态,传送 d000、d001和d002中的数据到p04、p05和p06区域。 gmov d0000 p04 3 p020dsp04p05p06d0000d0001d0002h0001h0001nh0004h0004h005fh005f5.1.4 fmov, fmovpfmov()fun(92) fmovfun(93) fmovp适用的 cpu全部 cpus指令适用的设备步标志mpklftcsdd整数错误(f110)0(f111)进位(f112)sdnfmovfmovpoooo*ooooo7ooooo*oooooodsdsdsnnnfmovpfmov被传送字的数目存储数据目标区域的起始

15、地址存储源数据的设备操作数设定 仅适用于没有使用计算机连接模块或者数据连接模块时1) 功能- 以块的形式传送指定设备 s 的内容至以指定设备 d 为开始的n 点。dh005ad+ 1h005ad+ 1h005adddsn 字h005a+ (n-1)+ (n-2)+ (n-3)h005ah005ah005a- 执行条件输入条件fmovfmovp仅执行一次仅执行一次每次扫描执行每次扫描执行2) 编程举例- 在p030检测到一个上升沿,传送 p02 字的内容至块 p04、p05和p06。 fmovp p02 p04 3 p020p04p05p06 p02h0098h0098h0098h00985.1

16、.5 bmov, bmovpbmov(位 传送)fun(100) bmovfun(101) bmovp可是用的 cpu全部 cpus指令s适用的设备步标志mpklftcsd#d整数错误(f110)0(f111)进位(f112)cwdsbmovbmovpooooooooo7oooooooooo起始位和被传送位的数目的信息存储传送数据的设备cwdcwcwbmovpbmov存储源数据的设备sddss操作数设置 * 仅适用于没有使用计算机连接模块或者数据连接模块时1) 功能- cw的格式hsdzza) s : s 的起始位b) d : d 的起始位c) zz : 被传送位的数目 (16进制)- 从指定

17、设备 s 的s位传送zz位的内容至指定设备 d的d 位开始的zz位。- zz的最大值是h10(=16)。如果zz的值等于0或大于h10,指令将被忽略。(当zz大于h10,错误标志f110 将被设置.)- 执行条件输入条件bmovbmovp仅执行一次仅执行一次每次扫描执行每次扫描执行2) 编程举例在p030检测到一个上升沿,从p020位传送4位至从p063位开始的4位。 bmovp p02 p06 h0304 4位p03011001p023p020p02f4位p066p063p060p06f110015.2 转换指令5.2.1 bcd, bcdp, dbcd, dbcdpbcd(2进制变10进制

18、)fun(60) bcdfun(62) dbcdfun(61) bcdpfun(63) dbcdp可适用的 cpu全部 cpus指令适用的设备步标志mpklftcsdd整数错误(f110)0(f111)进位(f112)sdsbcd(p)dbcd(p)oooo*ooooo5ooooooooo存储转换结果的设备存储将转换成bcd格式的源设备dbcdbcdpdbcddbcdpsdsd操作数设置 仅适用于没有使用计算机连接模块或者数据连接模块时1) 功能- bcd :指定设备 s 的二进制数格式转换成bcd格式(0到9999)同时传送结果至指定设备 d 。18192004096032768016384

19、151212560204811024032016012806412111814s bin (9999)一定要设置为0。 (否则bcd 转换将溢出)d bcd (9999)0200010100018000040000200110010800040002011018004002111804- dbcd:指定设备 s 的二进制数格式转换成bcd格式(0到99999999)同时传送结果至指定设备d。- 执行条件输入条件bcd, dbcdbcdp, dbcdp仅执行一次仅执行一次每次扫描执行每次扫描执行- 运行错误在下列情况下出现运行错误且错误 标志 (f110)变成on。a) 当使用bcd(p)指令时

20、源 s 数据不在0 到 9999范围之内。b) 当使用 dbcd(p) 指令时源 s 数据不在0 到 99999999范围之内。2) 编程举例- 在p020处于on状态时,转换d001的二进制数据为bcd数据格式同时传送结果至p05字。 bcd d0001 p05 p0200819214096032768016384051212560204801024032116012806402110804 d0001 (h1111)9603004000 p05 (4369)02000010000800014000120011000800040012001008014002111804显示计数器的当前值(b

21、cd, bmov指令举例)1. 动作这是一个库房,入库和出库产品的数目是由光开关计数的。当前的库存值由数字指示器显示。当库存量达到30时,入库传送带将停止。2. 系统图数字指示器1 80fm输出模块p06输出模块 p04输入模块p03程序012301234567fn 出库 光开关 (p031)光开关nn (p030)光开关nn入库nnnnnnnnnnnnnnnnnnnnnn 传送带电动机计数器复位开关 (p032)3. 程序p030u ctud c000d r 00030000p031p032仅显示后8位(2个数字)转换计数器的当前值为bcd格式 c000 ( p06f ) end bcd c

22、000 m000 bmov m000 p04 h0008 002100080006f0105.2.2 bin, binp, dbin, dbinpbin(二进制)fun(64) binfun(66) dbinfun(65) binpfun(67) dbinp可适用的 cpu全部 cpus指令适用的设备步标志mpklftcsd#d整数错误(f110)0(f111)进位(f112)sdsbin(p)dbin(p)oooo*ooooo5oooooooood存储转换结果的设备存储将转换成bcd格式的数据的设备binbinpdbindbinpsdsd操作数设定 * 仅适用于没有使用计算机连接模块或者数据

23、连接模块时1) 功能- bin:指定设备s中的bcd数据格式(0到9999)成二进制格式,同时将结果传送至指定的设备d。0200010100018000040000200110010800040002011018004002111804s bcd (9999)18192004096032768016384151212560204811024032016012806412111814 bin (9999)d一定要设置为0。- dbin:转换指定设备s中的bcd数据格式(0到99999999)成二进制格式,同时将结果传送至指定的设备 d。- 执行条件输入条件bin, dbinbinp, dbinp

24、仅执行一次仅执行一次每次扫描执行每次扫描执行- 运行错误在下列情况下出现运行错误,错误标志(f110)变成on.a) 源数据s的任意一个字(4位)不在0 到9范围之内。(例:s = h78a5)2) 编程举例- p020处于on,转换p00字的bcd数据且把结果送至d0001。 bin p00 d0001 p02002000010000800014000120011000800040012001008014002111804 p00 (4369) d0001 (h1111)9603004000081921409603276801638405121256020480102403211601280

25、64021108045.3 比较指令5.3.1 cmp, cmpp, dcmp, dcmppcmp(比较)fun(50) cmpfun(52) dcmpfun(51) cmppfun(53) dcmpp可适用的 cpu全部 cpus指令适用的设备步标志mpklftcsdd整数错误(f110)0(f111)进位(f112)s2s2s1s1s2s1cmp(p)dcmp(p)oooooooooo5 / 9ooooooooooos2s1比较的数据dcmppdcmpcmppcmp操作数设定 1) 功能- 比较指定的2个设备s1s2的内容.- 比较之后,设定f120 f125之间的标志位。标志f120f1

26、21f122f123f124f125=s1s2000111s2s1110001s2s1= 011010- 以上标志表示cmp指令最后执行完的结果.- 当s1或s2被指定为#d格式超过设备范围.错误标志(f110)被设置。错误出现处的指令不执行。- 执行条件输入条件cmp, dcmpcmpp, dcmpp仅执行一次仅执行一次每次扫描执行每次扫描执行2) 编程举例- p020 处于on,比较d000和d001的内容同时根据结果设置标志位。0001000(h0008)(d0000)0010001(h2001)(d0001) 程序 ( m0001 )( m0000 )( m0002 )cmp d000

27、0 d0001f120f123f122 end 标志设定 标志f120f121f122f123f124f125=结果110001比较电路(cmp指令举例)1. 动作有一个updown计数器c000。p030是up计数输入,p031是down-计数输入。 如果定时器的当前值为09,p060变成on。如果定时器的当前值为1019,p061变成on。如果定时器的当前值为2029,p062变成on.如果定时器的当前值为3039,p063变成on。如果定时器的当前值大于40,p064变成on。2. 程序( m0000 )( m0001 )( m0002 )( m0003 )c000 :计数器的当前值小于

28、10小于20小于3040或大于40 20 2930 3910 19小于40 0 10004900510043004600400036003800300022002800200012001400060000endm0003m0003m0002m0002m0001m0001m0000m0000f120cmp c000 00040f010f120cmp c000 00030f010f120cmp c000 00020f010f120cmp c000 00010f010p032p031p030u ctud c000dr 00050( p064 )( p063 )( p062 )( p061 )( p0

29、60 )5.3.2 tcmp, tcmpp, dtcmp, dtcmpptcmp(表比较)fun(54) tcmpfun(56) dtcmpfun(55) tcmppfun(57) dtcmpp可适用的cpu全部 cpus指令适用的设备步标志mpklftcsd#d整数错误(f110)0(f111)进位(f112)s2s1dddtcmp(p)dtcmp(p)oooooooooo7 / 9oooooooooooooooooootcmppdtcmpps1s2要与 比较的块的起始地址要被比较的数据d存储比较结果的设备s1s1s1s2s2dtcmptcmp操作数设定 仅适用于没有使用计算机连接模块或者数

30、据连接模块时1) 功能- 把指定的设备 s1 的内容同从指定的设备 s2 开始的16字进行比较。- 比较结果(如果2个字相同,1为输出,否则0为输出)包括16位, 它们被存储在指定的设备d。- 如果所有的比较结果是0, 0标志(f111)变成on (d = 0)- 执行条件输入条件tcmptcmpp仅执行一次仅执行一次每次扫描执行每次扫描执行2) 编程举例- p020处于on, 比较 d0001的内容同从m00 (m00 m15)开始的16字,输出比较结果至 p06字 (p060 p06f)。p020tcmp d0001 m000 p06p060d0001hbcdem000p061101011

31、010hbcdeh1234hbcdeh0000hbcdehbcdeh00ffhbcdeh0000p062p063m002m004p064m012m013p06dp06cm014p06em015p06f5.3.3 ld ( =, , , =, =, fun(39) lddfun(48) ldfun(49) lddfun(58) ld=fun(59) ldd=fun(68) ld=fun(69) ldd=fun(78) ldfun(79) ldd=s1 s2=s1 s2 s1 s2s1 = s2s1 s2s1 s2s1 s22) 编程举例a)比较p0000 p000f 和d0001。如果它们的值相

32、等, p0010 位变成on。= p000 d0001( p0010 ) b)把d0001和d0002(32位)中的内容与1000比较。如果d0001和d0002的内容小于1000,p0010 将变成on。d= 1000 d0001( p0010 )5.3.4 and ( =, , =, =, )and(带比较结果的串联no触点)fun(94) and=fun(95) andd=fun(96) andfun(97) anddfun(98) andfun(99) andd=fun(107) andd=fun(108) and可适用的 cpuk80s, k200sk300sk1000s指令适用的设

33、备步标志mpklftcsd#d整数错误(f110)0(f111)进位(f112)s1s2andanddoooooooooo5 / 9ooooooooooo操作数设定s2s1s2s1s1s2d被比较的数据 1) 功能- 比较s1和s2的内容,然后根据比较运行的结果当成串联no触点运算。比较指令按有符号运算执行。- 比较运算的结果如下表示:在 内的指令 符号 条件比较运算的结果在 内的指令 符号条件比较运算的结果=s1 = s2on=s1 s2off=s1 s2 s2=s1 s2=s1 s2 s1 s2 s1 = s2s1 s1 s22) 编程举例= p000 d0001( p0010 )m000

34、a) 把p0000 p000f和d0001比较。如果它们的值相等并且m000变成on,p0010位将变成on。b) b)比较1000和d0001与d0002(32位)的内容。如果d0001和d0002的内容小于1000并且m020变 成on, p0010 变成on.d= 1000 d0001( p0010 )m0205.3.5 or ( =, , , =, =, )or(带比结果的并联no触点 )fun(188) or=fun(189) ord=fun(196) orfun(197) ordfun(198) or=fun(218) or=fun(219) ord=fun(228) orfun(

35、229) ord可适用的 cpuk80s, k200sk300sk1000s指令适用的设备步标志mpklftcsdd整数错误(f110)0(f111)进位(f112)s1s2orordoooooooooo5 / 9ooooooooooo操作数设定s2s1s1s2ds1s2被比较的数据 1) 功能- 比较s1和s2的内容,然后根据比较结果当成并联no触点运行。 比较按有符号运算执行.- 比较运算的结果如下所示:在 内的指令符号条件比较运算结果在 内的指令符号条件比较运算结果=s1 = s2on=s1 s2off=s1 s2=s1 s2=s1 s2=s1 s2 s1 s2s1 = s2s1 s2s

36、1 s2s1 s22) 编程举例a) 比较p0000 p000f和d0001如果它们的值相等或m000变成on, p0010位变成on。 = p000 d0001 ( p0010 ) m000b)把d0001和d0002 (32位)的内容同1000比较. d0001和d0002的内容小于1000或者 m020变成on,p0010变成on。 d= 1000 d0001 (p0010 ) m0205.4 增加/减少运算5.4.1 inc, incp, dinc, dincpinc(增加)fun(20) incfun(22) dincfun(21) incpfun(23) dincp可适用的 cpu

37、全部cpus指令适用的设备步标志mpklftcsd#d整数错误(f110)0(f111)进位(f112)dinc(p)dinc(p)oooo*oooo3ooo操作数设定dddincpdincincpinc由inc指令增加的设备d 仅适用于没有使用计算机连接模块或者数据连接模块1) 功能- inc(p) : 指定的设备 d (16位数据)加1。- dinc(p) : d+1, d(32位数据)加1. - 如果执行inc(p)或dinc(p)指令,当设备的内容为hffff或hffffffff时, 设备的内容将变成0。同时0 标志(f111)和进位标志(f112)被设置。- 由 d指定的区域超范围时,运算错误出现且错误标志(f110)被设置.16 位h38d4h38d3dd+1001010110001110011001011000111100- 执行条件输入条件inc, dincincp, dincp仅执行一次仅执行一次每次扫描执行每次扫描执行2) 编程举例- 在 p030上检测到一个上升沿,p06字的内容加1。p030 incp p0060000000011000110

温馨提示

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

评论

0/150

提交评论