流水线贴膜机完成项目程序,包含PLC程序和触摸屏程序,程序内 包含上下气缸控制,夹紧气缸控制,输送带电机控制,贴膜伺服控制,旋转电机控制等类容,非常适合学习简单控制工艺及运动控制初学者学习,该程序支持博图V13及以上版本。

最近搞了个流水线贴膜机的实战项目,把PLC程序和触摸屏程序都撸完了。这个项目特别适合刚入坑工控的小白练手,咱们今天就来拆开看看里面的控制逻辑。(文末附完整工程文件)

先说整体架构,主控用的是西门子S7-1200,HMI配的KTP700 Basic屏。项目里最核心的就是这几组动作的配合:上下料气缸顶起→夹紧机构固定→输送带跑位→伺服精准贴膜→旋转台转位。别看动作多,拆解开来其实都是基础操作的排列组合。

先看气动控制部分,上下气缸的程序片段:

// FC1: 上下气缸控制
IF #自动模式 THEN
    #上气缸置位 := 输送带到位 AND 无报警;
    #下气缸置位 := 贴膜完成 AND 旋转台空闲;
    
    // 互锁保护
    IF #上气缸.Q THEN
        #下气缸.复位 := 1;
    ELSIF #下气缸.Q THEN
        #上气缸.复位 := 1;
    END_IF;
END_IF;

这里用了个上升沿触发,防止按钮长按导致气缸反复动作。互锁逻辑是关键,毕竟不能让上下气缸同时动作撞车。实际调试时吃过这个亏,气缸"打架"的声音那叫一个酸爽...

输送带电机控制更注重速度配合:

// FC3: 输送带控制
CASE #当前工位 OF
    1: #输送带速度 := 200;  // 初始段高速
    2: 
        IF 接近贴膜位 THEN
            #输送带速度 := 50;  // 降速定位
        END_IF;
    3: #输送带速度 := 0;
END_CASE;

"输送带电机".SetSpeed(#输送带速度);

这里用了三段式速度控制,新手容易踩的坑是减速时机。之前有次光电开关位置没调好,物料直接飞出去了,场面堪比保龄球全中。

贴膜伺服是项目的技术难点,重点在相对定位:

// FB200: 贴膜伺服控制
#MC_MoveRelative(
    Axis := '贴膜轴',
    Distance := 150.0,      // 贴膜行程
    Velocity := 300.0,      // mm/s
    Acceleration := 1000.0, // 加速不要太猛
    Deceleration := 2000.0,
    BufferMode := 1);       // 队列模式

IF '贴膜轴'.PositionReached THEN
    贴膜完成 := 1;
    ......
END_IF;

这里用到了工艺对象配置,博图的轴参数设置界面新手得好好研究。调试时发现加速度设置过大会导致膜材起皱,后来降到1000刚好。伺服控制就像遛狗,劲儿使大了容易扯着蛋。

HMI界面设计也有讲究,新手常犯的错误是控件绑定不规范。分享个物料监控画面的事件配置:

// HMI按钮事件
IF 自动模式 THEN
    SetBit(启动信号);
    ResetBit(急停信号);
ELSE
    ShowPopup('模式错误提示');
END_IF;

这里要注意信号互锁,有次测试时忘记做模式判断,自动模式下误触急停直接产线宕机,被老师傅骂惨了。

整个项目调通后最大的感受是:工控编程就像炒菜,火候顺序很重要。气缸动作要像颠勺般利落,伺服控制得像文火慢炖,而HMI就是那盘菜的卖相。建议新手重点吃透信号互锁和运动队列,这两块搞明白就能应付大部分产线需求了。

(完整工程文件包含报警处理、配方功能等进阶内容,需要的朋友私信发你。调试时记得先关气源再下程序,别问我是怎么知道的...)

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐