台达PLC-Base运动控制器-带编码器反馈的普通电机控制功能块

前言

常规在某些场合要求精度不是非常高的情况下可以采用普通电机带编码器的方式去实现位置定位或者位置反馈。
今天本文就是

正文

自定义数据结构

普通电机状态

功能块程序

IF bInMotorEnable THEN
    IF (bInMotorFault = FALSE) THEN
        bOutMotorFwd := (bInMotorManualFwd OR bMotorFwd) AND (rActEncoderPos <= rMaxPos) ;
        bOutMotorRev := (bInMotorManualRev OR bMotorRev) AND (rActEncoderPos >= rMinPos) ;
        IF bOutMotorFwd THEN
            iMotorStatus := 普通电机正转 ;
        ELSIF bMotorFwd AND (rActEncoderPos > rMaxPos) THEN
            iMotorStatus := 普通电机正转极限 ;
        ELSIF bOutMotorRev THEN
            iMotorStatus := 普通电机反转 ;    
        ELSIF bMotorRev AND (rActEncoderPos < rMinPos) THEN
            iMotorStatus := 普通电机反转极限 ;
        ELSIF (bOutMotorFwd = FALSE) OR (bOutMotorRev = FALSE) THEN
            iMotorStatus := 普通电机停止 ;    
        END_IF;
    ELSE
        bOutMotorFwd := FALSE ;
        bOutMotorRev := FALSE ;
        iMotorStatus := 普通电机故障 ;
    END_IF;
ELSE
    bOutMotorFwd := FALSE ;
    bOutMotorRev := FALSE ;
    iMotorStatus := 普通电机禁用 ;    
END_IF;

结尾

Log:
2021-01-06 发布本文

你可能感兴趣的:(台达PLC-Base运动控制器-带编码器反馈的普通电机控制功能块)