Last changes before SAT

This commit is contained in:
Matthias Heisig
2025-10-14 16:19:19 +02:00
parent eaaa2371e8
commit 2d65d0b3db
28 changed files with 630 additions and 352 deletions

View File

@@ -172,12 +172,15 @@ VAR
_arPowerString : ARRAY[0..(GVL_CONFIG.uiNumberOfStrings-1)] OF REAL;
// Temperature sensor SCS String 1
{attribute 'OPC.UA.DA' := '0'}
_fbTempCabinetSCSString1 : FB_AnalogInput('String 1 - SCS - T1_Cabinet');
// Temperature sensor SCS String 1
{attribute 'OPC.UA.DA' := '0'}
_fbTempCabinetSCSString2 : FB_AnalogInput('String 2 - SCS - T1_Cabinet');
// Temperature sensor BMS cabinet
{attribute 'OPC.UA.DA' := '0'}
_fbTempCabinetBMS : FB_AnalogInput('BMS - T1_Cabinet');
_ui : UINT := 0;
@@ -234,6 +237,10 @@ END_VAR
_xFirstCycle := FALSE;
_xGetPowerMeterData := TRUE;
_fbPIControl.FB_Init(FALSE, FALSE);
_fbPT1CVAntiAliasFilter.FB_Init(false, false);
_fbBatteryFullMessage.CreateEx(stEventEntry := TC_EVENTS.BMSEvents.BatteryFull, 0);
_fbBatteryEmptyMessage.CreateEx(stEventEntry := TC_EVENTS.BMSEvents.BatteryEmpty, 0);
@@ -978,6 +985,13 @@ CASE _eBMSControlMode OF
END_IF
SM_AUTO();
GVL_SCADA.stAutomaticModeHMI.diSetpointAutomatic := REAL_TO_DINT(_rAutoPowerRequest);
E_BMS_CONTROL_MODE.SEMI_AUTO:
_eStringOpMode := E_STRING_OPERATING_MODE.SEMI_AUTO;
IF (GVL_SCADA.eRequestedControlMode <> E_BMS_CONTROL_MODE.SEMI_AUTO) THEN
_eBMSControlMode := GVL_SCADA.eRequestedControlMode;
END_IF
END_CASE
GVL_SCADA.xCanChangeControlMode := _xCanChangeMode;
@@ -1013,7 +1027,7 @@ GVL_MODBUS.stBMSErrorReg.wBMSErrorActive.stBitmap.bError := _xErrorActive OR _xE
// Call safety fb
_fbSafety(refuStringErrorsModbus := GVL_MODBUS.stBMSErrorReg.wBMSErrorActive);
_fbSafety(refuStringErrorsModbus := GVL_MODBUS.stBMSErrorReg.wBMSErrorActive, xReset := _xConfirmAlarms);
// Check if all modules are in auto mode
IF _xStringsInAutoMode AND _fbNoAutomaticModeAlarm.bRaised THEN
@@ -1347,8 +1361,8 @@ _fbTowerLight(
END_IF
45: // Wait for shutdown of string to be done
_xCanChangeMode := TRUE;
IF (NOT _xStringsInSchutdownDischargeMode) AND _xStringsOff THEN
_xCanChangeMode := TRUE;
GVL_MODBUS.stModbusEMSComm.stModbusReg11.eBatteryStatus := E_BATTERY_STATUS.OFF;
GVL_MODBUS.stModbusEMSComm.stModbusReg11.eChargeStatus := E_CHARGE_STATUS.UNDEFINED;
GVL_SCADA.eCycleStatus := E_CYCLE_STATUS.OFF;