jeay
级别: 略有小成
精华主题: 0
发帖数量: 204 个
工控威望: 233 点
下载积分: 679 分
在线时间: 78(小时)
注册时间: 2010-03-28
最后登录: 2023-10-22
查看jeay的 主题 / 回贴
楼主  发表于: 2012-07-30 00:38
FX2N--modbus通讯返回数据错误请高手帮忙看看
描述:程序通讯图片
附件: X2N--modbus通讯.zip (92 K) 下载次数:157
网站提示: 请不要用迅雷下载附件,容易出错
逆流2012
级别: 探索解密
精华主题: 0
发帖数量: 60 个
工控威望: 172 点
下载积分: 4323 分
在线时间: 126(小时)
注册时间: 2012-05-09
最后登录: 2016-03-03
查看逆流2012的 主题 / 回贴
1楼  发表于: 2012-08-06 23:17
你的通讯程序写的有问题,如下:
1 你的程序中的D20是接收区,因此初始化的时候赋值为0就可以了,它将来接受的是你通讯的对方设备传输的数据,不需要你去赋值,只需要初始化就可以了;
2 你的程序中的D70应该是接收数据暂存缓冲区,就是你的D20中接收的数据暂存到这个寄存器区,然后做一些运算处理,比如这些数据是要显示用的等等;
3 你的程序中的D10是发送缓冲区,当数据给定了之后,就可以直接置位M8122,启动发送,发送完成后,M8122会自动复位,然后通过M8123这个接收完成标志去接受数据,如你的程序所写;
个人感觉你应该是看了一些相关的通讯程序,但是并没有吃透这些程序中的各个寄存器及标志位如何使用,建议参照相关的通讯手册中的例子再看看。