![FX3U系列PLC技术及应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/830/41309830/b_41309830.jpg)
2.3.2 比较指令
1.触点比较指令
触点比较指令相当于一个触点,执行时将两个源数据(S1·和S2·)进行比较,如果比较结果为真(即条件满足),则该触点接通;若比较结果为假(即条件不满足),则该触点断开。
触点比较指令有LD触点比较指令、OR触点比较指令和AND触点比较指令等,LD触点比较指令接在左侧母线上,OR触点比较指令与其他触点或电路并联,AND触点比较指令与其他触点或电路串联。触点比较指令功能号、助记符、导通条件如表2-1所示。
表2-1 触点比较指令
![](https://epubservercos.yuewen.com/4B14DD/21511156508178506/epubprivate/OEBPS/Images/95_02.jpg?sign=1739047515-l8eCYvMyuqvnqYQRKQhAnvPu44lWseu6-0-9cb8fe181da70acd86fbf45fe134d2c1)
(续)
![](https://epubservercos.yuewen.com/4B14DD/21511156508178506/epubprivate/OEBPS/Images/96_01.jpg?sign=1739047515-KhZmsPzhiJRCKSoH0s52dB1YxmmjVoZf-0-d03ca15f01ae4b34fd5b8e17494f764d)
图2-10中当定时器T0的当前值在100~200之间时,输出继电器Y000线圈通电。当X000常开触点接通,或计数器C0当前值不等于20,或32位计数器C200的当前值小于100000时输出继电器Y001线圈通电。
![](https://epubservercos.yuewen.com/4B14DD/21511156508178506/epubprivate/OEBPS/Images/96_02.jpg?sign=1739047515-AZYSA09ISbXIph5tIRC8u6HHtLpHE8yr-0-15dd2529fa2d2a5fea7d813a69af6c40)
图2-10 触点比较指令
【例2-2】触点比较指令的应用(图2-11)。
图2-11为生成1s周期的方波脉冲信号程序,用类似方法可以产生任意占空比(为整数)的方波脉冲信号。
![](https://epubservercos.yuewen.com/4B14DD/21511156508178506/epubprivate/OEBPS/Images/96_03.jpg?sign=1739047515-Uzl4rPa4A70DwV5CV3b2Snp0dQJZBQmi-0-5ad3c7e8f06c579c0028e7628dc5d84a)
图2-11 触点比较指令生成方波示例程序
2.比较指令
CMP指令(FNC 10)用于比较两个源操作数(S1·)和(S2·)并将比较的结果送给目标操作数(D·),比较结果用目标软元件的状态来表示(图2-12)。待比较的源操作数(S1·)和(S2·)可以是任意的字软元件或常数,目标操作数(D·)可以取Y、M和S等,其占用连续的3个位软元件。
![](https://epubservercos.yuewen.com/4B14DD/21511156508178506/epubprivate/OEBPS/Images/96_04.jpg?sign=1739047515-zhIMRofpPLw9tvg72vnBueThIhSB2HEZ-0-0b019a64d07779a36c97dcb75c3dd511)
图2-12 比较指令
图2-12中,当X000的常开触点接通时,比较指令将常数K100与定时器T0的当前值进行比较,比较结果送给M0~M2。比较结果对目标操作数M0~M2的影响如图2-12所示。X000为OFF时不进行比较,M0~M2的状态保持不变。
也可以使用比较指令生成方波脉冲信号,如图2-13所示。
![](https://epubservercos.yuewen.com/4B14DD/21511156508178506/epubprivate/OEBPS/Images/97_01.jpg?sign=1739047515-1dkO3aekwJ3NMpGd7bEfrfoisjrE4u7T-0-90d7d7290f53641d8b208f4c0456113c)
图2-13 比较指令生成方波示例程序
视频“CMP指令”可通过扫描二维码2-4播放。
![](https://epubservercos.yuewen.com/4B14DD/21511156508178506/epubprivate/OEBPS/Images/97_02.jpg?sign=1739047515-r9bLH4MSi9nb0kORp9BUCOssfIwqsVqH-0-ee992a6c14fed43ddd3ce3055cd74acc)
二维码2-4
3.区间比较(ZCP)指令
区间比较指令是ZCP指令(FNC 11),操作数的类型与比较指令一样,目标操作数占用连续的3位软元件,(S1·)应小于(S2·)。图2-14中的X000的常开触点闭合时,执行ZCP指令,将计数器C0的当前值与K100和K200比较,比较结果对目标操作数M10~M12的影响如图2-14所示。
![](https://epubservercos.yuewen.com/4B14DD/21511156508178506/epubprivate/OEBPS/Images/97_03.jpg?sign=1739047515-FjUflhWgEr95gSJ9k3SV5gyIaaUr3n20-0-d1681caf5dae51b8d0d3c2085bad63a1)
图2-14 区间比较指令
【例2-3】区间比较指令的应用(图2-15)。
小区空余车位显示控制,进入一辆空余车位数减1,驶出一辆空余车位数加1。设当前空余车位数存储在计数器C200中,当空余车位数大于10个绿灯亮;当空余车位数小于等于10个大于等于5个时绿灯秒级闪烁;当空余车位数小于5个时红灯闪烁。
![](https://epubservercos.yuewen.com/4B14DD/21511156508178506/epubprivate/OEBPS/Images/97_04.jpg?sign=1739047515-HwRPo3KTyoPit6LuyZ5L9O8Y0rEn9Spe-0-1fb7b4ba14b3534e8b21184c5aedb557)
图2-15 空余车位显示控制程序
视频“ZCP指令”可通过扫描二维码2-5播放。
![](https://epubservercos.yuewen.com/4B14DD/21511156508178506/epubprivate/OEBPS/Images/97_05.jpg?sign=1739047515-BCYAsZItzVr1NHRS9y2H5HVd21UDWjt4-0-042832cf12c6a57789897df4752cc075)
二维码2-5
4.浮点数比较(ECMP)和区间比较(EZCP)指令
ECMP指令(FNC 110)和EZCP指令(FNC 111)的使用方法与比较指令(CMP和ZCP)基本相同。因为浮点数是32位的,所以在其指令前面加D,如图2-16所示。浮点数常数用字母E表示。
![](https://epubservercos.yuewen.com/4B14DD/21511156508178506/epubprivate/OEBPS/Images/98_01.jpg?sign=1739047515-QU7kN3P00LTKISu8Sys4slXFfkhxqeBu-0-4f7ef6dde2df72042334857a2692f8cc)
图2-16 浮点数比较和区间比较指令