搜索
bottom↓
回复: 19

UDP 上跑MODBUS 有人用过吗?

[复制链接]

出0入0汤圆

发表于 2023-10-20 11:30:13 | 显示全部楼层 |阅读模式
我看网上都是MODBUS on TCP, 用UDP 不更方便吗

出50入58汤圆

发表于 2023-10-20 11:57:33 | 显示全部楼层
我猜:丢包后UDP不会重传,工控行业可靠性第一

出0入148汤圆

发表于 2023-10-20 12:07:38 | 显示全部楼层
UDP看似简单,实际应用上比TCP难多了,譬如两个对同一个地址的写操作[ 0, 1],间隔10ms;接收方可能收到 [ 0, 1] ,[0], [1], [ 1, 0]

出110入8汤圆

发表于 2023-10-20 12:12:49 | 显示全部楼层
UDP丢包不会重发,楼主慎用

出235入235汤圆

发表于 2023-10-20 12:20:22 | 显示全部楼层
TCP,别搞偏门的东西

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

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

出0入36汤圆

发表于 2023-10-20 12:42:24 来自手机 | 显示全部楼层
都有网线了,为啥要用modbus这种垃圾东西呢。

出105入79汤圆

发表于 2023-10-20 12:46:05 | 显示全部楼层
udp过路由器后包的顺序可能交换。要在协议层做超时重发

出235入235汤圆

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

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

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

出0入0汤圆

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

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

出0入59汤圆

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

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

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


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

出105入79汤圆

发表于 2023-10-20 15:00:00 | 显示全部楼层
polarbear 发表于 2023-10-20 14:52
西门子垃圾么? ABB垃圾么? 人家的接口就是 MODBUS TCP

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

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

出0入0汤圆

发表于 2023-10-20 15:13:55 | 显示全部楼层
可用,好用,modbus是请求响应模型,UDP封包不用担心粘包,至于乱序问题,不会加个序列号吗?

出0入36汤圆

发表于 2023-10-20 18:17:58 来自手机 | 显示全部楼层
polarbear 发表于 2023-10-20 14:52
西门子垃圾么? ABB垃圾么? 人家的接口就是 MODBUS TCP

难道人家工业上把通讯改成互联网那个JSON 格式 ...

(引用自10楼)

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

出0入36汤圆

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

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

出0入0汤圆

发表于 2023-10-20 18:32:39 | 显示全部楼层
哈哈哈 怎么方便怎么搞  我还在CAN上  发送 自定义 JSON协议呢  自己打包 校验,,,MODBUS数据载荷 一样塞JSON进去

出0入0汤圆

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

赞同,紫薯布丁

出0入54汤圆

发表于 2023-10-21 09:46:04 | 显示全部楼层
redworlf007 发表于 2023-10-20 12:42
都有网线了,为啥要用modbus这种垃圾东西呢。
(引用自6楼)

是的!我赞成

出0入36汤圆

发表于 2023-10-21 19:51:09 来自手机 | 显示全部楼层

谢谢,哈哈哈。

出0入0汤圆

发表于 2023-10-25 13:29:21 | 显示全部楼层
UDP自定义通讯就行,可以借鉴MODBUS的帧结构和命令,做成主从应答,增加重发机制。适合够用就行。

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

出0入16汤圆

发表于 2023-10-25 16:58:42 | 显示全部楼层
redworlf007 发表于 2023-10-20 18:19
能跑的起tcp ip协议栈的系统,不差那点内存。
(引用自14楼)

单片机跑JSON太痛苦,上位机是简单,一个反序列化函数就能直接生成对象,单片机最喜欢直接一个指针扎出一个结构体
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 06:29

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表