关于ASCII 转换16进制指令的讨论: ATH 请指教请指教

看了西门子官网视频教学,说:假设VB30-VB32中,存放了3个%ignore_a_1%码,33  45  41  通过转换指令将他们转换为16进制数3E 和16进制数AX,  分别存放在字节VB40 和 VB41中,X表示VB41中低四位的数未发生变化。那么问题来了!!!!
33  45   41 本来就是16进制数啊,它怎么说是3个ASCII 码呢?  3 E A  分别是16进制数33  45   41 对应的‘字符’,视频怎么说是16进制数3E 和16进制数AX? ??    看着像16进制数转换为ASCII字符,   然而解说怎么说是  ASCII  码 转换为 16进制数??????请教大神
8位二进制数ASCII码00110011  =   16进制数33    这个33是8位二进制ASCII码00110011转换为16进制得到的33,  因此这个叫ASCII转换为16进制数指令,简称ATH指令,输出的OUT是以字符的形式体现对吗?      但是输出OUT为什么是两个字节呢???   我看到的是 1个ASCII字符占用4位二进制数也就是半个字节。 如果输出的OUT以字符形式体现出来,为什么不直接从8位二进制转换为字符??而是8位二进制数转换为16进制后,再以字符形式体现出来???     还是 不管8位二进制数转换为10进制   或者16进制   都是以字符的形式表现出来????谢谢,我问的有点多哈。。。。。

图片说明:

关于ASCII 转换16进制指令的讨论: ATH   请指教请指教   

最佳答案

这个理解起来没这么复杂,ASCII是一种编码的方式,而16进制只是一个数据的显示格式,两个不是同一个东西。
以你上面说的为例,2个ASCII码,33 45
33对应的字符是3   45对应的字符是E
1、如果用数据类型String显示(忽略第一个表示字符数量的字节),那么就是 ‘3E’
2、如果用BYTE(相当于16进制)显示,那么就是 33  45

那么ATH这个指令,实际的就是将字符解码,用BYTE显示出来,而不需要使用字符串类型才能看到对应的字符。

譬如33,实际上我想表达的是字符3,而不是16进制的16#33。那么,正常来说,我需要用CHAR类型才能看到这个数字代表的意思,但经过ATH转换后,我直接用普通的BYTE类型也能看到这个字符16#3X
(这个有点像解密,解密前是16#33 16#45,解密后(ATH)是16#3E。而3E正是我想传递的内容)

技术文档中也有提到该指令的限制(因为收到16进制的影响,最大到F):有效的 ASCII 输入字符为字母数字字符 0 到 9(十六进制代码值为 30 到 39)以及大写字符 A 到 F(十六进制代码值为 41 到 46)。

提问者对于答案的评价:
谢谢!  Thank  you!!!

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc361601.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午11:57
下一篇 2021年7月5日

相关推荐

  • 西门子200定时器2

    为什定时器T33计数超过了300,线圈不动作,在网络2中T33比较指令中都超过了350个计数线圈都接通了,这是怎么回事? 问题补充:这是我拍的照片,在线写程序的时候发现的 图片说明…

    2021年7月5日
  • S7200组网问题

    想将约300台S7200 CPU226CN同上位工控机联在一起,请问能实现吗?若能,用什么方案?请详细说明 问题补充:请问有没有便宜的办法,因为台数较多,每台加一个模块,…

    SIMATIC S7-200 2021年7月5日
  • s7200 pid 向导生成,有2个PID回路,投自动时输出在最大值和最小值波动,什么原因?请高手指教。

    s7200 pid 向导生成,有2个PID回路,投自动时输出在最大值和最小值波动,什么原因?请高手指教。 问题补充:瞬间波动,如:输出一直为0%,但是输出瞬间波…

    SIMATIC S7-200 2021年7月4日
  • s7-200例子

    希望可以提供西门子s7—200的全部测试例子,和与昆仑通泰链接的例子 钻石用户推荐最佳答案 1.CSDN 60个例程下载:http://download.csdn.net…

    SIMATIC S7-200 2021年7月5日
  • 逆时针方向旋转使能

    LD     Motor_Off:I0.2       &n…

    SIMATIC S7-200 2021年7月5日
  • S7-200和smart700IE通讯

    S7-200通过PPI协议与smart700IE在波特率为19200或187500情况下进行通讯,怎么样才能实现? 问题补充:我自己接的线(3接3 ,8接8),在波特率为…

    2017年12月21日
  • s7-200的POTR口是485口吗???

    s7-200的POTR口是485口吗???为什么大家都说S7200是485通讯,难道PPI通讯是485通讯的一种???? 最佳答案 首先我们要搞清楚485只是通讯上面的一个硬件实现…

    SIMATIC S7-200 2017年12月9日
  • MODBUS中CRC校验码计算原理

    看了网络上的很多资料,越看越迷糊 /******************************* 在代数编码理论中,将一个码组表示为一个多项式,码组中各码元当…

    SIMATIC S7-200 2021年7月4日
  • S7200程序复位

    我在程序中用了PTO,如果在执行程序的时候,PTO子程序出错,我想让S7200发个故障信号给主机,然后主机给S7200一个复位信号,把故障清除掉,让程序重新开始执行,请问这个复位要…

    SIMATIC S7-200 2021年7月4日
  • 18台S7-200与一台上位机

    现场有18台S7-200,用户要求加一台上位机。来对所有的200进行监测。请问都是有什么方案。我现在想到有以下方案。①每个后面加一个EM277,。上位机用WINCC. 不…

    SIMATIC S7-200 2020年10月31日

发表回复

登录后才能评论