内蒙古西门子V90伺服系统代理商
(1) BCD码的格式
BCD码是比较有用的,3位格式如图4-59所示,二进制的0~3位是个位,4~7位是十位,8~11位是百位,11~15位是符号位。7位格式如图4-60所示,二进制的0~3位是个位,4~7位是十位,8~11位是百位,11~15位是千位,16~19位是万位,20~23位是十万位,24~27位是百万位,28~31位是符号位。
图4-59 3位BCD码的格式
图4-60 7位BCD码的格式
(2) BCD转换成整数指令(BTI)
BCD转换成整数指令是将IN指定的内容以BCD码二~十进制格式读出,并将其转换为整数格式,输出到OUT端。如果IN端指定的内容超出BCD码的范围(例如4位二进制数出现1010~1111的几种组合),则执行指令时将会发生错误,使CPU进入STOP方式。BCD转换成整数指令和参数见表4-28。
表4-28 BCD转换成整数指令和参数
用一个例子来说明BCD转换成整数指令,梯形图和指令表如图4-61所示。当I0.0闭合时,激活BCD转换成整数指令,IN中的BCD数用16进制表示为16#22(就是十进制的22),转换完成后OUT端的MW0中的整数的十六进制是16#16。
图4-61 BCD转换成整数指令示例大于等于比较指令有整数大于等于比较指令、双整数大于等于比较指令和实数大于等于比较指令3种。实数大于等于比较指令和参数见表4-26。
表4-26 实数大于等于比较指令和参数
用一个例子来说明实数大于等于比较指令,梯形图和指令表如图4-57所示。当I0.0闭合时,激活比较指令。MD0中的实数和MD4中的实数比较,若前者大于或者等于后者,则Q0.0输出为“1”,否则Q0.0输出为“0”。在I0.0不闭合时,Q0.0的输出为“0”。IN1和IN2可以为常数。
图4-57 实数大于等于比较指令示例
整数大于等于比较指令和双整数大于等于比较指令的使用方法与实数大于等于比较指令类似,只不过IN1和IN2的参数类型分别为整数和双整数。使用比较指令的前提是数据类型必须相同。
小于等于比较指令和小于比较指令类似,大于比较指令和大于等于比较指令类似,在此不再讲述小于等于比较指令和大于比较指令。
某设备上的控制器是CPU 314C-2DP,设备上有一个光电传感器,检测工件,每检测到1只工件,计数一次,当计数到3只时,CPU发出一个信号装箱,请设计梯形图。
梯形图如图4-58所示。光电传感器每检测一个工件时,计数器C0计1次数,当前计数值存放在MW12中,当计数3次时(MW12中的数值大于等于3),发出装箱信号Q0.0,与此同时定时器T0开始定时,2s后对计数器C0复位,重新计数。
小于比较指令有整数小于比较指令、双整数小于比较指令和实数小于比较指令3种。双整数小于比较指令和参数见表4-25。
表4-25 双整数小于比较指令和参数
用一个例子来说明双整数小于比较指令,梯形图和指令表如图4-56所示。当I0.0闭合时,激活双整数小于比较指令,MD0中的双整数和MD4中的双整数比较,若前者小于后者,则Q0.0输出为“1”,否则Q0.0输出为“0”。在I0.0不闭合时,Q0.0的输出为“0”。IN1和IN2可以为常数。
图4-56 双整数小于比较指令示例
整数小于比较指令和实数小于比较指令的使用方法与双整数小于比较指令类似,只不过IN1和IN2的参数类型分别为整数和实数。使用比较指令的前提是数据类型必须相同。
内蒙古西门子V90伺服系统代理商