打印
[STM32F1]

提示Transaction ID error错误

[复制链接]
2633|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
你的是从站还是主站啊

使用特权

评论回复
5
pangb|  楼主 | 2018-8-27 19:56 | 只看该作者


没有人弄过么?modbus移植的事freemodbus标准协议

使用特权

评论回复
6
pangb|  楼主 | 2018-8-27 19:57 | 只看该作者
从站服务器

使用特权

评论回复
7
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 */

定义是这么定义的

使用特权

评论回复
8
pangb|  楼主 | 2018-8-27 20:02 | 只看该作者
用modbus poll调试接受的数据就是哪个TX和RX的数据

使用特权

评论回复
9
morrisk| | 2018-8-27 20:03 | 只看该作者
Modbus TCP前2个字节是transcation id, 回应包必须与请求包一样。

使用特权

评论回复
10
zyf部长| | 2018-8-27 20:05 | 只看该作者
你抓的包发送接收的前2个字节不一致。

使用特权

评论回复
11
juventus9554| | 2018-8-27 20:08 | 只看该作者
在代码中没找到MB_TCP_TID可以修改的位置,acguy你知道在哪修改么?谢谢

使用特权

评论回复
12
llljh| | 2018-8-27 20:10 | 只看该作者
楼主 有没有modbus tcp的例程呢????

使用特权

评论回复
13
zwll| | 2018-8-27 20:11 | 只看该作者
搞定LwIP,移植FreeModbus就可以了,现成的可以用

使用特权

评论回复
14
dingy| | 2018-8-27 20:13 | 只看该作者
你的回应包一片混乱,你该关心的不是这个transaction id. 不是freemodbus,就是lwip的问题。

使用特权

评论回复
15
pengf| | 2018-8-27 20:15 | 只看该作者
下断点,追踪这个回应包怎么生成的。

使用特权

评论回复
16
pangb|  楼主 | 2018-8-27 20:17 | 只看该作者
哦,那我就知道怎么回事了,多谢大家,结贴了哈

使用特权

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

本版积分规则

701

主题

7643

帖子

6

粉丝