返回主站|会员中心|保存桌面

晟辉散热风扇服务商    

DC风扇,AC风扇,鼓风机,离心风扇,EC风扇

新闻分类
  • 暂无分类
站内搜索
 
友情链接
  • 暂无链接
首页 > 新闻中心 > 详细介绍三菱PLC步进电机控制分度盘的程序设计!
新闻中心
详细介绍三菱PLC步进电机控制分度盘的程序设计!
发布时间:2025-10-05        浏览次数:1        返回列表

三菱 PLC 控制步进电机驱动分度盘的程序设计,需围绕 “精准角度定位”“可靠原点回归”“灵活分度选择” 三大核心需求,结合步进电机脉冲特性与机械结构特点,实现稳定、高精度的分度控制。以下以三菱 FX3U PLC 为例,详细介绍程序设计的完整逻辑(含梯形图指令说明)。

一、控制需求与系统框架

1. 控制需求

  • 支持原点回归(上电或复位后回归零位,作为分度基准)。

  • 可选择多种分度角度(如 30°、45°、60°、90°,支持自定义角度)。

  • 运行过程中具备急停、限位保护,到位后触发机械锁紧(可选)。

  • 实时显示当前角度、运行状态(通过指示灯或 HMI)。

2. 系统框架

plaintext

传感器信号(原点/限位)→ PLC → 脉冲指令(控制步进驱动器)→ 步进电机 → 分度盘
                          ↑↓
                    操作按钮(启动/急停/角度选择)

二、硬件选型与 I/O 分配

1. 硬件清单

部件型号 / 规格示例作用
PLC三菱 FX3U-40MT/ES-A核心控制,输出脉冲与逻辑处理
步进电机57HS22(步距角 1.8°,扭矩 2.2N・m)驱动分度盘旋转
驱动器DM542(支持 16 细分)接收脉冲信号,驱动电机
分度盘直径 300mm,带定位销承载工件,实现角度分度
传感器光电开关(原点 X0、正限位 X1、反限位 X2)零位检测与超程保护
操作按钮启动 X3、急停 X4、角度选择 X5~X8人工操作输入
输出设备运行灯 Y0、锁紧电磁阀 Y1状态指示与机械锁紧

2. I/O 分配表

输入(X)功能描述输出(Y)功能描述
X0原点检测(常开)Y0脉冲输出(PLS)
X1正转限位(常开)Y1方向输出(DIR)
X2反转限位(常开)Y2运行指示灯(红)
X3启动按钮(常开)Y3锁紧电磁阀
X4急停按钮(常闭)Y4报警灯(黄)
X530° 选择

X645° 选择

X760° 选择

X890° 选择

X9原点回归按钮

X10复位按钮

3. 数据寄存器(D)定义

寄存器功能描述初始值 / 示例
D0单脉冲对应角度(°)0.05625(1.8°/32 细分)
D10~D13预设分度角度(30°/45°/60°/90°)30/45/60/90
D20当前选择的目标角度由 X5~X8 赋值
D21目标角度对应的脉冲数计算结果(如 30°→533)
D30绝对位置脉冲数(当前坐标)0(原点回归后)
D40机械误差补偿脉冲数0(可手动校准)
D50运行速度(Hz)2000(可调整)
D60加减速时间(ms)100(通过 D8148 设置)

三、核心程序设计(梯形图逻辑详解)

1. 初始化与原点回归程序

原点回归是确保分度精度的前提(所有角度基于原点计算),逻辑如下:

plaintext

// ① 原点回归触发(X9按钮或首次上电)
LD X9                // 原点回归按钮
OR M8002             // 首次上电脉冲(M8002仅上电时通一次)
OUT M0               // M0=原点回归请求

// ② 执行原点回归指令(ZRN):向原点方向运行,触发X0后停止
LD M0
AND X4               // 急停按钮闭合(正常状态)
ZRN K1000, K500, Y0, Y1  // ZRN指令:搜索速度1000Hz,爬行速度500Hz,脉冲Y0,方向Y1
                        // 说明:ZRN会自动驱动电机向原点移动,X0触发后减速停止

// ③ 原点回归完成处理
LD M8029             // 定位/原点回归完成标志(指令执行完自动置1)
AND M0               // 仅在原点回归请求时有效
RST M0               // 清除回归请求
MOV K0 D30           // 当前绝对位置清零(原点坐标=0)
SET M10              // M10=就绪状态(可执行分度)
OUT Y2               // 运行灯亮(表示就绪)

关键点

  • 原点回归时,驱动器细分需固定(如 32 细分),确保D0(单脉冲角度)准确。

  • 若原点开关触发后仍有机械偏差,可通过D40补偿(如MOV K5 D40,实际位置 = D30+D40)。

2. 角度选择与脉冲数换算程序

将选定的角度(如 30°)转换为步进电机脉冲数,核心是 “角度→脉冲” 的精确计算:

plaintext

// ① 角度选择(仅在就绪状态M10=1时有效)
LD M10
AND NOT M20          // 未运行时允许选择角度
LD X5                // 30°选择
OUT M5
LD X6                // 45°选择
OUT M6
// (X7、X8同理,对应M7、M8)

// ② 目标角度赋值(将选择的角度存入D20)
LD M5
MOV D10 D20          // 30°→D20=30
LD M6
MOV D11 D20          // 45°→D20=45
// (M7、M8对应D12、D13)

// ③ 脉冲数计算:脉冲数=目标角度÷单脉冲角度(D0=0.05625°)
// 公式:D21 = D20 / D0 (因PLC不直接支持浮点数,用放大法处理)
LD D20               // 若目标角度不为0
DIFU M11             // 角度变化时触发计算
LD M11
MUL D20 K100000 D22  // D22=目标角度×100000(放大消除小数)
DIV D22 D0 D21       // D21=脉冲数(四舍五入取整)
// 示例:30°×100000=3000000 ÷ 5625(D0=0.05625×100000)=533.333→533

关键点

  • 单脉冲角度D0需根据电机步距角和细分计算(如 1.8° 步距角 + 32 细分:1.8/32=0.05625°)。

  • 若有减速箱,脉冲数需 × 减速比(如减速比 1:2,D21 = 计算值 ×2)。

3. 分度运行控制程序

通过绝对定位指令(DRVA)驱动电机旋转至目标角度,到位后锁紧:

plaintext

// ① 启动条件:就绪(M10=1)+ 未运行(M20=0)+ 启动按钮(X3)+ 急停正常(X4)
LD M10
AND NOT M20
AND X3
AND X4
SET M20              // M20=运行中
RST Y2               // 熄灭就绪灯
OUT Y2               // 运行灯亮(Y2复用,也可单独设指示灯)

// ② 执行绝对定位(DRVA):目标位置=当前位置+目标脉冲数+补偿值
LD M20
DRVA D30+D21+D40, D50, Y0, Y1  // DRVA指令:绝对位置=当前位置+目标脉冲+补偿
                              // 速度=D50(2000Hz),脉冲Y0,方向Y1

// ③ 定位完成处理
LD M8029             // 定位完成标志
AND M20              // 仅在运行中有效
RST M20              // 清除运行状态
MOV D30+D21+D40 D30  // 更新当前绝对位置(D30=新坐标)
OUT Y3               // 触发锁紧电磁阀(保持0.5秒)
TON T0 K50           // T0=50×10ms=500ms
LD T0
RST Y3               // 松开锁紧(根据机械需求选择是否保持)
SET M10              // 恢复就绪状态
OUT Y2               // 就绪灯亮

关键点

  • DRVA(绝对定位)而非DRVI(相对定位),避免累计误差(每次定位基于原点坐标)。

  • 加减速时间通过D8148设置(如MOV K100 D8148,100ms 加减速,减少惯性冲击)。

4. 保护程序(急停、限位、报警)

plaintext

// ① 急停处理(X4断开时触发)
LD NOT X4
RST M20              // 停止运行
RST Y0               // 停止脉冲输出
RST Y3               // 松开锁紧
OUT Y4               // 报警灯亮
RST M10              // 清除就绪状态(需重新原点回归)

// ② 限位保护(X1正限位或X2反限位触发)
LD X1
OR X2
RST M20              // 停止运行
SPD RST Y0           // 强制停止脉冲
OUT Y4               // 报警灯亮
// (需手动复位X1/X2后,重新原点回归)

// ③ 定位超时报警(防止卡料)
LD M20               // 运行中
TON T1 K1000         // 超时10秒(1000×10ms)未完成
LD T1
OUT Y4               // 报警灯亮
RST M20              // 停止运行

四、程序优化与精度保障技巧

  1. 脉冲补偿修正机械误差若实际分度角度与理论值偏差(如 30° 实际仅 29.8°),通过D40补偿:

    plaintext

  2. // 校准模式:按X11进入,手动修改D40
    LD X11
    MOV K2 D40  // 增加2个脉冲,补偿0.1125°(2×0.05625)
  3. 避免运行中修改参数运行状态(M20=1)时锁定角度选择和参数修改,防止脉冲数突变:

    plaintext

  4. LD M20
    OR Y4        // 报警时也锁定
    OUT M99      // M99=锁定标志
    // 在角度选择逻辑前加“AND NOT M99”
  5. 高速脉冲处理若分度速度快(>3000Hz),启用 PLC 高速脉冲输出功能,确保脉冲不丢失:

    • FX3U 支持 Y0/Y1 高速脉冲(最高 100kHz),需在系统寄存器设置脉冲输出模式(通过 GX Works2 配置)。

五、调试步骤

  1. 原点回归调试:确认 X0 触发后电机准确停在零位,调整 ZRN 指令的爬行速度(K500)避免过冲。

  2. 脉冲数验证:手动计算目标角度对应的脉冲数(如 45° 对应 800 脉冲),对比 PLC 计算值(D21)是否一致。

  3. 空载运行:测试各角度分度,用角度尺测量实际角度,通过D40补偿偏差。

  4. 带载测试:加入工件后测试锁紧机构是否可靠,检查急停、限位保护是否生效。

总结

该程序通过 “原点回归→角度选择→脉冲换算→绝对定位→保护逻辑” 的闭环设计,实现了分度盘的高精度控制。核心是脉冲数与角度的精确转换绝对定位指令的可靠执行,配合机械锁紧和误差补偿,可满足 ±0.1° 以内的分度精度需求(更高精度需增加光栅尺闭环反馈)。

收缩
  • QQ咨询

  • 电话咨询

  • 18576370666
  • 添加微信客服