wjm111
级别: 略有小成
精华主题: 0
发帖数量: 151 个
工控威望: 346 点
下载积分: 519 分
在线时间: 261(小时)
注册时间: 2006-11-05
最后登录: 2024-04-29
查看wjm111的 主题 / 回贴
楼主  发表于: 2018-10-26 14:57
我用FX3u-485ADP-MB与称重仪作通信读取数据,我写的程序无法读取,求大神指正。

附件为程序及称重仪手册
附件: 320说明书 A5版.pdf (3119 K) 下载次数:55
网站提示: 请不要用迅雷下载附件,容易出错
附件: 测试.zip (177 K) 下载次数:40
网站提示: 请不要用迅雷下载附件,容易出错
zhangqi_1234
级别: 略有小成
精华主题: 0
发帖数量: 336 个
工控威望: 487 点
下载积分: 4001 分
在线时间: 246(小时)
注册时间: 2013-03-22
最后登录: 2024-05-11
查看zhangqi_1234的 主题 / 回贴
1楼  发表于: 2018-11-01 22:31
有些测量仪器输出的数据就是32位浮点数,你那个仪器,我不清楚数据排列是怎样的。我以某一款测量三相电量仪表为例说明一下,希望你可以从中得到启发。情况是这样的:
1、测量输出值是32位浮点数,其中低16位存放在第1个保持寄存器,高16位存放在第2个保持寄存器。
2、读取的每个保持寄存器数据是高8位在前,低8位在后。
3、三菱PLC的32位浮点数是由2个地址连续的寄存器存储,存储格式是低16位存入第1个,高16位存入第2个。例如,D1-D2存储浮点数,那么D1存储低16位,D2存储高16位。
4、根据三述上点描述,转换方法是,先把读取的仪表每个保持寄存器的高8位和低8位数据,组成一个16位数据,再把2个保持寄存器数据,按照低16位、高16位的顺序存入PLC的2个地址连续的D寄存器,这样就得到了浮点数。 我也是得到奇怪的数据后,经过思考才发现问题所在。
[ 此帖被zhangqi_1234在2018-11-02 12:16重新编辑 ]
本帖最近评分记录:
  • 下载积分:+5(最远是多远) 好贴好贴!