61 通过 Modbus 主站对 Profinet 寄存器读写
1. 简介
在 modbus 客户端页面,通过 modbus 从站通用寄存器地址,实现对 profinet 寄存器的读写操作。因为 modbus 主站开发时间较早,modbus 主站配置的信号可以作为变量在编程界面直接使用。此方法可以使用户更简单的读写寄存器。
2. 环境配置
Profinet 版本:0.3.0 及以上版本
PLC 设备:无要求
软件版本:0.29.2-beta.30 及以上版本
3. Modbus 客户端配置
操作步骤如下:
主站连接从站,添加
Modbus TCP设备,IP 地址修改为:127.0.0.1,端口默认502;
批量添加 modbus 寄存器输出信号,信号地址
300-363;
打开
Modbus TCP从站开关,端口默认502;
4. 软 profinet 配置
安装 Profinet 服务。2025.03 及后续的 ARCS 版本均已自带 Profinet 服务,无需手动安装。直接进入 Profinet 界面打开服务,稍后即可看到当前安装的 Profinet 版本。Profinet 从站和 PLC 主站完成连接后,界面的灯会由黄色变成绿色。
5. 地址查询
此处使用的 PLC 型号为 西门子 S7-200 SMART,此 PLC 仅支持 STEP 7-Micro/WIN SMART 软件。
在配置中可以看到,SLOT4 的起始地址为
128,通用寄存器起始地址偏移 8 字节,所以 SLOT4 的通用寄存器起始地址为136,对应的机器人的通用寄存器是int16Register[32]。
查找 Modbus 从站地址表,通用寄存器的起始地址是
300,对应的是int16Register[0]。int16Register[32]对应的是 modbus332地址。SLOT4 通用寄存器数量是 32 个,通过从站地址可以控制 profinet 寄存器的写入。Modbus 从站通用寄存器地址表:

Profinet 通用寄存器表(PLC ->机器人):

地址对应表:
Profinet 通用寄存器地址 Robot 寄存器序号 Modbus 从站通用寄存器地址 1 IW136 int16Register[32] 332 2 IW138 int16Register[33] 333 3 IW139 int16Register[34] 334 ... ... ... ... 32 IW198 int16Register[63] 363 
同样的,根据配置表可知,SLOT5 的起始地址为
128,根据 Profinet 地址表可知通用寄存器起始地址偏移 8 字节,所以 SLOT5 的通用寄存器起始地址为136,对应的机器人的通用寄存器是int16Register[0]。查找 Modbus 从站地址表,对应 modbus 从站的通用寄存器地址300-331,共 32 位偏移地址,通过从站地址可以监测 profinet 寄存器地址。Profinet 通用寄存器表(机器人 ->PLC):

地址对应表:
profinet 通用寄存器地址 Robot 寄存器序号 modbus 从站通用寄存器地址 1 QW136 int16Register[0] 300 2 QW138 int16Register[1] 301 3 QW139 int16Register[2] 302 ... ... ... ... 32 QW198 int16Register[31] 331 
通过 modbus 主站页面可以控制 profinet 寄存器的读写操作。
示例 1:
控制写入,通过 modbus 从站地址
333,向 PLC 发送数据111,通过 PLC 监控表监控地址IW138,值已变成111。
示例 2:
监控读取,PLC 通过 profinet 地址
136,向机器人发送数据222,通过 modbus 信号页面监控地址300,值已变成222。
