PMC比较指令如下:
1.EQB(1字节二进制比较(=):SUB 200)
2.EQW(2字节二进制比较(=):SUB 201)
3.EQD(4字节二进制比较(=):SUB 202)
这组指令用于判断数据1是否等于数据2,根据操作数字节不同(1、2、4字节)使用不同的指令。
指令格式:
控制条件:
(a) 输入信号**(ACT)**
ACT=0:指令不执行,这时W1=0。
ACT=1:指令执行,结果输出到W1。
参数:
(a) 数据**1**
(b) 数据**2**
指定进行比较的数据,在此可以以常数或者存储地址的形式指定,可以指定操作数的范围如下:
EQB:-128至127
EQW:-32768至32767
EQD:-2147483648至2147483647
输出**(W1)**:
W1=1:当ACT=1且数据1=数据2。
W1=0:当不执行比较指令时(ACT=0);
当执行数据比较指令(ACT=1)且数据1≠数据2时。
指令示例:**(以SUB200为例)**
该程序指令中R1000为数据1的存储地址,假设数据1为1000;R1010为数据2的存储地址,假设数据2为1001。当R100.0为1时指令执行,输出R0101.0=0(数据1≠数据2)。
输出结果为:
假设R1000和R1010相等,例如均为1000,则当R100.0为1时指令执行,输出R0101.0=1(数据1=数据2)。
输出结果为
4.NEB(1字节二进制比较(≠):SUB 203)
5.NEW(2字节二进制比较(≠):SUB 204)
6.NED(4字节二进制比较(≠):SUB 205)
这组指令用于比较数据1和数据2是否相等,根据操作数字节不同分为如下三种:
指令格式:
控制条件:
(a) 输入信号**(ACT)**
ACT=0:指令不执行,输出W1=0。
ACT=1:指令执行,结果输出到W1中。
参数:
(a) 数据**1**
(b) 数据**2**
数据1和数据2均可以以常数或者是存储地址形式指定,操作数的有效范围如下:
NEB:-128至127
NEW:-32768至32767
NED:-2147483648至2147483647
输出**(W1)**:
W1=1:当ACT=1且数据1≠数据2。
W1=0:当不执行比较指令时(也就是ACT=0时);
当执行数据比较指令(ACT=1)且数据1=数据2时。
指令示例:**(以SUB203为例)**
该程序指令中R1000为数据1的存储地址,假设数据1为1000;R1010为数据2的存储地址,假设数据2为1001。当R100.0为1时指令执行,输出R0101.0=1(数据1≠数据2)。
输出结果为
7.GTB(1字节二进制比较(>):SUB 206)
8.GTW(2字节二进制比较(>):SUB 207)
9.GTD(4字节二进制比较(>):SUB 208)
这组指令用于比较数据1是否大于数据2,根据操作数的字节不同分为3种指令:
指令格式:
控制条件:
(a) 输入信号**(ACT)**
ACT=0:指令不执行,输出W1=0。
ACT=1:指令执行,结果输出到W1中。
参数:
(a) 数据**1**
(b) 数据**2**
数据1和数据2均可以以常数或者是存储地址形式指定,数据的有效范围如下:
GTB:-128至127
GTW:-32768至32767
GTD:-2147483648至2147483647
输出**(W1)**:
W1=1:当ACT=1且数据1>数据2。
W1=0:当不执行比较指令时(也就是ACT=0时);
当执行数据比较指令(ACT=1)且数据1≤数据2时。
指令示例:**(以SUB206为例)**
该程序指令中R1000为数据1的存储地址,假设数据1为1000;R1010为数据2的存储地址,假设数据2为1001。当R100.0为1时指令执行,输出R0101.0=0(数据1<数据2)。
输出结果为:
10.LTB(1字节二进制比较(<):SUB 209)
11.LTW(2字节二进制比较(<):SUB 210)
12.LTD(4字节二进制比较(<):SUB 211)
这组指令用于比较数据1是否小于数据2,根据操作数的字节不同分为3种指令:
指令格式:
控制条件:
(a) 输入信号**(ACT)**
ACT=0:指令不执行,输出W1=0。
ACT=1:执行指令执行,结果输出到W1中。
参数:
(a) 数据**1**
(b) 数据**2**
数据1和数据2均可以以常数或者是存储地址形式指定,数据的有效范围如下:
NEB:-128至127
NEW:-32768至32767
NED:-2147483648至2147483647
输出**(W1)**:
W1=1:当ACT=1且数据1<数据2。
W1=0:当不执行比较指令时(也就是ACT=0时);
当执行数据比较指令(ACT=1)且数据1≥数据2时。
指令示例:**(以SUB209为例)**
该程序指令中R1000为数据1的存储地址,假设数据1为1000;R1010为数据2的存储地址,假设数据2为1001。当R100.0为1时指令执行,输出R0101.0=1(数据1<数据2)。
输出结果为
(下一期继续)