LGplc应用指令手册

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五章应用指令
5.1 数据传送指令5-1
5.1.1 MOV, MOVP, DMOV, DMOVP ..................................................... 5-1
5.1.2 CMOV, CMOVP, DCMOV, DCMOVP .......................................... 5-3
5.1.3 GMOV, GMOVP .................................................................................. 5-6
5.1.4 FMOV, FMOVP ................................................................................... 5-8
5.1.5 BMOV, BMOVP ................................................................................ 5-10 5.2 转换指令5-12
5.1.1 BCD, BCDP, DBCD, DBCDP ......................................................... 5-12
5.2.2 BIN, BINP, DBIN, DBINP .............................................................. 5-15 5.3 比拟指令5-18
5.3.1 CMP, CMPP, DCMP, DCMPP ...................................................... 5-18
5.3.2 TCMP, TCMPP, DTCMP, DTCMPP .............................................. 5-22
5.3.3 LD ( =, >, <, >=, <=, <> ) ..................................................... 5-24
5.3.4 AND ( =, >, <, >=, <=, <>) ................................................... 5-25
5.3.5 OR ( =, >, <, >=, <=, <>) ...................................................... 5-27 5.4 增加/减少运算5-29
5.4.1 INC, INCP, DINC, DINCP ............................................................. 5-29
5.4.2 DEC, DECP, DDEC, DDECP .......................................................... 5-31 5.5 回转指令5-34
5.5.1 ROL, ROLP, DROL, DROLP .......................................................... 5-34
5.5.2 ROR, RORP, DROR, DRORP ....................................................... 5-37
5.5.3 RCL, RCLP, DRCL, DRCLP ............................................................ 5-39
5.5.4 RCR, RCRP, DRCR, DRCRP .......................................................... 5-42
5.6 移位指令5-44
5.6.1 BSFT, BSFTP ...................................................................................... 5-44
5.6.2 WSFT, WSFTP ................................................................................... 5-46
5.6.3 SR.......................................................................................................... 5-48 5.7 交换指令5-51
5.7.1 XCHG, XCHGP, DXCHG, DXCHGP ............................................ 5-51 5.8 BIN 算术指令5-53
5.8.1 ADD, ADDP, DADD, DADDP ...................................................... 5-53
5.8.2 SUB, SUBP, DSUB, DSUBP .......................................................... 5-55
5.8.3 MUL, MULP, DMUL, DMULP ..................................................... 5-57
5.8.4 MULS, MULSP, DMULS, DMULSP ............................................ 5-60
5.8.5 DIV, DIVP, DDIV, DDIVP ............................................................... 5-63
5.8.6 DIVS, DIVSP, DDIVS, DDIVSP .................................................... 5-65 5.9 BCD算术指令5-68
5.9.1 ADDB, ADDBP, DADDB, DADDBP ........................................... 5-68
5.9.2 SUBB, SUBBP, DSUBB, DSUBBP ................................................ 5-70
5.9.3 MULB, MULBP, DMULB, DMULBP ........................................... 5-74
5.9.4 DIVB, DIVBP, DDIVB, DDIVBP ................................................... 5-76 5.10 逻辑算术指令5-79
5.10.1 WAND, WANDP, DWAND, DWANDP ..................................... 5-79
5.10.2 WOR, WORP, DWOR, DWORP ................................................. 5-82
5.10.3 WXOR, WXORP, DWXOR, DWXORP ....................................... 5-84
5.10.4 WXNR, WXNRP, DWXNR, DWXNRP ...................................... 5-86 5.11 数据处理指令5-88
5.11.1 SEG, SEGP ......................................................................................... 5-89
5.11.2 ASC, ASCP ......................................................................................... 5-92
5.11.3 BSUM, BSUMP, DBSUM, DBSUMP .......................................... 5-94
5.11.4 ENCO, ENCOP .................................................................................. 5-97
5.11.5 DECO, DECOP ................................................................................ 5-100
5.11.6 FILR, FILRP, DFILR, DFILRP ....................................................... 5-102
5.11.7 FILW, FILWP, DFILW, DFILWP .................................................. 5-105
5.11.8 DIS, DISP ......................................................................................... 5-107
5.11.9 UNI, UNIP ........................................................................................ 5-110
5.11.10 IORF, IORFP .................................................................................... 5-112 5.12 系统指令5-114
5.12.1 FALS ................................................................................................... 5-114
5.12.2 DUTY ................................................................................................. 5-115
5.12.3 WDT, WDTP .................................................................................... 5-118
5.12.4 OUTOFF ............................................................................................ 5-120
5.12.5 STOP .................................................................................................. 5-121 5.13 跳转指令5-122
5.13.1 JMP, JME .......................................................................................... 5-122
5.13.2 CALL, CALLP, SBRT, RET ............................................................ 5-124 5.14 循环指令5-126
5.14.1 FOR, NEXT ...................................................................................... 5-127
5.14.2 BREAK ............................................................................................... 5-128 5.15 标志指令5-129
5.15.1 STC, CLC ........................................................................................... 5-129
5.15.2 CLE ..................................................................................................... 5-131 5.16 特殊模块指令5-132
5.1
6.1 GET, GETP ........................................................................................ 5-133
5.1
6.2 PUT, PUTP ....................................................................................... 5-135 5.17 数据连接指令5-137
5.17.1 READ ................................................................................................. 5-138
5.17.2 WRITE ................................................................................................ 5-141
5.17.3 RGET .................................................................................................. 5-143
5.17.4 RPUT .................................................................................................. 5-147
5.17.5 STATUS .............................................................................................. 5-150 5.18 中断指令5-152
5.18.1 EI, DI .................................................................................................. 5-152
5.18.2 TDINT, IRET ..................................................................................... 5-153
5.18.3 INT, IRET .......................................................................................... 5-155
5.19 符号反转指令5-156
5.19.1 NEG, NEGP, DNEG, DNEGP...................................................... 5-156 5.20 位接触指令5-159
5.20.1 BLD, BLDN ....................................................................................... 5-159
5.20.2 BAND, BANDN .............................................................................. 5-160
5.20.3 BOR, BORN ..................................................................................... 5-161
5.20.4 BOUT ................................................................................................. 5-163
5.20.5 BSET, BRST ...................................................................................... 5-164 5.21 计算机连接模块指令5-165
5.21.1 SND .................................................................................................... 5-165
5.21.2 RCV .................................................................................................... 5-166 5.22 高速计数器指令5-167
5.22.1 HST ..................................................................................................... 5-167
5.22.2 HSC .................................................................................................... 5-170 5.23 RS-485 通讯指令5-171
5.23.1 RECV .................................................................................................. 5-172
5.23.2 SEND ................................................................................................. 5-173
5应用指令
5.1.1MOV, MOVP, DMOV, DMOVP
1)功能
-MOV(P) : 传送在[ S ]中的16位数据至指定的设备[ D ].
16 位
- DMOV(P) : 传送在指定设备[ S+1, S ]中的32位数据到指定的设备[ D+1, D ].
-
2) 编程举例
在P020检测到一个上升沿,‘h70F3’被传送到P04。

MOVP h70F3 P04
P020
输入条件
MOV , DMOV
16 位
+ 1 + 1
16 位
5.1.2 CMOV, CMOVP , DCMOV, DCMOVP
P04F P040
1) 功能 - CMOV(P) : [ S ]的每一位求反之后传送结果到 [ D ].
- DCMOV(P) : [ S+1, S ]中的每一位求反之后,结果传送至[ D+1, D ].
- 执行条件
求反
16 位
+ 1
+ 1
求反
求反
输入条件
CMOV
2) 编程举例 - 在M020 处于on 状态时,P02字的数据求反且结果传送至P06字。

CMOV P02 P06
M020
求反
P02
P06
5.1.3GMOV, GMOVP
1)功能
-从指定的设备[ S ]开场传送‘n’字的容,以块的形式传送‘n’字至以指定的设备[ D ]为开场的区域。

+ 1
+ 1
+ 2 + 2
- 执行条件
2) 编程举例 - 在P020处于on 的状态,传送 D000、D001和D002中的数据到P04、P05和P06区域。

+ (n-3)
+ (n-2)
+ (n-1)
D + (n-1)
输入条件
GMOV
GMOVP
P04 P05 P06
n
GMOV D0000 P04 3
P020
5.1.4FMOV, FMOVP
1)功能
-以块的形式传送指定设备[ S ]的容至以指定设备[ D ]为开场的‘n’点。

-执行条件
+ 1
+ 1
n 字
2) 编程举例 - 在P030检测到一个上升沿,传送 P02 字的容至块 P04、P05和P06。

输入条件
FMOV
FMOVP
FMOVP P02 P04
3
P020
P02
P04 P05 P06
5.1.5 BMOV, BMOVP
1) 功能 -
‘Cw ’的格式
a) s : [ S ]的起始位 b) d : [ D ]的起始位
c) zz : 被传送位的数目 (16进制)
-
从指定设备[ S ] 的‘s ’位传送‘zz ’位的容至指定设备[ D]的‘d ’ 位开场的‘zz ’位。

-
‘zz ’的最大值是h10(=16)。

如果‘zz ’的值等于0或大于h10,指令将被忽略。

(当‘zz ’大于h10,错误标志F110 将被设置。

) - 执行条件
2) 编程举例
-在P030检测到一个上升沿,从P020位传送4位至从P063位开场的4位。

输入条件
BMOV
BMOVP
BMOVP P02 P06 h0304
P030
4位
5.2.1 BCD, BCDP , DBCD, DBCDP
1) 功能
P06F
P060
P063 P066
-
BCD :指定设备[ S ]的二进制数格式转换成BCD 格式〔0到9999〕同时传送结果至指定设备[ D ]。

-
DBCD:指定设备[ S ]的二进制数格式转换成BCD 格式(0到99999999)同时传送结果至指定设备[D]。

- 执行条件
-
运行错误
在以下情况下出现运行错误且错误 标志 (F110)变成on 。

2000 1000
8000 4000
200
100
800
400
20
10
80
40
2
1
8
4
一定要设置为0。

(否那么BCD 转换将溢出)
BIN (9999)
输入条件
BCD, DBCD
BCDP, DBCDP
a)当使用BCD(P)指令时
源[ S ]数据不在0 到9999围之。

b)当使用DBCD(P) 指令时
源[ S ]数据不在0 到99999999围之。

2)编程举例
-在P020处于on状态时,转换D001的二进制数据为BCD数据格式同时传送结果至P05字。

显示计数器的当前值
(BCD, BMOV指令举例)
1.动作
这是一个库房,入库和出库产品的数目是由光开关计数的。

当前的库存值由数字指示器显示。

当库存量到达30时,入库传送带将停顿。

2.系统图
BCD D0001 P05
P020
8192 4096
32768 16384 512 256
2048 1024 32 16
128 64 2 1
8 4
2000 1000
8000 4000 200 100
800 400 20 10
80 40 2 1
8 4
D0001 (h1111)
P05 (4369)
4000 300 60 9
(P031) 输入模块输出模块
传送带电动机
计数器复位开关
(P032)
3.程序
1) 功能 -
BIN:指定设备[S]中的BCD 数据格式(0到9999)成二进制格式,同时将结果传送至指定的设备[D]。

8192
4096 32768 16384 512
256
2048
1024
32
16
128
64
2
1
8
4
2000
1000
8000
4000 200
100
800
400
20
10
80
40
2
1
8
4
BIN (9999)
-
DBIN:转换指定设备[S]中的BCD 数据格式(0到99999999)成二进制格式,同时将结果传送至指定的设备 [D]。

- 执行条件
- 运行错误
在以下情况下出现运行错误,错误标志(F110)变成on 。

a) 源数据[S]的任意一个字〔4位〕不在0 到9围之。

(例:[S] = h78A5)
2) 编程举例 - P020处于on ,转换P00字的BCD 数据且把结果送至D0001。

一定要设置为0。

输入条件
BIN, DBIN
BINP, DBINP
BIN P00 D0001
P020
1) 功能 - 比拟指定的2个设备[S1][S2]的容。

-
比拟之后,设定F120 ~ F125之间的标志位。

8192 4096
32768 16384 512
256
2048 1024
32
16
128
64
2
1
8
4
2000 1000
8000 4000
200
100
800
400
20
10
80
40
2
1
8
4
P00 (4369)
4000 300 60 9
- 以上标志表示CMP 指令最后执行完的结果。

- 当[S1]或[S2]被指定为#D 格式超过设备围。

错误标志(F110)被设置。

错误出现处的指令不执行。

- 执行条件
2) 编程举例 - P020 处于on ,比拟D000和D001的容同时根据结果设置标志位。

输入条件
CMP, DCMP
h0008)
(D0000h2001)
(D0001
比拟电路(CMP 指令举例)
( M0000 ) ( M0001 ) ( M0002 )
[ END ]
CMP D0000 D0001
F120
F123
F122 [ 程序 ]
[ 标志设定 ]
1. 动作
有一个up-down 计数器C000。

P030是up-计数输入,P031是down-计数输入。

如果定时器的当前值为0~9,P060变成on 。

如果定时器的当前值为10~19,P061变成on 。

如果定时器的当前值为20~29,P062变成on 。

如果定时器的当前值为30~39,P063变成on 。

如果定时器的当前值大于40,P064变成on 。

2. 程序
( P060 ) ( P061 )
0000 0 ~ 10 小于40
10 ~ 19 30 ~ 39 20 ~ 29 40或大于40
小于30
20
小于10
:计数器的当前值
5.3.2 TCMP , TCMPP , DTCMP , DTCMPP
1) 功能 - 把指定的设备[ S1 ]的容同从指定的设备[ S2 ]开场的16字进展比拟。

-
比拟结果(如果2个字一样,1为输出,否那么0为输出)包括16位, 它们被存储在指定的设备[D]。

- 如果所有的比拟结果是0, 0标志(F111)变成on ([D] = 0) - 执行条件
输入条件
TCMP
2)编程举例
-P020处于on, 比拟D0001的容同从M00 (M00 ~ M15)开场的16字,输出比拟结果至P06字(P060 ~ P06F)。

TCMP D0001 M000 P06
P020
M000
M002
M004
M012
M015
P06D
P06E
P06C
P06F M013
M014
5.3.3 LD ( =, >, <, >=, <=, <> )
1) 功能 - 比拟[S1]和[S2]的容,然后根据比拟结果当成NO 触点执行。

比拟指令按有符号运算执行。

-
比拟结果如下所示:
2) 编程举例
a)比拟P0000 ~ P000F 和D0001。

如果它们的值相等, P0010 位变成on 。

b)把D0001和D0002(32位)中的容与1000比拟。

如果D0001和D0002的容小于1000, P0010 将变成on 。

5.3.4 AND ( =, >, <, >=, <=, <>)
= P000 D0001
( P0010 )
D>= 1000 D0001
( P0010 )
1) 功能 -
比拟[S1]和[S2]的容,然后根据比拟运行的结果当成串联NO 触点运算。

比拟指令按有符号运算执行。

-
比拟运算的结果如下表示:
操作数设定
2) 编程举例
a) 把P0000 ~ P000F 和D0001比拟。

如果它们的值相等并且M000变成on ,P0010位将变成
on。

b)
b 〕比拟1000和D0001与D0002(32位)的容。

如果D0001和D0002的容小于1000并且
M020变 成on ,
P0010 变成on 。

5.3.5 OR ( =, >, <, >=, <=, <>)
= P000 D0001 ( P0010 )
M000
D>= 1000 D0001
( P0010 )
M020
1)
功能 -
比拟[S1]和[S2]
的容,然后根据比拟结果当成并联NO 触点运行。

比拟按有符号运算执行。

-
比拟运算的结果如下所示:
2) 编程举例
a) 比拟P0000 ~ P000F 和D0001如果它们的值相等或M000变成on, P0010位变成on.
= P000 D0001 ( P0010 )
M000
b)把D0001和D0002 (32位)的容同1000比拟。

D0001和D0002的容小于1000或者 M020变成on ,P0010变成on 。

D>= 1000 D0001 (P0010 )
M020
5.4.1 INC, INCP , DINC, DINCP
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)被设置。

- 执行条件
+1
h38D3
h38D4
输入条件
INC, DINC
INCP, DINCP
2) 编程举例 - 在 P030上检测到一个上升沿,P06字的容加1。

5.4.2 DEC, DECP , DDEC, DDECP
P030
INCP P006
h00C6
+1
h00C7
1) 功能 - DEC(P) : 在[ D ]指定的设备〔16位数据〕减1;. - DDEC(P) : 指定的[ D+1, D]的容〔32 位数据〕 减1;
-
如果执行DEC(P)或DDEC(P)指令。

当设备的容为0,设备的容将变成hFFFF 或 hFFFFFFFF 并且进位标志(F112) 被设置。

- 当设备的容为0,0标志被设置。

- 如果由#D 指定的设备超围,运算错误出现同时错误标志 (F110)被设置。

16位
h38D3
-
2) 编程举例 - 当在P020检测到一个上升沿, M06字的容减1。

– 1
h38D2
输入条件
DEC, DDEC
DECP, DDECP
P020
DECP M006
h00C6
-1
h00C5
5.5.1 ROL, ROLP , DROL, DROLP
1) 功能 - ROL(P) :指定设备[ D ]的16位向左回转。

- MSB 将被传送至LSB 和进位标志(F112)。

D C F
E 9 8 B A 5 4 7 6 1 0 3 2 进位标志
- DROL(P) :指定设备[ D+1, D]的32位向左回转。

- [ D+1 ]的MSB 将被传送至[ D ]的LSB 和进位标志。

- 执行条件
2) 编程举例 - 当在P030检测到一个上升沿,D0000字的16位将会向左回转。

16 位
输入条件
ROL, DROL
ROLP, DROLP
ROLP D0000
P030
D0000 = h78D3
+ 1
进位标志
向左回转
进位标志
5.5.2ROR, RORP, DROR, DRORP
1)功能
-ROR(P) :指定设备[ D ]的16位向右回转。

-LSB将传送至MSB和进位标志(F112)
- DROR(P) :指定设备[ D+1, D]的32 位向右回转。

- [ D ]的LSB 将传送至[ D+1 ]的MSB 和进位标志。

- 执行条件
2) 编程举例 - 当在P030检测到一个上升沿,D0000 的16位将向右回转。

D C F
E 9 8
B A 5 4 7 6 1 0 3 2 进位标志
输入条件
ROR, DROR
RORP, DRORP
P030
5.5.3 RCL, RCLP , DRCL, DRCLP
16 位
s
向右回转
进位标志
[ RORP D0000 ]
D0000 = h78D2
1) 功能 - RCL(P) : 指定设备[ D ]的16位和进位标志(F112)向左回转。

-
MSB 被传送至进位标志(F112)同时进位标志(F112)被传送至LSB 。

- DRCL(P) : 指定设备[D+1, D] 的32 位和进位标志向左回转。

- [ D+1 ]的MSB 被传送至进位标志(F112)同时进位标志(F112)被传送至[ D ]的LSB 。

- 执行条件
D C F
E 9 8 B A 5 4 7 6 1 0 3 2 进位标志
输入条件
ROL, DROL
ROLP, DROLP
+ 1
2) 编程举例 - 当在P030检测到一个上升沿, D0000字的16位和进位标志向左回转。

进位标志
RCLP D0000
P030 D0000 = h78D3
5.5.4 RCR, RCRP , DRCR, DRCRP
1) 功能 - RCR(P) : 把指定设备[ D ]的16位和进位标志向右回转。

- LSB 被传送至进位标志(F112)且进位标志将传送至MSB.
- DRCR(P) : [ D+1, D]的32位和进位标志向右回转。

- [ D ]的LSB 将被传送至进位标志同时进位标志被传送至[ D+1 ]的MSB 。

D C F
E 9 8 B A 5 4 7 6 1 0 3 2 进位标志
+ 1
-
执行条件
2) 编程举例 - 当在P030检测到一个上升沿,D0000 字的16位和进位标志向右回转。

输入条件
RCR, DRCR
RCRP, DRCRP
RCRP D0000
P030
D0000 = h78D2
16 位
16 位
5.6.1 BSFT, BSFTP
向右回转
进位标志
向右回转 进位标志
1) 功能 - 移动指定块[ S1 ] ~ [ S2 ]的1位。

-
移位的方向是从[ S1 ]到[ S2 ]。

因此,如果[ S1 ]小于[ S2 ], 块左移动。

否那么,块右移动。

- 执行条件
2) 编程举例 -
每一秒块从P040向P045左移动1位。

秒时钟标志(F093)被用做输入条件。

当P031变成on , P040被设置为1。

[S2] [S1]
[S1]小于
[S2]
[S1]
[S2]
擦除
[ S1 ]大于[S2]
输入条件
BSFT
BSFTP
5.6.2 WSFT, WSFTP
BSFT P040 P045
F093
P031
SET P040
P031处于off ,添入0。

P031处于on ,添入1。

相关文档
最新文档