
西门子1200PLC 自动贴标机 三轴伺服控制 包括PLC程序和触摸屏程序 [1]触摸屏是西门子TP900 [2]3轴伺服PTO脉冲加方向控制 [3]梯形图和SCL编写 [红圆]多种执行器机械手分度盘电磁阀伺服电机步进电机拍照系统 博图V15或以上。最近接了个自动贴标机的项目用1200PLC搞三轴伺服控制。设备带分度盘转位、机械手抓取、视觉拍照定位整套系统涉及到十几个执行机构的联动。今天重点聊聊伺服控制部分和HMI交互的实现细节。硬件架构方面三个伺服轴分别负责横向送标、纵向压标和旋转纠偏。用PTO脉冲输出方式控制省了运动控制模块的钱。这里注意博图V15开始才支持1200的轴工艺对象选型时别用低版本软件给自己挖坑。轴配置参数得按实际机械调整比如这个送标轴参数MC_Power( Axis : Axis1, //轴名称 Enable : TRUE, //使能信号 Position : 0, //初始位置 Velocity : 500, //脉冲频率 Acceleration : 1000, //加速时间 Deceleration : 800); //减速时间这里加速度参数别照搬手册要根据实际机械负载调试。遇到过某次调试时加速度设太大导致传送带打滑的翻车现场。伺服回原点程序用梯形图实现更直观![梯形图示例]西门子1200PLC 自动贴标机 三轴伺服控制 包括PLC程序和触摸屏程序 [1]触摸屏是西门子TP900 [2]3轴伺服PTO脉冲加方向控制 [3]梯形图和SCL编写 [红圆]多种执行器机械手分度盘电磁阀伺服电机步进电机拍照系统 博图V15或以上。当急停复位后先执行原点搜索MC_Home指令配合近点开关信号触发精确找零。注意方向信号要跟机械安装方向一致有次接反了方向线导致撞限位开关那声音听着都肉疼。模式切换用SCL写更灵活CASE #Mode OF 1: //自动模式 IF 拍照_OK THEN 伺服使能 : TRUE; MC_MoveAbsolute(Axis1, Position:300, Velocity:800); END_IF; 2: //手动调试 IF HMI_JogForward THEN MC_MoveVelocity(Axis1, Velocity:200); ELSIF HMI_JogBackward THEN MC_MoveVelocity(Axis1, Velocity:-200); END_IF; END_CASE;这个状态机结构方便扩展后期新增单步模式直接加CASE分支就行。注意速度模式要配合HMI按钮的上升沿触发否则容易发生长按按钮导致速度失控。触摸屏交互重点用TP900的矢量图功能做了个伪3D界面实时显示各轴位置报警页面整合了伺服使能状态、极限位状态、脉冲丢失报警参数设置页加了权限锁防止误操作![HMI界面示意图]有个坑要注意博图的HMI变量前缀要和PLC变量严格对应有次手滑把Axis1.ActPos写成Axis1_ActPos查了半小时才找出显示异常的原因。调试技巧分享先单独调试每个轴的点动功能用Trace功能抓取实际脉冲波形急停电路必须硬线连接不能只靠PLC程序视觉拍照触发时机要跟分度盘位置严格同步标距补偿算法建议用查表法比公式计算更稳定这套系统跑了三个月日均贴标两万多个。最惊喜的是SCL写的纠偏算法把贴标精度从±1mm提升到了±0.3mm。下次考虑把气缸动作也整合到轴控制里应该还能再优化0.5秒的节拍时间。