在上一篇转换指令解析一里为大家介绍了字符串于其它数据格式转换的指令及其使用方法,本篇介绍十六进制与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
三、 总结
今天讲的两个指令比较简单,大家多做练习,一定可以掌握。这类指令虽然不常用,但某些场合还是会应用到,所以希望大家能熟练使用,对今后的编程肯定会有帮助。
- 西门子S7-1200 PLC进行物料不良品检测案例详解 2024-11-22
- 送卸料小车往返运动与HMI设计(SMART) 2024-11-22
- 逻辑运算指令在PLC校验程序中的应用 2024-11-22
- S7-300模拟量之FC 2024-11-22
- MCGS与S7-1200PLC(DB地址)控制设计 2024-11-22
- Wincc与PLC通讯方式,你知道几种 2024-11-22
- PLC与这7种设备的连接方式 2024-11-22
- S7-1500与s7-200SMART的PROFINET通信如何设置 2024-11-22
- S7-1200 与S7-1500 中优化的 DB 块和标准 DB 块有哪些区别? 2024-11-22
- 西门子1200PLC实用定位控制程序案例 2024-11-22