yinian 发表于 2022-7-26 22:57:18

咨询是否可以esp8266 同时做modbus tcp 的服务器和modbus rtu的主机?

咨询 esp8266 一边做modbus tcp 的服务器,一边做modbus rtu的主机,是否可以+稳定?
如果可以的话,请问哪里可以找到参考资料?

这样可以通过手机发送modbus的指令到esp8266, esp8266再把命令处理下与modbus rtu的从机通讯。

或者是否有更简洁的办法,让手机可以通过modbus tcp 访问modbus rtu的从机?
谢谢啊

t3486784401 发表于 2022-7-26 23:49:43

不就是tcp转串口么,资源充足。

yinian 发表于 2022-7-27 11:03:55

t3486784401 发表于 2022-7-26 23:49
不就是tcp转串口么,资源充足。
(引用自2楼)

谢谢回复

从tcp转串口,
到modbus tcp, modbus rtu主站转,估计不能直接用,
还需要把协议弄进去吧?

t3486784401 发表于 2022-7-27 13:20:12

yinian 发表于 2022-7-27 11:03
谢谢回复

从tcp转串口,
(引用自3楼)

肯定啊,都不是同一层的协议。高层 Modbus 需要自己移植

chinaboy25 发表于 2022-7-29 08:12:57

modbus网关

yinian 发表于 2022-7-29 09:07:43

chinaboy25 发表于 2022-7-29 08:12
modbus网关
(引用自5楼)

您好,请问这里的网关一定需要有外网或局域网吗?

查了用esp8266来进行modbus 串口到tcp的透传案例,似乎都需要借助外网或局域网。
这里咨询下是否可以esp8266一方面做服务器,另一方面做热点,这样不需要外网让手机通过modbus tcp 协议来跟esp8266通讯?
谢谢啊

wangbin526 发表于 2022-7-29 09:25:17

eModbus库有现成的ModbusBridge模块,将TCP Modbus转换为RTU Modbus,而且是异步的
推荐用ESP32,不过看官方介绍ESP8266也能用,只不过这是一个Arduino库,看下官方文档这种需求1小时内搞定吧

https://emodbus.github.io/modbusbridge

mPiDDR 发表于 2022-7-29 09:41:06

yinian 发表于 2022-7-29 09:07
您好,请问这里的网关一定需要有外网或局域网吗?

查了用esp8266来进行modbus 串口到tcp的透传案例,似 ...
(引用自6楼)

可以,ESP开热点,其他设备连接热点后,再连接TCP服务器,

这个需求,用ESP32 性能更好。

yinian 发表于 2022-10-18 15:46:38

mPiDDR 发表于 2022-7-29 09:41
可以,ESP开热点,其他设备连接热点后,再连接TCP服务器,

这个需求,用ESP32 性能更好。 ...
(引用自8楼)

谢谢, esp8266 最近做了下,确实由于资源不多,还要tcp 转rtu,这样反应速度就下降了不少

如果直接用ESP32, 由于资源丰富, 不需要TCP转RTU, 这样反应速度应该会有质的提升。

正在找ESP32做服务器,进行MODBUS TCP 通讯的例子


wxws 发表于 2022-10-18 19:16:04

这应用8266足够了

yinian 发表于 2022-10-21 08:59:40

wxws 发表于 2022-10-18 19:16
这应用8266足够了
(引用自10楼)

8266 还需要做MODBUS TCP 转 RTU的工作,
ESP 32 由于资源更多,直接就可以进行数据的采集,省去了MODBUS TCP 转 RTU的工作,这个在通讯时间上节省了不少时间

做实验发现MODBUS TCP 转 RTU占用的时间是n *100ms级,比较耗时间

wxws 发表于 2022-10-21 13:13:49

不会吧,难道 我搞的modbus tcp是假的?
就是比RTU前面多了几个0 而已,不需要n*100ms 吧?

https://zhuanlan.zhihu.com/p/171499698
TCP和RTU协议非常类似,只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。

yinian 发表于 2022-10-27 19:03:16

wxws 发表于 2022-10-21 13:13
不会吧,难道 我搞的modbus tcp是假的?
就是比RTU前面多了几个0 而已,不需要n*100ms 吧?

(引用自12楼)

关键是发送出去,还要再接收回来

一来一去时间就多了

wxws 发表于 2022-10-28 07:13:29

yinian 发表于 2022-10-27 19:03
关键是发送出去,还要再接收回来

一来一去时间就多了
(引用自13楼)

你不会是傻傻的 一直在wait吧

都需要流式解析速度才快。

yinian 发表于 2022-11-4 15:17:53

wxws 发表于 2022-10-28 07:13
你不会是傻傻的 一直在wait吧

都需要流式解析速度才快。
(引用自14楼)

数据接收完整才能开始解析吧
所以时间上感觉不可能很快,实验也是这样,毕竟是串口通讯

这个流式解析还是第一次听说,我看看,如果速度能有质的提高,那串口通讯就方便多了
页: [1]
查看完整版本: 咨询是否可以esp8266 同时做modbus tcp 的服务器和modbus rtu的主机?