![微课学三菱FX3U/Q系列PLC编程](https://wfqqreader-1252317822.image.myqcloud.com/cover/775/43806775/b_43806775.jpg)
2.2.4 比较指令
1.比较指令CMP和区间比较指令ZCP
比较指令CMP和区间比较指令ZCP的格式为[CMP S1.S2.S. D.]和[ZCP S1.S2.S. D.],其含义见表2-5。
以[CMP K45 D0 M0]为例,当K45>D0时,M0接通;当K45=D0时,M1接通;当K45<D0时,M2接通。这里面的M1、M2虽然没有在指令中写出来,但确实是指令执行的结果,分别是M0后面的两个位。
表2-5 CMP和ZCP指令含义
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/84_01.jpg?sign=1739269229-fA0enY48EDpajHyZ2T2pQtQpOoMftD6x-0-e178a7e95756e19abeba325f384faa81)
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/84_02.jpg?sign=1739269229-sgjUnEyHJBUlULpI1OB6HjT6zAUo8UkO-0-39261d13bbcef8f6e8e84c4f45475a28)
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/84_03.jpg?sign=1739269229-y78XlpdvLgbVwO2xBHEokXxQdQKp049v-0-313439edf2110d949680ce9fac110bd8)
【例2-3】CMP指令控制交通灯
任务要求:与例2-1类似,某交通灯控制要绿灯亮25s、黄灯亮3s、红灯亮20s,请用CMP指令进行编程。
实施步骤:
步骤1:参考例2-1进行交通灯软元件分配(见表2-6)。
表2-6 CMP指令控制交通灯软元件分配
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/84_04.jpg?sign=1739269229-xaaB9PtlAaHHRAxbc1tDv9gITjYVSuuP-0-7dda6a63828e690bef8226c1c0560e6f)
步骤2:梯形图编程,如图2-46所示,其中CMP指令用了2次,分别是定时小于25s的状态、定时小于28s的状态,并将比较后的中间变量M10、M11、M12、M20、M21、M22用于控制交通灯。
步骤3:触摸屏画面组态并仿真。图2-47所示为CMP指令控制交通灯仿真,此时刚好处于T0=283×100ms=28.3s,红灯亮。
2.用符号进行比较
该比较指令与平常的数学运算符号一致,即“>”“>=”“=”“<”“<=”等,其格式如[LD>=D0 K10]表示当D0>=K10时,该指令状态为ON,其余为OFF。需要注意的是,符号前的LD、AND、OR与该符号在梯形图的位置有关。
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/85_01.jpg?sign=1739269229-ZM6YRru5d2q8NUUia9d4xVvHyANykj7z-0-7d4bc5b9162a702f10b0d3682a364755)
图2-46 CMP指令的程序举例
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/85_02.jpg?sign=1739269229-hxSgxlWG17D0RpUMf2e2UpvH023I08js-0-1452a3fbedddf225616baed58a57bca7)
图2-47 CMP指令控制交通灯仿真
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/85_03.jpg?sign=1739269229-ZcN8cXRdNYOfGZuoFGOKQf72jVJHkamk-0-b5d14472a4a186fab840840f3b909cd0)
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/85_04.jpg?sign=1739269229-yKIS2beAHs5cuFWd0cHYbZM5KSjNcTrI-0-738e706fb106e7ad228ece6a947f59c4)
【例2-4】用符号比较来实现交通灯控制
任务要求:某交通灯控制要求,绿灯亮14s后闪3s灭;黄灯闪3s灭;红灯亮12s后闪3s灭;接下来是下一个周期开始,绿灯亮……
实施步骤:
步骤1:I/O分配见表2-7。
表2-7 用符号比较来实现交通灯控制软元件分配
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/86_01.jpg?sign=1739269229-5btGJVfMMHhSOX8pTnjByXDAnfPeYD1B-0-03d88cd78bb41a300f05faca1bf89aba)
步骤2:编制程序如图2-48所示。定时器的值是整数,可以通过采用符号比较指令来实现交通灯的时序。
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/86_02.jpg?sign=1739269229-3G93iucUbJTX5zJ2DQgU303Ybu8mhbkV-0-e22e3bc09a4dd8770caf0704026cbbb5)
图2-48 交通灯控制梯形图
触摸屏画面与变量等均与例2-3相同,此处不再赘述。