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

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

3天内不再提示

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

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

说明

使用指令“ATH”将 IN 输入参数中指定的 ASCII 字符串转换为十六进制数。转换结果输出到 OUT 输出参数中。

  • 使用 IN 参数 (ASCII) 处的指针,可引用以下数据类型:STRING, WSTRING, CHAR, BYTE, Array of CHAR, Array of BYTE, WCHAR, Array of WCHAR, Array of WORD。

  • 使用 OUT 参数(十六进制)处的指针,可引用以下数据类型:Array of CHAR, Array of BYTE, Array of WORD, STRING, BYTE, CHAR, WORD, INT, DWORD, DINT, SINT, USINT, UINT, UDINT。以下数据类型仅限于 S7-1500:Array of WCHAR, WSTRING, WCHAR, ULINT, LINT, LWORD

通过参数 N,可指定待转换 ASCII 字符的数量。最多可转换 32767 个有效 ASCII 字符。只能解释数字“0”到“9”、大写字母“A”到“F”以及小写字母“a”到“f”。所有其它字符都将转换为 0。

由于 ASCII 字符为 8 位,而十六进制数只有 4 位,所以输出字长度仅为输入字长度的一半。ASCII 字符将按照读取时的顺序装换并保存在输出中。如果 ASCII 字符数为奇数,则最后转换的十六进制数右侧的半个字节将以“0”进行填充。

参数

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

参数

声明

数据类型

存储区

说明

IN

Input

VARIANT

D、L

指向 ASCII 字符串的指针

N

Input

INT

I、Q、M、D、L 或常量

待转换的 ASCII 字符数

RET_VAL

Return

WORD

I、Q、M、D、L

指令的状态

OUT

Output

VARIANT

I、Q、M、D、L

十六进制数

864e837c-0793-11ee-962d-dac502259ad0.png

ASCII 字符和十六进制值

下表显示了 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

示例

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

IN 的数据类型

IN

N

OUT

ENO 状态

STRING, WSTRING

'0a23'

4

  • WORD#16#0A23

  • UINT#10#2595

1

STRING, WSTRING

‘123aFx1a23’

10

  • LWORD#16#123AF01A_23000000

  • ULINT#10#1 313 626 236 378 939 392

0

STRING, WSTRING

‘a23’

3

WORD#16#A230

1

STRING, WSTRING

‘0a23’

4

  • WORD#[16#0A23, 16#0000]

  • BYTE#[16#0A, 16#23]

1

STRING, WSTRING

‘aFbE’

1

  • CHAR#‘A’

  • WCHAR#‘A’

1

STRING, WSTRING

‘0a23’

4

  • CHAR#[‘0’, ‘A’, ‘2’, ‘3’]

  • WCHAR#[‘0’, ‘A’, ‘2’, ‘3’]

1

STRING, WSTRING

‘123aFC1a23’

10

  • STRING#‘123AFC1A23’

  • WSTRING#‘123AFC1A23’

1

ArrayOfCHAR, ArrayOfWCHAR

[‘a’, ‘B’, ‘E’, ‘3’]

4

WORD#16#ABE3

1

ArrayOfBYTE

[16#39, 16#32, 16#35]

3

WORD#16#9250

1

ArrayOfWORD

[16#1234, 16#0032, 16#0031, 16#0000]

3

WORD#16#0210

0

ArrayOfWORD

[16#0031, 16#0032, 16#0033, 16#0034]

4

WORD#16#1234

1

ArrayOfWORD

[16#AB31, 16#32AF, 16#4333, 16#0034]

4

WORD#16#0004

0

ArrayOfWORD

[16#0031, 16#0032, 16#0033, 16#0034]

4

[16#1234, 16#0000, 16#0000, 16#0000]

1

ArrayOfWORD

[16#0034, 16#0035, 16#0036, 16#0037, 16#0041, 16#0042, 16#0043, 16#0044]

8

DWORD#16#4567_ABCD

1


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

    关注

    5

    文章

    170

    浏览量

    34881
  • 十六进制
    +关注

    关注

    2

    文章

    31

    浏览量

    37449

原文标题:博途功能 ATH: 将 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

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

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

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

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

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

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

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

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

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

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

    字符串转为十六进制软件工具

    字符串转为 十六进制软件工具
    发表于06-30 09:51 453次下载

    如何进行ASCII码和十六进制转换

    本文档的主要内容详细介绍的是如何使用51单片机进行 ASCII码和 十六进制 转换资料免费下载题目:用查表法 一位
    发表于07-08 17:41 6次下载
    如何进行<b class='flag-5'>ASCII</b>码和<b class='flag-5'>十六进制</b><b class='flag-5'>数</b>的<b class='flag-5'>转换</b>

    关于STEP7库功能字符串转换

    FC94 ATH ASCII 转换为 十六进制FC95 HTA 十六进制 转换为
    的头像 发表于10-10 10:50 3543次阅读

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

    使用该指令,可以将在输入 IN 中指定的 十六进制 转换为 ASCII 字符串转换结果存储到参数
    的头像 发表于06-19 11:55 2053次阅读

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

    8 位,而 十六进制数只有 4 位,所以输出值长度为输入值长度的两倍。在保持原始顺序的情况下, 十六进制 的每个半位元组 转换为一个
    的头像 发表于06-26 11:01 2995次阅读