1.比较指令概述
说明:根据用户选择的比较类型比较IN1和IN2:
== IN1等于IN2
<> IN1不等于IN2
> IN1大于IN2
< IN1小于IN2
>= IN1大于或等于IN2
<= IN1小于或等于IN2
如果比较结果为“真”,则函数的RLO为“1”。如果以串联方式使用比较单元,则使用“与”运算将其链接至梯级程序段的RLO;如果以并联方式使用该框,则使用“或”运算将其链接至梯级程序段的RLO。
以下是可供使用的比较指令:
·CMP ?I 整数比较
·CMP ?D 比较双精度整数
·CMP ?R 比较实数
2.CMP ?I 比较整数
符号:
参数 | 数据类型 | 内存区域 | 说明 |
输入框 | BOOL | I、Q、M、L、D | 上一逻辑运算结果 |
输入框 | BOOL | I、Q、M、L、D | 比较的结果,仅在输入RLO=1时才进一步处理 |
IN1 | INT | I、Q、M、L、D或常数 | 要比较的第一个值 |
IN2 | INT | I、Q、M、L、D或常数 | 要比较的第二个值 |
说明:CMP ?I(整数比较)的使用方法与标准触点类似。它可位于任何可放置标准触点的位置。可根据用户选择的比较类型比较IN1和IN2。如果比较结果为“真”,则函数的RLO为“1”。如果以串联方式使用该框,则使用“与”运算将其链接至整个梯级程序段的RLO;如果以并联方式使用该框,则使用“或”运算将其链接至整个梯级程序段的RLO。
状态字:
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | /FC | |
写: | X | X | X | 0 | - | 0 | X | X | 1 |
实例:
如果满足下列条件,则输出Q4.0置位:
·输入I0.0和I0.1的信号状态为“1”
·并且MW0>=MW2
3.CMP ?D 比较双精度整数
符号:
参数 | 数据类型 | 内存区域 | 说明 |
输入框 | BOOL | I、Q、M、L、D | 上一逻辑运算结果 |
输出框 | BOOL | I、Q、M、L、D | 比较的结果,仅在输入RLO=1时才进一步处理 |
IN1 | DINT | I、Q、M、L、D或常数 | 要比较的第一个值 |
IN2 | DINT | I、Q、M、L、D或常数 | 要比较的第二个值 |
说明:CMP ?D(比较双精度整数)的使用方法与标准触点类似。它可位于任何可放置标准触点的位置。可根据用户选择的比较类型比较IN1和IN2。
如果比较结果为“真”,则函数的RLO为“1”。如果以串联方式使用比较单元,则使用“与”运算将其链接至梯级程序段的RLO;如果以并联方式使用该框,则使用“或”运算将其链接至梯级程序段的RLO。
状态字:
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | /FC | |
写: | X | X | X | 0 | - | 0 | X | X | 1 |
实例:
如果满足下列条件,则输出Q4.0置位:
·输入I0.0和I0.1的信号状态为“1”
·并且MD0>=MD4
·同时输入I0.2的信号状态为“1”
4.CMP ?R 比较实数
符号:
参数 | 数据类型 | 内存区域 | 说明 |
输入框 | BOOL | I、Q、M、L、D | 上一逻辑运算结果 |
输出框 | BOOL | I、Q、M、L、D | 比较的结果,仅在输入RLO=1时才进一步处理 |
IN1 | REAL | I、Q、M、L、D或常数 | 要比较的第一个值 |
IN2 | REAL | I、Q、M、L、D或常数 | 要比较的第二个值 |
说明:CMP ?R(整数比较)的使用方法类似标准触点。它可位于任何可放置标准触点的位置。可根据用户选择的比较类型比较IN1和IN2。
如果比较结果为“真”,则函数的RLO为“1”。如果以串联方式使用该框,则使用“与”运算将其链接至整个梯级程序段的RLO;如果以并联方式使用该框,则使用“或”运算将其链接至整个梯级程序段的RLO。
状态字:
BR | CC 1 | CC 0 | OV | OS | OR | STA | RLO | /FC | |
写: | X | X | X | X | X | 0 | X | X | 1 |
实例:
如果满足下列条件,则输出Q4.0置位:
·输入I0.0和I0.1的信号状态为“1”
·并且MD0>=MD4
·同时输入I0.2的信号状态为“1”