搜索
bottom↓
回复: 104

在STM32F103 C8T6上采用MODBUS协议实现开关量输入输出采集

  [复制链接]

出0入0汤圆

发表于 2015-5-5 15:36:02 | 显示全部楼层 |阅读模式
实验内容:在板子上移植FREEMODBUS从机协议,实现开关量的输入输出采集
实验平台:基于MINI STM32 C8T6 板子
源      码:
调试软件:
例程使用说明:
补充说明:本例程是采用MODBUS 协议实现的,为了实现MODBUS 协议,我们移植了一个叫FREE MODBUS 协议栈。
关于FREE MODBUS 协议栈,在这里就不做介绍了,请用户在这个协议栈的官方了解学习:http://www.freemodbus.org/index.php?lang=cn
通讯连接示意图:

本帖子中包含更多资源

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

x

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

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2015-5-5 15:55:49 | 显示全部楼层
谢谢 楼主 分享

出0入0汤圆

发表于 2015-5-5 16:15:27 | 显示全部楼层
挖槽,还买过楼主的板子

出0入0汤圆

发表于 2015-5-5 17:20:45 | 显示全部楼层
不错 ,谢谢楼主 。
不知道楼主有没有 modbus主机板子 。用来控制伺服的

出0入0汤圆

发表于 2015-5-5 18:54:20 | 显示全部楼层
收下了!找时间看看!

出0入4汤圆

发表于 2015-5-5 20:14:35 | 显示全部楼层
谢谢
   

出0入0汤圆

发表于 2015-5-6 06:59:00 | 显示全部楼层
收下了  谢谢分享    有意想用这个协议

出0入0汤圆

 楼主| 发表于 2015-5-6 09:36:39 | 显示全部楼层
jacky_yhy 发表于 2015-5-5 16:15
挖槽,还买过楼主的板子

出0入0汤圆

 楼主| 发表于 2015-5-6 11:05:51 | 显示全部楼层
qs6361036 发表于 2015-5-5 17:20
不错 ,谢谢楼主 。
不知道楼主有没有 modbus主机板子 。用来控制伺服的

暂时还没有。                                      

出0入0汤圆

发表于 2015-5-6 11:15:30 | 显示全部楼层
哈哈  楼主的淘宝店 我以前去过
谢谢楼主的分享  mark

出0入0汤圆

发表于 2015-5-6 11:20:26 | 显示全部楼层
资料很好,谢谢楼主分享。

出0入53汤圆

发表于 2015-5-6 11:32:39 | 显示全部楼层
正好用着  先收藏了

出0入0汤圆

 楼主| 发表于 2015-5-6 14:49:05 | 显示全部楼层
lans0625 发表于 2015-5-6 11:20
资料很好,谢谢楼主分享。

不客气。

出0入0汤圆

 楼主| 发表于 2015-5-7 13:30:26 | 显示全部楼层
lansen0815 发表于 2015-5-6 11:15
哈哈  楼主的淘宝店 我以前去过
谢谢楼主的分享  mark

不客气。

出0入0汤圆

发表于 2015-5-7 18:30:16 | 显示全部楼层
正在研究关于STM8的modbus总线协议 谢谢楼主

出0入0汤圆

发表于 2015-5-7 19:48:54 | 显示全部楼层
好东西,感谢分享

出0入0汤圆

发表于 2015-5-8 21:51:23 | 显示全部楼层
多谢楼主分享

出0入0汤圆

发表于 2015-5-9 00:33:01 | 显示全部楼层
多谢楼主分享。非常好用。

出0入0汤圆

 楼主| 发表于 2015-5-10 14:20:46 来自手机 | 显示全部楼层
不客气。              

出0入0汤圆

 楼主| 发表于 2015-5-10 14:21:03 来自手机 | 显示全部楼层
不客气。              

出0入0汤圆

发表于 2015-5-10 18:19:48 | 显示全部楼层
谢谢分享。

出0入0汤圆

 楼主| 发表于 2015-5-11 11:03:08 | 显示全部楼层
ST单片机学者 发表于 2015-5-7 18:30
正在研究关于STM8的modbus总线协议 谢谢楼主

                  

出0入0汤圆

发表于 2015-5-11 11:28:02 | 显示全部楼层
modbus从机 还是比较容易实现的~

出0入0汤圆

 楼主| 发表于 2015-5-19 16:42:59 | 显示全部楼层
                                                                                                               

出0入0汤圆

发表于 2015-5-20 06:52:53 | 显示全部楼层
收下了!找时间看看!

出0入0汤圆

发表于 2015-5-20 06:57:26 来自手机 | 显示全部楼层
收藏,学习了

出0入0汤圆

 楼主| 发表于 2015-5-26 10:35:48 | 显示全部楼层
                                         

出0入0汤圆

 楼主| 发表于 2015-7-6 09:32:53 | 显示全部楼层
Shaopus 发表于 2015-5-9 00:33
多谢楼主分享。非常好用。

谢谢,希望对你有用。                                                                                                                       

出0入0汤圆

发表于 2015-7-6 14:44:00 | 显示全部楼层
感谢楼主分享,找时间折腾一下stm32

出0入0汤圆

 楼主| 发表于 2015-7-7 15:42:54 | 显示全部楼层
yylwt 发表于 2015-7-6 14:44
感谢楼主分享,找时间折腾一下stm32

不客气。      

出0入0汤圆

发表于 2015-7-8 20:21:32 | 显示全部楼层
谢谢楼主的分享,我准备上ucos+modbus,modbus没有用freemodbus

出0入0汤圆

 楼主| 发表于 2015-7-9 10:41:36 | 显示全部楼层
lujan1 发表于 2015-7-8 20:21
谢谢楼主的分享,我准备上ucos+modbus,modbus没有用freemodbus

不客气。           

出0入0汤圆

发表于 2015-7-13 11:33:49 | 显示全部楼层

楼主,我想问一个愚昧的问题。
1.free modbus从机怎么广播接收
2.他支持的那些modbus协力命令,是不是每个命令的函数名已经都定义好了。你需要用到(也就是支持那个命令)就去写那个函数。然后把你需要修改的数组在里面替换掉!
当前还没有完全找到它在那里修改和调用你在mian里面写的函数!

出0入0汤圆

 楼主| 发表于 2015-7-13 11:59:52 | 显示全部楼层
苹果520 发表于 2015-7-13 11:33
楼主,我想问一个愚昧的问题。
1.free modbus从机怎么广播接收
2.他支持的那些modbus协力命令,是不是每 ...

FreeMODBUS 是针对通用的Modbus协议栈在嵌入式系统中应用的一个实现。Modbus协议是一个在工业制造领域中得到广泛应用的一个网络协议。一个Modbus通信协议栈包括两层:定义了数据结构和功能Modbus应用协议和网络层。在FreeMODBUS的当前版本中,提供了Modbus Application Protocol v1.1a 的实现并且支持在Modbus over serial line specification 1.0中定义的RTU/ASCII传输模式。从0.7版本开始,FreeModbus也支持在TCP defined in Modbus Messaging on TCP/IP Implementation Guide v1.0a中定义的TCP传输。Freemodbus遵循BSD[1] ,这意味着本协议栈的实现代码可以应用于商业用途。目前版本的FreeModbus支持如下的功能码:
读输入寄存器 (0x04)
读保持寄存器 (0x03)
写单个寄存器 (0x06)
写多个寄存器 (0x10)
读/写多个寄存器 (0x17)
读取线圈状态 (0x01)
写单个线圈 (0x05)
写多个线圈 (0x0F)
读输入状态 (0x02)
报告从机标识 (0x11)
本实现基于最新的标准并且与标准完全兼容。接收和传输Modbus RTU/ASCII数据帧是通过一个由硬件提取层的调用来驱动状态机来实现的。这就使得该协议非常容易移植到其他的平台之上。当收到一个完整的数据帧后,该数据帧被传入Modbus应用层,数据帧的内容在该层得到解析。为例方便增加新的Modbus功能,Freemodbus在应用层通提供了Hooks。

出0入0汤圆

发表于 2015-7-13 12:18:18 | 显示全部楼层
jiaxinhui 发表于 2015-7-13 11:59
FreeMODBUS 是针对通用的Modbus协议栈在嵌入式系统中应用的一个实现。Modbus协议是一个在工业制造领域中 ...

楼主,谢谢你的回复。可能是我表达的方式有问题,我需要询问的是在程序里面的表现!

出0入0汤圆

发表于 2015-7-13 12:35:48 | 显示全部楼层
谢谢 楼主 分享

出0入0汤圆

发表于 2015-7-13 15:17:24 | 显示全部楼层
本帖最后由 苹果520 于 2015-7-13 15:21 编辑

000142-Tx:01 02 00 00 00 03 38 0B
000143-Rx:7F BF FF FF F9 8F
000144-Tx:01 02 00 00 00 03 38 0B
000145-Rx:7F BF FF FF F9 8F
000146-Tx:01 02 00 00 00 03 38 0B
000147-Rx:7F BF FF FF F9 8F
000148-Tx:01 02 00 00 00 03 38 0B
000149-Rx:7F BF FF FF F9 8F
这个是我刚刚测试的结果,我基本没有修改楼主的代码,只是修改了使能管脚!把按钮管脚变了下!
下面是楼主提供软件的测试结果

本帖子中包含更多资源

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

x

出0入0汤圆

 楼主| 发表于 2015-7-15 17:36:34 | 显示全部楼层

不客气。                                    

出0入0汤圆

发表于 2015-8-4 22:14:09 | 显示全部楼层
楼主FREEMODBUS从机协议好弄懂不、

出0入0汤圆

发表于 2015-8-4 22:14:39 | 显示全部楼层
  一天能不能攻破这个协议栈

出0入0汤圆

 楼主| 发表于 2015-8-5 08:43:33 来自手机 | 显示全部楼层
霸气侧漏 发表于 2015-8-4 22:14
楼主FREEMODBUS从机协议好弄懂不、

不难,搞之前一定要看懂modbus协议。

出0入0汤圆

发表于 2015-8-5 08:50:08 | 显示全部楼层
jiaxinhui 发表于 2015-8-5 08:43
不难,搞之前一定要看懂modbus协议。

嘿嘿,modbus这个协议会用,楼主的东西感觉挺好的

出0入137汤圆

发表于 2015-8-5 08:56:17 | 显示全部楼层
modbus 留个记号

出0入0汤圆

发表于 2015-8-5 09:05:36 | 显示全部楼层
楼主如果要实现modbus tcp/ip 好实现不呢?

出0入0汤圆

 楼主| 发表于 2015-8-5 12:23:00 | 显示全部楼层
xinmulan 发表于 2015-8-5 09:05
楼主如果要实现modbus tcp/ip 好实现不呢?

modbus tcp/ip 没有搞过不清楚

出0入0汤圆

发表于 2015-8-5 13:00:06 | 显示全部楼层
好东西,下载来试试效果!

出0入0汤圆

 楼主| 发表于 2015-8-10 10:31:01 | 显示全部楼层
希望对你有用                                    

出0入0汤圆

 楼主| 发表于 2015-8-11 16:17:24 | 显示全部楼层
霸气侧漏 发表于 2015-8-5 08:50
嘿嘿,modbus这个协议会用,楼主的东西感觉挺好的

谢谢。                           

出0入0汤圆

 楼主| 发表于 2015-8-17 10:16:01 | 显示全部楼层
magicoctoier1 发表于 2015-8-5 13:00
好东西,下载来试试效果!

谢谢!                                                                       

出0入0汤圆

发表于 2015-8-17 16:06:59 | 显示全部楼层

楼主,这个很好用,我测试一段时间了,谢谢了!!

出0入0汤圆

 楼主| 发表于 2015-8-17 18:45:31 | 显示全部楼层
好用就行

出0入0汤圆

 楼主| 发表于 2015-9-8 17:09:32 | 显示全部楼层
                        

出0入0汤圆

发表于 2015-9-9 10:03:03 | 显示全部楼层
太感谢啦,急需啊...

出20入0汤圆

发表于 2015-9-9 11:34:05 | 显示全部楼层
谢谢分享了。

出0入0汤圆

 楼主| 发表于 2015-9-10 16:50:08 | 显示全部楼层
CHEN1986 发表于 2015-9-9 10:03
太感谢啦,急需啊...

不客气                                                                                          

出0入0汤圆

发表于 2015-10-4 06:49:30 | 显示全部楼层
楼主来个modbus主机的代码

出0入0汤圆

 楼主| 发表于 2015-10-10 10:25:17 | 显示全部楼层
谢谢56楼的建议。                                                                                         

出0入0汤圆

 楼主| 发表于 2015-11-17 12:38:35 | 显示全部楼层
                                             

出0入0汤圆

 楼主| 发表于 2015-12-6 21:29:01 来自手机 | 显示全部楼层
苹果520 发表于 2015-8-17 16:06
楼主,这个很好用,我测试一段时间了,谢谢了!!

呵呵,能帮主大家就是好事。

出0入0汤圆

发表于 2015-12-6 22:04:58 | 显示全部楼层
不错 ,谢谢楼主 。

出0入0汤圆

 楼主| 发表于 2015-12-7 09:21:37 | 显示全部楼层
不用谢。

出0入0汤圆

 楼主| 发表于 2016-3-17 14:08:57 | 显示全部楼层
欢迎测试。

出0入0汤圆

发表于 2016-3-17 14:48:13 | 显示全部楼层
MODBUS 协议得好好学一下

出0入0汤圆

发表于 2016-3-21 14:15:10 | 显示全部楼层
在STM32F103 C8T6上采用MODBUS协议实现开关量输入输出采集

出0入0汤圆

发表于 2016-3-21 15:35:53 | 显示全部楼层
楼主好强大!

出0入0汤圆

发表于 2016-3-21 19:23:29 | 显示全部楼层
10年前我是玩CAN总线的,结果面试一家单位告诉我Modbus懂吗?我说没有听说过。。。。结果没有成功!特地搜索了一下,Modbus非常简单。哈哈。。。后来想想真的是搞笑了!CAN比Modbus 先进的不止一点点O

出0入42汤圆

发表于 2016-3-21 21:10:07 | 显示全部楼层
activeleo 发表于 2016-3-21 19:23
10年前我是玩CAN总线的,结果面试一家单位告诉我Modbus懂吗?我说没有听说过。。。。结果没有成功!特地搜 ...

这位是大牛  

出0入0汤圆

发表于 2016-3-21 22:30:58 | 显示全部楼层
很多时候技术不懂事可以通过学习和积累提升的,接触新东西考验的是人的思维和学习能力,这绝对是关键。

出0入0汤圆

 楼主| 发表于 2016-3-28 11:09:55 | 显示全部楼层
谢谢大家关注。                  

出0入0汤圆

发表于 2016-3-30 17:19:35 | 显示全部楼层

收下了!找时间看看!

出0入4汤圆

发表于 2016-3-30 20:01:21 | 显示全部楼层
谢谢分享 有时间研究研究

出0入0汤圆

发表于 2016-3-30 22:33:32 | 显示全部楼层
备注下 这个一定用到。

出0入0汤圆

发表于 2016-4-2 21:21:24 | 显示全部楼层

谢谢 楼主

出0入0汤圆

发表于 2016-4-2 22:49:22 | 显示全部楼层
谢谢楼主的分享,刚好用上

出0入0汤圆

发表于 2016-4-4 17:56:14 | 显示全部楼层
谢谢楼主的分享!找时间看看!

出0入0汤圆

 楼主| 发表于 2016-4-5 09:06:36 | 显示全部楼层
不客气。                  

出0入0汤圆

发表于 2016-4-5 21:01:37 | 显示全部楼层
用的是free modbus?

出0入0汤圆

 楼主| 发表于 2016-4-7 09:19:08 | 显示全部楼层
山水木 发表于 2016-4-5 21:01
用的是free modbus?

是的。                                                         

出0入0汤圆

发表于 2016-4-10 16:58:03 | 显示全部楼层
多谢分享

出0入0汤圆

发表于 2016-4-12 16:58:06 | 显示全部楼层
在STM32F103 C8T6上采用MODBUS协议实现开关量输入输出采集
谢谢 楼主的资料 我测试一下

出0入0汤圆

发表于 2016-4-12 18:36:00 | 显示全部楼层
有没有profibus协议的?

出0入0汤圆

发表于 2016-4-12 18:49:00 | 显示全部楼层
顶一个先!

出0入0汤圆

 楼主| 发表于 2016-4-14 18:34:36 | 显示全部楼层
不客气。              

出0入0汤圆

发表于 2016-7-16 17:25:11 | 显示全部楼层
谢谢楼主分享!!

出0入0汤圆

发表于 2017-5-9 17:13:52 | 显示全部楼层
收下了,多谢LZ分享

出0入0汤圆

发表于 2018-4-8 11:18:22 | 显示全部楼层
多谢LZ分享

出0入0汤圆

发表于 2018-4-8 20:11:19 | 显示全部楼层
mark下

出0入0汤圆

发表于 2018-4-10 17:21:24 | 显示全部楼层
收下了!找时间看看!

出0入0汤圆

 楼主| 发表于 2018-4-10 18:11:01 | 显示全部楼层

不客气                                 

出0入0汤圆

发表于 2018-4-10 21:03:47 来自手机 | 显示全部楼层
Mark ,谢谢LZ共享

出0入4汤圆

发表于 2018-4-10 21:33:31 | 显示全部楼层
好资料下载学习一下

出0入0汤圆

发表于 2018-4-11 10:14:18 | 显示全部楼层
mark 学习一下

出0入0汤圆

发表于 2018-4-28 19:43:16 | 显示全部楼层
我现在用的modbus协议 自己写的 使用电脑100ms 刷新一次 测试了一个晚上 都可以 不知道可以不可以用

出0入0汤圆

发表于 2018-5-2 12:44:29 | 显示全部楼层
多谢分享,很有参考价值

出0入0汤圆

发表于 2018-6-3 18:41:10 | 显示全部楼层

出0入0汤圆

发表于 2018-6-3 21:36:12 | 显示全部楼层
/请问 有网络的 freemodbus吗

楼主 有这样的板子吗?

出0入0汤圆

 楼主| 发表于 2018-6-4 08:46:47 | 显示全部楼层
lidg2014 发表于 2018-5-2 12:44
多谢分享,很有参考价值

不客气,                                          

出0入0汤圆

发表于 2018-6-4 09:38:44 | 显示全部楼层
多谢分享

出0入0汤圆

发表于 2018-8-6 12:57:39 | 显示全部楼层
多谢楼主分享

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-6-27 02:44

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

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