在三菱PLC的结构化梯形图(STL)或功能块图(FBD)中,比较指令用于对两个数值或变量进行比较,并根据比较结果设置输出状态。以下是三菱PLC中比较指令的用法说明:
一、常用比较指令类型
等于(=)
格式:
= 源1 源2
功能:比较两个数据是否相等,若相等则输出为ON。
示例:
= D0 D1
表示比较D0和D1的值是否相等。不等于(<>)
格式:
<> 源1 源2
功能:比较两个数据是否不相等,若不相等则输出为ON。
示例:
<> D0 D1
表示比较D0和D1的值是否不相等。大于(>)
格式:
> 源1 源2
功能:比较源1是否大于源2,若成立则输出为ON。
示例:
> D0 D1
表示比较D0是否大于D1。小于(<)
格式:
< 源1 源2
功能:比较源1是否小于源2,若成立则输出为ON。
示例:
< D0 D1
表示比较D0是否小于D1。大于等于(>=)
格式:
>= 源1 源2
功能:比较源1是否大于等于源2,若成立则输出为ON。
示例:
>= D0 D1
表示比较D0是否大于等于D1。小于等于(<=)
格式:
<= 源1 源2
功能:比较源1是否小于等于源2,若成立则输出为ON。
示例:
<= D0 D1
表示比较D0是否小于等于D1。
二、指令使用说明
源操作数(Source)
可以是寄存器(如D0、D1)、常数(如K100)或间接寻址。
示例:
= D0 K100
表示比较D0的值是否等于100。输出状态
比较结果会影响左母线(逻辑条件)的状态。若条件成立,左母线接通,后续指令可执行;否则断开。
示例:
= D0 D1
后接输出线圈Y0,若D0=D1,则Y0为ON。组合使用
可与其他逻辑指令(如AND、OR、NOT)组合,实现复杂条件判断。
示例:
= D0 D1 AND > D2 D3
表示先比较D0和D1是否相等,再比较D2是否大于D3,若均成立则输出为ON。
三、注意事项
数据类型匹配
确保源操作数的数据类型一致(如均为16位或32位)。
示例:若使用32位数据,需在指令后加后缀
D
,如>=D D0 D1
。指令格式
不同型号的三菱PLC可能支持不同的比较指令格式,需参考具体型号的编程手册。
示例:FX系列PLC支持
CMP
指令,而Q系列PLC可能使用CMPD
指令。编程环境
在GX Developer或GX Works2等编程软件中,可通过功能块图(FBD)直观地拖放比较指令。
示例:在FBD中,选择比较指令图标,设置源操作数和输出线圈。
四、示例程序
以下是一个简单的梯形图示例:
plaintext复制代码
|----[= D0 D1]----(Y0)----|
功能:比较D0和D1的值是否相等,若相等则输出线圈Y0为ON。
五、高级用法
浮点数比较
使用
ECMP
或EZCP
指令进行浮点数比较。示例:
ECMP D0 D1 M0
表示比较浮点数D0和D1,结果存储在M0中。区间比较
使用
ZCP
指令判断一个值是否在指定区间内。示例:
ZCP K10 D0 K20 M0
表示判断D0的值是否在10到20之间。块数据比较
使用
BKCMP
指令比较多个数据块。示例:
BKCMP D0 D10 M0 K5
表示比较D0~D4与D10~D14共5个数据,结果存储在M0~M4中。
六、调试与优化
监控比较结果
使用编程软件的监控功能,实时查看比较结果和输出状态。
示例:在GX Works2中,通过“在线监控”查看D0、D1的值及Y0的状态。
优化程序逻辑
避免冗余比较,合理使用中间继电器(M)存储中间结果。
示例:将多个比较结果存储在M元件中,再通过逻辑运算控制最终输出。
七、参考资料
三菱PLC编程手册(具体型号)
GX Developer/GX Works2使用指南
三菱电机官方技术支持文档