三菱 FX5U PLC 与步进驱动器通过 Modbus RTU 通讯是一种灵活的控制方式,无需专用脉冲输出口,通过串口即可实现对步进电机的速度、位置等参数的控制。以下是具体实现步骤和注意事项:
一、硬件连接与参数匹配
1. 硬件准备
2. 接线方式
3. 通讯参数统一
需在 PLC 和驱动器中设置相同的参数:
二、FX5U PLC 的 Modbus RTU 配置
1. 软件环境
使用三菱编程软件GX Works3,需安装 FX5U 的 Modbus 库(如MODBUS_MASTER
库)。
2. 配置通讯模块
3. 调用 Modbus 主站指令
FX5U 通过MODBUS_MASTER
指令发送 / 接收数据,关键参数如下:
参数 | 说明 | 示例 |
---|---|---|
EN | 使能信号(ON 时执行) | M0 |
MODE | 操作模式(0 = 读,1 = 写) | 1(写操作) |
SLAVE | 从站地址(驱动器地址) | K1 |
FUNC | Modbus 功能码 | K6(写单个寄存器) |
ADDR | 驱动器寄存器地址 | H0000(控制寄存器) |
DATA | 发送数据(PLC 内地址) | D100(存储目标速度) |
LEN | 数据长度(寄存器数量) | K1(1 个寄存器) |
DONE | 完成标志(ON = 执行完成) | M1 |
ERROR | 错误代码(0 = 正常) | D200 |
三、步进驱动器的 Modbus 寄存器映射
不同品牌驱动器的寄存器地址不同(需参考手册),以某品牌为例:
功能 | 寄存器地址 | 功能码 | 数据含义 |
---|---|---|---|
控制命令 | 0x0000 | 06(写单个) | 0x0001 = 启动,0x0002 = 停止 |
目标速度 | 0x0001 | 06(写单个) | 速度值(如 1000=1000rpm) |
旋转方向 | 0x0002 | 06(写单个) | 0 = 正转,1 = 反转 |
运行状态 | 0x0010 | 03(读单个) | 0 = 停止,1 = 运行,2 = 报警 |
示例:控制驱动器启动并以 1500rpm 正转
四、GX Works3 程序示例
以下是通过 Modbus RTU 控制步进驱动器启动的简单程序:
// 说明:通过M0触发,向地址1的步进驱动器发送启动命令
// 模块端口:COM1(FX5-485-BD),波特率9600,N,8,1
// 1. 初始化通讯参数(仅首次运行)
LD M8000
OUT M100 // 初始化标志
// 2. 启动命令发送(触发条件:M0=ON)
LD M0
AND M100 // 确保初始化完成
OUT M200 // 执行标志
// 3. 调用Modbus主站指令
MODBUS_MASTER
EN= M200 // 使能
MODE= K1 // 写操作
SLAVE= K1 // 驱动器地址1
FUNC= K6 // 功能码06(写单个寄存器)
ADDR= H0000 // 控制寄存器地址
DATA= D100 // 数据存储地址(D100=0x0001)
LEN= K1 // 1个寄存器
PORT= K1 // COM1端口
DONE= M201 // 完成标志
ERROR= D200 // 错误代码存储
// 4. 发送完成后复位触发
LD M201
OUT M0 // 复位M0
RST M200 // 复位执行标志
// 5. D100中存储启动命令(0x0001)
LD M8000
MOV K1 // 0x0001=启动命令
D100