SIAMATIC S7-1200 中通过 Modbus RTU 如何读取地址范围 9999 到 65535 的输入字
本文由 简悦 SimpRead 转码, 原文地址 https://support.industry.siemens.com/cs/document/109474481/siamatic-s7-1200-%E4%B8%AD%E9%80%9A%E8%BF%87modbus-rtu%E5%A6%82%E4%BD%95%E8%AF%BB%E5%8F%96%E5%9C%B0%E5%9D%80%E8%8C%83%E5%9B%B49999%E5%88%B065535%E7%9A%84%E8%BE%93%E5%85%A5%E5%AD%97%EF%BC%9F-?dti=0&dl=zh&lc=en-CN 说明
除了需要 STEP 7 >= V13 SP1 (TIA Portal) 的软件,还需要 S7-1200 CPU 固件版本 >= V4 (文章编号: 6ES721x-1xx40-0XB0)。
Modbus RTU 可以通过以下模块通讯。
- CB 1241 RS485 (订货号: 6ES7241-1CH30-1XB0) 结合 S7-1200 CPU 固件升级到 >= V4.1.1.
- CM 1241 RS422/485 (订货号: 6ES7241-1CH32-0XB0) 结合通讯模块固件升级到 >= V2.1
- CM 1241 RS232 (订货号:6ES7241-1AH32-0XB0) 结合通讯模块固件升级到 >= V2.1
除了 "Modbus_Master" 指令,还需要 "Modbus_Comm_Load" 指令才能建立通讯。
两个程序块都在 STEP 7 (TIA Portal) 中,"Instructions>Communication>Communication processor>MODBUS ( RTU )>= Version 3.0"。
图. 01
Modbus_Comm_Load
Modbus_Comm_Load 程序块是用来选择通讯模块的,设置通讯参数并用主站(或从站)的参数将连接参数化。
图. 02
在第一次调用 Modbus_Master (or Modbus_Slave)之前,非循环块 Modbus_Comm_Load 必须运行一次并且运行完成 (DONE 为 1)。 Modbus_Comm_Load 可以在程序的第一个循环中(通过在硬件组态中启用系统存储器位 M1.0) 调用。在硬件组态中插入通讯模块之后,就可以在 PORT 参数传输通讯模块的符号名。
通讯参数 BAUD (波特率)和 PARITY (奇偶校验) 必须要与从站地址相匹配。在参数 MB_DB 传输 Modbus_Master (or Modbus_Slave)背景数据的数据结构 MB_DB,这样就可以定义通讯模块 (通过 PORT 参数识别) 为 MODBUS 主站(或从站)。除此之外,必须改变 Modbus_Comm_Load 的实例数据中的静态参数以便进行双工操作模式,通过初始值设定(0 = full duplex (RS232), 1 = full duplex (RS422) 四线制模式,4 = half duplex (RS485) 两线制模式)。
图. 03
Modbus_Master
使用 Modbus_Master 功能块来定义通讯模块,并将 Modbus_Comm_Load 组态块选择为 MODBUS 主站。
图. 04
Modbus_Master 块用来选择需要与之通讯相匹配的 MODBUS 从站,指定功能代码并定义本地数据的存储区。下面表格介绍了参数。
Parameter | Description |
---|---|
REQ | 使能通讯。 |
MB_ADDR | MODBUS-RTU 站地址。 |
MODE |
请求的类型:
"0" = 读
"1" = 写
"104" = 读取从站的输入字 (寄存器地址到 65535)
...
|
| DATA_ADDR | 定义 MODBUS 起始地址( = 偏移量 + 从站寄存器地址):MODE = 104:Offest =0 |
| DATA_LEN | 定义 MODBUS 数据长度(位或者字节形式):MODE = 104: Words |
| DATA_PTR | 定义主站本地数据接收区和发送区。DATA_PTR 参数必须引用一个数据块,这个数据块的 “Optimized block access” 属性必须已被禁用。 |
表 01
"MODBUS (RTU)" 指令库也包含 "MODBUS" 指令库的功能。
但是,如果使用 Modbus_Slave 块,MB_HOLD_REG 参数只支持 “Word” 数据类型的一维数组。
下载
下载包括 "109474481_S7-1200_Modbus_Master_V13-SP1.zip" 项目。它包含了以下程序文件夹。
- "CPU-V4_CM1241RS485-V2d1" 使用 S7-1200 CPU 固件 V4.0 版的 Modbus-RTU 通讯,通过 CM 1241 RS422/485 固件 V2 版本。
- "CPU-V4d1_CB1241RS485" 使用 S7-1200 CPU 固件 V4.1.1 版的 Modbus-RTU 通讯 ,通过 CB 1241 RS485。
地址为 1 的 Modbus 从站,从地址 53248 开始 (16#D000) 规定的 9 个输入字可以通过 RS485 通讯使用监控表读取 (比如 ebm-papst 公司的 Motor VarioDrive C)。
复制 "109474481_S7-1200_Modbus_Master_V13-SP1.zip" 文件到一个单独的目录,然后双击点开文件。可以使用 STEP 7 来打开并处理提取的项目数据。
S7-1200_Modbus_Master_V13-SP1.zip (3,9 MB)
更多信息
描述 | 条目 ID |
---|---|
给 SIMATIC STEP 7 V13 incl. PLCSIM (TIA Portal) 的补丁包 1 | 105825934 |
STEP 7 V13 SP1 和 WinCC V13 SP1 的升级 | 109311724 |
SIMATIC S7-1200 CPUs 的固件升级 | Download |
给 CM 1241 的操作系统升级到 V2.1.0 | 108819199 |
如何给 “Modbus_Master” 指令选定一个高于 9999 的起始地址? | 86158926 |
如何使用 STEP 7 (TIA Portal) 给 SIMATIC S7-1200 建立一个 MODBUS-RTU 通讯? | 47756141 |
应用: 通过 Modbus RTU Protocol 的 CM PtP 实现主从通讯 | 68202723 |
手册:SIMATIC S7-1200 Automation System | 107623221 |
手册: STEP 7 Basic V13.1 | 109054417 |
表 02
原文地址:https://www.cnblogs.com/guyk/p/11440538.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 在 jQuery Mobile 中使用 UI 组件
- 【内网渗透】关于内网代理转发技术
- 知识图谱项目前端可视化图论库——Cytoscape.js简介
- Matlab系列之文件操作
- 云开发 X 涂鸦:当小程序遇见物联网IoT,几行代码搞定智能插座控制
- Spring、SpringMVC和SpringBoot看这一篇就够了!
- React结合Redux实现Todolist
- JS事件,你真的懂吗(捕获,冒泡)?
- iptables速查
- React高级特性解析
- Mobx+Mobx-React快速上手 简单可扩展的状态管理解决方案
- PB数据毫秒级搜索之Elasticsearch(二)基础了解
- 设计模式 | 策略模式
- 设计模式 | 装饰模式
- Laravel实现redis发布-订阅