Skip to content

通过Modbus主站对Profinet寄存器读写

1. 简介

在modbus客户端页面,通过modbus从站通用寄存器地址,实现对profinet寄存器的读写操作。因为modbus主站开发时间较早,modbus主站配置的信号可以作为变量在编程界面直接使用。此方法可以使用户更简单的读写寄存器。

2. 环境配置

Profinet版本:0.3.0及以上版本
PLC设备:无要求
软件版本:0.29.2-beta.30及以上版本

3. Modbus客户端配置

操作步骤如下:

  1. 主站连接从站,添加 Modbus TCP 设备,IP地址修改为:127.0.0.1 ,端口默认 502

  2. 批量添加modbus寄存器输出信号,信号地址300-363

  3. 打开Modbus TCP 从站开关,端口默认 502

4. 软profinet配置

  1. 安装Profinet服务。2025.03及后续的ARCS版本均已自带Profinet服务,无需手动安装。直接进入Profinet界面打开服务,稍后即可看到当前安装的Profinet版本。Prtofinet从站合PLC主站完成连接后,界面的灯会由黄色变成绿色。

5. 地址查询

此处使用的PLC型号为 西门子 S7-200 SMART,此PLC仅支持STEP 7-Micro/WIN SMART软件。

  1. 在配置中可以看到,SLOT4的起始地址为128,通用寄存器起始地址偏移8字节,所以SLOT4的通用寄存器起始地址为136,对应的机器人的通用寄存器是int16Register[32]

  2. 查找Modbus从站地址表,通用寄存器的起始地址是300,对应的是int16Register[0]int16Register[32]对应的是modbus332地址。SLOT4通用寄存器数量是32个,通过从站地址可以控制profinet寄存器的写入。

Modbus从站通用寄存器地址表:

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

地址对应表:

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

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

    地址对应表:

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