![微课学三菱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=1739316325-727C6teeN7PavIl82d0QTX9G4mKj1ZG3-0-95638af04a414762efb45e84d2dda355)
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/84_02.jpg?sign=1739316325-8fFr4c7ry9FXoUWgszrOa9tpIQDLQfs6-0-039733329f80d58748ae4d80ab9cc8f6)
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/84_03.jpg?sign=1739316325-7lh2QLBza34NdSw4Fcky4f8ICllRo9D1-0-c80d17b2798f858aa202d4184fc88c1b)
【例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=1739316325-7k7XiQRKNyqQ8RarEm2IrLOzPVrRnWfV-0-5447695c46839d38211c35b4ac6b6bde)
步骤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=1739316325-1HBbQxTTSVl95e6gpIpvXltO784mzv3v-0-39b7dbf5d918a5e1ac8075411737034c)
图2-46 CMP指令的程序举例
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/85_02.jpg?sign=1739316325-r2A2Zo7Ha80zA777XC4eG1jGrEKPpNxL-0-ed0e2d7bfc234fec6cd3961e441811d0)
图2-47 CMP指令控制交通灯仿真
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/85_03.jpg?sign=1739316325-RbRUHEK4CjrbWoGnaXrWDqfWUvoGyWTG-0-03bfd715b998993f0021e8178dcc46d7)
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/85_04.jpg?sign=1739316325-cwj8hYLpvkF0XCB2idQBjHJQGcCHKvJX-0-034d40b6dbf2bf4a1e0a4b6bf34a83db)
【例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=1739316325-C1gDXz358OuMlSqHpVbvEmunoMbSXZb9-0-7d3bc916cabe67afc4711705fac70417)
步骤2:编制程序如图2-48所示。定时器的值是整数,可以通过采用符号比较指令来实现交通灯的时序。
![](https://epubservercos.yuewen.com/79F31A/23083819301905706/epubprivate/OEBPS/Images/86_02.jpg?sign=1739316325-zwMHw3ZOSxu2NSwU4f1JIis1iWJEiHxl-0-7d0e887601cfb6dc214b6605195b0d13)
图2-48 交通灯控制梯形图
触摸屏画面与变量等均与例2-3相同,此处不再赘述。