实现modbus通讯协议的思路

[复制链接]
7749|14
 楼主| wuaaa 发表于 2010-5-25 09:43 | 显示全部楼层 |阅读模式
兄弟姐妹们,我刚接触modbus,谁能说一下实现modbus的具体思路吗?具体步骤。我现在不知道如何下手了
 楼主| wuaaa 发表于 2010-5-25 09:44 | 显示全部楼层
大侠们帮帮忙啊,我自己体会的话会走不少弯路。
jiabin1024 发表于 2010-5-25 10:30 | 显示全部楼层
找点资料看看不就知道了,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wuaaa 发表于 2010-5-25 15:11 | 显示全部楼层
我有一些资料,但不明白协议中的字符帧(11位)和消息帧(地址码、功能码...8bit)是什么关系,
是包含关系吗?比如单说消息帧中的功能码的格式就是前面提到的字符帧格式吗?8和11又是怎么回事
zuoyou 发表于 2010-5-28 10:22 | 显示全部楼层
买个具有MODBUS引擎的多串口扩展芯片不就得了
SPI接口,4个UART,每通道256bytes,28 pin(SDIP)
stonejust 发表于 2010-5-30 07:28 | 显示全部楼层
把复杂的东西简单化就好了。搞个modscan看看它发的数,就明白了。消息帧是你发送的一组(n个字节)数据的总称,11位的是串行通讯一个字节由11个二进制组成,1起始位8数据位1校验位1停止位(如无校验位为2停止位)。刚搞了个项目,两次用到modbus RTU,一点建议:首先两个软件很好很强大,modscan和modsim,一主一从,外加一个232-485转换器,如果必要的话还有一根usb-232转换线。这个东西没有捷径,网上有不少程序参考,自己学习吧。
 楼主| wuaaa 发表于 2010-5-31 15:19 | 显示全部楼层
本帖最后由 wuaaa 于 2010-5-31 15:22 编辑

谢谢,但是消息帧中每一位都要求是8bit,是不是字符帧(11bit)中的起止位不用管,发送数据时硬件自动置低或置高?PIC传送数据时一次最多只能传送9bit吧?
stonejust 发表于 2010-5-31 17:28 | 显示全部楼层
晕!8位或9位是你发的,还有3位(8位)或2位(9位)你不用理他,自动生成的。你那个帖子回头再回复你,下班了。
 楼主| wuaaa 发表于 2010-6-1 16:07 | 显示全部楼层
谢谢8楼的兄弟,我一直疑惑多出的那几位是不是不用管,只是没能确定。这下确定了
stonejust 发表于 2010-6-3 08:36 | 显示全部楼层
客气了。
pqsh 发表于 2010-6-4 11:12 | 显示全部楼层
想得太复杂了.
串口的实现不用管的,能收能发8位的数据就行了.在modbusrtu层,你就认为是一串数字的格式好了.
6楼说得很清楚了.补充一下,pic出来的应是TTL(或近似)信号电平,用PC调试的话,要转232或者485信号.因为电平的关系,转485的要简单得多.
貌似大家习惯modscan,其实有款更好的modbus调试软件,mdbus,好像是calta的.
stonejust 发表于 2010-6-5 09:30 | 显示全部楼层
11楼你好,哪里有mdbus,找到几个不能下载。有的话能否共享一个,O(∩_∩)O谢谢!
yun_xiao 发表于 2010-6-5 10:14 | 显示全部楼层
附议。
chengqing3968 发表于 2014-6-13 16:06 | 显示全部楼层
学些了……
949155525 发表于 2014-6-29 20:04 | 显示全部楼层
embedded-solutions.at
这是个http连接
不看广告看疗效
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

40

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部