文档介绍:第五章可编程控制器的的功能指令
一、功能指令的基本格式
(a)基本格式
V,Z
B
C
T
KnS
KnM
KnY
KnX
FNC
代码
助记符
(S)
(D)
将D10中的数据送到D12中(处理16位数据)
将D21和D20的数据送到D23和D22(处理32位数据)
X000
MOV
D10
D12
X001
(D)MOV
D20
D22
(b)数据传送指令的使用
(C)脉冲执行方式
(d)V和Z变址寄存器的使用
X003
X002
MOV
K20
Z
X001
MOV
K10
V
ADD
D5V
D15Z
D40Z
MOV(P)
D10
D40
X001
图6-27 功能指令的基本形式
功能指令可以处理16位数据和32位数据
功能指令有连续执行型和脉冲执行型两种形式
(1)位元件X、Y、M、和S;
(2)常数K、H或指针P;
(3)字元件T、C、D、V、Z(T、C分别表示定时器和计数器的当前值寄存器);
(4)由位元件X、Y、M和S的位指定组成字元件。
、Z
变址寄存器在传送、比较指令中用来修改操作对象的元件号,其操作方式与普通数据寄存器一样。在图6-27a中的源操作数和目的操作数可以表示为〔S•〕和〔D•〕,其中的〔•〕表示使用变址功能,称为变址寄存器。
二、功能指令
CJ和CJ(P)为条件跳转指令,在某种条件下需要跳过一部分程序时,采用跳转指令,这样可以减少扫描时间,提高程序执行速度。
CJ指令的使用
LD X000
CJ P10
┊
LD X001
OUT Y001
LD X002
OUT Y002
图6-28 CJ指令的使用
标号P9
X000
CJ
P9
X001
CJ
P9
X002
Y002
(b)
X000
标号P10
CJ
P10
X001
Y001
X002
Y002
(a)
(EI/DI)
允许中断指令EI与禁止中断指令DI之间的程序段为允许中断区间。当程序处理到允许中断的区间,出现中断信号时,则停止执行主程序,去执行相应的中断子程序。处理到中断返回指令IRET时再返回断点,继续执行主程序。
中断标号的含义:
I O ◇□→1为上升沿中断,0为下降沿中断
0~5对应输入X000~X005
常置为0
┊
(M8050)
┊
┊
┊
允许中断区间
1101
1001
EI
DI
FEND
IRET
中断子程序(1)
主程序结束
中断子程序(2)
IRET
┊
M
X000
Y020
X001
Y025
X002
EI/DI中断指令的使用
图6-29 中断指令的使用图
中断指令使用说明:
(1)有关的特殊辅助继电器为ON状态,响应的中断子程序不能执行。
(2)一个中断程序执行时,其他中断被禁止。但是在中断程序中编入EI和DI指令时,可实现中断嵌套。多个中断信号产生的顺序,遵照中断指针号较低的有优先权的规定。
(3)中断信号的脉宽必须大于200µs。
(4)如果中断信号产生禁止中断区间(DI~EI之间),这个中断信号被存储,并在EI指令后执行。
(FEND)
FEND指令表示主程序结束。程序执行到FEND时,进行输出处理、输入处理、监视定时器和计数器刷新,全部完成以后返回到程序的第00步。
FEND主程序结束指令使用时应注意,子程序和中断子程序必须写在主程序结束指令FEND和END指令之间。
FEND主程序结束指令使用
X010=ON
1001
P20
X010=OFF
END
X010
CJ
P20
主程序1
主程序2
FEND
主程序3
FEND
中断子程序
图6-30 FEND指令的使用