当前位置:
如何使用STEP7(TIAPortal)为SIMATICS7-1200建立MODBUS-RTU通讯
回复 | 人气 | 打印
wqwww520 个人主页 给TA发消息 加TA为好友 发表于:2016-12-22 14:36:22 楼主

概述
利用 CM 1241 RS485 和 CM 1241 RS232 通讯模块,SIMATIC S7-1200 可以实现点对点的通讯。 每个 SIMATIC S7-1200  控制器最多可以添加三个通讯模板 (+ 一个 RS485 通信板)。 利用集成在 STEP 7 (TIA Portal) 中的 MODBUS  库文件,可以定义每个通讯模块为 MODBUS 主站或 MODBUS 从站。如果选择 MODBUS 主站,可以通讯的对象

  • 使用 CM 1241 RS232  通讯模块只能与一个从站通讯 (由于物理限制)。

  • 允许最多与 32 个从站的相继地通讯使用 (通过 CM 或 CB 1241 RS485)。

通过一个由  STEP 7 (TIA Portal) V11 创建的范例去介绍如何使用 CM 1241 RS485 通讯模块与多个从站进行通讯。


说明
提供一个 MODBUS 主站和一个 MODBUS 从站间的通讯例程。通讯可以交替进行读写,将数据写入从站寄存器 (MODBUS 功能码为 16) 和读取从站寄存器的数值 (MODBUS 功能码为 03)。 因为 RS485 接口是两线制 (半双工模式),故数据读写必须是连续控制的。 同理,在这两种操作 (这里指读和写) 之间也可以改变要寻址的从站地址,因此,主站和多个从站之间的数据交换是可以实现的。 


图. 01

多个 CM 1241 RS485 通讯模块之间可以使用 PROFIBUS 电缆相互连接。 最多可以将 31 个 MODBUS 从站使用 PROFIBUS 电缆连接到主站。使用 STEP 7 (TIA Portal)  配置组态,使用交换机 CSM 1277 可以将程序下载至控制器。

MB_COMM_LOAD
MODBUS 通讯中,双方 (主站和从站) 都应该调用配置 MB_COMM_LOAD 指令。


图. 02

MB_COMM_LOAD 指令可以完成如下功能:选择通讯模块、设定通讯参数、设置与主站或从站的连接参数。必须在第一个程序执行周期中调用 MB_COMM_LOAD 指令 (可以使用硬件设置中的系统标志位 M1.0 来实现或在启动 OB 100 中调用)。在硬件组态中插入通讯模块后,可以在 PORT 参数中选择通讯模块的符号名。 通信参数波特率 (传输速率) 和奇偶校验方式在所有节点中必须设定相同。STEP 7 (TIA Portal) 设备视图中关于 RS485 的端口特性的设置与此不相干。MB_DB 参数用于填写主站或从站指令的背景数据块,因此也就说明了通讯模块 (PORT 参数指定的) 是 MODBUS 主站还是从站。


MB_MASTER
使用 MB_MASTER 指令可以定义 MB_COMM_LOAD 指令中选定的通讯模块为 MODBUS 主站。  


图. 03

MB_MASTER 指令可以用来选择要寻址的 MODBUS 从站的地址、功能码和设定本地的数据存储区。下表解释了具体参数。 

参数描述
REQ使能通信。
MB_ADDRMODBUS-RTU 站地址。
MODE选择传输方向 ("0" = 读, "1" = 写或附加的诊断功能)。
DATA_ADDR指定 MODBUS 的起始地址。
DATA_LEN指定 MODBUS 数据长度。
DATA_PTR定义了主站发送和接收的本地数据区。DATA_PTR 参数必须是全局数据块,禁用“仅符号访问”选项。

"MB_MASTER" 必须循环周期调用 (例如:OB1) 

MB_SLAVE
使用 MB_SLAVE 指令可以定义 MB_COMM_LOAD 指令中选定的通讯模块为 MODBUS 从站。


图. 04

MB_SLAVE 指令定义 MODBUS-RTU  站地址,并指定本地数据存储区作为对应的保持寄存器数据传送。
 

参数描述
MB_ADDRMODBUS-RTU 站地址。
MB_HOLD_REG从站的保持寄存器。MB_HOLD_REG 必须是全局数据块,禁用“仅符号访问”选项。

当进行多寄存器 (字) 传输时,在MB_HOLD_REG 中定义数组、结构或覆盖主站 (DATA_ADDR 和 DATA_PTR) PLC 数据类型的参数符号名。数组、结构或PLC数据类型的第一个字对应的MODBUS保持寄存器起始地址 40001。

通过指令的输入和输出功能或访问相关背景数据块进行参数转换。

范例项目
在主站项目中,交替的读写从站寄存器是通过一个时序标志完成的。


图. 05

  1. 初始化:调用 MB_COMM_LOAD 指令。.

  2. 步骤 1:调用 MB_Master,将需要发送的数据填写到 DATA_PTR,并执行使能(REQ = 1),(MODE = 1) 将数据写入从站。

    • MB_MASTER 指令返回正在执行 (BUSY),转至步骤 2完成。

    • MB_MASTER 指令返回是肯定的结果 (DONE),转至步骤 3完成。

    • 复位 MB_MASTER 指令的执行 (REQ = 0)。


  3. 步骤 3:读取从站数据,需要将通讯参数 (MODE = 0) 传输到 MB_MASTER。

  • 步骤 4 的执行和转换,与步骤 1 一样。

  • MB_MASTER成功反馈 (DONE) 后,从 DATA_PTR 读取的数据必须保存 (copied)。

功能的执行 (这是读取从站存储的数据) 如下图所示。


图. 06

通过修改 MB_ADDR  参数 (参见网络7) 可以访问不同的从站地址。

如果出现错误, (ERROR) 状态被存储在 ERROR_STATUS 标签处。 有关状态的评估可通过 F1 打开 TIA Portal 在线帮助查看详细信息。


正在下载,请等待……
下载附件需1积分!

分享到: 关注收藏 邀请回答 回复 举报
btelf 个人主页 给TA发消息 加TA为好友 发表于:2016-12-27 09:01:18 1楼
 

如何使用STEP7(TIAPortal)为SIMATICS7-1200建立MODBUS-RTU通讯!!

  回复 引用 举报
我胡扯的 个人主页 给TA发消息 加TA为好友 发表于:2017-03-17 16:11:07 2楼
 

如何使用STEP7(TIAPortal)为SIMATICS7-1200建立MODBUS-RTU通讯!!


  回复 引用 举报
gongda10 个人主页 给TA发消息 加TA为好友 发表于:2017-03-20 11:40:28 3楼
 

谢谢大神正在学习中非常感谢

  回复 引用 举报
凤舞九天 个人主页 给TA发消息 加TA为好友 发表于:2017-06-04 15:03:54 4楼
 

非常感谢,谢谢大神。。。。。。。。。。。。

  回复 引用 举报
cndl074 个人主页 给TA发消息 加TA为好友 发表于:2017-06-10 17:08:21 5楼
 

正好需要,谢谢分享!!!!!

  回复 引用 举报
ynzd 个人主页 给TA发消息 加TA为好友 发表于:2017-06-16 15:44:43 6楼
  正好需要,谢谢分享!!!
  回复 引用 举报
hugozhang 个人主页 给TA发消息 加TA为好友 发表于:2017-06-24 18:18:56 7楼
 

好帖子,正需要,谢谢楼主啊

  回复 引用 举报
lin5979 个人主页 给TA发消息 加TA为好友 发表于:2017-07-02 20:18:11 8楼
 

谢谢大神正在学习中非常感谢

  回复 引用 举报
andy_158 个人主页 给TA发消息 加TA为好友 发表于:2017-12-11 00:03:56 9楼
 

谢谢大神正在学习中非常感谢

  回复 引用 举报
a525435688 个人主页 给TA发消息 加TA为好友 发表于:2017-12-17 13:10:47 10楼
 

非常感谢,谢谢大神

不知是哪个版本的TIA

  回复 引用 举报
a525435688 个人主页 给TA发消息 加TA为好友 发表于:2017-12-17 13:18:20 11楼
 

请问下,下载资格线是什么东西?怎么提高!有积分,还是没法下载!

  回复 引用 举报
一个小不点 个人主页 给TA发消息 加TA为好友 发表于:2018-02-26 19:09:13 12楼
 

希望能学到好知识

  回复 引用 举报
和法伟_1 个人主页 给TA发消息 加TA为好友 发表于:2018-03-17 16:10:47 13楼
 

很想下载下来,可惜积分不太了解


  回复 引用 举报
JSTOPSUN 个人主页 给TA发消息 加TA为好友 发表于:2018-03-20 20:38:58 14楼
 


引用 hugozhang 的回复内容: 好帖子,正需要,谢谢楼主啊


  回复 引用 举报
XDxiaozhou 个人主页 给TA发消息 加TA为好友 发表于:2018-04-09 19:28:19 15楼
  我积分不够有好心人可以发我一份么?我的邮箱:zhouyunhuai@foxmail.com  
  回复 引用 举报
大雪纷飞_75 个人主页 给TA发消息 加TA为好友 发表于:2018-04-11 08:18:03 16楼
  谢谢正在学习中,很有用!非常感谢!
  回复 引用 举报
个人主页 给TA发消息 加TA为好友 发表于:2018-04-24 14:05:53 17楼
  谢谢正在学习中,很有用!非常感谢!
  回复 引用 举报
zjczm 个人主页 给TA发消息 加TA为好友 发表于:2018-04-24 15:47:04 18楼
  谢谢正在学习中,很有用!非常感谢!
  回复 引用 举报
cc向 个人主页 给TA发消息 加TA为好友 发表于:2018-06-15 10:24:15 19楼
 

谢谢大神正在学习中

  回复 引用 举报
sxlhxy 个人主页 给TA发消息 加TA为好友 发表于:2020-02-27 09:07:14 27楼
 

非常感谢分享,正好有需要

  回复 引用 举报
plt1969 个人主页 给TA发消息 加TA为好友 发表于:2020-04-02 21:08:43 28楼
 

谢谢楼主,学习使人快乐!

  回复 引用 举报

周点击排行
周回复排行
最新求助