您现在的位置是:首页 > PLC技术 > PLC技术
PLC ASCII码转换指令
来源:艾特贸易2017-06-05
简介ASCII 码转换指令包括 ASCII 码转换为 16 进制数指令 (ATH) 、 16 进制数转换为 ASCII 码指令 (HTA) 、整数转换为 ASCII 码指令 (ITA) 、双整数转换为 ASCII 码指令 (DTA) 和实数转换为 ASCII 码指令
ASCII码转换指令包括ASCII码转换为16进制数指令(ATH)、16进制数转换为ASCII码指令(HTA)、整数转换为ASCII码指令(ITA)、双整数转换为ASCII码指令(DTA)和实数转换为ASCII码指令(RTA)。 (1)格式:ATH指令和HTA指令的梯形图如图6-40所示。在ATH指令中,IN是需要转换字符的开始地址.输入字符的编码范围为30~39H(对应字符O~9)和41~46H(对应字符A~F);LEN是转换字符的长度,ASCII码字符串的最大长度为255个字符。在HTA指令中,IN是要转换的16进制数的开始地址,LEN是要转换的16进制数的长度。 图6-40 ATH指令和HTA指令的梯形图
图6-41 ITA指令、DTA指令和RTA指令的梯形图 ITA指令、DTA指令和RTA指令的梯形图如图6-41所示。在ITA和DTA指令中,FMT是字节型格式操作数,用于指定转换格式。FMT的最高四位(D7D6D5D4)必须为零;第四位(D3)用于设置小数点的显示方式,当设定为O时小数点用圆点表示,当设定为1时小数点用逗号表示;最低三位(D2D1D0)的有效取值范围是0~5,取0时表示没有小数位数,取1~5时分别表示1~5位小数位数。在RTA指令中,FMT的最高四位(D7D6D5D4)用于指定输出缓冲器的大小,有效取值范围是3~15;第四位(D3)用于设置小数点的显示方式,当设定为0时小数点用点表示,当设定为1时小数点用逗号表示;最低三位( D2D1D0)的有效取值范围是0~5,取0时表示没有小数位数,取1~5时分别表示1~5位小数位数。 (2)功能:当使能输入有效时,ATH指令将从IN字符开始,长度为LEN的ASCII码字符串转换成从OUT开始的十六进制数。当使能输入有效时,HTA指令将从IN字符开始,长度为LEN的十六进制数转换成从OUT开始的ASCII码字符串。 整数到ASCII码转换指令(ITA),当使能输入有效时,把输入端(IN)的整数转换成一个ASCII码字符串。转换结果存放在OUT指定的连续8个字节中,ASCII码字符串始终是8个字符,最高位存放在OUT中,最低位存放在OUT+7地址单元中。正值不带符号写入输出缓冲区中,负值带负号写入输出缓冲区中。 双整数到ASCII码转换指令(DTA),是把输入端(IN)的整数转换成一个ASCII码字符串。转换结果存放在OUT指定的连续12个字节中,ASCII码字符串始终是12个字符,转换结果最高位存放在OUT中,最低位存放在OUT+11地址单元中。正值不带符号写入输出缓冲区,负值带负号写入输出缓冲区。 实数到ASCII码转换指令(RTA),是把输入端(IN)的实数转换成一个ASCII码字符串。转换结果放在OUT指定的连续3~15个字节中,最高位存放在OUT中,最低位存放在OUT+14地址单元中。正值不带符号写入输出缓冲区中,负值带负号写入输出缓冲区中。S7-200 CPU采用的浮点数格式最大支持7位有符号数,不能显示大于7位的有符号数。 【例6-7】编写一个将VD100中存储的ASCII码转换成十六进制数的程序。已知(VB100)=33,(VB101)=32,(VB102) =41,(VB103) =45。 解设计的程序如图6-42所示。
图6-42 梯形图程序 在PLC内存中,ASCII字符是以编码方式存储的。图6-42的程序运行结果是:(VB200) =32,(VB201)=AE。 【例6-8】整数到ASCII码转换指令(ITA)应用举例,梯形图如图6-43所示。假定VW2的内容是12345,则执行ITA指令后,(VB10) =20(空格字符‘’),(VB11)=20,(VB12)=31(字符‘1’),(VB13)=32(字符‘2’),(VB14)=2C(字符‘,’),(VB15)=33(字符‘3’),(VB16) =34(字符‘4’),(VB17) =35(字符‘5’)。 说明:在图6-43中,转换格式操作数16# 0B表示有3位小数,小数点用逗号表示;不足8个ASCII字符的部分用空格(ASCII编码为20H)填补。
图6-43 梯形图程序
点击排行
