Merge branch 'feature/ManualModeSwitch' into develop

# Conflicts:
#	PLC/PLC.tmc
#	PLC/POUs/FB_String.TcPOU
#	PLC/POUs/MAIN.TcPOU
#	Uniper.tsproj
This commit is contained in:
Matthias Heisig
2024-08-30 14:32:11 +02:00
8 changed files with 686 additions and 1367 deletions

View File

@@ -83,7 +83,7 @@ VAR
_eBMSControlMode : E_BMS_CONTROL_MODE := E_BMS_CONTROL_MODE.AUTO_LOCAL;
// UPS
//_fbUPS : FB_S_UPS_BAPI;
_fbUPS : FB_S_UPS_BAPI;
// Safety
xSafetyRun AT %Q* : BOOL := TRUE;
@@ -120,6 +120,9 @@ VAR
_xEtherCatString1Ok : BOOL;
_xEtherCatString2Ok : BOOL;
// Flag to set all components in manual mode
_xAllComponentsToManualMode : BOOL;
// DEBUG
_xRestart : BOOL;
@@ -257,7 +260,6 @@ _rtHardwareResetButton(CLK := _tonHardwareResetButton.Q);
// ===============================
// Handle UPS events
// ===============================
(*
_fbUPS(
sNetID:= '',
iPLCPort:= 851,
@@ -267,7 +269,6 @@ _fbUPS(
tRecoverTime:= T#10S,
bPowerFailDetect=> ,
eState=> );
*)
IF _xFirstCycle THEN
@@ -289,10 +290,11 @@ _afbStrings[0](
xInSafetyCheckMode := _xInSafetyCheckMode,
stHMIInterface:= GVL_SCADA.stHMIInterface[0],
xEmergencyStopOk:= _xEmergencyStopOk,
xReleaseErrors:= _xReleaseErrors AND _tonStartupDelay.Q AND _xEtherCatString1Ok AND FALSE,
xReleaseErrors:= _xReleaseErrors AND _tonStartupDelay.Q AND _xEtherCatString1Ok,
xReleaseLimitErrors:= _xReleaseLimitsErrors AND _tonStartupDelay.Q,
xReleaseManualMode := _xReleaseManualMode,
xConfirmAlarms:= _xConfirmAlarms,
xAllToManualMode := _xAllComponentsToManualMode,
xResetSafety := xSafetyResterTaster);
IF _afbStrings[0].xError THEN
@@ -313,6 +315,7 @@ _afbStrings[1](
xReleaseLimitErrors:= _xReleaseLimitsErrors AND _tonStartupDelay.Q AND _xEtherCatString2Ok,
xReleaseManualMode := _xReleaseManualMode,
xConfirmAlarms:= _xConfirmAlarms,
xAllToManualMode := _xAllComponentsToManualMode,
xResetSafety := xSafetyResterTaster);
IF _afbStrings[1].xError THEN
@@ -399,6 +402,7 @@ _rHighestSegmentVoltage := _afbStrings[_uiDebugCurrentString].rHighestSegmentVol
// ===============================
CASE _eBMSControlMode OF
E_BMS_CONTROL_MODE.AUTO_REMOTE:
_xAllComponentsToManualMode := FALSE;
_xInSafetyCheckMode := FALSE;
_xReleaseManualMode := FALSE;
_rAutoPowerRequest := DINT_TO_REAL(GVL_MODBUS.stModbusEMSComm.stModbusReg12.diSetpointActivePower);
@@ -408,6 +412,7 @@ CASE _eBMSControlMode OF
SM_AUTO();
E_BMS_CONTROL_MODE.AUTO_LOCAL:
_xAllComponentsToManualMode := FALSE;
_xInSafetyCheckMode := FALSE;
_xReleaseManualMode := FALSE;
GVL_MODBUS.stModbusEMSComm.stModbusReg11.eBatteryStatus := E_BATTERY_STATUS.TESTING;
@@ -418,6 +423,7 @@ CASE _eBMSControlMode OF
SM_AUTO();
E_BMS_CONTROL_MODE.MANUAL:
_xAllComponentsToManualMode := TRUE;
_xInSafetyCheckMode := FALSE;
_xReleaseManualMode := TRUE;
GVL_MODBUS.stModbusEMSComm.stModbusReg11.eBatteryStatus := E_BATTERY_STATUS.MAINTENANCE;
@@ -427,6 +433,7 @@ CASE _eBMSControlMode OF
SM_MANUAL();
E_BMS_CONTROL_MODE.SAFETY_CHECK:
_xAllComponentsToManualMode := FALSE;
_xInSafetyCheckMode := TRUE;
_xReleaseManualMode := FALSE;
GVL_MODBUS.stModbusEMSComm.stModbusReg11.eBatteryStatus := E_BATTERY_STATUS.MAINTENANCE;
@@ -436,6 +443,7 @@ CASE _eBMSControlMode OF
SM_SAFETY_CHECK();
E_BMS_CONTROL_MODE.CAPACITY_TEST:
_xAllComponentsToManualMode := FALSE;
_xInSafetyCheckMode := FALSE;
_xReleaseManualMode := FALSE;
GVL_MODBUS.stModbusEMSComm.stModbusReg11.eBatteryStatus := E_BATTERY_STATUS.TESTING;
@@ -445,6 +453,7 @@ CASE _eBMSControlMode OF
SM_CAPACITY_TEST();
E_BMS_CONTROL_MODE.BALANCING:
_xAllComponentsToManualMode := FALSE;
_xInSafetyCheckMode := FALSE;
_xReleaseManualMode := FALSE;
IF (GVL_SCADA.eRequestedControlMode <> _eBMSControlMode) AND (GVL_SCADA.xCanChangeControlMode) THEN
@@ -745,7 +754,7 @@ END_CASE]]></ST>
</Action>
<Action Name="SM_MANUAL" Id="{ddef276e-9f4f-4258-b863-d254dd94b701}">
<Implementation>
<ST><![CDATA[_xCanChangeMode := _afbStrings[0].xAllModulesInAutoMode;]]></ST>
<ST><![CDATA[_xCanChangeMode := TRUE;]]></ST>
</Implementation>
</Action>
<Action Name="SM_SAFETY_CHECK" Id="{6d8e5993-cf32-4980-9ea3-c1fbfa4b8601}">
@@ -836,232 +845,18 @@ END_CASE]]></ST>
</Implementation>
</Action>
<LineIds Name="MAIN">
<LineId Id="2032" Count="12" />
<LineId Id="2803" Count="1" />
<LineId Id="2806" Count="0" />
<LineId Id="2808" Count="0" />
<LineId Id="2813" Count="1" />
<LineId Id="2917" Count="1" />
<LineId Id="3257" Count="0" />
<LineId Id="3442" Count="0" />
<LineId Id="3306" Count="1" />
<LineId Id="3258" Count="0" />
<LineId Id="3260" Count="1" />
<LineId Id="3443" Count="0" />
<LineId Id="3308" Count="1" />
<LineId Id="3259" Count="0" />
<LineId Id="3262" Count="0" />
<LineId Id="2807" Count="0" />
<LineId Id="3445" Count="7" />
<LineId Id="3444" Count="0" />
<LineId Id="3264" Count="3" />
<LineId Id="3272" Count="0" />
<LineId Id="3298" Count="0" />
<LineId Id="3455" Count="0" />
<LineId Id="3299" Count="0" />
<LineId Id="3456" Count="0" />
<LineId Id="3282" Count="0" />
<LineId Id="3277" Count="0" />
<LineId Id="3268" Count="2" />
<LineId Id="3274" Count="0" />
<LineId Id="3273" Count="0" />
<LineId Id="3275" Count="1" />
<LineId Id="3279" Count="2" />
<LineId Id="3278" Count="0" />
<LineId Id="3284" Count="11" />
<LineId Id="3283" Count="0" />
<LineId Id="2931" Count="0" />
<LineId Id="2046" Count="5" />
<LineId Id="2920" Count="0" />
<LineId Id="2919" Count="0" />
<LineId Id="2921" Count="1" />
<LineId Id="2924" Count="0" />
<LineId Id="2923" Count="0" />
<LineId Id="2925" Count="1" />
<LineId Id="2928" Count="0" />
<LineId Id="2927" Count="0" />
<LineId Id="2929" Count="1" />
<LineId Id="2052" Count="20" />
<LineId Id="3453" Count="0" />
<LineId Id="2073" Count="8" />
<LineId Id="3454" Count="0" />
<LineId Id="2082" Count="4" />
<LineId Id="2197" Count="0" />
<LineId Id="2087" Count="3" />
<LineId Id="2097" Count="2" />
<LineId Id="2287" Count="0" />
<LineId Id="2100" Count="0" />
<LineId Id="2967" Count="0" />
<LineId Id="2702" Count="0" />
<LineId Id="2596" Count="0" />
<LineId Id="2101" Count="11" />
<LineId Id="2485" Count="4" />
<LineId Id="2966" Count="0" />
<LineId Id="2703" Count="0" />
<LineId Id="2597" Count="0" />
<LineId Id="2490" Count="10" />
<LineId Id="2484" Count="0" />
<LineId Id="2113" Count="19" />
<LineId Id="2144" Count="15" />
<LineId Id="3088" Count="0" />
<LineId Id="3094" Count="12" />
<LineId Id="3089" Count="0" />
<LineId Id="3124" Count="0" />
<LineId Id="3123" Count="0" />
<LineId Id="3125" Count="2" />
<LineId Id="2160" Count="0" />
<LineId Id="3081" Count="1" />
<LineId Id="3128" Count="3" />
<LineId Id="3085" Count="0" />
<LineId Id="3084" Count="0" />
<LineId Id="3083" Count="0" />
<LineId Id="3086" Count="0" />
<LineId Id="3115" Count="2" />
<LineId Id="3119" Count="0" />
<LineId Id="3121" Count="0" />
<LineId Id="3120" Count="0" />
<LineId Id="3118" Count="0" />
<LineId Id="3122" Count="0" />
<LineId Id="2161" Count="6" />
<LineId Id="2601" Count="0" />
<LineId Id="2168" Count="0" />
<LineId Id="2944" Count="1" />
<LineId Id="2943" Count="0" />
<LineId Id="2169" Count="3" />
<LineId Id="2602" Count="0" />
<LineId Id="2173" Count="1" />
<LineId Id="2937" Count="2" />
<LineId Id="2175" Count="3" />
<LineId Id="2600" Count="0" />
<LineId Id="2179" Count="0" />
<LineId Id="2941" Count="1" />
<LineId Id="2940" Count="0" />
<LineId Id="2180" Count="3" />
<LineId Id="2603" Count="0" />
<LineId Id="2184" Count="0" />
<LineId Id="2947" Count="1" />
<LineId Id="2946" Count="0" />
<LineId Id="2185" Count="3" />
<LineId Id="2604" Count="0" />
<LineId Id="2189" Count="0" />
<LineId Id="2950" Count="1" />
<LineId Id="2949" Count="0" />
<LineId Id="2190" Count="0" />
<LineId Id="2955" Count="3" />
<LineId Id="2961" Count="0" />
<LineId Id="2965" Count="0" />
<LineId Id="2962" Count="0" />
<LineId Id="2960" Count="0" />
<LineId Id="2959" Count="0" />
<LineId Id="2191" Count="0" />
<LineId Id="2383" Count="0" />
<LineId Id="2192" Count="0" />
<LineId Id="2606" Count="0" />
<LineId Id="2954" Count="0" />
<LineId Id="2953" Count="0" />
<LineId Id="2952" Count="0" />
<LineId Id="2388" Count="0" />
<LineId Id="2387" Count="0" />
<LineId Id="2970" Count="0" />
<LineId Id="2969" Count="0" />
<LineId Id="2972" Count="0" />
<LineId Id="2971" Count="0" />
<LineId Id="2973" Count="0" />
<LineId Id="2975" Count="1" />
<LineId Id="2974" Count="0" />
<LineId Id="2193" Count="3" />
<LineId Id="25" Count="0" />
<LineId Id="3" Count="117" />
<LineId Id="122" Count="8" />
<LineId Id="132" Count="212" />
<LineId Id="2" Count="0" />
</LineIds>
<LineIds Name="MAIN.SM_AUTO">
<LineId Id="2" Count="4" />
<LineId Id="195" Count="0" />
<LineId Id="7" Count="5" />
<LineId Id="242" Count="0" />
<LineId Id="13" Count="9" />
<LineId Id="259" Count="1" />
<LineId Id="23" Count="0" />
<LineId Id="263" Count="0" />
<LineId Id="183" Count="0" />
<LineId Id="182" Count="0" />
<LineId Id="25" Count="0" />
<LineId Id="185" Count="1" />
<LineId Id="264" Count="0" />
<LineId Id="205" Count="0" />
<LineId Id="214" Count="0" />
<LineId Id="247" Count="0" />
<LineId Id="187" Count="1" />
<LineId Id="200" Count="1" />
<LineId Id="265" Count="0" />
<LineId Id="203" Count="0" />
<LineId Id="246" Count="0" />
<LineId Id="204" Count="0" />
<LineId Id="202" Count="0" />
<LineId Id="220" Count="0" />
<LineId Id="44" Count="16" />
<LineId Id="62" Count="23" />
<LineId Id="230" Count="2" />
<LineId Id="86" Count="2" />
<LineId Id="236" Count="2" />
<LineId Id="89" Count="12" />
<LineId Id="233" Count="2" />
<LineId Id="239" Count="2" />
<LineId Id="102" Count="14" />
<LineId Id="206" Count="0" />
<LineId Id="117" Count="0" />
<LineId Id="217" Count="0" />
<LineId Id="245" Count="0" />
<LineId Id="118" Count="9" />
<LineId Id="207" Count="0" />
<LineId Id="218" Count="0" />
<LineId Id="243" Count="0" />
<LineId Id="129" Count="13" />
<LineId Id="219" Count="0" />
<LineId Id="208" Count="0" />
<LineId Id="196" Count="0" />
<LineId Id="144" Count="6" />
<LineId Id="225" Count="0" />
<LineId Id="227" Count="2" />
<LineId Id="226" Count="0" />
<LineId Id="151" Count="3" />
<LineId Id="244" Count="0" />
<LineId Id="155" Count="1" />
<LineId Id="209" Count="0" />
<LineId Id="213" Count="0" />
<LineId Id="210" Count="2" />
<LineId Id="253" Count="0" />
<LineId Id="257" Count="0" />
<LineId Id="254" Count="2" />
<LineId Id="258" Count="0" />
<LineId Id="162" Count="2" />
<LineId Id="166" Count="13" />
<LineId Id="198" Count="1" />
<LineId Id="180" Count="0" />
<LineId Id="2" Count="213" />
<LineId Id="1" Count="0" />
</LineIds>
<LineIds Name="MAIN.SM_BALANCING">
<LineId Id="1" Count="1" />
<LineId Id="5" Count="2" />
<LineId Id="15" Count="1" />
<LineId Id="9" Count="3" />
<LineId Id="35" Count="0" />
<LineId Id="20" Count="0" />
<LineId Id="14" Count="0" />
<LineId Id="13" Count="0" />
<LineId Id="17" Count="2" />
<LineId Id="21" Count="0" />
<LineId Id="23" Count="1" />
<LineId Id="22" Count="0" />
<LineId Id="25" Count="2" />
<LineId Id="29" Count="0" />
<LineId Id="28" Count="0" />
<LineId Id="36" Count="1" />
<LineId Id="41" Count="1" />
<LineId Id="40" Count="0" />
<LineId Id="39" Count="0" />
<LineId Id="30" Count="2" />
<LineId Id="43" Count="0" />
<LineId Id="33" Count="1" />
<LineId Id="3" Count="0" />
<LineId Id="2" Count="38" />
<LineId Id="1" Count="0" />
</LineIds>
<LineIds Name="MAIN.SM_CAPACITY_TEST">
<LineId Id="1" Count="0" />
@@ -1070,53 +865,8 @@ END_CASE]]></ST>
<LineId Id="1" Count="0" />
</LineIds>
<LineIds Name="MAIN.SM_SAFETY_CHECK">
<LineId Id="244" Count="0" />
<LineId Id="235" Count="0" />
<LineId Id="245" Count="0" />
<LineId Id="242" Count="0" />
<LineId Id="236" Count="0" />
<LineId Id="243" Count="0" />
<LineId Id="237" Count="0" />
<LineId Id="252" Count="0" />
<LineId Id="249" Count="0" />
<LineId Id="239" Count="2" />
<LineId Id="253" Count="1" />
<LineId Id="17" Count="0" />
<LineId Id="20" Count="3" />
<LineId Id="198" Count="0" />
<LineId Id="24" Count="0" />
<LineId Id="220" Count="0" />
<LineId Id="216" Count="0" />
<LineId Id="25" Count="0" />
<LineId Id="39" Count="4" />
<LineId Id="206" Count="0" />
<LineId Id="246" Count="0" />
<LineId Id="207" Count="1" />
<LineId Id="210" Count="0" />
<LineId Id="209" Count="0" />
<LineId Id="211" Count="0" />
<LineId Id="213" Count="2" />
<LineId Id="212" Count="0" />
<LineId Id="62" Count="1" />
<LineId Id="67" Count="1" />
<LineId Id="202" Count="3" />
<LineId Id="201" Count="0" />
<LineId Id="217" Count="0" />
<LineId Id="72" Count="0" />
<LineId Id="131" Count="2" />
<LineId Id="221" Count="0" />
<LineId Id="135" Count="1" />
<LineId Id="168" Count="2" />
<LineId Id="172" Count="4" />
<LineId Id="222" Count="0" />
<LineId Id="177" Count="4" />
<LineId Id="183" Count="0" />
<LineId Id="247" Count="0" />
<LineId Id="185" Count="3" />
<LineId Id="195" Count="1" />
<LineId Id="218" Count="1" />
<LineId Id="197" Count="0" />
<LineId Id="19" Count="0" />
<LineId Id="2" Count="81" />
<LineId Id="1" Count="0" />
</LineIds>
</POU>
</TcPlcObject>