西门子PLC 7288 SMART 200 系列大量现货 13922952859
siemens西门子PLC专注西门子PLC 7288系列 SMART 200系列现货销售
全国咨询热线:13922952859

SIAMATIC S7-1200 中通过Modbus RTU如何读取地址范围

时间:2022-08-29 11:48:15 作者:admin 点击:

说明
除了需要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″。

SIAMATIC S7-1200 中通过Modbus RTU如何读取地址范围9999到65535的输入字?
图. 01

Modbus_Comm_Load

Modbus_Comm_Load程序块是用来选择通讯模块的,设置通讯参数并用主站(或从站)的参数将连接参数化。

SIAMATIC S7-1200 中通过Modbus RTU如何读取地址范围9999到65535的输入字?
图. 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) 两线制模式)。

SIAMATIC S7-1200 中通过Modbus RTU如何读取地址范围9999到65535的输入字?
图. 03

Modbus_Master
使用Modbus_Master功能块来定义通讯模块,并将Modbus_Comm_Load组态块选择为MODBUS主站。

SIAMATIC S7-1200 中通过Modbus RTU如何读取地址范围9999到65535的输入字?
图. 04

Modbus_Master块用来选择需要与之通讯相匹配的MODBUS从站,指定功能代码并定义本地数据的存储区。下面表格介绍了参数。

REQ使能通讯。MB_ADDRMODBUS-RTU站地址。MODE

请求的类型:
“0” =读
“1” = 写

“104” = 读取从站的输入字(寄存器地址到65535)

DATA_ADDR定义MODBUS起始地址( =偏移量 + 从站寄存器地址):MODE = 104:Offest =0DATA_LEN定义MODBUS数据长度(位或者字节形式):MODE = 104: WordsDATA_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来打开并处理提取的项目数据。

SIAMATIC S7-1200 中通过Modbus RTU如何读取地址范围9999到65535的输入字?Registrierung notwendig S7-1200_Modbus_Master_V13-SP1.zip (3,9 MB)

更多信息

给SIMATIC STEP 7 V13 incl. PLCSIM (TIA Portal)的补丁包1105825934STEP 7 V13 SP1和WinCC V13 SP1的升级109311724SIMATIC S7-1200 CPUs 的固件升级 Download给CM 1241的操作系统升级到V2.1.0108819199如何给“Modbus_Master”指令选定一个高于9999的起始地址?86158926如何使用STEP 7 (TIA Portal)给SIMATIC S7-1200建立一个 MODBUS-RTU通讯?47756141应用: 通过Modbus RTU Protocol的CM PtP实现主从通讯68202723手册:SIMATIC S7-1200 Automation System107623221手册:STEP 7 Basic V13.1109054417

表 02

ParameterDescription
描述条目ID
标签: 地址范围 Modbus S7-1200