您现在的位置是:首页 > PLC技术 > PLC技术

CP1H系列PLC的无符号比较指令CMP(020)

来源:艾特贸易2017-06-04

简介无符号比较指令 CMP 是将两个通道值或 4 位十六进制数进行比较,并将结果反映到状态标志位上,参与比较的两个数值不变。无符号比较指令 CMP 的应用见例 2-30 。 【例 2-30 】图 2-58 所

    无符号比较指令CMP是将两个通道值或4位十六进制数进行比较,并将结果反映到状态标志位上,参与比较的两个数值不变。无符号比较指令CMP的应用见例2-30    【例2-30】图2-58所示为无符号比较指令CMP梯形图和语句表应用示例。
CMP梯形图和语句表应用示例
    2-58    CMP梯形图和语句表应用示例    a)梯形图b)语句表    执行指令CMP时,将TIM0000的当前值与常数0200进行比较。程序的功能为:在0.00ON时,TIM0000开始定时,CMP指令开始执行。由于每隔0.1s TIM0000当前值减1,所以在0. 00ON之后的一段时间内,若TIM0000的当前值大于0200时,P_GT100. 00ON;TIM0000的当前值等于0200时,P_EQ100. 01ON;TIM0000的当前值小于0200时,P_LT100. 02ON;TIM0000的当前值等于0000时,100. 02100. 03均为ON    由此可见,配合指令CMP,用一个定时器可以控制多个输出位。在执行条件为ON时,如果希望CMP指令只执行一次,可以使用DIFUDIFD指令。如图2-59所示,当0.05OFF变为ON时,W0. 00 0N -个扫描周期,在此扫描周期里CMP指令执行。此后,即使0.05继续ONCMP指令也不执行。
CMP指令只执行一次
    2-59    CMP指令只执行一次    【例2-31】利用CMP指令监视/IM0000的当前值,如图2-60所示。当TIM0000的当前值大于某一数值时,则产生相应的动作。
CMP指令应用示例
    2-60    CMP指令应用示例    a)梯形图b)语句表    2- 60中,两个CMP监视TIM0000的当前值。第一个CMP的常数为20s,第二个CMP的常数为10s。在0.00ON时,,当TIM0000当前值大于20s但小于30s时,第一个大于标志P_GTON100. 03ON,则100. 04100. 05OFF    TIM0000当前值大于10s而小于20s时,第一个大于标志P_GTOFF100. 03OFF,而第二个大于标志P_GTON,则100. 04ON    TIM0000当前值大于0而小于10s时,两个P_GT均为OFF100. 03100. 04OFF100. 05ON    TIM0000ON时,TIM0000复位,此比较过程重新开始。    应注意的是,状态标志位必须紧跟CMP指令,两者共用一个执行条件且中间不能插入其他指令,如图2-61所示。
状态标志位用法示例
    2-61    状态标志位用法示例    a)状态标志位的错误用法b)状态标志位的正确用法