气缸常规类型分为:双磁双控,双磁单控,可模拟双磁双控,可模拟双磁单控,单磁双控,单磁单控;
利用接口功能设计包含:动点、原点、错误代码常规接口;
功能块设计:气缸名称、模式、看门狗、以及超时时间设计,可针对所有气缸建立通用功能块;
首先建立接口模块ITF_Cylider 包含对象mActingMoving,mActOrigin,mErrorCode;
创建气缸功能块Fb_Cylider,引用接口ITF_Cylider;
IF uiModeside=0 THEN//0双磁双控
DoMoving:=ATI_qMoving AND (NOT ATI_xSnMoving);
DoOrigin:=ATI_qOrigin AND (NOT ATI_xSnOrigin);
IF Sys_mManulMode OR bForceEnableManualBt THEN
IF bLockByItself THEN
IF ADS_mMoving THEN
ATI_qOrigin R=TRUE;
ATI_qMoving S=TRUE;
ELSIF ADS_mOrigin THEN
ATI_qMoving R=TRUE;
ATI_qOrigin S=TRUE;
END_IF
ELSE
ATI_qMoving:=ADS_mMoving AND (NOT ATI_xSnMoving) AND (NOT ADS_mOrigin);
ATI_qOrigin:=ADS_mOrigin AND (NOT ATI_xSnOrigin) AND (NOT ADS_mMoving);
END_IF
ELSIF Sys_mAutoMode THEN
IF bLockByItself THEN
IF Auto_mMoving THEN
ATI_qOrigin R=TRUE;
ATI_qMoving S=TRUE;
ELSIF Auto_mOrigin THEN
ATI_qMoving R=TRUE;
ATI_qOrigin S=TRUE;
END_IF
ELSE
ATI_qMoving:=Auto_mMovi