Relinked everything with HAL and Execute pattern
- Switched to BaseConponents V2.0
This commit is contained in:
@@ -16,6 +16,7 @@ VAR_OUTPUT
|
||||
xVacuumEnabled : BOOL;
|
||||
END_VAR
|
||||
VAR_IN_OUT
|
||||
stIO : ST_Etcher_IO;
|
||||
stHMIInterface : ST_HMI_Etcher;
|
||||
END_VAR
|
||||
VAR
|
||||
@@ -92,7 +93,6 @@ VAR
|
||||
|
||||
// Debug
|
||||
_iState : INT;
|
||||
_xEnableSpinner : BOOL;
|
||||
_lrSpinnerVelo : LREAL := 36.0;
|
||||
_xAllCompRetracted : BOOL;
|
||||
_xChuckRemoved : BOOL;
|
||||
@@ -106,7 +106,8 @@ _fbValveDoor(
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stValveDoorCfg,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stIO := stIO.stValveDoor,
|
||||
stHMIInterface:= stHMIInterface.stDoorValve);
|
||||
|
||||
|
||||
@@ -126,7 +127,8 @@ _fbValveVacuum(
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stValveVacuumConfig,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stIO := stIO.stValveVacuum,
|
||||
stHMIInterface:= stHMIInterface.stVacuumValve);
|
||||
|
||||
_fbUnlockLeft(
|
||||
@@ -134,7 +136,8 @@ _fbUnlockLeft(
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stValveUnlockLeftCfg,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stIO := stIO.stValveUnlockLeft,
|
||||
stHMIInterface:= stHMIInterface.stChuckUnlockLeft);
|
||||
|
||||
_fbUnlockRight(
|
||||
@@ -142,7 +145,8 @@ _fbUnlockRight(
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stValveUnlockRightCfg,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stIO := stIO.stValveUnlockRight,
|
||||
stHMIInterface:= stHMIInterface.stChuckUnlockRight);
|
||||
|
||||
_fbEjectFront(
|
||||
@@ -150,7 +154,8 @@ _fbEjectFront(
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stValveClampingFrontCfg,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stIO := stIO.stValveEjectFront,
|
||||
stHMIInterface:= stHMIInterface.stChuckEjectFront);
|
||||
|
||||
_fbEjectBack(
|
||||
@@ -158,18 +163,19 @@ _fbEjectBack(
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stValveEjectBackCfg,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stIO := stIO.stValveEjectBack,
|
||||
stHMIInterface:= stHMIInterface.stChuckEjectBack);
|
||||
|
||||
_xAllCompRetracted := _fbUnlockLeft.IsClosed AND _fbUnlockRight.IsClosed AND _fbEjectFront.IsClosed AND _fbEjectBack.IsClosed;
|
||||
|
||||
_fbSpinner(
|
||||
xEnable:= _xEnableSpinner,
|
||||
xEnablePositive:= _xEnableSpinner AND _xAllCompRetracted,
|
||||
xEnableNegative:= _xEnableSpinner AND _xAllCompRetracted,
|
||||
xEnablePositive:= _xAllCompRetracted,
|
||||
xEnableNegative:= _xAllCompRetracted,
|
||||
rOverride:= 100.0,
|
||||
lrVelocity:= _lrSpinnerVelo,
|
||||
xConfirmAlarms:= xConfirmAlarms);
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stIO := stIO.stAxisSpinner);
|
||||
|
||||
_fbRobot(stPackMLHMIInterface := stHMIInterface.stMecaCmds);
|
||||
|
||||
@@ -177,7 +183,8 @@ _fbValveEnableFilmetch(
|
||||
xReleaseErrors:= xReleaseAlarms,
|
||||
stValveConfig:= _stValveConfig,
|
||||
xReleaseManualMode:= _xReleaseManualMode,
|
||||
xConfirmAlarms := xConfirmAlarms,
|
||||
xConfirmAlarms := xConfirmAlarms,
|
||||
stIO := stIO.stValveFilmetch,
|
||||
stHMIInterface:= stHMIInterface.stValveFilmetch);
|
||||
|
||||
// Call base sm
|
||||
@@ -200,15 +207,41 @@ CASE _iState OF
|
||||
|
||||
// Enable spinner
|
||||
5:
|
||||
_xEnableSpinner := TRUE;
|
||||
IF _fbSpinner.xEnabled THEN
|
||||
_iState := 6;
|
||||
CASE _fbSpinner.M_Enable() OF
|
||||
E_CmdResult.ACCEPTED:
|
||||
_iState := 6;
|
||||
|
||||
E_CmdResult.BUSY:
|
||||
;
|
||||
|
||||
E_CmdResult.REJECTED,
|
||||
E_CmdResult.ERROR:
|
||||
_iState := 900;
|
||||
END_CASE
|
||||
|
||||
// Wait for spinner to be enabled
|
||||
6:
|
||||
IF _fbSpinner.xDone THEN
|
||||
_iState := 7;
|
||||
END_IF
|
||||
|
||||
IF _fbSpinner.xError THEN
|
||||
_iState := 900;
|
||||
END_IF
|
||||
|
||||
// Start moving to zero position
|
||||
6:
|
||||
_fbSpinner.M_MoveModulo(lrTargetPos := 0.0, eMoveDirection := BC.MC_Direction.MC_Shortest_Way);
|
||||
_iState := 11;
|
||||
7:
|
||||
CASE _fbSpinner.M_MoveModulo(lrTargetPos := 0.0, eMoveDirection := BC.MC_Direction.MC_Shortest_Way) OF
|
||||
E_CmdResult.ACCEPTED:
|
||||
_iState := 11;
|
||||
|
||||
E_CmdResult.BUSY:
|
||||
;
|
||||
|
||||
E_CmdResult.REJECTED,
|
||||
E_CmdResult.ERROR:
|
||||
_iState := 900;
|
||||
END_CASE
|
||||
|
||||
// Move to zero position
|
||||
11:
|
||||
@@ -222,17 +255,34 @@ CASE _iState OF
|
||||
|
||||
// Disable axis
|
||||
12:
|
||||
_xEnableSpinner := FALSE;
|
||||
IF (NOT _fbSpinner.xEnabled) THEN
|
||||
_iState := 13;
|
||||
CASE _fbSpinner.M_Disable() OF
|
||||
E_CmdResult.ACCEPTED:
|
||||
_iState := 13;
|
||||
|
||||
E_CmdResult.BUSY:
|
||||
;
|
||||
|
||||
E_CmdResult.REJECTED,
|
||||
E_CmdResult.ERROR:
|
||||
_iState := 900;
|
||||
END_CASE
|
||||
|
||||
// Wait for spinner to be disabled
|
||||
13:
|
||||
IF _fbSpinner.xDone THEN
|
||||
_iState := 14;
|
||||
END_IF
|
||||
|
||||
IF _fbSpinner.xError THEN
|
||||
_iState := 900;
|
||||
END_IF
|
||||
|
||||
// Release clamping
|
||||
13:
|
||||
14:
|
||||
_xOpenChuckClamp := TRUE;
|
||||
|
||||
IF _fbUnlockLeft.IsOpen AND _fbUnlockRight.IsOpen THEN
|
||||
_iState := 14;
|
||||
_iState := 15;
|
||||
END_IF
|
||||
|
||||
IF _fbUnlockLeft.xError OR _fbUnlockRight.xError THEN
|
||||
@@ -240,22 +290,10 @@ CASE _iState OF
|
||||
END_IF
|
||||
|
||||
// Eject the cuck
|
||||
14:
|
||||
15:
|
||||
_xEjectChuck := TRUE;
|
||||
|
||||
IF _fbEjectFront.IsOpen AND _fbEjectBack.IsOpen THEN
|
||||
_iState := 15;
|
||||
END_IF
|
||||
|
||||
IF _fbEjectFront.xError OR _fbEjectBack.xError THEN
|
||||
_iState := 900;
|
||||
END_IF
|
||||
|
||||
// Retract ejectors
|
||||
15:
|
||||
_xEjectChuck := FALSE;
|
||||
|
||||
IF _fbEjectFront.IsClosed AND _fbEjectBack.IsClosed THEN
|
||||
_iState := 16;
|
||||
END_IF
|
||||
|
||||
@@ -263,15 +301,27 @@ CASE _iState OF
|
||||
_iState := 900;
|
||||
END_IF
|
||||
|
||||
// Wait for Chuck to be remove
|
||||
// Retract ejectors
|
||||
16:
|
||||
IF _xChuckRemoved THEN
|
||||
_xChuckRemoved := FALSE;
|
||||
_xEjectChuck := FALSE;
|
||||
|
||||
IF _fbEjectFront.IsClosed AND _fbEjectBack.IsClosed THEN
|
||||
_iState := 17;
|
||||
END_IF
|
||||
|
||||
// Retract release pins
|
||||
IF _fbEjectFront.xError OR _fbEjectBack.xError THEN
|
||||
_iState := 900;
|
||||
END_IF
|
||||
|
||||
// Wait for Chuck to be remove
|
||||
17:
|
||||
IF _xChuckRemoved THEN
|
||||
_xChuckRemoved := FALSE;
|
||||
_iState := 18;
|
||||
END_IF
|
||||
|
||||
// Retract release pins
|
||||
18:
|
||||
_xOpenChuckClamp := FALSE;
|
||||
|
||||
IF _fbUnlockLeft.IsClosed AND _fbUnlockRight.IsClosed THEN
|
||||
|
||||
Reference in New Issue
Block a user