搜索
bottom↓
回复: 17

我想实现Modbus TCP 主机,简单地转换成modbus tcp 数据帧格式发出去就行? 

[复制链接]

出0入0汤圆

发表于 2020-7-26 18:49:20 | 显示全部楼层 |阅读模式
我想实现Modbus TCP 主机,功能比较简单,打算自己弄协议。  
假如我有一个串口转网口,是不是我简单地把Modbus RTU的数据格式转换成modbus tcp 数据帧格式,通过串口转网口发出去,也能实现modbus tcp的效果。接收数据也作一次转换。
-------------------------
注:可以灌水,如果回复问题,希望真的了解才回复,不要想当然,另外,我想实现主机功能,不是从机功能。

阿莫论坛20周年了!感谢大家的支持与爱护!!

阿莫论坛才是最爱国的,关心国家的经济、社会的发展、担心国家被别国牵连卷入战争、知道珍惜来之不易的和平发展,知道师夷之长,关注世界的先进文化与技术,也探讨中国文化的博大精深,也懂得警惕民粹主义的祸国殃民等等等等,无不是爱国忧民的表现。(坛友:tianxian)

出0入22汤圆

发表于 2020-7-26 19:36:53 来自手机 | 显示全部楼层
不明觉厉,不懂modbustcp为什么会跟串口扯上关系。

出0入16汤圆

发表于 2020-7-26 19:53:40 | 显示全部楼层
TCP都没有modbus 地址的,转串口怎么连?设备地址怎么识别?

出0入0汤圆

 楼主| 发表于 2020-7-26 21:20:46 | 显示全部楼层
zxq6 发表于 2020-7-26 19:36
不明觉厉,不懂modbustcp为什么会跟串口扯上关系。

是我表达错误了。假如我有一个串口转网口,是不是我简单地把Modbus RTU的数据格式转换成modbus tcp 数据帧格式,通过串口转网口发出去,也能实现modbus tcp的效果。接收数据也作一次转换。

出0入0汤圆

发表于 2020-7-26 21:39:00 | 显示全部楼层
串口的我都搞的晕了,期待LZ解决问题

出0入50汤圆

发表于 2020-7-26 21:46:02 | 显示全部楼层
LZ 想法完全没有问题,相信哥。

出0入110汤圆

发表于 2020-7-26 21:46:27 | 显示全部楼层
完全没问题,用串口网口透传的就可以。Modbus从机是UDP服务器,Modbus主机是UDP客户端。只要串口收到的数据按照Modbus-TCP的格式处理就可以了。串口处理时需要字节数和超时并用。

Modbus-TCP协议比Modbus-RTU来说只是在地址码前面多了一些描述性的字节。

出0入0汤圆

 楼主| 发表于 2020-7-27 05:49:08 | 显示全部楼层
lovejp1981 发表于 2020-7-26 21:46
完全没问题,用串口网口透传的就可以。Modbus从机是UDP服务器,Modbus主机是UDP客户端。只要串口收到的数据 ...

这样就好办了,可以进行模块化处理。另外,端口是502吧!

出0入0汤圆

发表于 2020-7-27 07:25:20 来自手机 | 显示全部楼层
not_at_all 发表于 2020-7-26 21:20
是我表达错误了。假如我有一个串口转网口,是不是我简单地把Modbus RTU的数据格式转换成modbus tcp 数据 ...

你表达的意思应该是modbus rtu over tcp吧,这个肯定没问题的,买个串口服务器就可以了

出0入4汤圆

发表于 2020-7-27 08:25:19 | 显示全部楼层
现在已经有 modbus RTU转TCP的串口服务器,何必那么麻烦

出20入186汤圆

发表于 2020-7-27 08:38:30 | 显示全部楼层
可以的啊,实现很简单的,只是在标准MODBUS协议上多了几个字节的头而已

出100入85汤圆

发表于 2020-7-27 09:24:58 | 显示全部楼层
lwy86 发表于 2020-7-27 08:25
现在已经有 modbus RTU转TCP的串口服务器,何必那么麻烦

对,花100~200块买个Modbus rtu转485模块,根本不用操心这些事

如果你自己要做这个模块,可以上github,gitee上搜索 rtu TCP 试试

出0入0汤圆

 楼主| 发表于 2020-7-27 12:29:46 | 显示全部楼层
lwy86 发表于 2020-7-27 08:25
现在已经有 modbus RTU转TCP的串口服务器,何必那么麻烦

我是要自己做,所以这里探讨的是实现方案.   高手的话可以直接弄出个modbus TCP程序,但我不是高手,只能分成n个独立模块,一块块地啃,最终合并起来.

出0入0汤圆

发表于 2020-7-27 13:43:56 | 显示全部楼层
modbus-RTU的帧和Modbus-TCP的帧是不一样的,不是简单的透传就可以的

出0入0汤圆

发表于 2020-7-30 10:17:30 | 显示全部楼层
icexiong 发表于 2020-7-27 13:43
modbus-RTU的帧和Modbus-TCP的帧是不一样的,不是简单的透传就可以的

此楼正解

出90入0汤圆

发表于 2020-7-30 10:33:26 | 显示全部楼层
基本一样,modbus-tcp不需要校验,因为tcp协议自身已经有校验了,另外说modbus-tcp没地址的人,仔细看看规约,MBAP头中有单元标识符,通常就用于取得modbus-rtu中的从站地址

出16490入6836汤圆

发表于 2020-8-3 10:30:44 来自手机 | 显示全部楼层
 【请教Modbus TCP 主机实现方式】标题不合格。警告一次。这次我帮你修改了。
    发表主题帖子,标题必须充分说明帖子内容
     比如你要问AVR的ADC如何才能测量得比较准确,使用标题:“AVR的ADC如何消除干扰测量得比较准确?”。以下的标题不合格:
           不合格举例1:小女子冰天雪地裸体跪求解决方法
          不合格举例2:高手请出招,一个无法解决的AVR问题
          不合格举例3:一个困扰学习单片机初学者,惊动单片机开发者的难题 
          不合格举例4:AVR的ADC测量   (点评:问问题,或是有技术心得与大家分享?)

出0入0汤圆

 楼主| 发表于 2020-8-4 06:03:09 | 显示全部楼层
armok. 发表于 2020-8-3 10:30
 【请教Modbus TCP 主机实现方式】标题不合格。警告一次。这次我帮你修改了。
    发表主题帖子,标题 ...

下次会注意.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-19 01:22

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

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