![微课学三菱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=1739233906-l3VvzmFqDE2dCKAlUY5ags7TsPkqi8TS-0-2355babffd99a06a6bd9382f0c745bf5)
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/84_02.jpg?sign=1739233906-6UGLKNJczpxJm7g1vyq9Ciu9pobRJwVR-0-024cc58b9a45d8e1c050fa91eb99bc92)
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/84_03.jpg?sign=1739233906-CQ1aycPE2gV4QulLzgrSEyq7eKOwiVQ2-0-d653cd81a6a05d3620a0b270ffc2b5dc)
【例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=1739233906-QM3THXWGzyuJndjoNQyX41ocsBCej84Q-0-ba423c27c18925594066e2689c741cef)
步骤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=1739233906-RelnRH7CeENtEKaOUwIsFI9qy29oqKVk-0-e47d8bb071bfd3939c66c43cd333dca0)
图2-46 CMP指令的程序举例
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/85_02.jpg?sign=1739233906-gQ1uuRx6bFBENpB8gclgVvL0WAGdwURU-0-dd0f5edfd124f7ec1107c0c964d9fd0b)
图2-47 CMP指令控制交通灯仿真
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/85_03.jpg?sign=1739233906-hEeJ6InCKIrevmLlBfPox043zP71jRrY-0-14edd338fc16ac351234105ef8cb63c8)
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/85_04.jpg?sign=1739233906-ah3kDe3GEzkbUnA9vtoG8tYYOcpRWlup-0-aa31d9697c6617a16df4184150099b8c)
【例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=1739233906-4Oe6Ivw4UUaA1BEdMWXeWThEYkE5mmLq-0-59f7a6a4ac642090a4cd042600731a0a)
步骤2:编制程序如图2-48所示。定时器的值是整数,可以通过采用符号比较指令来实现交通灯的时序。
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/86_02.jpg?sign=1739233906-Z9aATRKGD66O8kFY6kUhpoq6jVAu4UnQ-0-4909ac6ea638a9775cd9047ef184e2d9)
图2-48 交通灯控制梯形图
触摸屏画面与变量等均与例2-3相同,此处不再赘述。