三菱PLC功能指令详解
本文详细介绍三菱plc功能指令。包含FX0N、FX1S、FX1N、FX2N、FX3NC 等三菱PLC的功能指令。
类 | FNC NO. | 指令助记符 | 功能说明 | 对应不同型号的PLC | ||||
FX0S | FX0N | FX1S | FX1N | FX2N FX2NC | ||||
程 序 流 程 | 00 | CJ | 条件跳转 | √ | √ | √ | √ | √ |
01 | CALL | 子程序调用 | × | × | √ | √ | √ | |
02 | SRET | 子程序返回 | × | × | √ | √ | √ | |
03 | IRET | 中断返回 | √ | √ | √ | √ | √ | |
04 | EI | 开中断 | √ | √ | √ | √ | √ | |
05 | DI | 关中断 | √ | √ | √ | √ | √ | |
06 | FEND | 主程序结束 | √ | √ | √ | √ | √ | |
07 | WDT | 监视定时器刷新 | √ | √ | √ | √ | √ | |
08 | FOR | 循环的起点与次数 | √ | √ | √ | √ | √ | |
09 | NEXT | 循环的终点 | √ | √ | √ | √ | √ | |
传 送 与 比 较 | 10 | CMP | 比较 | √ | √ | √ | √ | √ |
11 | ZCP | 区间比较 | √ | √ | √ | √ | √ | |
12 | MOV | 传送 | √ | √ | √ | √ | √ | |
13 | SMOV | 位传送 | × | × | × | × | √ | |
14 | CML | 取反传送 | × | × | × | × | √ | |
15 | BMOV | 成批传送 | × | √ | √ | √ | √ | |
16 | FMOV | 多点传送 | × | × | × | × | √ | |
17 | XCH | 交换 | × | × | × | × | √ | |
18 | BCD | 二进制转换成BCD码 | √ | √ | √ | √ | √ | |
19 | BIN | BCD码转换成二进制 | √ | √ | √ | √ | √ | |
算 术 与 逻 辑 运 算 | 20 | ADD | 二进制加法运算 | √ | √ | √ | √ | √ |
21 | SUB | 二进制减法运算 | √ | √ | √ | √ | √ | |
22 | MUL | 二进制乘法运算 | √ | √ | √ | √ | √ | |
23 | DIV | 二进制除法运算 | √ | √ | √ | √ | √ | |
24 | INC | 二进制加1运算 | √ | √ | √ | √ | √ | |
25 | DEC | 二进制减1运算 | √ | √ | √ | √ | √ | |
26 | WAND | 字逻辑与 | √ | √ | √ | √ | √ | |
27 | WOR | 字逻辑或 | √ | √ | √ | √ | √ | |
28 | WXOR | 字逻辑异或 | √ | √ | √ | √ | √ | |
29 | NEG | 求二进制补码 | × | × | × | × | √ | |
循 环 与 移 位 | 30 | ROR | 循环右移 | × | × | × | × | √ |
31 | ROL | 循环左移 | × | × | × | × | √ | |
32 | RCR | 带进位右移 | × | × | × | × | √ | |
33 | RCL | 带进位左移 | × | × | × | × | √ | |
34 | SFTR | 位右移 | √ | √ | √ | √ | √ | |
35 | SFTL | 位左移 | √ | √ | √ | √ | √ | |
36 | WSFR | 字右移 | × | × | × | × | √ | |
37 | WSFL | 字左移 | × | × | × | × | √ | |
38 | SFWR | FIFO(先入先出)写入 | × | × | √ | √ | √ | |
39 | SFRD | FIFO(先入先出)读出 | × | × | √ | √ | √ | |
数 据 处 理 | 40 | ZRST | 区间复位 | √ | √ | √ | √ | √ |
41 | DECO | 解码 | √ | √ | √ | √ | √ | |
42 | ENCO | 编码 | √ | √ | √ | √ | √ | |
43 | SUM | 统计ON位数 | × | × | × | × | √ | |
44 | BON | 查询位某状态 | × | × | × | × | √ | |
45 | MEAN | 求平均值 | × | × | × | × | √ | |
46 | ANS | 报警器置位 | × | × | × | × | √ | |
47 | ANR | 报警器复位 | × | × | × | × | √ | |
48 | SQR | 求平方根 | × | × | × | × | √ | |
49 | FLT | 整数与浮点数转换 | × | × | × | × | √ | |
高 速 处 理 | 50 | REF | 输入输出刷新 | √ | √ | √ | √ | √ |
51 | REFF | 输入滤波时间调整 | × | × | × | × | √ | |
52 | MTR | 矩阵输入 | × | × | √ | √ | √ | |
53 | HSCS | 比较置位(高速计数用) | × | √ | √ | √ | √ | |
54 | HSCR | 比较复位(高速计数用) | × | √ | √ | √ | √ | |
55 | HSZ | 区间比较(高速计数用) | × | × | × | × | √ | |
56 | SPD | 脉冲密度 | × | × | √ | √ | √ | |
57 | PLSY | 指定频率脉冲输出 | √ | √ | √ | √ | √ | |
58 | PWM | 脉宽调制输出 | √ | √ | √ | √ | √ | |
59 | PLSR | 带加减速脉冲输出 | × | × | √ | √ | √ | |
方 便 指 令 | 60 | IST | 状态初始化 | √ | √ | 82 | ASCI | 16进制数转换成ASCI码 |
83 | HEX | ASCI码转换成16进制数 | × | √ | √ | √ | √ | |
84 | CCD | 校验 | × | √ | √ | √ | √ | |
85 | VRRD | 电位器变量输入 | × | × | √ | √ | √ | |
86 | VRSC | 电位器变量区间 | × | × | √ | √ | √ | |
87 | - | - | ||||||
88 | PID | PID运算 | × | × | √ | √ | √ | |
89 | - | - | ||||||
浮 点 数 运 算 | 110 | ECMP | 二进制浮点数比较 | × | × | × | × | |
111 | EZCP | 二进制浮点数区间比较 | × | × | × | × | ||
118 | EBCD | 二进制浮点数→十进制浮点数 | × | × | × | × | √ | |
119 | EBIN | 十进制浮点数→二进制浮点数 | × | × | × | × | √ | |
120 | EADD | 二进制浮点数加法 | × | × | × | × | √ | |
121 | EUSB | 二进制浮点数减法 | × | × | × | × | √ | |
122 | EMUL | 二进制浮点数乘法 | × | × | × | × | √ | |
123 | EDIV | 二进制浮点数除法 | × | × | × | × | √ | |
127 | ESQR | 二进制浮点数开平方 | × | × | × | × | √ | |
129 | INT | 二进制浮点数→二进制整数 | × | × | × | × | √ | |
130 | SIN | 二进制浮点数Sin运算 | × | × | × | × | √ | |
131 | COS | 二进制浮点数Cos运算 | × | × | × | × | √ | |
132 | TAN | 二进制浮点数Tan运算 | × | × | × | × | √ | |
147 | SWAP | 高低字节交换 | × | × | × | × | √ | |
定 位 | 155 | ABS | ABS当前值读取 | × | × | √ | √ | × |
156 | ZRN | 原点回归 | × | × | √ | √ | × | |
157 | PLSY | 可变速的脉冲输出 | × | × | √ | √ | × | |
158 | DRVI | 相对位置控制 | × | × | √ | √ | × | |
159 | DRVA | 绝对位置控制 | × | × | √ | √ | × | |
时 钟 运 算 | 160 | TCMP | 时钟数据比较 | × | × | √ | √ | √ |
161 | TZCP | 时钟数据区间比较 | × | × | √ | √ | √ | |
162 | TADD | 时钟数据加法 | × | × | √ | √ | √ | |
163 | TSUB | 时钟数据减法 | × | × | √ | √ | √ | |
166 | TRD | 时钟数据读出 | × | × | √ | √ | √ | |
167 | TWR | 时钟数据写入 | × | × | √ | √ | √ | |
169 | HOUR | 计时仪 | × | × | √ | √ | ||
外 围 设 备 | 170 | GRY | 二进制数→格雷码 | × | × | × | × | √ |
171 | GBIN | 格雷码→二进制数 | × | × | × | × | √ | |
176 | RD3A | 模拟量模块(FX0N-3A)读出 | × | √ | × | √ | × | |
177 | WR3A | 模拟量模块(FX0N-3A)写入 | × | √ | × | √ | × | |
触 点 比 较 | 224 | LD= | (S1)= (S2)时起始触点接通 | × | × | √ | √ | √ |
225 | LD> | (S1)> (S2)时起始触点接通 | × | × | √ | √ | √ | |
226 | LD< | (S1)< (S2)时起始触点接通 | × | × | √ | √ | √ | |
228 | LD<> | (S1)<> (S2)时起始触点接通 | × | × | √ | √ | √ | |
229 | LD≦ | (S1)≦ (S2)时起始触点接通 | × | × | √ | √ | √ | |
230 | LD≧ | (S1)≧ (S2)时起始触点接通 | × | × | √ | √ | √ | |
232 | AND= | (S1)= (S2)时串联触点接通 | × | × | √ | √ | √ | |
233 | AND> | (S1)> (S2)时串联触点接通 | × | × | √ | √ | √ | |
234 | AND< | (S1)< (S2)时串联触点接通 | × | × | √ | √ | √ | |
236 | AND<> | (S1)<> (S2)时串联触点接通 | × | × | √ | √ | √ | |
237 | AND≦ | (S1)≦ (S2)时串联触点接通 | × | × | √ | √ | √ | |
238 | AND≧ | (S1)≧ (S2)时串联触点接通 | × | × | √ | √ | √ | |
240 | OR= | (S1)= (S2)时并联触点接通 | × | × | √ | √ | √ | |
241 | OR> | (S1)> (S2)时并联触点接通 | × | × | √ | √ | √ | |
242 | OR< | (S1)< (S2)时并联触点接通 | × | × | √ | √ | √ | |
244 | OR<> | (S1)<> (S2)时并联触点接通 | × | × | √ | √ | √ | |
245 | OR≦ | (S1)≦ (S2)时并联触点接通 | × | × | √ | √ | √ | |
246 | OR≧ | (S1)≧ (S2)时并联触点接通 | × | × | √ | √ | √ |
再介绍FX系列三菱PLC功能指令的数据格式。
1.位元件与字元件
象X、Y、M、S等只处理ON/OFF信息的软元件称为位元件;而象T、C、D等处理数值的软元件则称为字元件,一个字元件由16位二进制数组成。
位元件可以通过组合使用,4个位元件为一个单元,通用表示方法是由Kn加起始的软元件号组成,n为单元数。例如K2 M0表示M0~M7组成两个位元件组(K2表示2个单元),它是一个8位数据,M0为最低位。如果将16位数据传送到不足16位的位元件组合(n<4)时,只传送低位数据,多出的高位数据不传送,32位数据传送也一样。在作16位数操作时,参与操作的位元件不足16位时,高位的不足部分均作0处理,这意味着只能处理正数(符号位为0),在作32位数处理时也一样。被组合的元件首位元件可以任意选择,但为避免混乱,建议采用编号以0结尾的元件,如S10,X0,X20等。
2.数据格式
在FX系列PLC内部,数据是以二进制(BIN)补码的形式存储,所有的四则运算都使用二进制数。二进制补码的最高位为符号位,正数的符号位为0,负数的符号位为1。FX系列PLC可实现二进制码与BCD码的相互转换。
为更精确地进行运算,可采用浮点数运算。在FX系列PLC中提供了二进制浮点运算和十进制浮点运算,设有将二进制浮点数与十进制浮点数相互转换的指令。二进制浮点数采用编号连续的一对数据寄存器表示,例D11和D10组成的32位寄存器中,D10的16位加上D11的低7位共23位为浮点数的尾数,而D11中除最高位的前8位是阶位,最高位是尾数的符号位(0为正,1是负)。10进制的浮点数也用一对数据寄存器表示,编号小数据寄存器为尾数段,编号大的为指数段,例如使用数据寄存器(D1,D0)时,表示数为
10进制浮点数=〔尾数D0〕×10〔指数D1〕
其中:D0,D1的最高位是正负符号位。