兴安盟西门子授权代理商,西门子PLC,变频器,伺服电机授权代理商
- 供应商
- 广东湘恒智能科技有限公司
- 认证
- 西门子一级代理商
- 触摸屏
- 变频器
- 伺服电机
- 西门子PLC
- 直流调速器
- 联系电话
- 18126392341
- 手机号
- 15267534595
- 联系人
- 梁涛
- 所在地
- 惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房(仅限办公)(注册地址)
- 更新时间
- 2024-09-22 09:10
有关西门子s7-300/400 plc转换指令的用法,介绍了s7-300/400的数据形式转换指令的主要特点,bcd转换指令,整数、浮点数转换指令的用法及注意事项。
西门子s7-300/400 plc转换指令
1、指令特点与编程
s7-300/400的转换指令功能相对单一,所有代码转换指令均为用于数据形式转换的指令,且不可以实现ascii码、字符串的转换,也无译码功能。
s7-300/400的数据形式转换指令的主要特点:
①转换指令主要有bcdj、i-bcd、bcd_di、di—bcd、di_ri、i_di、round、trunc、ceil、floor等,可以进行十六进制数与bcd之间的转换、整数与浮点数之间的转换、浮点数的“取整”等操作。
②与移位指令一样,s7-300/400的数据形式转换一般只能通过累加器1进行,当存储器需要移位时,应首先将存储器的内容移动到累加器l中。
③s7-300/400的移位操作只能对字、双字长的数据进行,不能用于字节。
数据形式转换指令的梯形图编程与s7-200相似,如需要将输入字iw20的bcd数据(十进制数据)转换为整数(十六进制数据)的程序格式如图10-6.6。
从图10-6.6的指令表程序可以看出,数据形式转换的第一步是将“源数据”iw20装入累加器l中,然后再对累加器l的内容进行转换,结果传送到目标存储器mw100中。
2、bcd转换指令
s7-300/400的数据形式转换指令bcd i、i__bcd、bcd—di、di__bcd用于十六进制数与bcd之间的转换。
编程注意事项:
①s7-300/400的bcd数据只能对字、双字长的数据进行,不能用于字节。
②指令bcdi、lbcd用于16位整数与bcd间的转换,由于数据带符号,因此只能转换3位bcd码,bcd数据的范围为-999~+999。指令bcddi、di__bcd用于32位整数与bcd间的转换,同样带符号,因此只能转换7位bcd码,bcd数据的范围为-9999999~+9999999。
③16位整数的bcd存储格式为:
格式中的空余位(16位整数的bit14~bit12、32位整数的bit30~bit28),一般取与符号位相同的值,如:正数为“o”;负数为“l”。
④当16位、32位整数转换为bcd时,如果出现大于9的十进制数值(如1100等),或者转换后的数值超过了bcd格式允许存储的范围,将出现转换错误,并导致plc的停止。
3、整数与浮点数转换指令
s7-300/400的数据形式转换指令i di、dir用于16位整数与32位整数、32位整数与浮点数之间的转换;round、trunc的作用、意义与s7-200相同,用于对浮点数的小数部位处理;ceil、floor是当浮点与整数相差很大时的两种不同处理方式。
idi指令可以将16位整数转换为32位整数,其实质只是将符号位从原16位整数的bit15移到32位整数的bit31上,其余数据不变或增补0而已。
round指令是将浮点数的小数部分四舍五入转换成双整数;trunc指令是将浮点数的小数部分舍去转换成双整数。
由于浮点数的数据表示范围要远远大于双字长整数。当浮点数的值大于整数时,通过ceil指令,将浮点数转换为大于等于该浮点数的*小整数;通过floor指令,将浮点数转换为小于等于该浮点数的*大整数。
展开全文