您现在的位置是:首页 > 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梯形图和语句表应用示例。 图2-58 CMP梯形图和语句表应用示例 a)梯形图b)语句表 执行指令CMP时,将TIM0000的当前值与常数0200进行比较。程序的功能为:在0.00为ON时,TIM0000开始定时,CMP指令开始执行。由于每隔0.1s TIM0000当前值减1,所以在0. 00为ON之后的一段时间内,若TIM0000的当前值大于0200时,P_GT、100. 00为ON;当TIM0000的当前值等于0200时,P_EQ、100. 01为ON;当TIM0000的当前值小于0200时,P_LT、100. 02为ON;当TIM0000的当前值等于0000时,100. 02和100. 03均为ON。 由此可见,配合指令CMP,用一个定时器可以控制多个输出位。在执行条件为ON时,如果希望CMP指令只执行一次,可以使用DIFU或DIFD指令。如图2-59所示,当0.05由OFF变为ON时,W0. 00 0N -个扫描周期,在此扫描周期里CMP指令执行。此后,即使0.05继续ON,CMP指令也不执行。
图2-59 CMP指令只执行一次 【例2-31】利用CMP指令监视/IM0000的当前值,如图2-60所示。当TIM0000的当前值大于某一数值时,则产生相应的动作。
图2-60 CMP指令应用示例 a)梯形图b)语句表 图2- 60中,两个CMP监视TIM0000的当前值。第一个CMP的常数为20s,第二个CMP的常数为10s。在0.00为ON时,,当TIM0000当前值大于20s但小于30s时,第一个大于标志P_GT为ON,100. 03为ON,则100. 04和100. 05为OFF。 当TIM0000当前值大于10s而小于20s时,第一个大于标志P_GT为OFF,100. 03为OFF,而第二个大于标志P_GT为ON,则100. 04为ON。 当TIM0000当前值大于0而小于10s时,两个P_GT均为OFF,100. 03和100. 04为OFF,100. 05为ON。 当TIM0000为ON时,TIM0000复位,此比较过程重新开始。 应注意的是,状态标志位必须紧跟CMP指令,两者共用一个执行条件且中间不能插入其他指令,如图2-61所示。
图2-61 状态标志位用法示例 a)状态标志位的错误用法b)状态标志位的正确用法
点击排行
