功能指令及其应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2 数据长度和指令类型
1.数据长度
功能指令可处理l6位数据和32位数据,例如:
2.指令类型
FX系列PLC的功能指令有连续执行型和脉冲执行 型两种形式。
连续执行型的如:
上图程序是连续执行方式的例子,当X1为ON时, 上述指令在每个扫描周期都被重复执行一次。
脉冲执行型的如:
这里仅介绍常用的CJ、CALL、SRET、 FEND指令。
1.跳转指令CJ
FNC00 CJ (P)(16)
字元件 位元件
适合软元件 无 无
占用步数 3步
2.子程序调用指令CALL和子程序返回指令 SRET
FNC01 CALL (P)(16) FNC02 SRET
字元件 位元件
适合软元件
32位 V、 :13步 Z
位元 件
ADD指令的使用说明如下:
2.BIN减法运算指令SUB
FNC21 SUB
(P)( 16/32)
字元件
K、H
适合软元件
占用步 数
S1.S2.
16位:7 步
KnX KnY KnM KnS T C D V、
1 功能指令的基本规则
1.1 功能指令的表示形式
其表现的形式如下:
[S﹒]叫做源操作数,其内容不随指令执行而变 化,在可利用变址修改软元件的情况下,用加“﹒”
符号的[S﹒]表示,源的数量多时,用[S1﹒][S2﹒]等 表示。
[D﹒]叫做目标操作数,其内容随指令执行而改 变,如果需要变址操作时,用加“﹒”的符号[D﹒]表 示,目标的数量多时,用[D1﹒][D2﹒]等表示。
[n﹒]叫做其他操作数,既不作源操作数,又不 作目标操作数,常用来表示常数或者作为源操作数
或目标操作数的补充说明。可用十进制的K、十六进 制的H和数据寄存器D来表示。在需要表示多个这类 操作数时,可用[n1]、[n2]等表示,若具有变址功能, 则用加“﹒”的符号[n﹒]表示。此外其他操作数还可 用[m]来表示。
3.传送指令MOV
FNC10 CMP
(P)( 16/32)
字元件 位元件
适合软元件
占用步 数
K、 Kn Kn Kn Kn T C D V、
16位:
HXYMS
Z
7步
32位:
S1﹒ S2﹒
13步
X
Y
M
Sห้องสมุดไป่ตู้
D﹒
FNC11 ZCP
(P)( 16/32)
字元件
位元件
适合软元件
K、H Kn Kn Kn Kn T C D V、Z XYM S
1.3 操作数
操作数按功能分有源操作数、目标操作数和其他 操作数;按组成形式分有位元件、字元件和常数。
1.位元件和字元件 2.位元件的组合 3.变址寄存器
2 功能指令介绍
2.1 程序流程指令
程序流程指令是与程序流程控制相关的指令,程 序流程指令如表7-2所示。
表7-2
10 CMP
比较指令
FNC NO. 指 令 记 指 令 名 称 号
15 BMOV
成批传送
11 ZCP
区间比较
16 FMOV
多点传送
12 MOV
传送
17 XCH
数据交换
13 SMOV
位移动
18 BCD
BCD传送
14 CML
取反传送
19 BIN
BIN传送
2.区间比较指令ZCP
ZCP指令是将一个数据与两个源数据进行比较的 指令。源数据[S1.]的值不能大于[S2.]的值,若[S1.]大 于[S2.]的值,则执行ZCP指令时,将[S2.]看作等于 [S1.]。
无 无
占用步数
CALL:3步 SRET:1步
3.主程序结束FEND
FNC06 FEND
字元件 位元件
适合软元件
无 无
占用步数 1步
2.2 传送与比较指令
传送与比较指令如表7-3所示。 这里仅介绍CMP、ZCP、MOV 3条常用指令。
1.比较指令CMP
表7-3
传送比较指令
FNC NO. 指 令 记 指 令 名 称 号
S1﹒ S2﹒S﹒
X
Y
M
S
D﹒
占用步 数
16位: 9步
32位: 17步
适合软元件
FNC12 MOV
(P) (16/32)
字元 件
K、H
S﹒
KnX KnY KnM KnS T C D V、Z D﹒
占用步 数
16位:5 步
32位:9 步
位元 件
2.3 算术与逻辑运算指令
算术与逻辑运算指令包括算术运算和逻辑运算, 共有10条指令,如表7-4所示。
功能指令及其应用
表7-1
功能指令分类表
FNC00~FNC09[程序流程] FNC10~FNC19[传送与比较] FNC20~FNC29[算术与逻辑运算] FNC30~FNC39[循环与移位] FNC40~FNC49[数据处理] FNC50~FNC59[高速处理] FNC60~FNC69[方便指令] FNC70~FNC79[外部设备I/O] FNC80~FNC89[外部设备SER]
FNC110~FNC119[浮点运算1] FNC120~FNC129[浮点运算2] FNC130~FNC139[浮点运算3] FNC140~FNC149[数据处理2] FNC150~FNC159[定位] FNC160~FNC169[时钟运算] FNC170~FNC179[格雷码变换] FNC220~FNC249[触点比较指令]
29 NEG
求补码
这里介绍ADD、SUB、MUL、DIV、INC、DEC、 WAND、WOR、WXOR 9条指令。
1.BIN加法运算指令ADD
FNC20 ADD (P)( 16/32)
字元 件
适合软元件
S1.S2. K、H KnX KnY KnM KnS T C D
D.
占用 步数
16位: 7步
表7-4 FNC NO.
算术与逻辑运算指令
指 令 记 指 令 名 FNC NO. 指 令 记 指 令 名
号
称
号
称
20 ADD
BIN加法
25 DEC
BIN减1
21 SUB
BIN减法
26 WAND
逻辑与
22 MUL
BIN乘法
27 WOR
逻辑或
23 DIV
BIN除法
28 WXOR
逻辑异或
24 INC
BIN加1
程序流程指令
FNC NO. 指 令 记号
指令名称
00 CJ
条件跳转
FNC NO. 指 令 记号
指令名称
05 DI
禁止中断
01 CALL 子程序调用
06 FEND 主程序结束
02 SRET 子程序返回
07 WDT
警戒时钟
03 RET
中断返回
08 FOR
循环范围开始
04 EI
允许中断
09 NEXT 循环范围结束