PLC指令

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

FC系列可编程控制器的基本指令如下:Array
1、2表示操作数
LDI
X0 与母线连接
OUT Y0 LD X1 OUT
M1 驱动指令
OUT
Y3
LD
X0
AND X3 串联接点
OUT Y0 AND X1
OUT
Y1
● 直接连到母线上时使用,或者在一个接点组开始时使用。

● LD 表示常开接点,LDI 表示常闭接点。

● OUT 指令是对输出继电器、内部继电器的线圈驱动指令,对输入线圈只能作中间接点使用。


并列的OUT 命令能多次使用。


用AND ,ANI 指令串联连接1个接点。

在逻辑运算开始接点后面,串联连接的接点使用此指令。

在线圈驱动指令后面,串联连接在该线圈驱动指令前面的回路上的接点也使用此指令。


AND 表示常开接点,ANI 表示常闭接点。

●用OR,ORI指令并联连接1个接点。

如果有两个以上的接点串联连接,并
将这种串联回路块与其他回路并联连接时,采用后面的ORLD指令。

●OR,ORI是指该指令与前面的LD、LDI指令进行并联连接。

●OR表示常开接点,ORI表示常闭接点。

LD= W10
K10
OUT M30
LD<> W201 W200
OUT M11
1 如果寄存器W10的数据和常数10相等,则条件成立,M30接通。

2 如果寄存器W201的数据与寄存器W200的数据不等,则条件成立,M11接通。

LD X0
AND= W20 K10
AND<> W100 W101
OUT Y2
当X0接通时,如果寄存器W20的数据等于10且寄存器W100的数据与W101的数据不等,则条件成立,Y2接通。

●LD=,LD<>指令用于将比较等于接点连接到母线上或其他分支接点处。

●LD=指令是指被比较数据等于比较数据时,接点接通;被比较数据不等于
比较数据时,接点断开。

LD<>是指被比较数据等于比较数据时,接点断开;
比较数据不等于比较数据时,接点接通。

回路表示
●用AND=,AND<>指令可串联一个比较等于接点。

AND=指令是指被比较
数据等于比较数据时,接点接通,AND<>与之相反。

●其它用法,与LDEQ和LDIEQ指令相同。

X0 与运算接点
比较接点
LD
X0 OR=
W201
K18
或运 AND M2 算接点 OR<> W1 W10
OUT M30
当满足下列条件之一:
1. X0,M2同时接通;
2. M2接通,且寄存器W201的数据等于十八; 3. 寄存器W11和寄存器W10的数据不相等; M30均可接通。

● 用OR=,OR<>指令可并联一个比较等于接点。

OR=指令是指被比较数据等于比较数据时,接点接通,OR<>与之相反。


其它用法,与LD=和LD<>指令相同。

LD>= TW0 K15 开始
AND X0 接点
OUT M30
LD< TW1 TW0
OR M3
AND X1
OUT M3
1 如果寄存器TW0的数值大于等于常数15时,且X0接通,M30置ON。

2 如果寄存器TW1的数值小于寄存器TW0的数值,且X1接通,M3置ON。

●LD>=,LD<指令用于将比较大于等于运算接点连接到母线上或其他分支接
点处。

●LD>=指令是指当被比较数据大于等于比较数据时,接点接通。

当被比较数
据小于比较数据时,接点断开。

LD<指令是指当被比较数据大于等于比较数据时,接点断开。

当被比较数据小于比较数据时,接点接通。

●定时器/计数器的当前值不能作为被比较数据。

LD X0
AND>= CW K20
AND< FW0 FW1
OUT Y2
如果寄存器CW2的数值大于等于常数20,寄存器FW0的数值小于寄存器FW1的数值,条件成立,且X0的接通,则Y2接通。

LD M0
OR>= TW0 K10 或运算
AND M2 接点
OR< CW1 CW0
OUT M30
当M0导通或TW0的值大于等于10时,若M2导通,则M30接通。

若CW1的值小于CW2的值,M30接通。

●用AND>=,AND<指令可串联一个比较大于等于接点。

AND>=指令是指被
比较数据大于等于比较数据时,接点接通,AND<与之相反。

●其它用法,与LD>=和LD<指令相同。

●用OR>=,OR<指令可并联一个比较大于等于接点。

OR>=指令是指被比较
数据大于等于比较数据时,接点接通,OR<与之相反。

●其它用法,与LD>=和LD<指令相同。

X0 CW2
与运算接点
例1
、例2、
ANDLD
ANDLD ANDLD
ANDLD
(LDI、ANI、ORI)指令分别写出A、B、C三个接点组的程序,第一个ADNLD将B和C连接起来,第2个ANDLD将(B•C)和A连接起来,完成整个接点回路。

该例成批使用了ANDLD 指令,因此最多串联8组回路块。

例2:(推荐程序)此例中,因为没有成批使用ANDLD指令,所以接点组的个数不受限制。

LD X1
OR X2
LD M1
OR M3
LD M2
OR M4
ANDLD 逻辑组串联
ANDLD (最多使用7次)
OUT Y3
LD X1
OR X2
LD X3
OR M3
ANDLD 逻辑组串联
LD X4
OR M4
ANDLD
OUT Y3
●由2个或2个以上的接点并联连接的回路称为并联回路块。

当并联回路块
与前面的回路串联连接时,使用ANDLD指令。

●成批使用ANDLD指令时,最多可连续使用7次。

A
B
C
B
C
A
X1 M1
X2 M4
M3
X1 X3 X4
X2 M4
M3
用LD、AND(LDI、ANI)指令写出各逻辑组的程序,然后用ORLD指令将各逻辑组并联起来。

逻辑组并联
●当串联回路块与前面的回路并联连接时,使用ORLD指令。

●和ANDLD一样,ORLD成批使用时,最多可连续使用7次,将前面8个
逻辑组连接起来。

X1 X3 X4
X2 M2
M1
X6 M6
LD X1
AND X3
AND X4
LD X2
AND M1
AND M2
ORLD
LD X6
AND M6
AND M7
ORLD
OUT Y3
母线开始
母线嵌套
母线回归
●执行MCS指令后,母线(LD,LDI)向MCS接点后移动,将其返回到原
母线的指令为MCR。

●在MCS指令内采用MCS指令时,嵌套级随着使用MCS的次数按顺序增
大。

作为新母线,MCR根据指定,从大的嵌套级开始消除。

执行MCR指令,则返回到上一级母线。

●在使用流程程序时,母线管理只能用于同一流程中,进入下一流程,母线
号自动变为0。

M1
X1
M2
X1
LD X1
MCS
LD M1
OUT Y1
LD M2
MCS
LD M3
OUT M3
LD M4
OUT Y4
MCR
MCR
ON保持
OFF保持●SET线圈的回路条件一旦接通,即使它再断开,功能存储器也可继续保持
ON状态。

●RST线圈的回路条件一旦接通,即使它再断开,功能存储器也可继续保持
OFF状态。

●对于同一定义号操作数,SET、RST可多次使用,顺序也可随意,但最后
执行者有效。

●指定起始定义号和结束定义号时,可同时对一个范围的操作数进行设定。

●对同一定义号可以同时使用SET、RST指令,必须避免与OUT使用同一
定义号。

●将条件的结果写入到功能存储器中,条件成立时,驱动相应的线圈动作。

●OUT指令是对输出继电器、辅助继电器的线圈驱动指令。

对输入线圈可做
辅助继电器使用。

●并列的OUT指令能多次连续使用。

M3
M2
LD M0
AND M1
SET Y1
LD X5
SET X1 X7
LD M2
OR M3
RST M10 M20 X5
M0
一次扫描
●使用PD指令时,仅在驱动输入为ON后的一个扫描周期内,指定的操作
数接通。

●开始RUN时,若条件成立,接通一个扫描周期。

●对于该指令使用的定义号,避免重复用于其它输出指令中。

扫描周期扫描周期
LD X0
AND M1
PD M5
LD M5
SET Y2
M5
X0
数据
时钟
复位
移位
移位寄存器指令是从起始定义号移到最终定义号,[SR M100 M107]是从M100移到M107,[SR M107 M100]是从M107移到M100,构成可逆移位寄存器。

如果正方向和反方向时钟同时输入,差动为零,移位位置为原来位置,但两端数据变化。

●移位寄存器有三个输入端,数据输入、时钟输入和复位输入,输入端前的
逻辑可以是LD指令,也可以是以LD开始的指令群。

●当时钟输入从OFF变为ON时,将数据输入的状态送入开始位(起始定义
号),同时移位寄存器内各位的状态均向下移1位。

●在起始定义号为M××0、末尾定义号为M××N的情况下,移位方向为
M××0→M××N;在起始定义号为M××N、末尾定义号为M××0的
LD X0
LD X1
LD M5
SR M100 M107
LD X2
LD X3
LD M5
SR M107 M100
数据
时钟
M10
复位
M11
M12
M13
M5
X0
X1
M5
X2
X3

设定值
0秒
设定值在0.1~0.2秒时,请使用HTMR指令
定时器●当条件成立时,定时器以0.1秒为单位进行计时,定时范围0~3276.7秒。

●当定时器计时值超过设定值时,接点接通。

●当计时值超过设定值时,若条件成立,定时器继续计时(在3276.7秒时停
止)。

●如果条件不成立,则定时器复位(计时值为0)。

在流程中,流程转移时定
时器也复位。

●计时值存放在和定时器同一编号的寄存器(TW)中。

●同一定时器不能重复使用,但如在不同的流程中,不同时动作时可以重复
使用。

LD M0
AND M1
TMR T0 K200
LD X5
TMR T1 W22
LD>= TW1 K100
OUT Y10
LD T0
OUT Y11
X5
M0
T0
>=
TW1
同时使用,如不同时接通定时器可在不同的级中从S10向S11移行的瞬间复位。

定时器
该例运行后,Y11产生周期为4秒的脉冲。

如果要改变脉冲的周期和通断时间,可通过修改T0和T1的设定参数值来实现。

●当条件成立时,定时器以0.01秒为单位进行计时,定时范围0~327.67秒。

●其它用法,与TMR指令相同。

LDI T1
HTMR T0 K200
LD T0
HTMR T1 K200
LDI T0
OUT Y11
计数器定义号C2
计数值寄存器CW2 X0
X1
CW2
1 2 3
4
5 1 2 3
加算计数器
●该指令为2/3步指令,当设定值是寄存器时,为2步指令;当设定值是常
数(K)时,为3步指令。

●计数设定范围0~32767。

●加算计数器有计数输入和复位输入二个输入端。

CNT指令第一个LD指令
(或LD指令开始的逻辑组)为计数输入,第二个LD指令(或LD指令开
始的逻辑组)为复位输入。

●当计数输入的条件从不成立到成立时,计数器计数值加1(到32767停止)。

●当复位输入的条件成立时,计数值恢复到零。

●计数器设定为停电保持时,计数器的计数值也停电保持。

X1
X0
LD X0
LD X2
CNT C1 W400
LD C1
OUT Y11
LD<> CW1 K10
AND< CW1 K100
OUT Y10
C1
X2
X0
<>
CW1
计数器定义号C2(C2、C3)
计数值寄存器W1002、W1003
计数值
1 2 3 4 4 3 2 1 1 2 1 1
设定值为2
经过值为-2147483648时如减输入ON,或经过值为2147483647时加输入ON,经过值不变
加减计数器
●加减算计数器有加算输入、减算输入和复位输入共三个输入端。

●该指令为2/3步指令,当设定值是寄存器时,为2步指令;当设定值是常
数(K)时,为3步指令。

●计数设定范围为-2147483648~2147483647。

●计数器计数值达到或大于设定值时,计数器置ON。

●加减算计数器占用两个计数器定义号,其计数值也占用两个寄存器。

如指
定计数器C10时,占用计数器C11、C10,计数值存放在CW11、CW10中。

●加算输入条件和减算输入条件同时成立时,不计数。

X1
X2
X0
LD X0
LD X1
LD M5
UDCNT C2 K500
LD C2
OUT Y11
M5
X0
X1
C2
: 其内容不随指令执行而变化的操作数标为源,以此为记号表示。

在可利用变址修改操作数的情况下,以加上“*”符号的 表示,源的数量多时,以 等表示。

其内容随执行指令改变的操作数被称为目标,以此记号表示。

同样,可作为变址修饰,在目标数量多时,以 等表示。

RDD ADDD
● 数据的指定
FC 系列可编程控制器的数据寄存器为单字(16位)数据寄存器,单字数据只占用1个数据寄存器,为单字对象指令指定的数据寄存器,处理范围为十进制-32768~32767或十六进制0~FFFFH ;
单字对象指令
W (NUM )
→→
双字(32位)占用2个数据寄存器,由双字对象指令指定的数据寄存器及其下一编号的数据寄存器组成,处理范围为十进制-2147483648~2147483647或十六进制0~FFFFFFFFH 。

双字对象指令
W (NUM+1) W (NUM )
→→

寄存器的间接指定
指令间接指定的寄存器中存储的数据是数据寄存器号,单字指令执行的对象是以该数据寄存器号为编号数据寄存器。

双字指令执行的对象是以该数据寄存器号为编号的数据寄存器及其下一寄存器。

单字对象指令
P (NUM ) →→
W XXXX
双字对象指令
P (NUM )
W XXXX+1
W XXXX

累加器
累加器是一种特殊寄存器,它是双字(32位)寄存器,暂时存储数据处理结
果。

任何数据运算或转换操作之前,都必须将被操作数读入累加器。

●标志
标志表示数据处理的相关信息,某些指令执行后,驱动相关的标志线圈来表示指令执行的部分结果。

运算错误标志(SM27)
进行除法运算时,如除数为零,运算错误标志线圈置位。

零标志(SM32)
指令执行后,累加器中的数据为零时,零标志线圈置位。

符号(SM33)
在算术运算指令执行后,累加器中的数据为负数时,符号标志线圈置位。

进行逻辑运算指令执行后,累加器的最上位为“1”时,符号标志线圈置
位。

溢出(SM34)
带符号数据运算时,数据溢出,溢出标志线圈置位。

(溢出指两正数相加,
累加器中的数据为负数;两负数相加,累加器的数据为正数)
小于(SM40)、等于(SM41)、大于(SM42)。

累加器ACC的数据小于指令指定的寄存器内的数据,小于标志线圈置
位。

累加器ACC的数据等于指令指定的寄存器内的数据,等于标志线圈置
位。

累加器ACC的数据大于指令指定的寄存器内的数据,大于标志线圈置
位。

● 将读出对象寄存器(S*)里存储的数据读出,存入累加器(ACC )。

● 读出数据范围-32768~32767。

● 读出对象用直接寄存器指定或间接寄存器指定(P 指定)。


指令执行后,累加器中的数据为负数时,符号标志线圈置位。

● RDW 指令将W0的数据读入累加器中。


WRTW 指令将累加器中的单字数据写入到数据寄存器W1中。

M1
W0
ACC
W1
LD
M1 RDW
W0 WRTW
W1

将读出对象寄存器(S+1,S )里存储的数据读出,存入累加器(ACC )。


读出对象用直接寄存器指定(W 指定)或间接寄存器指定(P 指定)。

● 读出数据范围为-2147483648~2147483647。


指令执行后,累加器中的数据为负数时,符号标志线圈置位。

● RDD 指令将W4、W3的数据读入累加器中。


WRTD 指令将累加器中的双字数据写入到数据寄存器W6、W5中。

X2
W4、W3 ACC
W6、W5
LD X2 RDD
W3 WRTW
W5
● 将RDC 指令指定的常数读入累加器中。

● RDC K (H )XXXXXXXX 执行前存储在累加器中的内容在RDC 指令执行后被压入堆栈。

● K 取值范围为-2147483648~2147483647,H 取值范围为0~FFFFFFFFH 。


指令执行后,累加器中的数据为负数时,符号标志线圈置位。

● RDC 指令将常数FFFF 读入累加器中。


WRTD 指令将累加器中数据写入数据寄存器W3、W2中。

X2
常数H
ACC
W3、W2
LD X2 RDC
HFFFF WRTW
W2
● 将存储在累加器中的数据(a )写入由WRTW 指令指定的写入目标(D )寄存器中 ● 写入的数据保持到下次指令执行。


累加器的内容在指令执行前和执行后不变
● RDW 指令将数据寄存器W0的数据读入到累加器中。


WRTW 指令将累加器中的数据写入W1,写入的方法有两种:1、直接指定(W 指定)条件X2成立时,将W0中储存的内容写入W1。

2、间接指定(P 指定)W0的内容写入由间接指定的寄存器W1的内容为寄存器号所指定的数据寄存器中。

W 指定
P 指定
*假设W1中的数据为1000
X2
W0
ACC
W1
LD X2 RDW
W0 WRTW
W (P )1
W0
ACC
P1 W1000
● 将存储在累加器中的数据(S*)写入由WRTD 指令指定的写入目标(D*)寄存器中 ● 写入的数据保持到下次指令执行。

● 累加器的内容在指令执行前和执行后不变。


RDD 指令将数据寄存器W1001、W1000的数据读入到累加器中。


WRTD 指令将累加器中的数据写入W1003、W1002。

写入的方法有两种:1、
直接指定(W 指定)条件X2成立时,将W1001、W1000中储存的内容写入W1003、W1002。

2、间接指定(P 指定)W1001、W1000的内容写入由间接指定的寄存器W1002的内容为寄存器号的数据寄存器及其下一个数据寄存器中。

W 指定
P 指定
X2
W1001、W1000
ACC
W1003、W1002
LD X2 RDD W1000 WRTD
W1002
W1001、W1000 ACC
W1002
W301、W300
● 将累加器(ACC )中的数据(S*1),与该指令指定的4位加算数据(S*2)相加。

和存入累加器。

● 指令执行后,累加器中的数据为零时,零标志线圈置位。

● 指令执行后,累加器中的数据为负数时,符号标志线圈置位。


带符号数据运算时,数据溢出,溢出标志线圈置位。

X3
LD X3 RDW
W100 ADDW W101 WRTW
W102
● 被加数是由RDW 指令指定的数据寄存器W100中的数据,加数是由ADDW 指令指定的数据寄存器W101中的数据。


和存入由WRTW 指令指定的数据寄存器W102中。

W100
ACC
W101
ACC
W102
● 将累加器(ACC )中的8位数据(S*1),与该指令指定的8位加算数据(S*2)相加。

和存入累加
器。

● 指令执行后,累加器中的数据为零时,零标志线圈置位。

● 指令执行后,累加器中的数据为负数时,符号标志线圈置位。

● 带符号数据运算时,数据溢出,溢出标志线圈置位。

X3
LD X3 RDD W100 ADDD W102 WRTD
W204

被加数是由RDD 指令指定数据寄存器W100及其下一个数据寄存器W101中的数据,加数是由ADDW 指令指定数据寄存器W102及其下一个数据寄存器W103。


和存入由WRTD 指令指定的数据寄存器W204及其下一个数据寄存器W205中。

W101、W100 ACC
W103、W102 ACC
W205、W204
● 将累加器(ACC )中的8位数据(S*1),与该指令指定的8位加算数据(S*2)相加。

和存入累加
器。

● 指令执行后,累加器中的数据为零时,零标志线圈置位。

● 指令执行后,累加器中的数据为负数时,符号标志线圈置位。

● 带符号数据运算时,数据溢出,溢出标志线圈置位。

M2
LD
M2 RDD W200 ADDC
K22212461 WRTD
W202
● 被加数是由RDD 指令指定的数据寄存器W200及其下一个数据寄存器W201中的数据,加数是由ADDC 指定的常数22212461。


和存入由WRTD 指令指定的数据寄存器W202及其下一个数据寄存器W203中。

W201、W200 ACC
常数 ACC
W203、W202
● 将累加器(ACC )中的数据(S*1),与该指令指定寄存器中4位减算数据(S*2)相减。

差存入累
加器。

● 指令执行后,累加器中的数据为零时,零标志线圈置位。

● 指令执行后,累加器中的数据为负数时,符号标志线圈置位。


带符号数据运算时,数据溢出,溢出标志线圈置位。

X2
LD X2 RDW W500 SUBW
W501 WRTW
W502
● 被减数是由RDW 指令指定的数据寄存器W500中的数据,减数是由SUBW 指令指定的数据寄存器W501中的数据。


差存入由WRTW 指令指定的数据寄存器中W502。

W500
ACC
W501
ACC
W502
● 将累加器(ACC )中的双字数据(S*1),与该指令指定寄存器中的双字减算数据(S*2)相减。


存入累加器。

● 指令执行后,累加器中的数据为零时,零标志线圈置位。

● 指令执行后,累加器中的数据为负数时,符号标志线圈置位。


带符号数据运算时,数据溢出,溢出标志线圈置位。

M2
LD M2 RDD FW0 SUBD FW2 WRTD
FW4

被减数是由RDD 指令指定的数据寄存器FW0及其下一个数据寄存器FW1中的数据,减数是由SUBD 指令指定的数据寄存器FW2及其下一个数据寄存器FW3中的数据。


差存入由WRTD 指令指定的数据寄存器FW4及其下一个数据寄存器FW5中。

FW1、FW0 ACC
FW3、FW2
ACC
FW5、FW4
● 将累加器(ACC )中的8位数据(S*1),与该指令指定的8位减算数据(S*2)相减。

差存入累加
器。

● 指令执行后,累加器中的数据为零时,零标志线圈置位。

● 指令执行后,累加器中的数据为负数时,符号标志线圈置位。


带符号数据运算时,数据溢出,溢出标志线圈置位。

X2
LD X2 RDD W20 SUBC K2361 WRTD
W32
● 被减数是由RDD 指定数据寄存器W20及其下一个数据寄存器W21中的数据,减数是由SUB 指定的常数2361。

● 差存入由WRTD 指定的数据寄存器W33及其下一个数据寄存器W32中。

W21、W20 ACC
常数
ACC
W33、W32

将累加器(ACC )中的单字数据(S*1),与该指令指定寄存器中的单字乘算数据(S*2)相乘。

积存入累加器。

● 累加器的高16位数据不进行乘法运算。

● 指令执行后,累加器中的数据为零时,零标志线圈置位。

● 指令执行后,累加器中的数据为负数时,符号标志线圈置位。

X2
LD X2 RDW
W100 MULW
W101 WRTD
W102
● 被乘数是RDW 指令由指定的数据寄存器W100中的数据,乘数是由MULW 指令指定的数据寄存器W101中的数据。


积存入由WRTD 指令指定的数据寄存器W102及其下一个数据寄存器W103中。

ACC
ACC
W103、W102
● 将累加器(ACC )中的单字数据(S*1),与该指令指定的单字乘算数据(S*2)相乘。

积存入累加
器。

● 累加器的高16位数据不进行乘法运算。

● 指令执行后,累加器中的数据为零时,零标志线圈置位。

● 指令执行后,累加器中的数据为负数时,符号标志线圈置位。

X2
LD X2 RDW
W300 MULC K1100 WRTD
W308
● 被乘数是由RDW 指令指定的数据寄存器W300中的数据,乘数内容是由MULC 指令指定的常数K1100。


积存入由WRTD 指令指定的数据寄存器W308及其下一个数据寄存器W309中。

ACC
ACC
W309、W308
●将累加器(ACC)中的双字数据(S*1),与该指
令指定寄存器中的单字除算数据(S*2)相除。


存入累加器。

余数写入特殊寄存器SW50。

●进行除法运算时,如除数为零,运算错误标志线
圈置位。

●指令执行后,累加器中的数据为零时,零标志线
圈置位。

●指令执行后,累加器中的数据为负数时,符号标
志线圈置位。

●被除数是由RDD指令指定的数据寄存器W210和其下一个数据寄存器W211中
的数据,除数是由DIVW指令指定的数据寄存器W212中中的数据。

●商存入由WRTD指令指定的数据寄存器W213及其下一个数据寄存器W214中。

T2
LD T2
RDD W210
DIVW W212
WRTD W213
W211、W210
ACC
ACC
W214、W213
● 将累加器(ACC )中的双字数据(S*1),与该指令指定的单字除算数据(S*2)相除。

商存入累加
器,余数写入SW50。

● 进行除法运算时,如除数为零,运算错误标志线圈置位。

● 指令执行后,累加器中的数据为零时,零标志线圈置位。

● 指令执行后,累加器中的数据为负数时,符号标志线圈置位。

● 被除数是由RDD 指令指定数据寄存器W10及其下一个数据寄存器W11中的数据,除数是由DIVC 指令指定的常数K1100。


商存入由WRTD 指令指定的数据寄存器W12及其下一个数据寄存器W13中。

C2
LD C2 RDD W10 DIVC K1100 WRTD W12
W11、W10 ACC
常数 ACC
W13、W12
● 将指令指定的数据寄存器的数据和累加器的低16位数据进行逻辑与运算。

● 累加器(ACC )的高16位填充为0。

● 指令执行后,累加器中的数据为零时,零标志线圈置位。


指令执行后,累加器中的最上位为“1”时,符号标志线圈置位。

M1
LD M1 RDW
WX0 ANDW W1001 WRTW
WM2
● RDW 指令将指定的数据寄存器WX0中的数据写入累加器。

● ANDW 指令将指定的数据寄存器W1001中的数据和累加器中的数据进行逻辑与运算,结果存入累加器。


WRTW 指令将累加器中的数据写入指定的数据寄存器WM2中。

WX0
ACC
ANDW
● 将指定的8位十六进制常数和累加器的32位数据进行逻辑与运算。

● 指令执行后,累加器中的数据为零时,零标志线圈置位。


指令执行后,累加器中的最上位为“1”时,符号标志线圈置位。

X1
LD X1 RDD WX2 ANDC H12F1AEFA WRTD
WM0
● RDD 指令将指定的数据寄存器WX2及其下一个数据寄存器WX3存储的数据写入累加器中。

● ANDC 指令将指定的常数H12F1AEFA 和累加器中的数据进行逻辑与运算,结果写入累加器。


WRTD 指令将累加器中的数据写入指定的数据寄存器WM0及其下一个数据寄存器WM1中。

WX3、WX2 ACC
常数
ACC WM1、WM0
ANDC
● 将指定寄存器的数据和累加器的低16位数据进行逻辑或运算。

● 累加器(ACC )的高16位填充为0。

● 指令执行后,累加器中的数据为零时,零标志线圈置位。


指令执行后,累加器中的最上位为“1”时,符号标志线圈置位。

M3
LD M3 RDW WX1 ORW
WY1 WRTW
WM0
● RDW 指令将指定数据寄存器WX1中的数据写入累加器。

● ORW 指令将指定数据寄存器WY1中的数据和累加器的数据进行逻辑或运算。


WRTW 指令将累加器的数据写入指定的数据寄存器WM0中。

WX1
ACC
WY1
ACC
WM0
ORW
● 将指定的8位十六进制常数和累加器的32位数据进行逻辑或运算。

● 指令执行后,累加器中的数据为零时,零标志线圈置位。


指令执行后,累加器中的最上位为“1”时,符号标志线圈置位。

T2
LD T2 RDD WX2 ORC H11223344 WRTD
WM0-
● RDD 指令将指定的数据寄存器WX2及其下一个数据寄存器WX3存储的数据写入累加器中。

● ORC 指令将指定的常数11223344和累加器中的数据进行逻辑或运算。


WRTD 指令将累加器中的数据写入指定的寄存器WM0中及其下一个数据寄存器WM1中。

WX3、WX2 ACC
常数
ACC
WM1、WM0
ORC
● 将指定寄存器的数据和累加器的低16位数据进行逻辑异或运算。

● 累加器(ACC )的高16位填充为0。

● 指令执行后,累加器中的数据为零时,零标志线圈置位。


指令执行后,累加器中的最上位为“1”时,符号标志线圈置位。

C2
LD C2 RDW
WX1 XORW WX2 WRTW
WM0
● RDW 将指定的数据寄存器WX1中的数据写入累加器。

● ANDW 指令将指定数据寄存器WX2中的数据和累加器中的数据进行逻辑与运算。


WRTW 指令将累加器中的数据写入指定的数据寄存器WM0中。

WX1
ACC
XORW
● 将指定的8位十六进制常数和累加器的32位数据进行逻辑异或运算。

● 指令执行后,累加器中的数据为零时,零标志线圈置位。


指令执行后,累加器中的最上位为“1”时,符号标志线圈置位。

X2
LD X2 RDD WX0 XORC HFFFFFFFF WRTD
WM2
● RDD 指令将指定的数据寄存器WX0及其下一个数据寄存器WX1存储的数据写入累加器中。

● XORC 指令将指定常数FFFFFFFF 和累加器中的数据进行逻辑异或运算。


WRTD 指令将累加器中的数据写入指定的数据寄存器WM2及其下一个数据寄存器WM3中。

WX0
ACC
常数
ACC
WM2 XORC
● 将累加器中的低16位的数据,与该指令指定的寄存器中的数据进行比较,判断两数据之间的大小
关系。

● 指令执行后,累加器的数据不变。

● 二进制数据比较时,第15位不作符号位用。


累加器ACC 的数据小于指令指定的寄存器内的数据,小于标志线圈置位。

● 累加器ACC 的数据等于指令指定的寄存器内的数据,等于标志线圈置位。


累加器ACC 的数据大于指令指定的寄存器内的数据,大于标志线圈置位。

LD M1 RDW W20 CMPW W30 AND
SM42 OUT
Y1
● RDW 指令将指定的数据寄存器W20中的数据写入累加器中。

● CMPW 指令将累加器的内容和指定的数据寄存器W30中的数据进行比较。

● 比较的结果驱动相应的标志线圈。

W20
ACC
W30
M1
● 将累加器中的32位数据(S*1),与该指令指定的寄存器及其下一寄存器存储的数据进行比较,判
断两数据之间的大小关系。

● 指令执行后,累加器的数据不变。

● 二进制数据比较时,第31位不作符号位用。


累加器ACC 的数据小于指令指定的寄存器内的数据小于标志线圈置位。

● 累加器ACC 的数据等于指令指定的寄存器内的数据,等于标志线圈置位。


累加器ACC 的数据大于指令指定的寄存器内的数据,大于标志线圈置位。

LD X2 RDD W20 CMPD W22 AND SM42 OUT
Y1
● RDD 指令将指定的数据寄存器W20及其下一个数据寄存器W21存储的数据写入累加器中。

● CMPD 指令将累加器的内容和指定的数据寄存器W22及其下一个数据寄存器W23存储的数据进行比较。


比较的结果驱动相应的标志线圈。

W21、W20 ACC
W23、W22 X2。

相关文档
最新文档