文章目录

PLC与变频器Modbus通信的地址映射表

发布于 2026-03-25 06:08:15 · 浏览 10 次 · 评论 0 条

PLC与变频器Modbus通信的地址映射表

Modbus通信是工业自动化领域最常用的设备互联方式。实现PLC(主站)对变频器(从站)的控制,核心在于准确掌握“地址映射”。只有正确对应PLC内部寄存器与变频器参数地址,才能实现启停控制、频率给定及状态监视。


1. 物理连接与基础设置

确认 接线方式。使用屏蔽双绞线,将PLC的通讯口与变频器的485端口相连。通常采用 连接 A端子接A端子,B端子接B端子。如果通讯不稳定,可尝试在末端 接入 120欧姆的终端电阻。

设置 变频器通讯参数。在变频器面板上 修改 以下关键参数(以通用变频器为例):

  1. 设置 站号。例如设定为 1
  2. 设置 波特率。通常选择 9600 bps。
  3. 设置 数据格式。例如 8-N-1(8位数据位,无校验,1位停止位)。
  4. 设置 控制源。选择 “通讯控制”或“Modbus控制”,确保变频器接收来自通讯口的指令而非端子排或面板。

配置 PLC通讯模块。在PLC编程软件的硬件组态界面,填入 与变频器一致的波特率、数据格式。添加 Modbus RTU主站功能块,指定通讯口。


2. 通讯地址映射原理

Modbus协议主要使用功能码 03(读保持寄存器)和 0610(写单个/多个寄存器)。地址映射的核心在于“公式转换”。

大多数变频器的参数地址遵循以下映射关系:PLC发送的通讯地址 = 变频器参数号 + 偏移量。不同品牌的偏移量不同,常见的偏移量规则如下:

  1. 功能码参数(如基本运行参数):地址通常为 参数号 + 某一固定值(如 20004000)。
  2. 监控参数(如输出频率、电流):通常映射在特定连续区域。
  3. 通讯地址通常从 01 开始计数,需 注意 协议地址与显示地址的区别(如PLC寄存器 40001 对应协议地址 0000)。

3. 常用控制地址映射表

以下映射表展示了PLC如何通过特定的寄存器地址访问变频器的核心功能。此处以通用标准映射为例(不同品牌变频器请查阅具体手册,此表为逻辑参考)。

表 1:PLC写入控制区(功能码:写寄存器)

功能描述 PLC寄存器地址示例 变频器映射地址(十六进制) 数据含义/指令值 备注
运行控制命令 40001 0000H 1=正转, 2=反转, 3=停止 控制启停核心地址
频率设定值 40002 0001H 0-10000 (对应0.00-100.00Hz) 需注意分辨率单位
加速时间 40003 0002H 单位通常为 0.1秒 例如 100 代表10秒
减速时间 40004 0003H 单位通常为 0.1秒 例如 50 代表5秒
运行模式切换 40005 0004H 0=面板控制, 1=端子控制, 2=通讯控制 用于程序切换控制权

表 2:PLC读取状态区(功能码:读寄存器)

功能描述 PLC寄存器地址示例 变频器映射地址(十六进制) 数据范围 备注
运行状态字 40010 000AH 位状态解析 包含运行、故障、方向等信息
输出频率 40011 000BH 0-10000 实际运行频率
输出电流 40012 000CH 0-65535 单位通常为 0.01A
输出电压 40013 000DH 0-65535 单位通常为 1V
故障代码 40014 000EH 具体故障码 用于故障诊断逻辑

4. 数据交互逻辑流程

通过流程图可以清晰理解PLC如何完成一次完整的控制与监视循环。

graph TD A["PLC程序开始"] --> B["发送读取指令 (功能码 03)"] B --> C{"变频器响应?"} C -- "超时/错误" --> D["触发报警逻辑"] C -- "正常" --> E["解析状态数据 (频率/电流/状态)"] E --> F["逻辑运算 (PID或比较指令)"] F --> G["打包控制数据 (频率/启停指令)"] G --> H["发送写入指令 (功能码 06 或 10)"] H --> I{"写入成功?"} I -- "失败" --> J["重发机制"] I -- "成功" --> A J --> A D --> A

5. 编程实操步骤

在PLC编程软件中,调用 Modbus通信指令库。以下以类ST语言逻辑为例(不同PLC语法略有不同,逻辑通用):

  1. 定义 变量。创建 Modbus_Run(触发位)、Slave_ID(从站号,设为 1)、Start_Addr(起始地址,设为 0)、Data_Len(读取长度)。
  2. 编写 读取逻辑。使用 功能码 03
    • 配置 Slave1
    • 配置 Addr4096(对应十六进制 0x0400,假设此地址存运行频率)。
    • 配置 Count1
    • 触发 通信请求,将返回值 传送PLC_Freq_Read 变量。
  3. 编写 写入逻辑。使用 功能码 06(写单个)或 16(写多个)。
    • 赋值 目标频率 Target_Freq(例如 5000 代表50.00Hz)。
    • 配置 Addr1(对应十六进制 0x0001,频率给定地址)。
    • 执行 写入指令,将 Target_Freq 发送 给变频器。

处理 数据转换。变频器通讯数据通常为整数。

  • 频率转换:若变频器分辨率为 0.01Hz,需 执行 运算:实际频率 = 通讯数值 × 0.01。或直接在PLC内部使用整数运算避免浮点数开销。
  • 状态字解析:使用 逻辑与指令(AND)提取特定位。例如,判断 第0位是否为 1 以确认变频器是否运行。

6. 常见故障排查

当通信建立失败时,检查 以下关键点:

  1. 核对 站号唯一性。确认总线上没有重复的从站地址。
  2. 确认 地址偏移量。部分PLC协议地址从 0 开始,部分从 1 开始。若读取数据错位,尝试将地址 减 1加 1
  3. 检查 接线极性。A、B线反接会导致通讯灯闪烁但无法读取数据。
  4. 监控 通讯超时。调整 超时时间参数,建议设置为 500ms1000ms

评论 (0)

暂无评论,快来抢沙发吧!

扫一扫,手机查看

扫描上方二维码,在手机上查看本文