三菱PLC FX5u结构化4轴伺服1个机器人程序 宝贝包括FX5u程序,维纶通触摸屏程序,IO表,元件BOM,eplan和PDF电气图,整机机构图,真实项目程序

先看整体架构:FX5u-32MT做主站,四个MR-JE-C伺服带1kg级水平关节机械手,HMI用维纶通MT8071iE。重点在于多轴同步和机器人路径规划的逻辑配合。

轴参数结构化封装是个好东西,把每个轴的配置打包成FB块。比如这个回原点的处理:

FUNCTION_BLOCK AxisHome_FB
VAR_INPUT
    bExecute: BOOL;
END_VAR
VAR_OUTPUT
    bDone: BOOL;
    bBusy: BOOL;
END_VAR
VAR
    stAxis: ST_AxisControl;
    iStep: INT := 0;
END_VAR

CASE iStep OF
0:
    IF bExecute THEN
        MC_Home(stAxis);  //调用运动控制指令
        iStep := 10;
    END_IF
10:
    IF stAxis.dStatus THEN
        bDone := TRUE;
        iStep := 0;
    END_IF
END_CASE

这种封装方式比梯形图清爽多了,特别是在需要重复调用四轴的时候,直接实例化四个FB块互不干扰。调试时发现个坑——伺服参数里的电子齿轮比必须和机械减速比匹配,否则会出现位置累计误差。建议在伺服初始化时强制写入参数:

//MR-JE-C参数写入
sCmd := "PARAM W 2A01H " + REAL_TO_STRING(rGearRatio);
MC_SendCommand(axisNo, sCmd, 1000);

触摸屏交互方面,维纶通的元件地址直接绑定到PLC的全局标签。比如速度调节的滑动条元件,地址填直接填%D100,在PLC里用结构化变量映射:

VAR_GLOBAL
    g_stAxis1: AxisData := (rSpeed:=D100, rPos:=D110);
END_VAR

机器人轨迹规划部分,采用空间直线插补算法。用位置结构体数组存储路径点:

TYPE POSITION_3D :
STRUCT
    x: LREAL;
    y: LREAL;
    z: LREAL;
END_STRUCT
END_TYPE

VAR
    arrPath: ARRAY[1..50] OF POSITION_3D;
    iPathIndex: INT;
END_VAR

实际测试中发现,必须加入速度前瞻控制。在运动到当前点的同时,提前计算下三个点的速度变化率,避免急停抖动。算法核心部分:

IF iCurrentPoint > 3 THEN
    rDecelDistance := (arrPath[iCurrentPoint].rVel^2 - arrPath[iCurrentPoint+1].rVel^2)/(2*rMaxAccel);
    IF rRemainDistance < rDecelDistance THEN
        arrPath[iCurrentPoint].rVel := SQRT(arrPath[iCurrentPoint+1].rVel^2 + 2*rMaxAccel*rRemainDistance);
    END_IF
END_IF

电气图设计有个关键点:伺服动力线必须与编码器线分槽走线,实测当两者平行布置时,干扰会导致位置反馈跳变。Eplan图纸里专门用不同颜色的线槽区分,这个在二维图纸上看不出来,实际接线时吃过亏。

整套方案最大的挑战是四轴与机械手的协同动作。通过事件触发的方式实现动作衔接:

//当四轴到达抓取位置时触发机械手动作
IF stAxis1.bInPosition AND NOT bGripperActivated THEN
    Robot_SendCmd("#PICK");
    bGripperActivated := TRUE;
END_IF

项目包里带的IO表其实暗藏玄机——输入点分配时留了20%的余量,方便后期增加光电传感器。比如X20-X27原本是预留位,调试时发现需要增加物料检测,直接启用X24而不必改硬件配置。

这套架构经过三个月连续运行测试,平均单次循环时间从2.3秒优化到1.8秒。核心经验就两条:结构化的数据管理比逻辑更重要;所有运动控制必须留足安全余量。下次准备尝试把视觉引导整合进去,到时候再分享新坑...

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐