- {{item.name}}
SIAMATIC S7-1200 中通过Modbus RTU如何读取地址范围9999到65535的输入字?
- 0
- 3099
- 2
要求
下表列出了读取扩展输入地址范围的最低要求:
S7-1200 S7-1500 / ET 200SP CPU CPU 固件版本 V4.1.1 及以上 V1.7 及以上通信板 CB 1241 RS485 -通信模块 CM 1241 RS422/485 (V2.1 及以上) CM PtP RS422/485 HF (V1.0 及以上) CM 1241 RS232 (V2.1 及以上) CM PtP RS232 HF (V1.0及以上) ET 200SP CM PtP (V1.0 及以上) STEP 7 (TIA Portal) V13 SP1 及以上 V14 及以上 MODBUS ( RTU )指令 V3.0 及以上 V3.1 及以上 Modbus_Master指令 V2.2 及以上 V2.4 及以上表01
指令
除了"Modbus_Master"指令以外,还需要"Modbus_Comm_Load"指令才能建立通讯。
两个程序块都在STEP 7 (TIA Portal)中,"Instructions>Communication>Communication processor>MODBUS ( RTU )"。
图. 01
Modbus_Comm_LoadModbus_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 (或者 Modbus_Slave)背景数据的数据结构MB_DB,这样就可以定义通讯模块(通过PORT参数识别) 为MODBUS主站(或从站)。
除此之外,必须改变 Modbus_Comm_Load的背景数据块中的静态参数以便进行双工操作模式,通过初始值设定(0 = 全双工(RS232), 1 = 全双工(RS422)四线制模式,4 = 半双工(RS485) 两线制模式)。
图. 03
Modbus_Master
使用Modbus_Master功能块来定义通讯模块,并将Modbus_Comm_Load组态块选择为MODBUS主站。
图. 04
Modbus_Master块用来选择需要与之通讯相匹配的MODBUS从站,指定功能代码并定义本地数据的存储区。下面表格介绍了参数。
参数 | 描述 |
---|---|
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参数必须引用一个数据块,这个数据块的“优化的块访问”属性必须已被禁用。 |
表 02
下载
项目包含了通过Modbus RTU读取扩展输入地址的例程。
- S7-1200 CPU使用CM 1241 RS422/485
- S7-1200 CPU 使用CB 1241 RS485
地址为1的Modbus从站,从地址53248开始 (16#D000)规定的9个输入字可以通过RS485通讯使用监控表读取 (比如ebm-papst公司的Motor VarioDrive C)。
- STEP 7 V15.1 及以上: 109474481_S7-1200_Modbus_Master_V15.1.zip (2,2 MB)
更多信息
描述 | 条目ID |
---|---|
SIMATIC S7-1200 CPU固件更新 | Download |
CM 1241 固件更新V2.1.0 | 108819199 |
S7-1500 CPU固件更新包含显示屏和ET200 CPU (ET200SP, ET200pro) | 109478459 |
如何使用 "Modbus_Master"指令访问大于 9999的地址? | 86158926 |
如何使用 STEP 7 ( TIA Portal ) 为 SIMATIC S7-1200 建立 MODBUS - RTU 通信? | 47756141 |
应用示例: 使用 SIMATIC S7-1200 通过 Modbus RTU 控制多个风扇 (ebm-papst) | 109476801 |
应用示例:基于 Modbus RTU 协议,通过 CM PtP 进行主从站通信 | 68202723 |
手册:SIMATIC S7-1200 可编程控制器 | 91696622 |
手册: SIMATIC STEP 7 Basic/Professional V15.1 和 SIMATIC WinCC V15.1 | 109755202 |
剩余80%未阅读,请登录后下载/查看文档
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
- 如何使用 "Modbus_Master"指令访问大于 9999的地址?
- 在 STEP 7 V5 中通过 PROFINET 或 PROFIBUS-DP 将 SINAMICS G120 变频器连接至故障安全 S7-300/400 CPU
- 在 S7-1500 中通过 PID_Compact V2 对仿真控制系统进行闭环控制
- 如何通过Modbus RTU协议实现S7-1200 与PAC3200的通信
- PCS 7 V7.0 Sp1系统下如何读取Hart卡件中的Hart变量
- S120 如何读取编码器的实际脉冲数
- 如何读取冗余控制器状态灯
- 如何将PROFIsafe 地址设置成在网络范围和CPU范围是唯一的?
- 在 STEP 7 (TIA Portal) 中如何给S7-1200/S7-1500计算温度范围的最小和最大极限值?
- S7-1200与CU240B/E-2之间的Modbus RTU通讯
{{item.nickName}}