打印
[STM32F1]

modbus tcp

[复制链接]
1606|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1021256354|  楼主 | 2015-10-22 10:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
107+lwip+modbus TCP方式通信。但是连接modbus poll以后提示Transaction ID error错误???
communication traffic抓到的数据:
000313-Tx:38 32 00 00 00 06 01 02 00 00 00 04
000314-Rx:20 A1 B6 53 54 4D 33 32 20 42 6F 61 72 64 20 43 6F 6E 6E 65 63 74 65 64 20 53 75 63 63 65 73 73 66 75 6C 6C 79 21 A1 B7 0D 0A 38 32 00 00 00 04 01 02 01 00

沙发
1021256354|  楼主 | 2015-10-23 17:05 | 只看该作者
没有人弄过么?modbus移植的事freemodbus标准协议

使用特权

评论回复
板凳
qq4988| | 2015-10-23 17:23 | 只看该作者
你的是从站还是主站啊

使用特权

评论回复
地板
1021256354|  楼主 | 2015-10-23 17:28 | 只看该作者
从站服务器

使用特权

评论回复
5
1021256354|  楼主 | 2015-10-23 17:32 | 只看该作者
  #define MB_TCP_TID          0
#define MB_TCP_PID          2   //2
#define MB_TCP_LEN          4        //4
#define MB_TCP_UID          6  //6
#define MB_TCP_FUNC         7  //7

#define MB_TCP_PROTOCOL_ID  0   /* 0 = Modbus Protocol */

定义是这么定义的

使用特权

评论回复
6
1021256354|  楼主 | 2015-10-23 17:33 | 只看该作者
用modbus poll调试接受的数据就是哪个TX和RX的数据

使用特权

评论回复
7
acguy| | 2015-10-23 21:30 | 只看该作者
本帖最后由 acguy 于 2015-10-23 21:32 编辑

Modbus TCP前2个字节是transcation id, 回应包必须与请求包一样。

你抓的包发送接收的前2个字节不一致。

使用特权

评论回复
8
1021256354|  楼主 | 2015-10-24 11:18 | 只看该作者
在代码中没找到MB_TCP_TID可以修改的位置,acguy你知道在哪修改么?谢谢

使用特权

评论回复
9
再一次心跳6699| | 2015-10-24 11:43 | 只看该作者
楼主 有没有modbus tcp的例程呢????

使用特权

评论回复
10
yklstudent| | 2015-10-24 11:56 | 只看该作者
搞定LwIP,移植FreeModbus就可以了,现成的可以用

使用特权

评论回复
11
acguy| | 2015-10-24 13:06 | 只看该作者
1021256354 发表于 2015-10-24 11:18
在代码中没找到MB_TCP_TID可以修改的位置,acguy你知道在哪修改么?谢谢


你的回应包一片混乱,你该关心的不是这个transaction id. 不是freemodbus,就是lwip的问题。
下断点,追踪这个回应包怎么生成的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:多读书 多看报 少吃零食 多睡觉

148

主题

642

帖子

3

粉丝