- Added new module status
- Added error messages for EtherCAT connection lost
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.7">
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
|
||||
<POU Name="FB_Unit" Id="{e9bb815b-eb46-4920-800d-910484e58b22}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_Unit
|
||||
VAR_INPUT
|
||||
@@ -45,12 +45,13 @@ VAR_INPUT
|
||||
// Switch all components to manual mode
|
||||
xAllToManualMode : BOOL;
|
||||
|
||||
// Switch all components to auto mode
|
||||
|
||||
// Inverter enabled status
|
||||
xInverterEnabled : BOOL;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
// Unit state
|
||||
eUnitState : E_COMPONENT_STATUS := E_COMPONENT_STATUS.OFF;
|
||||
|
||||
// Unit ready
|
||||
xReady : BOOL;
|
||||
|
||||
@@ -778,6 +779,7 @@ CASE _iState OF
|
||||
_xReleaseManualMode := FALSE;
|
||||
_timUnitStartupWaitTime := GVL_CONFIG.timUnitStartupTime;
|
||||
_iState := 10;
|
||||
eUnitState := E_COMPONENT_STATUS.STARTING;
|
||||
END_IF
|
||||
|
||||
IF (NOT xEnable) AND xStartBalancing AND _xAllComponentsInAutomatic AND (NOT _xErrorActive) THEN
|
||||
@@ -867,6 +869,7 @@ CASE _iState OF
|
||||
|
||||
// Continue on normal startup path
|
||||
IF xEnable THEN
|
||||
eUnitState := E_COMPONENT_STATUS.ON;
|
||||
_iState := 35;
|
||||
END_IF
|
||||
|
||||
@@ -888,6 +891,7 @@ CASE _iState OF
|
||||
_rSetpointPosolytPumpInlet := GVL_CONFIG.rPumpPosolytOnPower;
|
||||
|
||||
IF (NOT xEnable) THEN
|
||||
eUnitState := E_COMPONENT_STATUS.SHUTDOWN;
|
||||
_iState := 40;
|
||||
END_IF
|
||||
|
||||
@@ -971,12 +975,14 @@ CASE _iState OF
|
||||
xOff := TRUE;
|
||||
_xReleaseManualMode := TRUE;
|
||||
IF NOT _xErrorActive THEN
|
||||
eUnitState := E_COMPONENT_STATUS.OFF;
|
||||
_iState := 0;
|
||||
END_IF
|
||||
END_IF
|
||||
|
||||
// Check for restart condition
|
||||
IF xEnable AND (NOT _xErrorActive) THEN
|
||||
eUnitState := E_COMPONENT_STATUS.OFF;
|
||||
_iState := 0;
|
||||
END_IF
|
||||
|
||||
@@ -1065,6 +1071,7 @@ CASE _iState OF
|
||||
|
||||
|
||||
1000: // Error shutdown
|
||||
eUnitState := E_COMPONENT_STATUS.ERROR;
|
||||
_fbNegolytValveTankOutlet.ReqAutomaticClose();
|
||||
_fbPosolytValveTankOutlet.ReqAutomaticClose();
|
||||
_fbPosolytPumpInlet.ReqAutomaticStop();
|
||||
@@ -1082,10 +1089,41 @@ CASE _iState OF
|
||||
// automatic restart of the unit
|
||||
IF (NOT _xErrorActive) AND (NOT xEnable) AND (NOT xStartBalancing) AND xConfirmAlarms THEN
|
||||
xError := FALSE;
|
||||
_iState := 0;
|
||||
_iState := 51;
|
||||
END_IF
|
||||
END_CASE]]></ST>
|
||||
</Implementation>
|
||||
</Action>
|
||||
<LineIds Name="FB_Unit">
|
||||
<LineId Id="3" Count="498" />
|
||||
<LineId Id="2" Count="0" />
|
||||
</LineIds>
|
||||
<LineIds Name="FB_Unit.FB_init">
|
||||
<LineId Id="3" Count="7" />
|
||||
<LineId Id="2" Count="0" />
|
||||
</LineIds>
|
||||
<LineIds Name="FB_Unit.Name.Get">
|
||||
<LineId Id="2" Count="0" />
|
||||
</LineIds>
|
||||
<LineIds Name="FB_Unit.Name.Set">
|
||||
<LineId Id="3" Count="2" />
|
||||
<LineId Id="2" Count="0" />
|
||||
</LineIds>
|
||||
<LineIds Name="FB_Unit.StateMachine">
|
||||
<LineId Id="2" Count="8" />
|
||||
<LineId Id="317" Count="0" />
|
||||
<LineId Id="11" Count="88" />
|
||||
<LineId Id="318" Count="0" />
|
||||
<LineId Id="100" Count="20" />
|
||||
<LineId Id="319" Count="0" />
|
||||
<LineId Id="121" Count="82" />
|
||||
<LineId Id="321" Count="0" />
|
||||
<LineId Id="204" Count="5" />
|
||||
<LineId Id="322" Count="0" />
|
||||
<LineId Id="210" Count="87" />
|
||||
<LineId Id="323" Count="0" />
|
||||
<LineId Id="298" Count="18" />
|
||||
<LineId Id="1" Count="0" />
|
||||
</LineIds>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
Reference in New Issue
Block a user