[STM32F1] 提示Transaction ID error错误

[复制链接]
 楼主| pangb 发表于 2018-8-27 19:46 | 显示全部楼层 |阅读模式

107+lwip+modbus TCP方式通信。但是连接modbus poll以后提示Transaction ID error错误???
chenjunt 发表于 2018-8-27 19:48 | 显示全部楼层

抓到的数据?
 楼主| pangb 发表于 2018-8-27 19:53 | 显示全部楼层

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
ousj 发表于 2018-8-27 19:54 | 显示全部楼层
你的是从站还是主站啊
 楼主| pangb 发表于 2018-8-27 19:56 | 显示全部楼层


没有人弄过么?modbus移植的事freemodbus标准协议
 楼主| pangb 发表于 2018-8-27 19:57 | 显示全部楼层
从站服务器
 楼主| pangb 发表于 2018-8-27 20:00 | 显示全部楼层
#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 */

定义是这么定义的
 楼主| pangb 发表于 2018-8-27 20:02 | 显示全部楼层
用modbus poll调试接受的数据就是哪个TX和RX的数据
morrisk 发表于 2018-8-27 20:03 | 显示全部楼层
Modbus TCP前2个字节是transcation id, 回应包必须与请求包一样。
zyf部长 发表于 2018-8-27 20:05 | 显示全部楼层
你抓的包发送接收的前2个字节不一致。
juventus9554 发表于 2018-8-27 20:08 | 显示全部楼层
在代码中没找到MB_TCP_TID可以修改的位置,acguy你知道在哪修改么?谢谢
llljh 发表于 2018-8-27 20:10 | 显示全部楼层
楼主 有没有modbus tcp的例程呢????
zwll 发表于 2018-8-27 20:11 | 显示全部楼层
搞定LwIP,移植FreeModbus就可以了,现成的可以用
dingy 发表于 2018-8-27 20:13 | 显示全部楼层
你的回应包一片混乱,你该关心的不是这个transaction id. 不是freemodbus,就是lwip的问题。
pengf 发表于 2018-8-27 20:15 | 显示全部楼层
下断点,追踪这个回应包怎么生成的。
 楼主| pangb 发表于 2018-8-27 20:17 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家,结贴了哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

7643

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部

701

主题

7643

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部