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

三菱电机服务商    

PLC、变频器、伺服驱动、触摸屏,机器人

联系方式
  • 联系人:黄小姐
  • 电话:15523729285
  • 邮件:15523729285@163.com
新闻分类
  • 暂无分类
站内搜索
 
首页 > 新闻中心 > FX5U定位程式要有正负位置!
新闻中心
FX5U定位程式要有正负位置!
发布时间:2025-09-21        浏览次数:13        返回列表

三菱 FX5U PLC 在定位控制中实现正负位置(即相对坐标系中的正向和负向移动),需要通过绝对位置模式相对位置模式结合参数设置来实现。以下是具体的编程方法和示例,确保能准确控制轴的正负方向移动:

一、核心概念与参数设置

  1. 位置方向定义

    • 正向(+):通常对应电机顺时针旋转(需与机械结构匹配,可通过伺服驱动器参数修改方向)。

    • 负向(-):通常对应电机逆时针旋转。

  2. 关键参数

    • 轴初始化参数:需在程序中指定轴的方向逻辑(如脉冲方向是否反转)。

    • 运动指令参数:通过MC_MoveAbsolute(绝对位置)或MC_MoveRelative(相对位置)指令的 “位置” 参数正负值控制方向。

二、硬件与软件准备

  • 硬件:FX5U PLC(如 FX5U-32MT)、伺服驱动器(如三菱 MR-JE)、伺服电机、编码器(闭环控制)。

  • 软件:GX Works3(版本需支持 FX5U 运动控制指令)。

  • 接线:PLC 脉冲输出(如 Y0 脉冲、Y1 方向)连接伺服驱动器,确保脉冲和方向信号正确。

三、编程步骤(包含正负位置控制)

1. 轴初始化(必须执行)

使用MC_Init指令初始化轴,设置轴的基本参数(如允许正 / 负方向运动、软限位等)。

梯形图(ST语言):

// 轴1初始化(确保在程序开头执行一次)
MC_Init(
    Axis        := 1,              // 轴编号(1-4,FX5U最多支持4轴)
    Enable      := TRUE,           // 允许轴运动
    PositiveLimit := FALSE,        // 不使用正向硬限位(或接限位开关信号)
    NegativeLimit := FALSE,        // 不使用负向硬限位
    ErrorId     => Error_Init,     // 错误代码
    Done        => Done_Init       // 初始化完成标志
);

2. 绝对位置模式(正负坐标)

绝对位置模式以原点(0 点) 为基准,通过设置正负坐标值控制轴移动到指定位置(如 + 500mm 表示原点正向 500mm,-300mm 表示原点负向 300mm)。

示例:移动到绝对位置 + 500 和 - 300

ST语言:

// 移动到绝对位置+500(正向)
IF 正向按钮信号 = TRUE THEN
    MC_MoveAbsolute(
        Axis        := 1,          // 轴1
        Position    := 500.0,      // 目标位置(正数=正向)
        Velocity    := 100.0,      // 速度(单位:mm/s或脉冲/s,需与电子齿轮比匹配)
        Acceleration:= 500.0,      // 加速度
        Deceleration:= 500.0,      // 减速度
        Jerk        := 0,          // 加加速度(0=不使用)
        Done        => Done_Abs1,  // 运动完成标志
        Busy        => Busy_Abs1,  // 运动中标志
        ErrorId     => Error_Abs1  // 错误代码
    );
END_IF;

// 移动到绝对位置-300(负向)
IF 负向按钮信号 = TRUE THEN
    MC_MoveAbsolute(
        Axis        := 1,
        Position    := -300.0,     // 目标位置(负数=负向)
        Velocity    := 100.0,
        Acceleration:= 500.0,
        Deceleration:= 500.0,
        Jerk        := 0,
        Done        => Done_Abs2,
        Busy        => Busy_Abs2,
        ErrorId     => Error_Abs2
    );
END_IF;

3. 相对位置模式(正负偏移)

相对位置模式以当前位置为基准,移动指定的正负距离(如 + 200 表示从当前位置正向移动 200mm,-150 表示从当前位置负向移动 150mm)。

示例:相对当前位置移动 + 200 和 - 150

ST语言:

// 相对当前位置正向移动200
IF 相对正向按钮 = TRUE THEN
    MC_MoveRelative(
        Axis        := 1,
        Distance    := 200.0,      // 移动距离(正数=正向)
        Velocity    := 100.0,
        Acceleration:= 500.0,
        Deceleration:= 500.0,
        Jerk        := 0,
        Done        => Done_Rel1,
        Busy        => Busy_Rel1,
        ErrorId     => Error_Rel1
    );
END_IF;

// 相对当前位置负向移动150
IF 相对负向按钮 = TRUE THEN
    MC_MoveRelative(
        Axis        := 1,
        Distance    := -150.0,     // 移动距离(负数=负向)
        Velocity    := 100.0,
        Acceleration:= 500.0,
        Deceleration:= 500.0,
        Jerk        := 0,
        Done        => Done_Rel2,
        Busy        => Busy_Rel2,
        ErrorId     => Error_Rel2
    );
END_IF;

4. 原点回归(确保正负位置基准正确)

绝对位置模式需要先执行原点回归(找 0 点),否则正负位置会偏移。使用MC_Home指令:

ST语言:

// 原点回归(触发后找原点)
IF 回原点按钮 = TRUE THEN
    MC_Home(
        Axis        := 1,
        Mode        := 1,          // 回归模式1:接近开关+Z相脉冲(常用)
        Velocity    := 50.0,       // 找原点速度
        Offset      := 0.0,        // 原点偏移量(0=开关位置即为原点)
        Done        => Done_Home,
        Busy        => Busy_Home,
        ErrorId     => Error_Home
    );
END_IF;

四、方向异常的排查与处理

若实际运动方向与程序设定相反(如指令 + 500 却向负向移动),可通过以下方式修正:

  1. 修改伺服驱动器参数:如三菱 MR-JE 的 Pr.20(脉冲方向设置),将 “0” 改为 “1” 反转方向。

  2. 在 PLC 程序中反转方向:在MC_Init后使用MC_ReverseDirection指令临时反转轴方向:

    ST语言:

  3. // 反转轴1方向
    MC_ReverseDirection(Axis := 1, Enable := TRUE);

五、注意事项

  1. 单位一致性:程序中的位置单位(mm)需与电子齿轮比匹配(如 1000 脉冲 = 1mm,需在伺服驱动器中设置对应参数)。

  2. 软限位保护:可通过MC_SetSoftwareLimit指令设置正负向软限位(如正向最大 + 1000,负向最小 - 500),防止超程:

    ST语言:

  3. MC_SetSoftwareLimit(Axis := 1, PositiveLimit := 1000.0, NegativeLimit := -500.0);
  4. 运动状态判断:在触发新的运动指令前,需通过Busy标志判断轴是否处于空闲状态,避免指令冲突。

通过以上方法,FX5U 可精准控制轴的正负位置移动,适用于需要双向定位的场景(如物料搬运、坐标式机械手等)。编程时需注意原点基准和方向一致性,确保实际运动与程序指令一致。

FX5U PLC正负位置定位控制程序

V1

创建时间:09:16

程序说明

  1. 初始化:程序启动时通过MC_Init指令初始化轴 1,确保轴处于可控制状态。

  2. 原点回归:通过MC_Home指令建立位置基准(0 点),是绝对位置控制的前提。

  3. 绝对位置控制

    • 触发 “正向按钮” 时,轴移动到绝对位置 + 500(原点正向 500 单位)。

    • 触发 “负向按钮” 时,轴移动到绝对位置 - 300(原点负向 300 单位)。

  4. 相对位置控制

    • 触发 “相对正向按钮” 时,从当前位置正向移动 200 单位。

    • 触发 “相对负向按钮” 时,从当前位置负向移动 150 单位。

使用时需根据实际机械结构调整速度、加速度及位置参数,并确保伺服驱动器的电子齿轮比与程序单位匹配。若方向相反,可通过修改伺服参数或MC_ReverseDirection指令调整。

收缩
  • 电话咨询

  • 15523729285
  • 添加微信客服