Skip to content

61 通过 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 配置 ​

安装 Profinet 服务。2025.03 及后续的 ARCS 版本均已自带 Profinet 服务,无需手动安装。直接进入 Profinet 界面打开服务,稍后即可看到当前安装的 Profinet 版本。Profinet 从站和 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
  3. 同样的,根据配置表可知,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
  4. 通过 modbus 主站页面可以控制 profinet 寄存器的读写操作。

    示例 1:

    控制写入,通过 modbus 从站地址333,向 PLC 发送数据111,通过 PLC 监控表监控地址IW138,值已变成111。

    示例 2:

    监控读取,PLC 通过 profinet 地址136,向机器人发送数据222,通过 modbus 信号页面监控地址300,值已变成222。