电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>单片机>Modbus的开发历程详细笔记资料说明

Modbus的开发历程详细笔记资料说明

2019-05-16 | pdf | 0.37 MB | 次下载 | 1积分

资料介绍

  其实很早就想写写关于Modbus的开发历程,但牵扯项目较多,不同语言版本较多,头绪繁杂,一时不知从何写起。最近的医疗项目的通信部分,重新调整为Modbus协议,并且内容几乎涵盖了Modbus的方方面面(Rtu/Tcp,Slave/Client相关开发),所以更坚定了写Modbus信心,今天忙里偷闲,以时间为序,以项目为纲,把Modbus相关开发经历一一道来。

  硬件平台:西门子PLC200

  操作系统:Win2000/XP

  1、 主PLC与PC机的通信

  最早主PLC与PC机通信,采用自定义的协议,主PLC中做了一个类似木马的程序来响应PC机下发的读写V变量区的指令。这样就完成了PLC的读写操作。

  后来西门子PLC的开发软件进行了升级,提供了Modbus Rtu Slave库,这样只要上位机实现Modbus Rtu Client就可以直接读写PLC变量区了,之后用VB开发了Modbus相应的组件,这样很长一段内,该系统PC与主PLC就采用了Modbus的通信。

  前两年开发组态软件,所以西门子PPI协议顺礼成章也就知道了,当然PC与西门子采用PPI协议是最棒的,因为PLC中不需要写一行代码,也无需占用程序和变量空间。所以之后Modbus被放弃了,转而采用了PPI通信协议。

  2、 主PLC与从PLC的通信(无线电台通信)

  刚开始主PLC与从PLC采用自定义协议,最早在首钢做实验的时候,只有四个从站,并且个数是唯一确定的,所以自定义协议用的很好,效率也很高;但是项目推广后,在其它现场有7个从站的,也有8个,9个的,不确定,并且从站要分组,此外通信传递内容也更多了,不光位置信息、推焦电流、推焦、平煤信号、连锁信号都要传递,最后选择了Modbus协议。

  但是使用Modbus有几个问题,第一西门子提供的Modbus Slave不支持广播命令,第二只提供了Modbus Slave程序,从PLC 没有什么问题,但是主PLC却没有Modbus Client程序。

  对第一个问题,没有办法,不支持就算了,只要一个个来写。(注:后来的某一天,西门子MicroWIN开发环境突然出bug 了,竟然看到了部分的西门子Modbus Slave源码,我在此基础上实现了可支持广播的Modbus Slave代码)。

  对第二个问题,只好老老实实的用西门子 PLC 语句表命令开发Modbus Client,只要实现3号和16号命令就可以了,还好,Modbus Client本身协议不难,难在PLC的运行机制和PC程序不同,PLC是大循环扫描的,等待数据返回时,不能直接等待,否则运行看门狗会超时,总之克服重重困难,终于开发出稳定可靠的Modbus Client程序,直到现在,现场的PLC通信仍采用该方式。

  附记:有人会问,为什么没有采用PPI协议,PLC本身就支持主和从协议啊?但太让人遗憾的是,PPI协议通信节奏太快,目前还没有无线电台(普通工业用)可以正常实现PPI协议通信。

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1TC358743XBG评估板参考手册
  2. 1.36 MB  |  330次下载  |  免费
  3. 2开关电源基础知识
  4. 5.73 MB  |  6次下载  |  免费
  5. 3100W短波放大电路图
  6. 0.05 MB  |  4次下载  |  3 积分
  7. 4嵌入式linux-聊天程序设计
  8. 0.60 MB  |  3次下载  |  免费
  9. 5基于FPGA的光纤通信系统的设计与实现
  10. 0.61 MB  |  2次下载  |  免费
  11. 651单片机窗帘控制器仿真程序
  12. 1.93 MB  |  2次下载  |  免费
  13. 751单片机大棚环境控制器仿真程序
  14. 1.10 MB  |  2次下载  |  免费
  15. 8基于51单片机的RGB调色灯程序仿真
  16. 0.86 MB  |  2次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33564次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6653次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537796次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191185次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费