3050311118 发表于 2023-10-20 11:30:13

UDP 上跑MODBUS 有人用过吗?

我看网上都是MODBUS on TCP, 用UDP 不更方便吗

鲜衣怒马 发表于 2023-10-20 11:57:33

我猜:丢包后UDP不会重传,工控行业可靠性第一

yplin27 发表于 2023-10-20 12:07:38

UDP看似简单,实际应用上比TCP难多了,譬如两个对同一个地址的写操作[ 0, 1],间隔10ms;接收方可能收到 [ 0, 1] ,, , [ 1, 0]

angler12 发表于 2023-10-20 12:12:49

UDP丢包不会重发,楼主慎用

lyping1987 发表于 2023-10-20 12:20:22

TCP,别搞偏门的东西

UDP有什么优势呢?响应时间不确定,怎么确定是否丢包,超时的判断。

TCP:
1、大家都用,经过了验证
2、有一堆工具可以直接使用,以及类库;
3、TCP是可靠连接,如果查询请求发送后,可以快速的知道对方是否收到,最多等他多久。可以快速查询。。UDP虽然速度可以更快,但你不确定包是丢了还是从机超时。容易堵死。

redworlf007 发表于 2023-10-20 12:42:24

都有网线了,为啥要用modbus这种垃圾东西呢。

qwe2231695 发表于 2023-10-20 12:46:05

udp过路由器后包的顺序可能交换。要在协议层做超时重发

lyping1987 发表于 2023-10-20 12:47:32

redworlf007 发表于 2023-10-20 12:42
都有网线了,为啥要用modbus这种垃圾东西呢。
(引用自6楼)

modbus是一种协议,或者一种交互的规范。介质是TCP而已。

即便有了以太网,数据交互肯定也是要有协议的。

3050311118 发表于 2023-10-20 13:12:20

qwe2231695 发表于 2023-10-20 12:46
udp过路由器后包的顺序可能交换。要在协议层做超时重发
(引用自7楼)

不过路由器,但有交换机   主机带几个从机,想用UDP on MODBUS是因为,我自定协议的时候发现这个项目很适合用MODBUS,就是各种寄存器数据读写。而下位机又不想用TCP 负担有点重,RAW UDP 简洁一点
不好的话 我还是自定义算了

polarbear 发表于 2023-10-20 14:52:10

redworlf007 发表于 2023-10-20 12:42
都有网线了,为啥要用modbus这种垃圾东西呢。
(引用自6楼)

西门子垃圾么? ABB垃圾么? 人家的接口就是 MODBUS TCP

难道人家工业上把通讯改成互联网那个JSON 格式上发下传才叫先进


我倒是看过那群秃顶程序猿叫个搞单片机的直接串口传JSON 格式命令;连效验都不加

qwe2231695 发表于 2023-10-20 15:00:00

polarbear 发表于 2023-10-20 14:52
西门子垃圾么? ABB垃圾么? 人家的接口就是 MODBUS TCP

难道人家工业上把通讯改成互联网那个JSON 格式 ...
(引用自10楼)

JSON 格式对单片机来说就是字符串,很不稳定,解析还要消耗很多内存

wx-ta 发表于 2023-10-20 15:13:55

可用,好用,modbus是请求响应模型,UDP封包不用担心粘包,至于乱序问题,不会加个序列号吗?

redworlf007 发表于 2023-10-20 18:17:58

polarbear 发表于 2023-10-20 14:52
西门子垃圾么? ABB垃圾么? 人家的接口就是 MODBUS TCP

难道人家工业上把通讯改成互联网那个JSON 格式 ...
(引用自10楼)

大哥,有网线,直接tcp协议上面跑json,tcp能保证数据完整性,和串口不是一个原理。
工业上大把的modbus那是历史遗留问题,但不代表就是好,科技是在进步的。网络时代没必要一定固守之前的东西。

redworlf007 发表于 2023-10-20 18:19:16

qwe2231695 发表于 2023-10-20 15:00
JSON 格式对单片机来说就是字符串,很不稳定,解析还要消耗很多内存
(引用自11楼)

能跑的起tcp ip协议栈的系统,不差那点内存。

云贵3314 发表于 2023-10-20 18:32:39

哈哈哈 怎么方便怎么搞我还在CAN上发送 自定义 JSON协议呢自己打包 校验,,,MODBUS数据载荷 一样塞JSON进去

wx-ta 发表于 2023-10-20 23:41:41

云贵3314 发表于 2023-10-20 18:32
哈哈哈 怎么方便怎么搞我还在CAN上发送 自定义 JSON协议呢自己打包 校验,,,MODBUS数据载荷 一样塞 ...
(引用自15楼)

赞同,紫薯布丁

unifax001 发表于 2023-10-21 09:46:04

redworlf007 发表于 2023-10-20 12:42
都有网线了,为啥要用modbus这种垃圾东西呢。
(引用自6楼)

是的!我赞成

redworlf007 发表于 2023-10-21 19:51:09

unifax001 发表于 2023-10-21 09:46
是的!我赞成
(引用自17楼)

谢谢,哈哈哈。

陆小凤之北京 发表于 2023-10-25 13:29:21

UDP自定义通讯就行,可以借鉴MODBUS的帧结构和命令,做成主从应答,增加重发机制。适合够用就行。

如果对可靠性要求高,TCP肯定要好很多。

初音之恋 发表于 2023-10-25 16:58:42

redworlf007 发表于 2023-10-20 18:19
能跑的起tcp ip协议栈的系统,不差那点内存。
(引用自14楼)

单片机跑JSON太痛苦,上位机是简单,一个反序列化函数就能直接生成对象,单片机最喜欢直接一个指针扎出一个结构体{:lol:}
页: [1]
查看完整版本: UDP 上跑MODBUS 有人用过吗?