►►►
标准转换指令
标准转换指令,包括字节转换为整数、整数转换为字节、整数转换为双精度整数、双精度整数转换为整数、双整数转换为实数、BCD转换为整数、整数码转换为BCD、取整、截断、和SEG指令。
这些指令可以将对应格式的输入值IN转换为分配的格式,并将输出值存储在由 OUT分配的存储单元中。需要注意的是,取整和截断指令都是将实数转换为双精度整数值,取整指令针对小数部分四舍五入,截断指令舍弃小数部分;SEG,即段码指令可将输入IN的数据,以生成位模式字节的形式,实现七段显示器的编码输出。
►►►
ASCII字符数组转换
ASCII字符数组转换指令包括ASCII转换为16进制数、16进制数转换为ASCII、整数转换为ASCII、双整转换为ASCII、和实数转换为ASCII。该组指令实现了ASCII字符字节数组与数据之间的转换,需要注意的是,直接转换只能从ASCII转成16进制数据,且所有待转换的ASCII字符必须是数字0-9和大写A-F之间的值,否则指令执行会报错。
►►►
数值转化为ASCII字符串
数值转化为ASCII字符串指令包括整数,双整数和实数转化为ASCII字符串。该组指令实现了数据到ASCII字符串之间的转换,字符串变量在SMART PLC中是一个字符序列,其中的每个字符均以字节形式存储。字符串变量与ASCII字符组最大的区别在于,字符串数据类型的第一个字节定义字符串的长度,即字符字节数。同时在SMART软件中字符串数据使用双引号定义,而ASCII字符使用单引号定义。
►►►
ASCII子字符串转换为数值
ASCII子字符串转换为数值指令包括ASCII子字符串转换为整数,双整数和实数。该组指令实现了ASCII子字符串到数据之间的转换,输入参数IN为字符串起始地址,索引INDX设定从字符串的第几个字符开始转换,OUT为输出数据。这里有几个原则需要注意:
原则1,当输入字符串包含不属于要转换的数字一部分的文本时,可灵活使用索引值避免报错。例如,如果输入字符串为“Temperature:37.8”,可将INDX 设置为13来跳过字符串开头的单词;
原则2,达到字符串结尾或遇到第一个无效字符时,转换将终止。无效字符为非数字(0-9)的字符或英文字母和特殊符号等,例如,科学计数法字符串“1.23E6”会转换为实数值1.23;
原则3,当转换产生的值对于输出值来说过大或者输入字符串不包含有效值而无法进行转换时,会置位溢出错误标志位SM1.1。
►►►
解码和编码指令
编码指令将输入字IN中设置的最低有效位的位编号写入输出字节OUT的最低有效“半字节”(4位)中;解码指令置位输出字OUT中与输入字节IN的最低有效“半字节”表示的位号对应的位。输出字的所有其它位都被设置为0。