十六进制怎么转换成无符号 点击:4385 | 回复:4



zhourui97

    
  • 精华:0帖
  • 求助:4帖
  • 帖子:6帖 | 17回
  • 年度积分:0
  • 历史总积分:38
  • 注册:2014年6月16日
发表于:2014-06-23 11:29:26
楼主

有一个双字的十六进制数

DW#16#D4DB71FB


我用计算器转成十进制是 3571151355


但貌似PLC里只能转成有符号的数 L#-723815941



怎么在plc里转换成无符号的数~

有什么办法吗~

各位大神~本人新手求教~~跪谢~~~

感激!!~!~!





yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10210回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2014-06-23 13:23:55
1楼

实际上DW#16#D4DB71FB就是无符号数的表达方式,只是以16进制表示而已,在软件中,受限于早先软件无法显示无符号整数的10进制方式,因此才会造成误解。


如果使用新型机型或者新型软件,例如博图和S7-1500,就可以在VAT表格中选择DEC,即无符号整数10进制监视方式,监视的结果与计算器转换的结果一致。


正如下图所见,即使输入10进制的无符号整数,仍然会显示16进制的数值。


因此,在PLC中将无符号的16进制数转换为无符号的10进制数是毫无意义的,也不会影响到PLC对于数据的处理结果。

zhourui97

  • 精华:0帖
  • 求助:4帖
  • 帖子:6帖 | 17回
  • 年度积分:0
  • 历史总积分:38
  • 注册:2014年6月16日
发表于:2014-06-23 13:46:43
2楼

回复内容:

对: yuanle 实际上DW#16#D4DB71FB就是无符号数的表达方... 内容的回复!


感谢~~

我用的是plc s7-300

我在监控表格里把DW#16#D4DB71FB转换为10进制以后,会出现如下图这样的数字

但我实际上是需要转换后的3571151355这一串数字


但好像DW转换的范围是-2147483647~2147483648,所以我不知道该怎么处理得到我想要的值


求教~~~感激



wjlovelj

  • 精华:0帖
  • 求助:3帖
  • 帖子:15帖 | 169回
  • 年度积分:6
  • 历史总积分:2783
  • 注册:2011年7月11日
发表于:2014-06-23 15:08:26
3楼

DW#16#D4DB71FB  16进制本来就是一个数字表示方法而已。不分正负的,比如说你有没有听说过16进制的16#-71FB嘛。。。。。

wjlovelj

  • 精华:0帖
  • 求助:3帖
  • 帖子:15帖 | 169回
  • 年度积分:6
  • 历史总积分:2783
  • 注册:2011年7月11日
发表于:2014-06-23 15:11:46
4楼

但是DW#16#D4DB71FB这个数字,你做转换后的数据3571151355是无符号的,但是PLC的计算全部是按照有符号计算的。。。


热门招聘
相关主题

官方公众号

智造工程师