QQ登录

只需一步,快速开始

如何使用 STEP 7 (TIA Portal) 为 SIMATIC S7-1200 建立 MODBUS-RTU 通讯

[ 复制链接 ]
如何使用 STEP 7 (TIA Portal) 为 SIMATIC S7-1200 建立 MODBUS-RTU 通讯
概述 利用 CM 1241 RS485 和 CM 1241 RS232 通讯模块,SIMATIC S7-1200 可以实现点对点的通讯。每个 SIMATIC S7-1200 控制器最多可以添加三个通讯模板。利用集成在 STEP 7 (TIA Portal) 中的 MODBUS 库文件,可以定义每个通讯模块为 MODBUS 主站或 MODBUS 从站。如果选择 MODBUS 主站,可以通讯的对象使用 CM 1241 RS232 通讯模块只能与一个从站通讯 (由于物理限制)。 使用 CM 1241 RS485 通讯模块允许最多与 32 个从站的相继地通讯。 ......


概述
利用 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 接口是两线制 (半双工模式),故数据读写必须是连续控制的。 同理,在这两种操作 (这里指读和写) 之间也可以改变要寻址的从站地址,因此,主站和多个从站之间的数据交换是可以实现的。

如何使用 STEP 7 (TIA Portal) 为 SIMATIC S7-1200 建立 MODBUS-RTU 通讯

如何使用 STEP 7 (TIA Portal) 为 SIMATIC S7-1200 建立 MODBUS-RTU 通讯
多个 CM 1241 RS485 通讯模块之间可以使用 PROFIBUS 电缆相互连接。 最多可以将 31 个 MODBUS 从站使用 PROFIBUS 电缆连接到主站。使用 STEP 7 (TIA Portal)  配置组态,使用交换机 CSM 1277 可以将程序下载至控制器。
MB_COMM_LOAD
MODBUS 通讯中,双方 (主站和从站) 都应该调用配置 MB_COMM_LOAD 指令

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 主站。  

MB_MASTER 指令可以用来选择要寻址的 MODBUS 从站的地址、功能码和设定本地的数据存储区。下表解释了具体参数。
参数
描述
REQ
使能通信。
MB_ADDR
MODBUS-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 从站。

如何使用 STEP 7 (TIA Portal) 为 SIMATIC S7-1200 建立 MODBUS-RTU 通讯

如何使用 STEP 7 (TIA Portal) 为 SIMATIC S7-1200 建立 MODBUS-RTU 通讯

MB_SLAVE 指令定义 MODBUS-RTU  站地址,并指定本地数据存储区作为对应的保持寄存器数据传送。
参数
描述
MB_ADDR
MODBUS-RTU 站地址。
MB_HOLD_REG
从站的保持寄存器。MB_HOLD_REG 必须是全局数据块,禁用“仅符号访问”选项。
当进行多寄存器 (字) 传输时,在MB_HOLD_REG 中定义数组、结构或覆盖主站 (DATA_ADDR 和 DATA_PTR) PLC 数据类型的参数符号名。数组、结构或PLC数据类型的第一个字对应的MODBUS保持寄存器起始地址 40001。
通过指令的输入和输出功能或访问相关背景数据块进行参数转换。
范例项目
在主站项目中,交替的读写从站寄存器是通过一个时序标志完成的。

  • 初始化:调用 MB_COMM_LOAD 指令。.
  • 步骤 1:调用 MB_Master,将需要发送的数据填写到 DATA_PTR,并执行使能(REQ = 1),(MODE = 1) 将数据写入从站。
    • MB_MASTER 指令返回正在执行 (BUSY),转至步骤 2完成。
    • MB_MASTER 指令返回是肯定的结果 (DONE),转至步骤 3完成。
    • 复位 MB_MASTER 指令的执行 (REQ = 0)。

  • 步骤 3:读取从站数据,需要将通讯参数 (MODE = 0) 传输到 MB_MASTER。
  • 步骤 4 的执行和转换,与步骤 1 一样。
  • MB_MASTER成功反馈 (DONE) 后,从 DATA_PTR 读取的数据必须保存 (copied)。
功能的执行 (这是读取从站存储的数据)

通过修改 MB_ADDR  参数 (参见网络7) 可以访问不同的从站地址。
如果出现错误, (ERROR) 状态被存储在 ERROR_STATUS 标签处。 有关状态的评估可通过 F1 打开 TIA Portal 在线帮助查看详细信息。
下载
压缩文件包 "47756141_S7-1200_MB-RTU_V11-SP2-Upd5.zip" 包含范例 "47756141_S7-1200_MB-RTU_V11-SP2-Upd5.ap11" 用于实现主站和从站间的数据交换。将  "47756141_S7-1200_MB-RTU_V11-SP2-Upd5.zip" 解压,使用 STEP 7 (TIA Portal) V11+SP2+Update5 或更高版本打开范例项目 "47756141_S7-1200_MB-RTU_V11-SP2-Upd5.ap11",CPU的版本为V2.2或更高。下载项目文件 (主站和从站) 至控制器。之后就可以在监控状态表中查看数据。

请点击此处下载

查看状态:已购买或有权限

您的用户组是:游客

文件名称:47756141_s7-1200_mb-rtu_v11-sp2-upd5.zip 
文件大小:1.46 MB 
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我








回复

使用道具 举报

快速回复 返回列表 客服中心 搜索