前言
常规在某些场合要求精度不是非常高的情况下可以采用普通电机带编码器的方式去实现位置定位或者位置反馈。
今天本文就是
正文
自定义数据结构
普通电机状态功能块程序
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 发布本文
网友评论