技术手册 PD4-E Modbus TCP

进程数据对象 (PDO)

与 CANopen 一样,使用 Modbus 时,可以为输入和输出值配置进程映像。此映像仅包含一个或多个对象的数据值,而不含其他信息,如长度、索引或子索引。因此可使用单条消息同时读取或写入多个对象。

配置

映像的配置称为“映射”,并写入以下对象中:
  • 3502h 用于 Modbus Rx(主站 → 从站)PDO 映射
  • 3602h 用于 Modbus Tx(从站 → 主站)PDO 映射
两个对象各包含一个 16 个条目的数组。此处,子索引 00 指定有效条目的数量。

可通过 Modbus 函数代码 2Bh 的消息写入对象 3502h 和 3602h

传送

将数据按顺序写入消息,无间断和对齐。

如果需要对齐(如 16 位对齐),则可在消息中包含额外的“虚拟对象”。只有数据值为“0”时才会传送虚拟对象。下表中列出了这些对象。

索引 数据类型
0002h 有符号整数(8 位)
0003h 有符号整数(16 位)
0004h 有符号整数(32 位)
0005h 无符号整数(8 位)
0006h 无符号整数(16 位)
0007h 无符号整数(32 位)

映射如下:

  • PDO RX 映像从 Modbus 寄存器地址 6000d (1770h) 开始。
  • PDO TX 映像从 Modbus 寄存器地址 5000d (1388h) 开始。
读/写访问权限可与函数代码 17h 或各个 RX/TX 映像上的 03h、04h、06h、10h 命令同时执行。

示例

将在映射中设定以下对象:
  • 3602h:00h =“6h”(映射 6 个值)
  • 3602h:01h =“60410010h”(对象 6041h:00h,映射长度 16 位)
  • 3602h:02h =“00050008h”(虚拟对象 0005h:00h,映射长度 8 位)
  • 3602h:03h =“60610008h”(对象 6061h:00h,映射长度 8 位)
  • 3602h:04h =“60640020h”(对象 6064h:00h,映射长度 32 位)
  • 3602h:05h =“60440010h”(对象 6044h:00h,映射长度 16 位)
  • 3602h:06h =“60FD0020h”(对象 60FDh:00h,映射长度 32 位)

为对象 6061h:00h 映射后,将插入虚拟对象,从而可将下一个对象 6064h:00h 对齐到 32 位。

Rx 消息:主站向从站发送以下消息:

Tx 消息:从站向主站发送以下响应:

▶   下一个

目录