技术论坛

Modbus通讯项目案例

作者 主题
游士

经验值: 289
发帖数: 25
精华帖: 0
主题:【分享】Modbus通讯项目案例
推荐帖 推荐帖


只看楼主 楼主 2019-01-07 13:46:03

分享一个项目

  1. 案例背景:一套以西门子S7_1200PLC作为控制器的控制系统(带HMI面板),与一套加湿器控制系统(单片机)进行Modbus RTU通讯,读取和写入加湿器数据,并通过控制面板进行显示和设置加湿器参数,以及通过HMI面板手动控制加湿机的充水、排水、加湿和停机。(与除湿机的通讯只是该项目中的一部分,这里只介绍与加湿机的通讯部分,其他控制部分未说明)加湿器的参数如下图


2. 硬件及软件需求

硬件:CPU 1215C AC/DC/Rly(订货号:6ES7 215-1BG40-0XB0)

      CM 1241 (RS422/485)(订货号:6ES7 241-1CH32-0XB0)

HMI面板KTP1200 Basic PN(订货号:6AV2 123-2MB03-0AX0)

      屏蔽电缆(用于通讯)

注:本项目采用RS485接线方法, 3号针脚--RS485信号 B(+) ;8号针脚--RS485信号A(-);5号针脚--接屏蔽等电位点。

软件:博途V15(或其他)

3 硬件组态

①通讯模块组态:设置好传输率=9.6Kbps、奇偶校验、数据位和停止位,其它保持默认。

启用PLC系统时钟


②设备和网络组态:添加HMI面板,并组态网络连接。

4.数据发送和接受缓冲区设置

①根据加湿机系统的点数表找到需要的参数,加湿机的点数表需提供地址、变量名、功能码、数据类型等,本项目需用到的参数我已飘绿并进行了标注说明。下面介绍如何使用这些变量。



②创建数据发送和接收缓冲区

在软件中单独创建一个DB数据块,用来作为数据发送和接收的缓冲区。

5 软件编程

① 创建一个FB数据块作为Modbus通讯程序块,然后在Main[OB1]组织块中调用该程序块。

② 调用MB_COMM_LOAD指令,会自动生成背景数据块。对每个通讯端口进行组态。

程序快几个主要端口引脚组态说明:

REQ:连接系统时钟的首次循环变量地址%M1.0 (FirstScan(1))。

PORT:连接通信的通信模块的硬件标识符,在PLC变量表里的系统变量里找到。

MB_DB:连接参数在这里必须与 Modbus_Master的MB_DB参数相连。

波特率BAUD、奇偶校验PARITY和前面设置一样。

调用Modbus_Master指令

MB_ADDR:加湿机从站地址为1。

DTAA_ADDR:数据起始地址

DATA_LEN:访问的数据位数或字的个数

DATA_PTR:在前面建立的数据发送接收缓冲区,在这里将用到。表示指向要进行数据写入或数据读取的标记或数据块地址。

5.HMI画面组态

(1)创建一个加湿机参数画面“加湿机参数”

(2)设计编辑画面

(3)变量链接

注:PLC的变量一定与加湿机的变量地址对应好。


--------

THE END


有个性何须签名
推荐帖推荐理由: 写得不错,版主封精鼓励一下吧。 (推荐人:'Razor)
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1535121&b_id=50&s_id=0&num=11

侠圣

经验值: 2039
发帖数: 256
精华帖: 0
回复:Modbus通讯项目案例
推荐帖


只看楼主 1楼 2019-01-07 14:22:03

好贴,详细@


 
以下网友喜欢您的帖子:

  
至圣

经验值: 12543
发帖数: 1843
精华帖: 0
回复:Modbus通讯项目案例


只看楼主 2楼 2019-01-07 15:07:09

好贴,收藏。


邮箱 yongquancun@126.com
以下网友喜欢您的帖子:

  
至圣

经验值: 28623
发帖数: 5906
精华帖: 61
回复:Modbus通讯项目案例


只看楼主 3楼 2019-01-08 10:35:25


Modbus通讯还是很常用的


欢迎交流,QQ:2301013064 邮箱:feige6@139.com
以下网友喜欢您的帖子:

  
至圣

经验值: 18407
发帖数: 2409
精华帖: 1
回复:Modbus通讯项目案例


只看楼主 4楼 2019-01-08 14:06:50


重点都颜色突出显示!


 
以下网友喜欢您的帖子:

  
至圣

经验值: 18898
发帖数: 2108
精华帖: 0
回复:Modbus通讯项目案例


只看楼主 5楼 2019-01-08 14:21:46

图文并茂!很好


 
以下网友喜欢您的帖子:

  
至圣

经验值: 16723
发帖数: 1309
精华帖: 2
回复:Modbus通讯项目案例


只看楼主 6楼 2019-01-09 10:39:23

不错不错 图文并茂 通俗易懂 一看就会


同一个问题ID下,已经先回答此问题的人,如再参考我答案而修改自己答案的,就是王八蛋!
以下网友喜欢您的帖子:

  
奇侠

经验值: 7770
发帖数: 1150
精华帖: 1
回复:Modbus通讯项目案例


只看楼主 7楼 2019-01-09 11:22:08

 

,写的不错,要好好学习一下;


,,
以下网友喜欢您的帖子:

  
游士

经验值: 289
发帖数: 25
精华帖: 0
回复:Modbus通讯项目案例


只看楼主 楼主 8楼 2019-01-09 23:02:57

谢谢支持,欢迎评论关注


有个性何须签名
以下网友喜欢您的帖子:

  
奇侠

经验值: 8613
发帖数: 1829
精华帖: 4
回复:Modbus通讯项目案例


只看楼主 9楼 2019-01-11 15:50:42

写的很好。学习一下~


学无止境
以下网友喜欢您的帖子:

  
侠士

经验值: 1384
发帖数: 213
精华帖: 0
回复:Modbus通讯项目案例


只看楼主 10楼 2019-01-24 13:41:00

 这个案例不错,我们学习的时候,官方的案例是西门子CPU直接的通讯,与单片机的通信也是工程项目中常见的。


勤奋吃苦,是最好的技巧与捷径。
以下网友喜欢您的帖子:

  
至圣

经验值: 13019
发帖数: 1815
精华帖: 22
回复:Modbus通讯项目案例


只看楼主 11楼 2019-01-24 20:38:25

这个虽然常见,仍然点赞下。看过西门子论文专业电气工程师用PLC的I/O加电子电路搭建自由协议,而且据说实践效果还好,那才叫个性,虽然不推荐这么用(稳定压倒一切);但也经常看到有个性的电子工程师抛弃官方的函数库自己造轮子用I/O口模拟用,他们说没有束缚挺可以有独立的多组通讯挺好用的。但我想PLC跑在专业厂家的系统上,稳定性无疑是稍好的,当然也取决于在上面敲代码的人。


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
Modbus通讯项目案例
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。