求助:modbus通讯的问题 点击:2286 | 回复:7



令丰

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 30回
  • 年度积分:0
  • 历史总积分:63
  • 注册:2004年12月12日
发表于:2005-10-18 10:00:00
楼主
我用modbus协议向保持寄存器读写浮点数,浮点数是32位的,而06功能码只能写入16位数,请问怎么才能写入浮点数?   还有消息桢的3.5个字符的间隔应如何实现?请高手指教!!



gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2005-10-27 09:24:00
1楼
我觉得可以用功能码16来完成。

艮泽

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 104回
  • 年度积分:0
  • 历史总积分:189
  • 注册:2004年6月15日
发表于:2005-10-28 09:21:00
2楼
这个看你下面的设备了 如果是标准的IEEE754就可以了,直接写两个寄存器,如果不是参考说明进行响应的处理。

如火

  • 精华:172帖
  • 求助:0帖
  • 帖子:803帖 | 5249回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2005-10-28 13:24:00
3楼
可以用06功能码分两次写入16位数据,组合成一个浮点数。也可以用16号命令一次写于多个寄存器。

天下草民

  • 精华:0帖
  • 求助:0帖
  • 帖子:107帖 | 1044回
  • 年度积分:0
  • 历史总积分:1477
  • 注册:2003年10月28日
发表于:2005-10-29 09:38:00
4楼
3.5个字符的间隔根据波特率的多少来确定具体的时间值,采用定时器的方式,超过这个间隔则认为帧结束

QQ:10815405  MSN:xiahj@163.com

欢迎交流

昨日重现

  • 精华:1帖
  • 求助:0帖
  • 帖子:17帖 | 519回
  • 年度积分:0
  • 历史总积分:747
  • 注册:2005年8月05日
发表于:2005-11-26 19:03:00
5楼
学习中

chenron2373_cn

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2004年12月20日
发表于:2005-12-03 16:47:00
6楼
放大10倍传输,解释时在还原。

无欢

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 102回
  • 年度积分:0
  • 历史总积分:131
  • 注册:2005年5月25日
发表于:2006-03-09 09:57:00
7楼
都是高人啊,收益非浅呀

热门招聘
相关主题

官方公众号

智造工程师