广东湘恒智能科技有限公司
主营产品: 广东省西门子授权代理商、西门子变频器、西门子PLC\西门子模块、西门子触摸屏、西门子伺服电机、西门子工控机、西门子集成系统、西门子低压、西门子控制单元、西门子CPU等
西门子S7-200SMART PLC转换指令用法解析
发布时间:2024-05-14

在上一篇转换指令解析一里为大家介绍了字符串于其它数据格式转换的指令及其使用方法,本篇介绍十六进制与ASCII字符之间的转换。主要是ATH、HTA这两个指令。ASCII字符与字符串的区别是ASCII字符是不带长度字节的一串ASCII码序列,而字符串是带长度字节的一串ASCII码序列。 免费试学三菱/西门子PLC教程

一、 所需软件及硬件

西门子200SMART编程软件V2.7版,200SMART ST30 CPU一台,通信网线一条。

二、 转换指令含义及用法

1. 十六进制转换为ASCII字符

该指令的形式及在指令列表中的位置如下图1所示:

 

图1

HTA指令是将从输入字节IN开始的十六进制数转化为从OUT开始的ASCII字符,转换的最大数目为255,超出该长度指令将会报错。比如VW100里的16进制数为16#AB85,占两个字节,转换为ASII字符后放在以VB200为首字节的地址区里,那么一共占用了四个字节,VB200到VB203,分别存储“A”、“B”、“8”、“5”。由此可见转换后ASCII字符序列所占用的字节数是转换前16进制数所占用字节数的2倍,因为一个16进制数占用半个字节,而一个字符占用1个字节。转换后的结果如下图2所示:

 

 

图2

2. ASCII字符转换为十六进制

该指令的形式及在指令列表中的位置如下图3所示:

 

图3

   ATH指令是将长度为 LEN、从 IN 开始的 ASCII 字符转换为从 OUT 开始的十六进制数。可转换的最大 ASCII 字符数为 255 个字符。需要注意的是,该指令可转换的ASCII有效字符为数字0-9(16进制30-39)及大写的字母A-F(16进制41-46)。若超出这个范围指令将报错。比如VB300至VB303这四个字节里分别存放了ASCII字符“C”、“D”、“6”、“9”,执行完ATH指令,VW310中的数值为16#CD69,与HTA指令相反,转换后的结果如下图4所示:

 

图4

 

三、 总结

今天讲的两个指令比较简单,大家多做练习,一定可以掌握。这类指令虽然不常用,但某些场合还是会应用到,所以希望大家能熟练使用,对今后的编程肯定会有帮助。


展开全文
商铺首页 拨打电话 QQ联系 发送询价