功能指令(一)
[S]
[D]
ZCP K100 K120 C30 M3
M3 [S]<[S1] M4
[S1]<=[S]<=[S2]
M5
[S]>[S2]
3 工程项目管理规划
传送指令MOV (Move)
FNC12,传送指令将源数据传送到指定的目标操作数中
X0
[S]
[D]
MOV K100 D10
当X0闭合时,每扫描到MOV指令时,就把存于源操作数 十进制数100(K100)转换成二进制数,再传送到目标 操作数D10中; 当X0断开时,不执行MOV指令,数据保持不变
IRET
允许中断范围 中断服务程序(1) 中断服务程序(2)
程序结束指令(FEND)
FEND的功能指令编号为FNC06,无操作数,占用一个 程序步
FEND表示主程序结束,执行到FEND指令时PLC进行输 入输出处理、监控定时器刷新,完成后返回第0步
子程序(包括中断子程序)应放在FEND指令之后,END 之前。
功能指令在跳转时不执行,但脉冲输出指令PLSY、脉宽 调制输出PWM、带加减速脉冲输出PLSR,除外。
3 工程项目管理规划
子程序调用与子程序返回指 令
子程序调用指令CALL(Sub Routine Call)的功能指 令编号为FNC01,操作数为P0~P62(不包括P63 ),占3个程序步,允许用变址寄存器修改。
n
MEAN D0 D40 K3
[S]表示源操作数(其内容不随指令执行而变化的操作 数标为源)
在使用变址寄存器时,表示为[S.] 多个操作数用[S1]、[S2]……
3 工程项目管理规划
功能指令与操作数
X1
[S] [D]
n
MEAN D0 D40 K3
[D]表示目标操作数(其内容随执行指令改变的操作数 被称为目标)
3 工程项目管理规划
程序流向控制指令(FNC00FNC09)
CJ
(条件跳转)
CALL (子程序调用)
SRET (子程序返回)
IRET (中断返回)
EI、DI (中断允许与中断禁止、开中断与关中断)
FEND (主程序结束)
WDT (监控定时器刷新)
FOR、Next(循环开始和循环结束)
3 工程项目管理规划
功能指令
FX2N系列PLC的功能指令概述
工程项目 管理
主编:危道军 刘志强
PLC功能指令 PLC的功能指令实际上就是系统定义的许多
功能不同的子程序,用户在使用这些功能 指令时,相当于调用了对应的系统子程序 。
3 工程项目管理规划
FX2N系列PLC功能指令分类
✓程序流向控制 ✓数据传送与比较 ✓算术与逻辑运算 ✓数据移位与循环 ✓数据处理 高速处理
进梯形图指令不可变址修改
3 工程项目管理规划
变址寄存器V,Z
X1
MOV K10
V
X2
MOV K20
Z
X3 ADD D5V D15Z D40Z
当各逻辑行分别满足时,K10送到V,K20送到Z,所 以(V)、(Z)内容分别为10,20
当(D5V)+(D15Z)—— D40Z,即 (D15)+(D35)——(D60)
X0
MOV(P)K125 D20
3 工程项目管理规划
位元件和字元件
位元件:只处理ON/OFF状态的元件,如 X、Y、M、S
字元件:处理数据的元件,如T、C、D
如: 数据寄存器D为16位,在处理32位数据时使用 一 对数据寄存器的组合 将数据寄存器D0指定为32位指令的操作数时处理 (D1,D0)32位数据(D1为高16位,D0为低16位)
CJ(Conditional Jump)
指令编号为FNC00,操作数为P0~P63 CJ和CJ(P)指令用于跳过顺序程序中的某一部分,以减
少扫描时间 两个执行条件不同的跳转指令可以使用相同的标号,但一
个标号只允许出现一次 采用M8000作为跳转条件,则称为无条件跳转,因为
PLC运行中M8000一直接通。
3 工程项目管理规划
CJ(Conditional Jump)
X20 CJ P10
…
X21
Y10
X22 标号
P10
Y11
X20 CJ P10
X21 CJ P10
标号 P10
…
…
3 工程项目管理规划
CJ(Conditional Jump)
对于T、C,如果跳转时定时器或计数器正发生动作 ,则 此时立即中断计数或停止计时,直到跳转结束后继续进 行计时或计数。但是,正在动作的定时器T192-T199 (子程序控制定时器)与高速计数器C235-C255,不 管有无跳转仍旧继续工作。
比较指令CMP(Compare) 区间比较ZCP(Zone Compare) 传送指令MOV(Move) 移位传送SMOV(Shift Move) 取反传送指令CML(Complement) 块传送指令BMOV(Block Move) 多点传送指令FMOV(Fill Move) 数据交换指令XCH(Exchange) BCD变换指令(二进制数转换成BCD码并传送) BIN变换指令(BCD码转换为二进制数并传送)
3 工程项目管理规划
方便指令 外部设备通信 浮点运算 定位运算 时钟运算 触点比较
功能指令格式
采用梯形图和指令助记符相结合形式。 当X0条件满足时,MOV指令执行。
X0
MOV K125 D20
K125——源操作数,D20——目标操作数, X0——执行条件
3 工程项目管理规划
功能指令一般规则
每一条功能指令有一个功能号和一个助记符,功能号按 FNC00~FNC299编排
3 工程项目管理规划
比较指令CMP
FNC10,将源操作数[S1]和源操作数[S2]进行比较, 结果送到目标操作数[D]中,比较结果有三种,大于 、等于、小于
目标操作数[D]由3个软元件组成,梯形图中软元件标出 的是首地址,另外两个软元件紧跟其后
3 工程项目管理规划
比较指令CMP
X0 CMP K100 C20 M0 M0 (C20)<K100 M0=ON M1 (C20)=K100 M1=ON M2 (C20)>K100 M2=ON
在使用变址寄存器时,表示为[D.] 多个操作数用[D1]、[D2]……
3 工程项目管理规划
功能指令与操作数
X1
[S] [D]
n
MEAN D0 D40 K3
m,n表示其他操作数,常用于表示常数或表示[S]、 [D]的补充说明。有多个时用m1、m2或n1、n2
3 工程项目管理规划
功能指令的执行方式
执行方式:连续执行、脉冲执行 在指令助记符号后加符号(P)表示脉冲执行方式
3 工程项目管理规划
位元件组合及数据处理方式
当一个16位数据传送到K1M0、K2M0、K3M0时只传 送相应的低位数据,较高位不传送,32位数据的传送相 同。
在做16位数据操作时,参与操作的位元件由K1~K4指定 ,若仅有K1~K3指定,不足部分的高位均作0处理, 32位数据操作时相同。
被组合的位元件首元件习惯上用以0结尾元件,如K2X0, K4Y10
3 工程项目管理规划
循环指令
FOR, FNC08,指令用来表示循环区的起点,它的源操 作数用来表示循环次数N,可以取任意的数据格式。循 环次数N=1~32767,如N在-32767~0之间,当 作N=1处理,循环可嵌套5层
NEXT是循环区终点指令,功能指令编号为FNC09,占 用一个程序步,无操作数
3 工程项目管理规划
程序结束指令(FEND)
主程序
如 果
X10
CJ P20
主程序
X10=OFF
P20
3
END
如果 X10= ON
程序结束指令(FEND)
主程序
如 果
X11
CALL P21
如 果
主程序
X11=ON X11=OFF
P21 I100
3 工程项目管理规划
3 工程项目管理规划
数据长度与指令执行方式
功能指令可以处理16位数据,也可以处理32位数据; 指令助记符前加(D)符号时,表示该指令处理32位数据 处理32位数据时,用元件号相邻的两个元件组成元件对。
元件对的首地址用奇数、偶数均可,建议元件首地址统 一用偶数
3 工程项目管理规划
数据长度与指令执行方式
3 工程项目管理规划
移位传送SMOV (Shift Move)
FNC13源数据(二进制数)被转换成4位BCD码,然后 将它移位传送
X10
[S] m1 m2 [D] n
SMOV D1 K4 K2 D2 K3
X10满足条件时,源操作数[S]内的16位二进制数自动转换 成4位BCD码,然后将自源操作数(4位BCD码)右起第m1 位开始,向右数共m2位的数,传送到目的操作数(4位BCD 码)的右起第n位开始,向右数共m2位上去,最后自动将 目的操作数[D]中的四位BCD码转换成16位二进制数
子程序可以嵌套调用,最多嵌套5级 子程序返回指令SRET(Sub Routine Return)的功
能指令编号为FNC02,无操作数
3 工程项目管理规划
子程序调用与子程序返回指令 CALL
X0 100 104
标号 P10
…
…
X1 CALL P10
FEND SRET
标号 P11
子 程 序
标号 P12
3 工程项目管理规划
…
…
…
CALL(P) P11 FEND
CALL P12 (1)
SRET
(2) SRET
与中断有关的指令