有哪位高手能给小弟讲解“ASCII码与16进制数的转换指令”的应用? 点击:3637 | 回复:9



congcong_2008

    
  • 精华:0帖
  • 求助:6帖
  • 帖子:6帖 | 30回
  • 年度积分:0
  • 历史总积分:234
  • 注册:2012年5月25日
发表于:2012-06-22 16:11:07
楼主
求助帖5分-已结帖
 
 
有哪位高手能给小弟仔细讲解下这个指令的应用,“33,45,41具体什么含义,然后具体是怎么转换的,本人初学PLC,对此看不明白


楼主最近还看过



wyb2866255---王者之师

  • 精华:73帖
  • 求助:0帖
  • 帖子:218帖 | 2872回
  • 年度积分:0
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-06-22 21:59:56
1楼

     ATH指令是将ASC||码转换为16进制码的指令,指令中的IN输入的VB30为待转换的ASC||码的首位ASC||码值,LEN的3为待转换的ASC||码为3位ASC||码(3字节数),QUT的VB40为转换后的16进制数的的最高2位数所占的一个字节,由于待转换的ASC||码为3位数,故转换后的16进制数进仅占一个半字节(ASC||码是一个字节(8位)代表一位ASC||码数值,而16进制数是4位表示一位数)。

   ASC||码“33”代表16进制数“3”,ASC||码的“41”代表16进制数的“A”,而ASC||码的“45”代表16进制数的“E”,故经ATH转换后OUT输出的16进制数为“35_1X ”,即VB40=35,VB41=4X(高4位值=4,低4位为原值)

   

congcong_2008

  • 精华:0帖
  • 求助:9帖
  • 帖子:9帖 | 30回
  • 年度积分:0
  • 历史总积分:234
  • 注册:2012年5月25日
发表于:2012-06-24 10:10:03
2楼
非常感谢哈!我再仔细看看!

congcong_2008

  • 精华:0帖
  • 求助:9帖
  • 帖子:9帖 | 30回
  • 年度积分:0
  • 历史总积分:234
  • 注册:2012年5月25日
发表于:2012-06-24 10:10:40
3楼
回复内容:
对:wyb2866255---王者之师关于     ATH指令是将ASC||码转换为16进制码的指令,指令中的IN输入的VB30为待转换的ASC||码的首位ASC||码值,LEN的3为待转换的ASC||码为3位ASC||码(3字节数),QUT的VB40为转换后的16进制数的的最高2位数所占的一个字节,由于待转换的ASC||码为3位数,故转换后的16进制数进仅占一个半字节(ASC||码是一个字节(8位)代表一位ASC||码数值,而16进制数是4位表示一位数)。   ASC||码“33”代表16进制数“3”,ASC||码的“41”代表16进制数的“A”,而ASC||码的“45”代表16进制数的“E”,故经ATH转换后OUT输出的16进制数为“35_1X ”,即VB40=35,VB41=4X(高4位值=4,低4位为原值)    内容的回复:


有不明白的我再问你哈,谢谢仁兄啦!

congcong_2008

  • 精华:0帖
  • 求助:9帖
  • 帖子:9帖 | 30回
  • 年度积分:0
  • 历史总积分:234
  • 注册:2012年5月25日
发表于:2012-06-24 10:43:29
4楼
回复内容:
对:wyb2866255---王者之师关于     ATH指令是将ASC||码转换为16进制码的指令,指令中的IN输入的VB30为待转换的ASC||码的首位ASC||码值,LEN的3为待转换的ASC||码为3位ASC||码(3字节数),QUT的VB40为转换后的16进制数的的最高2位数所占的一个字节,由于待转换的ASC||码为3位数,故转换后的16进制数进仅占一个半字节(ASC||码是一个字节(8位)代表一位ASC||码数值,而16进制数是4位表示一位数)。   ASC||码“33”代表16进制数“3”,ASC||码的“41”代表16进制数的“A”,而ASC||码的“45”代表16进制数的“E”,故经ATH转换后OUT输出的16进制数为“35_1X ”,即VB40=35,VB41=4X(高4位值=4,低4位为原值)    内容的回复:

“ASC||码“33”代表16进制数“3”,”意思是不是在ASCII对照表中ASC||码“33”对应16进制数“3“?但是对照表中是这样啊

二进制       十进制    十六进制      缩写  解释

0000 0000    0          00            NUL    空字符(Null)

0000 0001    1          01            SOH    标题开始

0000 0010    2          02            STX    正文开始

0000 0011    3          03   ???? ETX    正文结束

0000 0100    4          04            EOT    传输结束

0000 0101    5          05            ENQ    请求

wyb2866255---王者之师

  • 精华:73帖
  • 求助:0帖
  • 帖子:218帖 | 2872回
  • 年度积分:0
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-06-24 13:36:35
5楼

是的,在ASCII对照表中ASC||码“33”对应16进制数“3“.

你在上面引用的是ASCII码的“00~05”。ASCII码的“30~39”。就是10进制数的“0~9”,ASCII码的“41~49”就是字母A、B、C.....H、I。用ASCII码传送16进制数,就选用ASCII码的“30~39及 41~46“,转换后变为”0、1、2、。。。9

A、B、C、D、E、F“这16种形式,正好表示16进制的16种状态。

congcong_2008

  • 精华:0帖
  • 求助:9帖
  • 帖子:9帖 | 30回
  • 年度积分:0
  • 历史总积分:234
  • 注册:2012年5月25日
发表于:2012-06-24 17:18:00
6楼
回复内容:
对:wyb2866255---王者之师关于是的,在ASCII对照表中ASC||码“33”对应16进制数“3“.你在上面引用的是ASCII码的“00~05”。ASCII码的“30~39”。就是10进制数的“0~9”,ASCII码的“41~49”就是字母A、B、C.....H、I。用ASCII码传送16进制数,就选用ASCII码的“30~39及 41~46“,转换后变为”0、1、2、。。。9A、B、C、D、E、F“这16种形式,正好表示16进制的16种状态。内容的回复:


谢了,明白了

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:27帖 | 3065回
  • 年度积分:0
  • 历史总积分:12427
  • 注册:2008年9月18日
发表于:2012-06-25 10:08:19
7楼

其实 仔细 看一下指令帮助 很好理解的,。。。。

凯能工控

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 779回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2016年10月01日
发表于:2018-02-05 10:09:45
8楼

应该是ASCII码的“48~57”。就是10进制数的“0~9”

詹国章

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 80回
  • 年度积分:0
  • 历史总积分:102
  • 注册:2018年2月05日
发表于:2018-02-05 17:30:25
9楼

非常好,支持一下


热门招聘
相关主题

官方公众号

智造工程师