台达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 发布本文

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容