1200/1500PLC控制V90 PN伺服通过FB284功能块,实现主动回零/定位/速度点动等。

在工业自动化现场,V90 PN伺服和S7-1200/1500PLC的组合堪称黄金搭档。当项目需要实现精确位置控制时,FB284这个功能块总能在工程师的编程桌上占据C位。今天咱们就聊聊怎么用这个功能块玩转伺服的基础操作。

先打开TIA Portal的硬件组态,把V90 PN伺服挂到PROFINET网络里。记得在设备视图中给伺服分配设备名称,这一步要是漏了,后面通讯绝对会给你脸色看。轴配置里勾选"速度控制"和"位置控制"模式,设置好电机的每转脉冲数——这个参数要是填错了,伺服走起来要么像蜗牛爬,要么直接起飞。

// FB284功能块调用示例
FB284(
    Axis := "Axis_1",          // 轴名称
    Execute := #StartMove,     // 触发信号
    Mode := 3,                 // 模式选择
    Position := 500.0,         // 目标位置
    Velocity := 100.0);        // 运行速度

这段代码里藏着几个关键点:Mode参数选3是绝对定位模式,要是想玩相对定位就换数字2。Position参数的单位可不是毫米,得换算成电机转的圈数。Velocity参数看着像速度,实际是最大速度限制值,真实运行速度还要看加减速曲线的设置。

主动回零操作最怕的就是机械撞限位。建议先在HMI上做个测试按钮,触发前确保伺服在软限位范围内。回零模式选3(外部开关+编码器零脉冲)最稳妥,碰到原点开关后会自动寻找最近的Z脉冲。

// 主动回零配置
FB284(
    Mode := 6,                 // 回零模式
    HomingVelFast := 500.0,    // 快速寻找速度
    HomingVelSlow := 50.0,     // 慢速精定位速度
    HomingDistance := 10.0);   // 过冲补偿距离

这里HomingDistance参数是个智慧设计。伺服找到原点后会自动多走设定距离,正好抵消机械间隙带来的误差。遇到过回零后位置总差几毫米的灵异事件?八成是这个参数没设对。

1200/1500PLC控制V90 PN伺服通过FB284功能块,实现主动回零/定位/速度点动等。

速度点动模式最适合设备调试阶段。但新手常犯的错是忘记做速度斜坡,直接给固定速度值会让电机产生明显抖动。建议在功能块外挂个斜坡函数发生器,或者直接启用PLC自带的运动控制功能做速度平滑。

// 速度点动实现
IF #JogForward THEN
    FB284(Mode := 1, Velocity := 200.0);
ELSIF #JogBackward THEN 
    FB284(Mode := 1, Velocity := -150.0);
END_IF;

注意正反转速度可以设不同值,这在处理收放卷应用时特别有用。遇到过伺服突然飞车的情况?检查下Velocity的符号是不是突然变正了,或者Execute信号出现了抖动。

实际调试时会遇到ErrorCode报85的情况,别慌,这通常是伺服还没使能。先确认ControlPoker里的6040h对象是否写入了使能值。要是用到了Profinet安全模块,还得检查安全信号是否已经释放。

最后说个血泪教训:定位完成后记得把Execute信号复位!见过有个现场因为保持Execute信号,导致设备在半夜突然自己动起来的惊悚事件。好的编程习惯是在功能块后立即复位触发信号,就像用完打火机要关盖一样自然。

下次碰到伺服控制需求时,不妨把FB284这个瑞士军刀再拿出来练练。毕竟在自动化江湖里,能熟练操控伺服系统的人,走哪都饿不着。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐