0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HTA:将十六进制数转换为ASCII字符串

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-06-19 11:55 次阅读

说明

使用该指令,可以将在输入 IN 中指定的十六进制数转换为 ASCII 字符串。转换结果存储到参数 OUT 指定的地址中。

使用参数 N,可指定待转换十六进制字节的数量。由于 ASCII 字符为 8 位,而十六进制数只有 4 位,所以输出值长度为输入值长度的两倍。在保持原始顺序的情况下,将十六进制数的每个半位元组转换为一个字符。

可最多有 65635 个字符写入 ASCII 字符串。转换结果以数字 0 ~ 9 和大写字母 A ~ F 表示。

该指令不检测任何错误条件。

参数

下表列出了“HTA”指令的参数:

参数 声明 数据类型 存储区 说明
IN Input POINTER* I、Q、M、D 十六进制数的起始地址
N Input WORD I、Q、M、D、L、P 或常量 待转换的十六进制字节数
OUT Output POINTER* D、L 结果的存储地址。
* 指针格式为双字,用于跨区域间接寄存器寻址

示例

只有输入 I 0.0 的信号状态为“1”(激活),才执行该指令。在本示例中,N 输入参数设置为 3,表示要转换三个十六进制字符。将十六进制字节存储在以 IN 指针指定的地址为起点的数据块 1 中:DB1.DBX10.0。字符串将输出到由 OUT 指针指定的地址处:从 DB2.DBX0.0 开始(数据块 2)。

下表列出了十六进制数转换为 ASCII 字符串的示例:

IN N OUT BR 状态
W#16#0123 2 '0123' 1
16#123AF01023 4 '123AF010' 0

下表显示了 ASCII 字符及其相对应的十六进制值:

十六进制数 ASCII 编码的十六进制值 ASCII 字符
0 30 "0"
1 31 "1"
2 32 "2"
3 33 "3"
4 34 "4"
5 35 "5"
6 36 "6"
7 37 "7"
8 38 "8"
9 39 "9"
A 41 "A"
B 42 "B"
C 43 "C"
D 44 "D"
E 45 "E"
F 46 "F"

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    30

    文章

    5032

    浏览量

    117741
  • ASCII
    +关注

    关注

    4

    文章

    169

    浏览量

    34531
  • 字符串
    +关注

    关注

    1

    文章

    552

    浏览量

    20130
  • 十六进制
    +关注

    关注

    2

    文章

    31

    浏览量

    36687

原文标题:HTA: 将十六进制数转换为 ASCII 字符串

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    LabVIEW中如何实现十六进制ASCII之间的转换

    实现将这个十六进制表示转换为其对应的ASCII表示?如果需要以十六进制等价的形式向仪器发送命令,该如何实现?解答:
    发表于 10-20 11:20

    labview教程:十六进制ASCII之间的相互转换

    表示转换为其对应的ASCII表示实现通信。十六进制转换为ASCII:. 为了
    发表于 01-05 11:21

    LabVIEW字符串正常显示与十六进制显示相互强制转换

    下位机发送的字符串同样是ASCII码,一般情况下如果不加转换,在正常显示情况下是乱码,在使用LabVIEW在编程处理直接处理这些字符串的时候,就会出现问题了。于是很多时候需要对
    发表于 06-05 11:07

    十六进制字符串至数值转换的问题

    `通过串口发送和接收数据。接收到的十六进制数据想要变为十进制数据输出。但是用“十六进制字符串至数值转换”这个空间最后的显示结果是0。自认为
    发表于 04-09 10:47

    字符串显示转换十六进制显示

    字符串显示转换十六进制显示。例如:字符串:A21D4700转换十六进制:A21D 4700怎么
    发表于 04-22 16:50

    字符串进制十六进制

    下位机发送的报文都是十六进制的,如显示999发送过来的报文就是09 09 09、(把999拆成三个9)用上图的方法我已经把下位机的保温解析,但是现在我想反转手动输入十进制字符串转成十六进制
    发表于 05-26 13:19

    分享ascii和16进制字符串之间的转换

    外加一个ascii转换成等值的十六进制字符串文件,这几天一直在摸索这个,网上的好多都不满要求,现在做好了跟大家分享一下。要注意字符串是普通显
    发表于 01-12 22:14

    进制字符串十六进制字符串转换 拿来分享

    自己做的二进制字符串十六进制字符串转换拿来分享
    发表于 07-24 11:36

    十六进制字符串至数值或字符转换的问题

    进制),“字符串到字节数组” 转换是按每一位转换的(即48.49.48.50.....) 有没有什么好办法解决啊?通过串口接收到的
    发表于 10-09 15:03

    数据转换、SQL存储,十六进制字符串、正常字符串

    ”,我们要做的是,当使用正常显示时,仍然将其显示为“41 42 43 44 ”。下图是正常字符串转换为十六进制显示的正常字符串,思想是,先
    发表于 05-27 10:29

    LabVIEW仪表通讯MODBUS RTU字符串十六进制字符串ASCII码使用经验

    字符串包含了可见字符串,不可见字符串两种。一般不可见字符串都是在十六进制字符串20或以下表示。每
    发表于 05-23 09:45

    进制字符串十六进制字符串转换十六进制字符串显示为ASCII码,拿来分享

    自己用labview做的二进制字符串十六进制字符串转换十六进制
    发表于 01-24 11:18

    十六进制字符串转换成二进制

    一种十六进制字符串转换成二进制的方法
    发表于 09-11 14:39

    博途功能ATH:将ASCII字符串转换为十六进制

    由于 ASCII 字符为 8 位,而十六进制数只有 4 位,所以输出字长度仅为输入字长度的一半。ASCII 字符将按照读取时的顺序装换并保存
    的头像 发表于 06-11 11:34 4255次阅读
    博途功能ATH:将<b class='flag-5'>ASCII</b><b class='flag-5'>字符串</b><b class='flag-5'>转换为</b><b class='flag-5'>十六进制</b>数

    HTA:将十六进制转换为 ASCII 字符串

    说明 使用该指令,可以将在输入 IN 中指定的十六进制转换为 ASCII 字符串转换结果存储到参数 OUT 指定的地址中。 使用参数 N
    的头像 发表于 06-26 11:01 2001次阅读