打印
[STM32F1]

提示Transaction ID error错误

[复制链接]
1279|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pangb|  楼主 | 2017-7-24 23:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
107+lwip+modbus TCP方式通信。但是连接modbus poll以后提示Transaction ID error错误???
沙发
chenjunt| | 2017-7-24 23:52 | 只看该作者
抓到的数据?

使用特权

评论回复
板凳
pangb|  楼主 | 2017-7-24 23: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| | 2017-7-24 23:53 | 只看该作者

你的是从站还是主站啊

使用特权

评论回复
5
pangb|  楼主 | 2017-7-24 23:57 | 只看该作者

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

使用特权

评论回复
6
pangb|  楼主 | 2017-7-24 23:58 | 只看该作者
从站服务器

使用特权

评论回复
7
pangb|  楼主 | 2017-7-24 23:58 | 只看该作者
#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|  楼主 | 2017-7-24 23:59 | 只看该作者

用modbus poll调试接受的数据就是哪个TX和RX的数据

使用特权

评论回复
9
morrisk| | 2017-7-25 22:40 | 只看该作者
Modbus TCP前2个字节是transcation id, 回应包必须与请求包一样。

使用特权

评论回复
10
zyf部长| | 2017-7-25 22:41 | 只看该作者

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

使用特权

评论回复
11
juventus9554| | 2017-7-25 22:42 | 只看该作者

在代码中没找到MB_TCP_TID可以修改的位置,acguy你知道在哪修改么?谢谢

使用特权

评论回复
12
llljh| | 2017-7-25 22:43 | 只看该作者

楼主 有没有modbus tcp的例程呢????

使用特权

评论回复
13
zwll| | 2017-7-25 22:48 | 只看该作者


搞定LwIP,移植FreeModbus就可以了,现成的可以用

使用特权

评论回复
14
dingy| | 2017-7-25 22:50 | 只看该作者

你的回应包一片混乱,你该关心的不是这个transaction id. 不是freemodbus,就是lwip的问题。

使用特权

评论回复
15
pengf| | 2017-7-25 22:51 | 只看该作者

下断点,追踪这个回应包怎么生成的。

使用特权

评论回复
16
pangb|  楼主 | 2017-7-25 22:52 | 只看该作者

哦,那我就知道怎么回事了,多谢大家,结贴了哈

使用特权

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

本版积分规则

701

主题

7643

帖子

6

粉丝