diff --git a/PLC/GVLs/GVL_CONFIG.TcGVL b/PLC/GVLs/GVL_CONFIG.TcGVL
index 81b53c5..3d4798a 100644
--- a/PLC/GVLs/GVL_CONFIG.TcGVL
+++ b/PLC/GVLs/GVL_CONFIG.TcGVL
@@ -266,6 +266,9 @@ VAR_GLOBAL PERSISTENT
// Balancing factor
rBalancingFactor : REAL := 20.0;
+ // Timeout heartbeat from EMS
+ timEMSHeartbeatTimeout : TIME := t#5s;
+
// Dummy to deactivate functions
{attribute 'analysis' := '-33'}
xDummy : BOOL := FALSE;
diff --git a/PLC/PLC.tmc b/PLC/PLC.tmc
index e3654a6..e72e212 100644
--- a/PLC/PLC.tmc
+++ b/PLC/PLC.tmc
@@ -1,4 +1,4 @@
-ST_LibVersion288iMajorUINT160iMinorUINT1616iBuildUINT1632iRevisionUINT1648nFlagsDWORD3264sVersionSTRING(23)19296E_WATCHDOG_TIME_CONFIG16INTeWATCHDOG_TIME_DISABLED0eWATCHDOG_TIME_SECONDS1eWATCHDOG_TIME_MINUTES2INT (2..100)16INTLowerBorder2UpperBorder100E_HashPrefixTypes16INTHASHPREFIX_IEC0HASHPREFIX_STDC1E_SBCSType16INTeSBCS_WesternEuropean1eSBCS_CentralEuropean2T_AmsNetID192STRING(23)E_RouteTransportType16UINTeRouteTransport_None0eRouteTransport_TCP_IP1eRouteTransport_IIO_LIGHTBUS2eRouteTransport_PROFIBUS_DP3eRouteTransport_PCI_ISA_BUS4eRouteTransport_ADS_UDP5eRouteTransport_FATP_UDP6eRouteTransport_COM_PORT7eRouteTransport_USB8eRouteTransport_CAN_OPEN9eRouteTransport_DEVICE_NET10eRouteTransport_SSB11eRouteTransport_SOAP12ST_AmsRouteEntry1184sNameSTRING(31)2560sNetIDT_AmsNetID192256sAddressSTRING(79)640448eTransportE_RouteTransportType161088tTimeoutTIME321120dwFlagsDWORD321152E_ArgType16INTARGTYPE_UNKNOWN0ARGTYPE_BYTE1ARGTYPE_WORD2ARGTYPE_DWORD3ARGTYPE_REAL4ARGTYPE_LREAL5ARGTYPE_SINT6ARGTYPE_INT7ARGTYPE_DINT8ARGTYPE_USINT9ARGTYPE_UINT10ARGTYPE_UDINT11ARGTYPE_STRING12ARGTYPE_BOOL13ARGTYPE_BIGTYPE14ARGTYPE_ULARGE15ARGTYPE_UHUGE16ARGTYPE_LARGE17ARGTYPE_HUGE18ARGTYPE_LWORD19T_Arg128eTypeE_ArgType160E_ArgType.ARGTYPE_UNKNOWNcbLenUDINT cbLen = length of string + 1 (null delimiter). ]]>32320pDataPVOID64640T_ULARGE_INTEGER64dwLowPartDWORD320dwHighPartDWORD3232TIMESTRUCT128wYearWORD160wMonthWORD1616wDayOfWeekWORD1632wDayWORD1648wHourWORD1664wMinuteWORD1680wSecondWORD1696wMillisecondsWORD16112ST_TimeZoneInformation864biasDINTST_LibVersion288iMajorUINT160iMinorUINT1616iBuildUINT1632iRevisionUINT1648nFlagsDWORD3264sVersionSTRING(23)19296E_WATCHDOG_TIME_CONFIG16INTeWATCHDOG_TIME_DISABLED0eWATCHDOG_TIME_SECONDS1eWATCHDOG_TIME_MINUTES2INT (2..100)16INTLowerBorder2UpperBorder100E_HashPrefixTypes16INTHASHPREFIX_IEC0HASHPREFIX_STDC1E_SBCSType16INTeSBCS_WesternEuropean1eSBCS_CentralEuropean2T_AmsNetID192STRING(23)E_RouteTransportType16UINTeRouteTransport_None0eRouteTransport_TCP_IP1eRouteTransport_IIO_LIGHTBUS2eRouteTransport_PROFIBUS_DP3eRouteTransport_PCI_ISA_BUS4eRouteTransport_ADS_UDP5eRouteTransport_FATP_UDP6eRouteTransport_COM_PORT7eRouteTransport_USB8eRouteTransport_CAN_OPEN9eRouteTransport_DEVICE_NET10eRouteTransport_SSB11eRouteTransport_SOAP12ST_AmsRouteEntry1184sNameSTRING(31)2560sNetIDT_AmsNetID192256sAddressSTRING(79)640448eTransportE_RouteTransportType161088tTimeoutTIME321120dwFlagsDWORD321152E_ArgType16INTARGTYPE_UNKNOWN0ARGTYPE_BYTE1ARGTYPE_WORD2ARGTYPE_DWORD3ARGTYPE_REAL4ARGTYPE_LREAL5ARGTYPE_SINT6ARGTYPE_INT7ARGTYPE_DINT8ARGTYPE_USINT9ARGTYPE_UINT10ARGTYPE_UDINT11ARGTYPE_STRING12ARGTYPE_BOOL13ARGTYPE_BIGTYPE14ARGTYPE_ULARGE15ARGTYPE_UHUGE16ARGTYPE_LARGE17ARGTYPE_HUGE18ARGTYPE_LWORD19T_Arg128eTypeE_ArgType160E_ArgType.ARGTYPE_UNKNOWNcbLenUDINT cbLen = length of string + 1 (null delimiter). ]]>32320pDataPVOID64640T_ULARGE_INTEGER64dwLowPartDWORD320dwHighPartDWORD3232TIMESTRUCT128wYearWORD160wMonthWORD1616wDayOfWeekWORD1632wDayWORD1648wHourWORD1664wMinuteWORD1680wSecondWORD1696wMillisecondsWORD16112ST_TimeZoneInformation864biasDINT320standardNameSTRING(31)25632standardDateTIMESTRUCT 0 => Number of required read buffer data bytes (cbRead underflow) ]]>325120ItemTypeOutputidxLastDWORD325440conditionalshowidxFirstDWORD325760conditionalshowidxGetDWORD32608conditionalshowpTmpBYTE64640conditionalshowcbTmpDWORD32704conditionalshowcbCopiedDWORD32736conditionalshowA_ResetA_AddTailA_RemoveHeadA_GetHeadPouTypeFunctionBlockconditionalshow_all_localsTON256INBOOL864ItemTypeInputPTTIME3296ItemTypeInputQBOOL8128ItemTypeOutputETTIME32160ItemTypeOutputMBOOL8192StartTimeTIME32224PouTypeFunctionBlockFB_AdsLogStringMessageFifoQueue8321152ArrayBufferBYTE01040000832000064MemRingBufferFB_MemRingBuffer7688320064TimerBetweenMessagesTON2568320832.INtrue.PTT#10MSMEM_RING_BUFFER_INTERNAL_USE_PER_DATA_RECORDUSINT883210884TIME_BETWEEN_MESSAGESTIME328321120T#10MSGetLogCountUDINT32WriteLogMsgCtrlMaskDWORD32MsgFmtStrT_MaxString2048StrArgT_MaxString2048ErrorBOOL8ItemTypeOutputAdsLogStringMessageST_AdsLogStringMessage4128GetAndRemoveLogFromQueueAdsLogStringMessageST_AdsLogStringMessage4128ItemTypeOutputErrorBOOL8ItemTypeOutputPouTypeFunctionBlockE_S_UPS_State16INTeSUPS_PowerOK0eSUPS_PowerFailure1eSUPS_WritePersistentData2eSUPS_QuickShutdown3eSUPS_WaitForRecover4eSUPS_WaitForPowerOFF5AnalogOutputConfigErrorErrorST_AnalogOutput192ConfigErrorTcEventEntry1920.uuidEventClass.Data12348503005.uuidEventClass.Data216108.uuidEventClass.Data316599.uuidEventClass.Data4[0]152.uuidEventClass.Data4[1]126.uuidEventClass.Data4[2]0.uuidEventClass.Data4[3]76.uuidEventClass.Data4[4]218.uuidEventClass.Data4[5]139.uuidEventClass.Data4[6]155.uuidEventClass.Data4[7]84.nEventIDE_AnalogOutput.ConfigError.eSeverityTcEventSeverity.ErrorTcTypeSystemTcEventClassAnalogOutputAnalogInputAIOpenCircuitErrorAICardFailureErrorAIShortCircuitErrorAIConfigErrorErrorErrorLowErrorWarningLowWarningWarningHighWarningErrorHighErrorST_AnalogInput1536AIOpenCircuitTcEventEntry1920.uuidEventClass.Data1192311624.uuidEventClass.Data236805.uuidEventClass.Data317216.uuidEventClass.Data4[0]182.uuidEventClass.Data4[1]235.uuidEventClass.Data4[2]97.uuidEventClass.Data4[3]81.uuidEventClass.Data4[4]228.uuidEventClass.Data4[5]159.uuidEventClass.Data4[6]201.uuidEventClass.Data4[7]255.nEventIDE_AnalogInput.AIOpenCircuit.eSeverityTcEventSeverity.ErrorAICardFailureTcEventEntry192192.uuidEventClass.Data1192311624.uuidEventClass.Data236805.uuidEventClass.Data317216.uuidEventClass.Data4[0]182.uuidEventClass.Data4[1]235.uuidEventClass.Data4[2]97.uuidEventClass.Data4[3]81.uuidEventClass.Data4[4]228.uuidEventClass.Data4[5]159.uuidEventClass.Data4[6]201.uuidEventClass.Data4[7]255.nEventIDE_AnalogInput.AICardFailure.eSeverityTcEventSeverity.ErrorAIShortCircuitTcEventEntry192384.uuidEventClass.Data1192311624.uuidEventClass.Data236805.uuidEventClass.Data317216.uuidEventClass.Data4[0]182.uuidEventClass.Data4[1]235.uuidEventClass.Data4[2]97.uuidEventClass.Data4[3]81.uuidEventClass.Data4[4]228.uuidEventClass.Data4[5]159.uuidEventClass.Data4[6]201.uuidEventClass.Data4[7]255.nEventIDE_AnalogInput.AIShortCircuit.eSeverityTcEventSeverity.ErrorAIConfigErrorTcEventEntry192576.uuidEventClass.Data1192311624.uuidEventClass.Data236805.uuidEventClass.Data317216.uuidEventClass.Data4[0]182.uuidEventClass.Data4[1]235.uuidEventClass.Data4[2]97.uuidEventClass.Data4[3]81.uuidEventClass.Data4[4]228.uuidEventClass.Data4[5]159.uuidEventClass.Data4[6]201.uuidEventClass.Data4[7]255.nEventIDE_AnalogInput.AIConfigError.eSeverityTcEventSeverity.ErrorErrorLowTcEventEntry192768.uuidEventClass.Data1192311624.uuidEventClass.Data236805.uuidEventClass.Data317216.uuidEventClass.Data4[0]182.uuidEventClass.Data4[1]235.uuidEventClass.Data4[2]97.uuidEventClass.Data4[3]81.uuidEventClass.Data4[4]228.uuidEventClass.Data4[5]159.uuidEventClass.Data4[6]201.uuidEventClass.Data4[7]255.nEventIDE_AnalogInput.ErrorLow.eSeverityTcEventSeverity.ErrorWarningLowTcEventEntry192960.uuidEventClass.Data1192311624.uuidEventClass.Data236805.uuidEventClass.Data317216.uuidEventClass.Data4[0]182.uuidEventClass.Data4[1]235.uuidEventClass.Data4[2]97.uuidEventClass.Data4[3]81.uuidEventClass.Data4[4]228.uuidEventClass.Data4[5]159.uuidEventClass.Data4[6]201.uuidEventClass.Data4[7]255.nEventIDE_AnalogInput.WarningLow.eSeverityTcEventSeverity.WarningWarningHighTcEventEntry1921152.uuidEventClass.Data1192311624.uuidEventClass.Data236805.uuidEventClass.Data317216.uuidEventClass.Data4[0]182.uuidEventClass.Data4[1]235.uuidEventClass.Data4[2]97.uuidEventClass.Data4[3]81.uuidEventClass.Data4[4]228.uuidEventClass.Data4[5]159.uuidEventClass.Data4[6]201.uuidEventClass.Data4[7]255.nEventIDE_AnalogInput.WarningHigh.eSeverityTcEventSeverity.WarningErrorHighTcEventEntry1921344.uuidEventClass.Data1192311624.uuidEventClass.Data236805.uuidEventClass.Data317216.uuidEventClass.Data4[0]182.uuidEventClass.Data4[1]235.uuidEventClass.Data4[2]97.uuidEventClass.Data4[3]81.uuidEventClass.Data4[4]228.uuidEventClass.Data4[5]159.uuidEventClass.Data4[6]201.uuidEventClass.Data4[7]255.nEventIDE_AnalogInput.ErrorHigh.eSeverityTcEventSeverity.ErrorTcTypeSystemTcEventClassAnalogInputBMSEventsNotAllCompInAutoWarningModuleImbalanceErrorStringImbalanceErrorSafetyIntlksActiveWarningInverterStartupTimeoutErrorBatteryFullInfoBatteryEmptyInfoSDDCVoltageInfoSDUnitThreshholdInfoEmergencyStopNotOkErrorEthercatStringErrorErrorSafetyIntlkTimeoutErrorDCCBDidNotCloseInTimeErrorST_BMSEvents2496NotAllCompInAutoTcEventEntry1920.uuidEventClass.Data11488671360.uuidEventClass.Data228328.uuidEventClass.Data318497.uuidEventClass.Data4[0]139.uuidEventClass.Data4[1]132.uuidEventClass.Data4[2]246.uuidEventClass.Data4[3]106.uuidEventClass.Data4[4]132.uuidEventClass.Data4[5]66.uuidEventClass.Data4[6]204.uuidEventClass.Data4[7]174.nEventIDE_BMSEvents.NotAllCompInAuto.eSeverityTcEventSeverity.WarningModuleImbalanceTcEventEntry192192.uuidEventClass.Data11488671360.uuidEventClass.Data228328.uuidEventClass.Data318497.uuidEventClass.Data4[0]139.uuidEventClass.Data4[1]132.uuidEventClass.Data4[2]246.uuidEventClass.Data4[3]106.uuidEventClass.Data4[4]132.uuidEventClass.Data4[5]66.uuidEventClass.Data4[6]204.uuidEventClass.Data4[7]174.nEventIDE_BMSEvents.ModuleImbalance.eSeverityTcEventSeverity.ErrorStringImbalanceTcEventEntry192384.uuidEventClass.Data11488671360.uuidEventClass.Data228328.uuidEventClass.Data318497.uuidEventClass.Data4[0]139.uuidEventClass.Data4[1]132.uuidEventClass.Data4[2]246.uuidEventClass.Data4[3]106.uuidEventClass.Data4[4]132.uuidEventClass.Data4[5]66.uuidEventClass.Data4[6]204.uuidEventClass.Data4[7]174.nEventIDE_BMSEvents.StringImbalance.eSeverityTcEventSeverity.ErrorSafetyIntlksActiveTcEventEntry192576.uuidEventClass.Data11488671360.uuidEventClass.Data228328.uuidEventClass.Data318497.uuidEventClass.Data4[0]139.uuidEventClass.Data4[1]132.uuidEventClass.Data4[2]246.uuidEventClass.Data4[3]106.uuidEventClass.Data4[4]132.uuidEventClass.Data4[5]66.uuidEventClass.Data4[6]204.uuidEventClass.Data4[7]174.nEventIDE_BMSEvents.SafetyIntlksActive.eSeverityTcEventSeverity.WarningInverterStartupTimeoutTcEventEntry192768.uuidEventClass.Data11488671360.uuidEventClass.Data228328.uuidEventClass.Data318497.uuidEventClass.Data4[0]139.uuidEventClass.Data4[1]132.uuidEventClass.Data4[2]246.uuidEventClass.Data4[3]106.uuidEventClass.Data4[4]132.uuidEventClass.Data4[5]66.uuidEventClass.Data4[6]204.uuidEventClass.Data4[7]174.nEventIDE_BMSEvents.InverterStartupTimeout.eSeverityTcEventSeverity.ErrorBatteryFullTcEventEntry192960.uuidEventClass.Data11488671360.uuidEventClass.Data228328.uuidEventClass.Data318497.uuidEventClass.Data4[0]139.uuidEventClass.Data4[1]132.uuidEventClass.Data4[2]246.uuidEventClass.Data4[3]106.uuidEventClass.Data4[4]132.uuidEventClass.Data4[5]66.uuidEventClass.Data4[6]204.uuidEventClass.Data4[7]174.nEventIDE_BMSEvents.BatteryFull.eSeverityTcEventSeverity.InfoBatteryEmptyTcEventEntry1921152.uuidEventClass.Data11488671360.uuidEventClass.Data228328.uuidEventClass.Data318497.uuidEventClass.Data4[0]139.uuidEventClass.Data4[1]132.uuidEventClass.Data4[2]246.uuidEventClass.Data4[3]106.uuidEventClass.Data4[4]132.uuidEventClass.Data4[5]66.uuidEventClass.Data4[6]204.uuidEventClass.Data4[7]174.nEventIDE_BMSEvents.BatteryEmpty.eSeverityTcEventSeverity.InfoSDDCVoltageTcEventEntry1921344.uuidEventClass.Data11488671360.uuidEventClass.Data228328.uuidEventClass.Data318497.uuidEventClass.Data4[0]139.uuidEventClass.Data4[1]132.uuidEventClass.Data4[2]246.uuidEventClass.Data4[3]106.uuidEventClass.Data4[4]132.uuidEventClass.Data4[5]66.uuidEventClass.Data4[6]204.uuidEventClass.Data4[7]174.nEventIDE_BMSEvents.SDDCVoltage.eSeverityTcEventSeverity.InfoSDUnitThreshholdTcEventEntry1921536.uuidEventClass.Data11488671360.uuidEventClass.Data228328.uuidEventClass.Data318497.uuidEventClass.Data4[0]139.uuidEventClass.Data4[1]132.uuidEventClass.Data4[2]246.uuidEventClass.Data4[3]106.uuidEventClass.Data4[4]132.uuidEventClass.Data4[5]66.uuidEventClass.Data4[6]204.uuidEventClass.Data4[7]174.nEventIDE_BMSEvents.SDUnitThreshhold.eSeverityTcEventSeverity.InfoEmergencyStopNotOkTcEventEntry1921728.uuidEventClass.Data11488671360.uuidEventClass.Data228328.uuidEventClass.Data318497.uuidEventClass.Data4[0]139.uuidEventClass.Data4[1]132.uuidEventClass.Data4[2]246.uuidEventClass.Data4[3]106.uuidEventClass.Data4[4]132.uuidEventClass.Data4[5]66.uuidEventClass.Data4[6]204.uuidEventClass.Data4[7]174.nEventIDE_BMSEvents.EmergencyStopNotOk.eSeverityTcEventSeverity.ErrorEthercatStringErrorTcEventEntry1921920.uuidEventClass.Data11488671360.uuidEventClass.Data228328.uuidEventClass.Data318497.uuidEventClass.Data4[0]139.uuidEventClass.Data4[1]132.uuidEventClass.Data4[2]246.uuidEventClass.Data4[3]106.uuidEventClass.Data4[4]132.uuidEventClass.Data4[5]66.uuidEventClass.Data4[6]204.uuidEventClass.Data4[7]174.nEventIDE_BMSEvents.EthercatStringError.eSeverityTcEventSeverity.ErrorSafetyIntlkTimeoutTcEventEntry1922112.uuidEventClass.Data11488671360.uuidEventClass.Data228328.uuidEventClass.Data318497.uuidEventClass.Data4[0]139.uuidEventClass.Data4[1]132.uuidEventClass.Data4[2]246.uuidEventClass.Data4[3]106.uuidEventClass.Data4[4]132.uuidEventClass.Data4[5]66.uuidEventClass.Data4[6]204.uuidEventClass.Data4[7]174.nEventIDE_BMSEvents.SafetyIntlkTimeout.eSeverityTcEventSeverity.ErrorDCCBDidNotCloseInTimeTcEventEntry1922304.uuidEventClass.Data11488671360.uuidEventClass.Data228328.uuidEventClass.Data318497.uuidEventClass.Data4[0]139.uuidEventClass.Data4[1]132.uuidEventClass.Data4[2]246.uuidEventClass.Data4[3]106.uuidEventClass.Data4[4]132.uuidEventClass.Data4[5]66.uuidEventClass.Data4[6]204.uuidEventClass.Data4[7]174.nEventIDE_BMSEvents.DCCBDidNotCloseInTime.eSeverityTcEventSeverity.ErrorTcTypeSystemTcEventClassBMSEventsGeneralNotAllCompInAutomaticWarningUnitErrorErrorPressureDiffToBigErrorDCMainSwitchNotClosedErrorLeakageDS12ErrorLeakageDS34ErrorLeakageTankErrorCommErrorErrorIsoErrorErrorST_General1728NotAllCompInAutomaticTcEventEntry1920.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.NotAllCompInAutomatic.eSeverityTcEventSeverity.WarningUnitErrorTcEventEntry192192.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.UnitError.eSeverityTcEventSeverity.ErrorPressureDiffToBigTcEventEntry192384.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.PressureDiffToBig.eSeverityTcEventSeverity.ErrorDCMainSwitchNotClosedTcEventEntry192576.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.DCMainSwitchNotClosed.eSeverityTcEventSeverity.ErrorLeakageDS12TcEventEntry192768.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.LeakageDS12.eSeverityTcEventSeverity.ErrorLeakageDS34TcEventEntry192960.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.LeakageDS34.eSeverityTcEventSeverity.ErrorLeakageTankTcEventEntry1921152.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.LeakageTank.eSeverityTcEventSeverity.ErrorCommErrorTcEventEntry1921344.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.CommError.eSeverityTcEventSeverity.ErrorIsoErrorTcEventEntry1921536.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.IsoError.eSeverityTcEventSeverity.ErrorTcTypeSystemTcEventClassGeneralValveDidNotOpenErrorDidNotCloseErrorAnalogFeedbackOCErrorAnalogOutputOCErrorNotInRangeErrorST_Valve960DidNotOpenTcEventEntry1920.uuidEventClass.Data13893221306.uuidEventClass.Data264001.uuidEventClass.Data318764.uuidEventClass.Data4[0]158.uuidEventClass.Data4[1]250.uuidEventClass.Data4[2]215.uuidEventClass.Data4[3]1.uuidEventClass.Data4[4]117.uuidEventClass.Data4[5]197.uuidEventClass.Data4[6]167.uuidEventClass.Data4[7]105.nEventIDE_Valve.DidNotOpen.eSeverityTcEventSeverity.ErrorDidNotCloseTcEventEntry192192.uuidEventClass.Data13893221306.uuidEventClass.Data264001.uuidEventClass.Data318764.uuidEventClass.Data4[0]158.uuidEventClass.Data4[1]250.uuidEventClass.Data4[2]215.uuidEventClass.Data4[3]1.uuidEventClass.Data4[4]117.uuidEventClass.Data4[5]197.uuidEventClass.Data4[6]167.uuidEventClass.Data4[7]105.nEventIDE_Valve.DidNotClose.eSeverityTcEventSeverity.ErrorAnalogFeedbackOCTcEventEntry192384.uuidEventClass.Data13893221306.uuidEventClass.Data264001.uuidEventClass.Data318764.uuidEventClass.Data4[0]158.uuidEventClass.Data4[1]250.uuidEventClass.Data4[2]215.uuidEventClass.Data4[3]1.uuidEventClass.Data4[4]117.uuidEventClass.Data4[5]197.uuidEventClass.Data4[6]167.uuidEventClass.Data4[7]105.nEventIDE_Valve.AnalogFeedbackOC.eSeverityTcEventSeverity.ErrorAnalogOutputOCTcEventEntry192576.uuidEventClass.Data13893221306.uuidEventClass.Data264001.uuidEventClass.Data318764.uuidEventClass.Data4[0]158.uuidEventClass.Data4[1]250.uuidEventClass.Data4[2]215.uuidEventClass.Data4[3]1.uuidEventClass.Data4[4]117.uuidEventClass.Data4[5]197.uuidEventClass.Data4[6]167.uuidEventClass.Data4[7]105.nEventIDE_Valve.AnalogOutputOC.eSeverityTcEventSeverity.ErrorNotInRangeTcEventEntry192768.uuidEventClass.Data13893221306.uuidEventClass.Data264001.uuidEventClass.Data318764.uuidEventClass.Data4[0]158.uuidEventClass.Data4[1]250.uuidEventClass.Data4[2]215.uuidEventClass.Data4[3]1.uuidEventClass.Data4[4]117.uuidEventClass.Data4[5]197.uuidEventClass.Data4[6]167.uuidEventClass.Data4[7]105.nEventIDE_Valve.NotInRange.eSeverityTcEventSeverity.ErrorTcTypeSystemTcEventClassValveE_STRING_OPERATING_MODE16INTAUTOMATIC0SAFETY_CHECK1PRECHARGE2BALANCING3qualified_onlystrictto_stringto_string_function__TO_STRING__1695to_wstring_function__TO_WSTRING__1695generate_implicit_init_functionE_HMI_BUTTON_FEEDBACK16INTNONE0ACTIVE1PENDING2WARNING3ERROR4qualified_onlystrictanalysis-32NONEST_HMI_CONTROL_BUTTON32xRequestBOOL PLC
+]]>8321152ArrayBufferBYTE01040000832000064MemRingBufferFB_MemRingBuffer7688320064TimerBetweenMessagesTON2568320832.INtrue.PTT#10MSMEM_RING_BUFFER_INTERNAL_USE_PER_DATA_RECORDUSINT883210884TIME_BETWEEN_MESSAGESTIME328321120T#10MSGetLogCountUDINT32WriteLogMsgCtrlMaskDWORD32MsgFmtStrT_MaxString2048StrArgT_MaxString2048ErrorBOOL8ItemTypeOutputAdsLogStringMessageST_AdsLogStringMessage4128GetAndRemoveLogFromQueueAdsLogStringMessageST_AdsLogStringMessage4128ItemTypeOutputErrorBOOL8ItemTypeOutputPouTypeFunctionBlockE_S_UPS_State16INTeSUPS_PowerOK0eSUPS_PowerFailure1eSUPS_WritePersistentData2eSUPS_QuickShutdown3eSUPS_WaitForRecover4eSUPS_WaitForPowerOFF5AnalogOutputConfigErrorErrorST_AnalogOutput192ConfigErrorTcEventEntry1920.uuidEventClass.Data12348503005.uuidEventClass.Data216108.uuidEventClass.Data316599.uuidEventClass.Data4[0]152.uuidEventClass.Data4[1]126.uuidEventClass.Data4[2]0.uuidEventClass.Data4[3]76.uuidEventClass.Data4[4]218.uuidEventClass.Data4[5]139.uuidEventClass.Data4[6]155.uuidEventClass.Data4[7]84.nEventIDE_AnalogOutput.ConfigError.eSeverityTcEventSeverity.ErrorTcTypeSystemTcEventClassAnalogOutputAnalogInputAIOpenCircuitErrorAICardFailureErrorAIShortCircuitErrorAIConfigErrorErrorErrorLowErrorWarningLowWarningWarningHighWarningErrorHighErrorST_AnalogInput1536AIOpenCircuitTcEventEntry1920.uuidEventClass.Data1192311624.uuidEventClass.Data236805.uuidEventClass.Data317216.uuidEventClass.Data4[0]182.uuidEventClass.Data4[1]235.uuidEventClass.Data4[2]97.uuidEventClass.Data4[3]81.uuidEventClass.Data4[4]228.uuidEventClass.Data4[5]159.uuidEventClass.Data4[6]201.uuidEventClass.Data4[7]255.nEventIDE_AnalogInput.AIOpenCircuit.eSeverityTcEventSeverity.ErrorAICardFailureTcEventEntry192192.uuidEventClass.Data1192311624.uuidEventClass.Data236805.uuidEventClass.Data317216.uuidEventClass.Data4[0]182.uuidEventClass.Data4[1]235.uuidEventClass.Data4[2]97.uuidEventClass.Data4[3]81.uuidEventClass.Data4[4]228.uuidEventClass.Data4[5]159.uuidEventClass.Data4[6]201.uuidEventClass.Data4[7]255.nEventIDE_AnalogInput.AICardFailure.eSeverityTcEventSeverity.ErrorAIShortCircuitTcEventEntry192384.uuidEventClass.Data1192311624.uuidEventClass.Data236805.uuidEventClass.Data317216.uuidEventClass.Data4[0]182.uuidEventClass.Data4[1]235.uuidEventClass.Data4[2]97.uuidEventClass.Data4[3]81.uuidEventClass.Data4[4]228.uuidEventClass.Data4[5]159.uuidEventClass.Data4[6]201.uuidEventClass.Data4[7]255.nEventIDE_AnalogInput.AIShortCircuit.eSeverityTcEventSeverity.ErrorAIConfigErrorTcEventEntry192576.uuidEventClass.Data1192311624.uuidEventClass.Data236805.uuidEventClass.Data317216.uuidEventClass.Data4[0]182.uuidEventClass.Data4[1]235.uuidEventClass.Data4[2]97.uuidEventClass.Data4[3]81.uuidEventClass.Data4[4]228.uuidEventClass.Data4[5]159.uuidEventClass.Data4[6]201.uuidEventClass.Data4[7]255.nEventIDE_AnalogInput.AIConfigError.eSeverityTcEventSeverity.ErrorErrorLowTcEventEntry192768.uuidEventClass.Data1192311624.uuidEventClass.Data236805.uuidEventClass.Data317216.uuidEventClass.Data4[0]182.uuidEventClass.Data4[1]235.uuidEventClass.Data4[2]97.uuidEventClass.Data4[3]81.uuidEventClass.Data4[4]228.uuidEventClass.Data4[5]159.uuidEventClass.Data4[6]201.uuidEventClass.Data4[7]255.nEventIDE_AnalogInput.ErrorLow.eSeverityTcEventSeverity.ErrorWarningLowTcEventEntry192960.uuidEventClass.Data1192311624.uuidEventClass.Data236805.uuidEventClass.Data317216.uuidEventClass.Data4[0]182.uuidEventClass.Data4[1]235.uuidEventClass.Data4[2]97.uuidEventClass.Data4[3]81.uuidEventClass.Data4[4]228.uuidEventClass.Data4[5]159.uuidEventClass.Data4[6]201.uuidEventClass.Data4[7]255.nEventIDE_AnalogInput.WarningLow.eSeverityTcEventSeverity.WarningWarningHighTcEventEntry1921152.uuidEventClass.Data1192311624.uuidEventClass.Data236805.uuidEventClass.Data317216.uuidEventClass.Data4[0]182.uuidEventClass.Data4[1]235.uuidEventClass.Data4[2]97.uuidEventClass.Data4[3]81.uuidEventClass.Data4[4]228.uuidEventClass.Data4[5]159.uuidEventClass.Data4[6]201.uuidEventClass.Data4[7]255.nEventIDE_AnalogInput.WarningHigh.eSeverityTcEventSeverity.WarningErrorHighTcEventEntry1921344.uuidEventClass.Data1192311624.uuidEventClass.Data236805.uuidEventClass.Data317216.uuidEventClass.Data4[0]182.uuidEventClass.Data4[1]235.uuidEventClass.Data4[2]97.uuidEventClass.Data4[3]81.uuidEventClass.Data4[4]228.uuidEventClass.Data4[5]159.uuidEventClass.Data4[6]201.uuidEventClass.Data4[7]255.nEventIDE_AnalogInput.ErrorHigh.eSeverityTcEventSeverity.ErrorTcTypeSystemTcEventClassAnalogInputGeneralNotAllCompInAutomaticWarningUnitErrorErrorPressureDiffToBigErrorDCMainSwitchNotClosedErrorLeakageDS12ErrorLeakageDS34ErrorLeakageTankErrorCommErrorErrorIsoErrorErrorST_General1728NotAllCompInAutomaticTcEventEntry1920.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.NotAllCompInAutomatic.eSeverityTcEventSeverity.WarningUnitErrorTcEventEntry192192.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.UnitError.eSeverityTcEventSeverity.ErrorPressureDiffToBigTcEventEntry192384.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.PressureDiffToBig.eSeverityTcEventSeverity.ErrorDCMainSwitchNotClosedTcEventEntry192576.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.DCMainSwitchNotClosed.eSeverityTcEventSeverity.ErrorLeakageDS12TcEventEntry192768.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.LeakageDS12.eSeverityTcEventSeverity.ErrorLeakageDS34TcEventEntry192960.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.LeakageDS34.eSeverityTcEventSeverity.ErrorLeakageTankTcEventEntry1921152.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.LeakageTank.eSeverityTcEventSeverity.ErrorCommErrorTcEventEntry1921344.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.CommError.eSeverityTcEventSeverity.ErrorIsoErrorTcEventEntry1921536.uuidEventClass.Data13556895574.uuidEventClass.Data229815.uuidEventClass.Data319602.uuidEventClass.Data4[0]134.uuidEventClass.Data4[1]76.uuidEventClass.Data4[2]80.uuidEventClass.Data4[3]2.uuidEventClass.Data4[4]42.uuidEventClass.Data4[5]141.uuidEventClass.Data4[6]124.uuidEventClass.Data4[7]114.nEventIDE_General.IsoError.eSeverityTcEventSeverity.ErrorTcTypeSystemTcEventClassGeneralValveDidNotOpenErrorDidNotCloseErrorAnalogFeedbackOCErrorAnalogOutputOCErrorNotInRangeErrorST_Valve960DidNotOpenTcEventEntry1920.uuidEventClass.Data13893221306.uuidEventClass.Data264001.uuidEventClass.Data318764.uuidEventClass.Data4[0]158.uuidEventClass.Data4[1]250.uuidEventClass.Data4[2]215.uuidEventClass.Data4[3]1.uuidEventClass.Data4[4]117.uuidEventClass.Data4[5]197.uuidEventClass.Data4[6]167.uuidEventClass.Data4[7]105.nEventIDE_Valve.DidNotOpen.eSeverityTcEventSeverity.ErrorDidNotCloseTcEventEntry192192.uuidEventClass.Data13893221306.uuidEventClass.Data264001.uuidEventClass.Data318764.uuidEventClass.Data4[0]158.uuidEventClass.Data4[1]250.uuidEventClass.Data4[2]215.uuidEventClass.Data4[3]1.uuidEventClass.Data4[4]117.uuidEventClass.Data4[5]197.uuidEventClass.Data4[6]167.uuidEventClass.Data4[7]105.nEventIDE_Valve.DidNotClose.eSeverityTcEventSeverity.ErrorAnalogFeedbackOCTcEventEntry192384.uuidEventClass.Data13893221306.uuidEventClass.Data264001.uuidEventClass.Data318764.uuidEventClass.Data4[0]158.uuidEventClass.Data4[1]250.uuidEventClass.Data4[2]215.uuidEventClass.Data4[3]1.uuidEventClass.Data4[4]117.uuidEventClass.Data4[5]197.uuidEventClass.Data4[6]167.uuidEventClass.Data4[7]105.nEventIDE_Valve.AnalogFeedbackOC.eSeverityTcEventSeverity.ErrorAnalogOutputOCTcEventEntry192576.uuidEventClass.Data13893221306.uuidEventClass.Data264001.uuidEventClass.Data318764.uuidEventClass.Data4[0]158.uuidEventClass.Data4[1]250.uuidEventClass.Data4[2]215.uuidEventClass.Data4[3]1.uuidEventClass.Data4[4]117.uuidEventClass.Data4[5]197.uuidEventClass.Data4[6]167.uuidEventClass.Data4[7]105.nEventIDE_Valve.AnalogOutputOC.eSeverityTcEventSeverity.ErrorNotInRangeTcEventEntry192768.uuidEventClass.Data13893221306.uuidEventClass.Data264001.uuidEventClass.Data318764.uuidEventClass.Data4[0]158.uuidEventClass.Data4[1]250.uuidEventClass.Data4[2]215.uuidEventClass.Data4[3]1.uuidEventClass.Data4[4]117.uuidEventClass.Data4[5]197.uuidEventClass.Data4[6]167.uuidEventClass.Data4[7]105.nEventIDE_Valve.NotInRange.eSeverityTcEventSeverity.ErrorTcTypeSystemTcEventClassValveE_STRING_OPERATING_MODE16INTAUTOMATIC0SAFETY_CHECK1PRECHARGE2BALANCING3qualified_onlystrictto_stringto_string_function__TO_STRING__1695to_wstring_function__TO_WSTRING__1695generate_implicit_init_functionE_HMI_BUTTON_FEEDBACK16INTNONE0ACTIVE1PENDING2WARNING3ERROR4qualified_onlystrictanalysis-32NONEST_HMI_CONTROL_BUTTON32xRequestBOOL PLC
The HMI writes here to signal the plc
that it wants to command this button]]>80OPC.UA.DA1xReleaseBOOL88OPC.UA.DA1OPC.UA.DA.Access1eFeedbackE_HMI_BUTTON_FEEDBACK1616OPC.UA.DA1OPC.UA.DA.Access1ST_HMI_ANALOG_VALUE1440rValueREAL320OPC.UA.DA1rMinREAL3232OPC.UA.DA1OPC.UA.DA.Access1rMaxREAL3264OPC.UA.DA1OPC.UA.DA.Access1sUnitSTRING(80)64896OPC.UA.DA1OPC.UA.DA.Access1sNameSTRING(80)648744OPC.UA.DA1OPC.UA.DA.Access1iStatusINT162208040110CONTROLLER_HBWORD Inverter Heartbeat register]]>162209640229PCS_HBWORD PLC heartbeat register]]>162211240228HandleHeartbeat__setNameNameSTRING(80)648property__getNameSTRING(80)648NameSTRING(80)648propertyPouTypeFunctionBlockFB_Blinker704rFrequencyREAL3264ItemTypeInputxOutBOOL896ItemTypeOutput_fbTON1TON256128_fbTON2TON256384_timTimeTIME32640PouTypeFunctionBlockanalysis-56, -37FB_String6168192xEnableBOOL864ItemTypeInputuiStringNumberUINT1680ItemTypeInputxErrorShutdownBOOL No discharge throught inverter]]>896ItemTypeInputxStartBalancingBOOL8104ItemTypeInputxInSafetyCheckModeBOOL8112ItemTypeInputeOperationModeE_STRING_OPERATING_MODE16128ItemTypeInputrPowerInverterREAL32160ItemTypeInputstHMIInterfaceST_STRING_HMI_INTERFACE64192ItemTypeInputxEmergencyStopOkBOOL8256ItemTypeInputxResetSafetyBOOL8264ItemTypeInputxReleaseErrorsBOOL8272ItemTypeInputxReleaseLimitErrorsBOOL8280ItemTypeInputxReleaseManualModeBOOL8288ItemTypeInputxConfirmAlarmsBOOL8296ItemTypeInputxAllToManualModeBOOL8304ItemTypeInputsInverterIPSTRING(80)648312ItemTypeInputxECWcStateBOOL8960ItemTypeInputxIsoErrorL1BOOL8968ItemTypeInputxIsoErrorL2BOOL8976ItemTypeInputxRepairSwitchOkBOOL8984ItemTypeOutputxSafetyComErrorBOOL8992ItemTypeOutputanalysis-33xSafetyIntlksOkBOOL81000ItemTypeOutputxSafetyIntlksComponentsOkBOOL81008ItemTypeOutputrCurrentVoltageREAL321024ItemTypeOutputxInShutdownDischargeModeBOOL81056ItemTypeOutputxShutdownDischargeAllowedBOOL81064ItemTypeOutputxReadyBOOL81072ItemTypeOutputxOffBOOL81080ItemTypeOutputxCloseDCCBBOOL81088ItemTypeOutputxDCCBOpenBOOL81096ItemTypeOutputxResetSafetyDCCBBOOL81104ItemTypeOutputxAllModulesInAutoModeBOOL81112ItemTypeOutputxErrorBOOL81120ItemTypeOutputxWarningBOOL81128ItemTypeOutputeStatusE_COMPONENT_STATUS161136ItemTypeOutputstInverterDataST_SUNSPEC_CURRENT_VALUES4161152ItemTypeOutputrSmallestSegmentVoltageREAL321568ItemTypeOutputrHighestSegmentVoltageREAL321600ItemTypeOutputxBalancingDoneBOOL81632ItemTypeOutput_fbModule1FB_Module20188801664_fbModule2FB_Module20188802020544_fbModule3FB_Module20188804039424_xAllModulesReadyBOOL86058304_xAllModulesInShutdownDischargeModeBOOL86058312_xBalanceOkBOOL86058320_fbModulesOutOfBalanceAlarmFB_TcAlarm42246058368_fbSafetyInterlocksNotOkAlarmFB_TcAlarm42246062592_fbInverterStartupTimeoutAlarmFB_TcAlarm42246066816_fbDCMainSwitchNotClosedFB_TcAlarm42246071040_fbSCSConnLostFB_TcAlarm42246075264_fbIsolationAlarmFB_TcAlarm42246079488_fbSafetyIntlkTimeoutAlarmFB_TcAlarm42246083712_fbSDDCLevelFB_TcMessage42886087936_fbSDUnitThresholdFB_TcMessage42886092224_iStateINT1660965120_tonErrorDCCBNotClosedTON2566096576.PTT#5S_fbBalanceNotOkSignalFB_ReleaseSignal7686096832_sNameSTRING(80)6486097600_fbInverterFB_PowerSupplySunspec221446098304_rPowerInverterInternalREAL326120448_xEnableInverterBOOL86120480_tonInverterStartupTimeoutTON2566120512.PTT#3M_tonInverterShutdownErrorTON2566120768.PTT#10S_tonInverterShutdownDelayTON2566121024.PTT#10S_tonSafetyOkTimeoutTON2566121280.PTT#2M_fbStringCurrentFB_AnalogInput451846121536_xErrorInverterBOOL86166720_xReleaseLimitErrorsInternalBOOL86166728_xReleaseSafetyIntlkErrorsBOOL86166736_xBalancingDoneBOOL86166744_xEnableBOOL86166752_xStartBalancingBOOL86166760_xIsoErrorBOOL86166768_fbTONIsoErrorTON2566166784_rSOCREAL326167040_fbTONDCSettlingTimeTON2566167104.PTT#10S_xErrorInternalBOOL86167360_fbSafetyResetImpulseGenFB_Blinker7046167424.rFrequency2rCapacityWHREAL326168128TcPersistentrCapacityAHREAL326168160TcPersistentHandleErrorsClearAlarms__setNameNameSTRING(80)648property__getNameSTRING(80)648NameSTRING(80)648propertyPouTypeFunctionBlockE_BMS_CONTROL_MODE16INTAUTO_REMOTE1AUTO_LOCAL2SAFETY_CHECK3CAPACITY_TEST4MANUAL5BALANCING6CYCLING7PRECHARGE8DH9qualified_onlystrictgenerate_implicit_init_functionT_AmsPort16UINTADSREAD1408NETIDT_AmsNetID19264ItemTypeInputPORTT_AmsPort16256ItemTypeInputIDXGRPUDINT32288ItemTypeInputIDXOFFSUDINT32320ItemTypeInputLENUDINT32352ItemTypeInputDESTADDRPVOID64384ItemTypeInputTcIgnorePersistentREADBOOL8448ItemTypeInputTMOUTTIME324805000ItemTypeInputBUSYBOOL8512ItemTypeOutputERRBOOL8520ItemTypeOutputERRIDUDINT32544ItemTypeOutputPouTypeFunctionBlockhide_all_localsE_S_UPS_Mode16INTeSUPS_WrPersistData_Shutdown0eSUPS_WrPersistData_NoShutdown1eSUPS_ImmediateShutdown2eSUPS_CheckPowerStatus3E_PersistentMode16INTSPDM_2PASS0SPDM_VAR_BOOST1T_U64KAFFINITY64lowerDWORD3200higherDWORD32320conditionalshowADSRDWRTEX1792NETIDT_AmsNetID19264ItemTypeInputPORTT_AmsPort16256ItemTypeInputIDXGRPUDINT32288ItemTypeInputIDXOFFSUDINT32320ItemTypeInputWRITELENUDINT32352ItemTypeInputREADLENUDINT32384ItemTypeInputSRCADDRPVOID64448ItemTypeInputTcIgnorePersistentDESTADDRPVOID64512ItemTypeInputTcIgnorePersistentWRTRDBOOL8576ItemTypeInputTMOUTTIME326085000ItemTypeInputBUSYBOOL8640ItemTypeOutputERRBOOL8648ItemTypeOutputERRIDUDINT32672ItemTypeOutputCOUNT_RUDINT32704ItemTypeOutputPouTypeFunctionBlockhide_all_localsST_AdsBaDevApiIoCtlModifier128affinityT_U64KAFFINITY640.lower0.higher0flagsDWORD3264rsrvDWORD3296conditionalshowST_AdsBaDevApiHead192indexGroupUDINT320indexOffsetUDINT3232modifierST_AdsBaDevApiIoCtlModifier12864conditionalshowST_AdsBaDevApiReq8416headST_AdsBaDevApiHead1920inDataBYTE010258200192conditionalshowFB_BaDeviceIoControl11200sNetIDT_AmsNetID19264ItemTypeInputaffinityT_U64KAFFINITY64256.lower0.higher0ItemTypeInputnModifierUDINT323200ItemTypeInputnIdxGrpUDINT32352ItemTypeInputnIdxOffsUDINT32384ItemTypeInputcbWriteLenUDINT32416ItemTypeInputcbReadLenUDINT32448ItemTypeInputpWriteBuffPVOID64512ItemTypeInputpReadBuffPVOID64576ItemTypeInputbExecuteBOOL8640ItemTypeInputtTimeoutTIME326725000ItemTypeInputbBusyBOOL8704ItemTypeOutputbErrorBOOL8712ItemTypeOutputnErrIDUDINT32736ItemTypeOutputcbReadUDINT32768ItemTypeOutputfbRWADSRDWRTEX1792832.PORT10000.IDXGRP1100.IDXOFFS0reqST_AdsBaDevApiReq84162624stateBYTE811040rtrigR_TRIG12811072PouTypeFunctionBlockhideFB_BaGenGetVersion11840sNetIDT_AmsNetID19264ItemTypeInputbExecuteBOOL8256ItemTypeInputtTimeoutTIME322885000ItemTypeInputbBusyBOOL8320ItemTypeOutputbErrorBOOL8328ItemTypeOutputnErrIDUDINT32352ItemTypeOutputnVersionBYTE8384ItemTypeOutputnRevisionBYTE8392ItemTypeOutputnBuildWORD16400ItemTypeOutputfbCtrlFB_BaDeviceIoControl11200448.nModifier0.affinity.lower0.affinity.higher0.nIdxGrp0.nIdxOffs0rtrigR_TRIG12811648stateBYTE811776rspDWORD3211808PouTypeFunctionBlockhideADSWRITE1344NETIDT_AmsNetID19264ItemTypeInputPORTT_AmsPort16256ItemTypeInputIDXGRPUDINT32288ItemTypeInputIDXOFFSUDINT32320ItemTypeInputLENUDINT32352ItemTypeInputSRCADDRPVOID64384ItemTypeInputTcIgnorePersistentWRITEBOOL8448ItemTypeInputTMOUTTIME324805000ItemTypeInputBUSYBOOL8512ItemTypeOutputERRBOOL8520ItemTypeOutputERRIDUDINT32544ItemTypeOutputPouTypeFunctionBlockhide_all_localsFB_WritePersistentData1728NETIDT_AmsNetID19264ItemTypeInputPORTUINT16256ItemTypeInputSTARTBOOL8272ItemTypeInputTMOUTTIME322885000ItemTypeInputMODEE_PersistentMode16320E_PersistentMode.SPDM_2PASSItemTypeInputBUSYBOOL8336ItemTypeOutputERRBOOL8344ItemTypeOutputERRIDUDINT32352ItemTypeOutputfbAdsWriteADSWRITE1344384.IDXGRP139460625.IDXOFFS0conditionalshowPouTypeFunctionBlockconditionalshow_all_localsADSWRTCTL1344NETIDT_AmsNetID19264ItemTypeInputPORTT_AmsPort16256ItemTypeInputADSSTATEUINT16272ItemTypeInputDEVSTATEUINT16288ItemTypeInputLENUDINT32320ItemTypeInputSRCADDRPVOID64384ItemTypeInputTcIgnorePersistentWRITEBOOL8448ItemTypeInputTMOUTTIME324805000ItemTypeInputBUSYBOOL8512ItemTypeOutputERRBOOL8520ItemTypeOutputERRIDUDINT32544ItemTypeOutputPouTypeFunctionBlockhide_all_localsFB_NT_QuickShutdown1920NETIDT_AmsNetID19264ItemTypeInputSTARTBOOL8256ItemTypeInputTMOUTTIME322885000ItemTypeInputBUSYBOOL8320ItemTypeOutputERRBOOL8328ItemTypeOutputERRIDUDINT32352ItemTypeOutputADSWRTCTL1ADSWRTCTL1344384RisingEdgeR_TRIG1281728DELAYDWORD3218564294967295PouTypeFunctionBlockconditionalshowST_WD_GPIO_InfoEx192nTypeUINT160nLengthUINT1616nFlagsWORD1632nReserved2UINT1648nAddressDWORD3264nReserved3DWORD3296nBitmaskDWORD32128nReserved4DWORD32160FB_S_UPS_BAPI74624sNetIDT_AmsNetID19264ItemTypeInputiPLCPortUINT16256ItemTypeInputtTimeoutTIME322885000ItemTypeInputeUpsModeE_S_UPS_Mode16320E_S_UPS_Mode.eSUPS_WrPersistData_ShutdownItemTypeInputePersistentModeE_PersistentMode16336E_PersistentMode.SPDM_2PASSItemTypeInputtRecoverTimeTIME3235210000ItemTypeInputbPowerFailDetectBOOL8384ItemTypeOutputeStateE_S_UPS_State16400E_S_UPS_State.eSUPS_PowerOKItemTypeOutputnCapacityBYTE84160ItemTypeOutputbBusyBOOL8424ItemTypeOutputbErrorBOOL8432ItemTypeOutputnErrIDUDINT32448ItemTypeOutputfbSUpsGetGpioInfoFB_BaDeviceIoControl11200512.nModifier0.affinity.lower0.affinity.higher0.nIdxGrp20480.nIdxOffs161conditionalshownSUpsGetGpioInfoDWORD3211712conditionalshownGpioStateINT1611744conditionalshowfbSUpsGetStateFB_BaDeviceIoControl1120011776.nModifier0.affinity.lower0.affinity.higher0.nIdxGrp20480.nIdxOffs1conditionalshownCapacityRspBYTE822976conditionalshowbChargingBOOL822984conditionalshowbDischargingBOOL822992conditionalshownGetStateINT1623008conditionalshownUpsStateINT1623024conditionalshowfbUpsStateTimerTON25623040.INtrueconditionalshowfbStartupTimerTON25623296.INtrue.PT0conditionalshownInitStateINT1623552conditionalshowdxValueDWORD3223584conditionalshowdxStatusDWORD3223616conditionalshowdxBitMaskDWORD3223648conditionalshownBitNoBYTE823680conditionalshowbBitLevelBOOL823688conditionalshowbStatusBOOL823696conditionalshowbLowActiveBOOL823704conditionalshowbHighActiveBOOL823712conditionalshowbOldSupsVersionBOOL823720trueconditionalshowfbSUpsEnableFB_BaDeviceIoControl1120023744.nModifier0.affinity.lower0.affinity.higher0.nIdxGrp20480.nIdxOffs0conditionalshowbSUpsBOOL834944trueconditionalshowbSUpsEnableBOOL834952trueconditionalshownEnableStateINT1634960conditionalshowbEnableNotSupportedBOOL834976conditionalshowfbSUpsStatusFB_BaDeviceIoControl1120035008.nModifier0.affinity.lower0.affinity.higher0.nIdxGrp20480.nIdxOffs1conditionalshownSUpsStatusBYTE8462080conditionalshowbSUpsStatusBOOL846216trueconditionalshowfbSUpsGetRevisionFB_BaDeviceIoControl1120046272.nModifier0.affinity.lower0.affinity.higher0.nIdxGrp20480.nIdxOffs2conditionalshownSUpsVersionDataBYTE032457472conditionalshowbSUpsGetRevisionBOOL857496trueconditionalshowsSupsVersionSTRING(15)12857504conditionalshownRevisionStateINT1657632conditionalshowfbBaGenGetVersionFB_BaGenGetVersion1184057664conditionalshowbBaGenGetVersionBOOL869504trueconditionalshownVersionBYTE869512conditionalshownRevisionBYTE869520conditionalshownBuildWORD1669536conditionalshowsBaVersionSTRING(15)12869552conditionalshowbOldBaVersionBOOL869680trueconditionalshowbPowerFailDetectPrevBOOL869688conditionalshowbPowerOKInFirstCycleBOOL869696conditionalshowfbWritePersistentDataFB_WritePersistentData172869760conditionalshowfbNT_QuickShutdownFB_NT_QuickShutdown192071488conditionalshowWaitForOffTimerTON25673408conditionalshowbFirstCycleBOOL873664trueconditionalshowpAddress1BYTE6473728conditionalshowdxValue1BYTE873792conditionalshowdxBitMask1BYTE873800conditionalshowpAddress2WORD6473856conditionalshowdxValue2WORD1673920conditionalshowdxBitMask2WORD1673936conditionalshowpAddress4DWORD6473984conditionalshowdxValue4DWORD3274048conditionalshowdxBitMask4DWORD3274080conditionalshowpAddress8LWORD6474112conditionalshowdxValue8LWORD6474176conditionalshowdxBitMask8LWORD6474240conditionalshowbUseInfoBOOL874304TcPersistentconditionalshownIoAddrUDINT3274336TcPersistentconditionalshownOffsetBYTE874368TcPersistentconditionalshownParamsBYTE874376TcPersistentconditionalshowbUseInfoExBOOL874384TcPersistentconditionalshowstGpioInfoExST_WD_GPIO_InfoEx19274400TcPersistentconditionalshowPouTypeFunctionBlockconditionalshow_all_localsFB_Safety128xVoltagesInRangeBOOL864ItemTypeInputxPressureInRangeBOOL872ItemTypeInputxTemperaturesInRangeBOOL880ItemTypeInputxResetBOOL888ItemTypeInput_latchedVoltagesBOOL896_latchedPressuresBOOL8104_latechedTemperaturesBOOL8112_xErrorLatchedBOOL8120PouTypeFunctionBlockE_BATTERY_STATUS16INTERROR1OFF2READY3ACTIVE4MAINTENANCE5TESTING6qualified_onlystrictto_stringto_string_function__TO_STRING__1435to_wstring_function__TO_WSTRING__1435generate_implicit_init_functionE_CHARGE_STATUS16INTUNDEFINED1EMPTY2CHARGING3DISCHARGING4FULL5qualified_onlystrictto_stringto_string_function__TO_STRING__1438to_wstring_function__TO_WSTRING__1438generate_implicit_init_functionST_MODBUS_REG_11768eBatteryStatusE_BATTERY_STATUS160eChargeStatusE_CHARGE_STATUS1616uiSelfDischargeRateUINT1632uiMaxAllowedSOCUINT1632nReserved2UINT1648nAddressDWORD3264nReserved3DWORD3296nBitmaskDWORD32128nReserved4DWORD32160FB_S_UPS_BAPI74624sNetIDT_AmsNetID19264ItemTypeInputiPLCPortUINT16256ItemTypeInputtTimeoutTIME322885000ItemTypeInputeUpsModeE_S_UPS_Mode16320E_S_UPS_Mode.eSUPS_WrPersistData_ShutdownItemTypeInputePersistentModeE_PersistentMode16336E_PersistentMode.SPDM_2PASSItemTypeInputtRecoverTimeTIME3235210000ItemTypeInputbPowerFailDetectBOOL8384ItemTypeOutputeStateE_S_UPS_State16400E_S_UPS_State.eSUPS_PowerOKItemTypeOutputnCapacityBYTE84160ItemTypeOutputbBusyBOOL8424ItemTypeOutputbErrorBOOL8432ItemTypeOutputnErrIDUDINT32448ItemTypeOutputfbSUpsGetGpioInfoFB_BaDeviceIoControl11200512.nModifier0.affinity.lower0.affinity.higher0.nIdxGrp20480.nIdxOffs161conditionalshownSUpsGetGpioInfoDWORD3211712conditionalshownGpioStateINT1611744conditionalshowfbSUpsGetStateFB_BaDeviceIoControl1120011776.nModifier0.affinity.lower0.affinity.higher0.nIdxGrp20480.nIdxOffs1conditionalshownCapacityRspBYTE822976conditionalshowbChargingBOOL822984conditionalshowbDischargingBOOL822992conditionalshownGetStateINT1623008conditionalshownUpsStateINT1623024conditionalshowfbUpsStateTimerTON25623040.INtrueconditionalshowfbStartupTimerTON25623296.INtrue.PT0conditionalshownInitStateINT1623552conditionalshowdxValueDWORD3223584conditionalshowdxStatusDWORD3223616conditionalshowdxBitMaskDWORD3223648conditionalshownBitNoBYTE823680conditionalshowbBitLevelBOOL823688conditionalshowbStatusBOOL823696conditionalshowbLowActiveBOOL823704conditionalshowbHighActiveBOOL823712conditionalshowbOldSupsVersionBOOL823720trueconditionalshowfbSUpsEnableFB_BaDeviceIoControl1120023744.nModifier0.affinity.lower0.affinity.higher0.nIdxGrp20480.nIdxOffs0conditionalshowbSUpsBOOL834944trueconditionalshowbSUpsEnableBOOL834952trueconditionalshownEnableStateINT1634960conditionalshowbEnableNotSupportedBOOL834976conditionalshowfbSUpsStatusFB_BaDeviceIoControl1120035008.nModifier0.affinity.lower0.affinity.higher0.nIdxGrp20480.nIdxOffs1conditionalshownSUpsStatusBYTE8462080conditionalshowbSUpsStatusBOOL846216trueconditionalshowfbSUpsGetRevisionFB_BaDeviceIoControl1120046272.nModifier0.affinity.lower0.affinity.higher0.nIdxGrp20480.nIdxOffs2conditionalshownSUpsVersionDataBYTE032457472conditionalshowbSUpsGetRevisionBOOL857496trueconditionalshowsSupsVersionSTRING(15)12857504conditionalshownRevisionStateINT1657632conditionalshowfbBaGenGetVersionFB_BaGenGetVersion1184057664conditionalshowbBaGenGetVersionBOOL869504trueconditionalshownVersionBYTE869512conditionalshownRevisionBYTE869520conditionalshownBuildWORD1669536conditionalshowsBaVersionSTRING(15)12869552conditionalshowbOldBaVersionBOOL869680trueconditionalshowbPowerFailDetectPrevBOOL869688conditionalshowbPowerOKInFirstCycleBOOL869696conditionalshowfbWritePersistentDataFB_WritePersistentData172869760conditionalshowfbNT_QuickShutdownFB_NT_QuickShutdown192071488conditionalshowWaitForOffTimerTON25673408conditionalshowbFirstCycleBOOL873664trueconditionalshowpAddress1BYTE6473728conditionalshowdxValue1BYTE873792conditionalshowdxBitMask1BYTE873800conditionalshowpAddress2WORD6473856conditionalshowdxValue2WORD1673920conditionalshowdxBitMask2WORD1673936conditionalshowpAddress4DWORD6473984conditionalshowdxValue4DWORD3274048conditionalshowdxBitMask4DWORD3274080conditionalshowpAddress8LWORD6474112conditionalshowdxValue8LWORD6474176conditionalshowdxBitMask8LWORD6474240conditionalshowbUseInfoBOOL874304TcPersistentconditionalshownIoAddrUDINT3274336TcPersistentconditionalshownOffsetBYTE874368TcPersistentconditionalshownParamsBYTE874376TcPersistentconditionalshowbUseInfoExBOOL874384TcPersistentconditionalshowstGpioInfoExST_WD_GPIO_InfoEx19274400TcPersistentconditionalshowPouTypeFunctionBlockconditionalshow_all_localsFB_Safety128xVoltagesInRangeBOOL864ItemTypeInputxPressureInRangeBOOL872ItemTypeInputxTemperaturesInRangeBOOL880ItemTypeInputxResetBOOL888ItemTypeInput_latchedVoltagesBOOL896_latchedPressuresBOOL8104_latechedTemperaturesBOOL8112_xErrorLatchedBOOL8120PouTypeFunctionBlockFB_PowerMeter3968xGetEnergyCountersBOOL864ItemTypeInputsIpAddressSTRING(80) Umrichter
+ IP 80 -> Hilfsenergie]]>64872ItemTypeInputlrEnergyFromGridLREAL64768ItemTypeOutputlrEnergyIntoGridLREAL64832ItemTypeOutputxBusyBOOL8896ItemTypeOutputxErrorBOOL8904ItemTypeOutput_fbReadRegsFB_MBReadRegs2624960_awWordArrayWORD04643584_awSwappedWORD04643648_udiErrorIdUDINT323712_fbGetEnergyCountersR_TRIG1283776_xResetEnergyCounterBOOL83904_iStateINT1639200SwapArrayPouTypeFunctionBlockST_MODBUS_REG_101344sManufacturerSTRING(32)2640sModelnameSTRING(32)264264sSerialnumberSTRING(32)264528sBMSVersionSTRING(64)520792uiTotalParallelMembersUINT161312uiActiveParallelMembersUINT161328analysis-33pack_mode1E_BATTERY_STATUS16INTERROR1OFF2READY3ACTIVE4MAINTENANCE5TESTING6qualified_onlystrictto_stringto_string_function__TO_STRING__1435to_wstring_function__TO_WSTRING__1435generate_implicit_init_functionE_CHARGE_STATUS16INTUNDEFINED1EMPTY2CHARGING3DISCHARGING4FULL5qualified_onlystrictto_stringto_string_function__TO_STRING__1438to_wstring_function__TO_WSTRING__1438generate_implicit_init_functionST_MODBUS_REG_11768eBatteryStatusE_BATTERY_STATUS160eChargeStatusE_CHARGE_STATUS1616uiSelfDischargeRateUINT1632uiMaxAllowedSOCUINT1648100uiMinAllowedSOCUINT16640uiCurrentSOCUINT1680uiCurrentDODUINT32448diSetpointActivePowerMirrorDINT32480rSetpointCosPhiMirrorREAL32512diCurrentActivePowerDINT32544diCurrentReactivePowerDINT32576udiLifeMessageUDINT32608lwWarningBitmapLWORD64640lwErrorBitmapLWORD64704analysis-33pack_mode1FB_PowerMeter3968xGetEnergyCountersBOOL864ItemTypeInputsIpAddressSTRING(80) Umrichter
- IP 80 -> Hilfsenergie]]>64872ItemTypeInputlrEnergyFromGridLREAL64768ItemTypeOutputlrEnergyIntoGridLREAL64832ItemTypeOutputxBusyBOOL8896ItemTypeOutputxErrorBOOL8904ItemTypeOutput_fbReadRegsFB_MBReadRegs2624960_awWordArrayWORD04643584_awSwappedWORD04643648_udiErrorIdUDINT323712_fbGetEnergyCountersR_TRIG1283776_xResetEnergyCounterBOOL83904_iStateINT1639200SwapArrayPouTypeFunctionBlockST_MODBUS_REG_101344sManufacturerSTRING(32)2640sModelnameSTRING(32)264264sSerialnumberSTRING(32)264528sBMSVersionSTRING(64)520792uiTotalParallelMembersUINT161312uiActiveParallelMembersUINT161328analysis-33pack_mode1E_REACTIVE_POWER_TYPE16INTINDUCTIVE1CAPACITIVE2NONE3qualified_onlystrictto_stringto_string_function__TO_STRING__1446to_wstring_function__TO_WSTRING__1446generate_implicit_init_functionST_MODBUS_REG_1280diSetpointActivePowerDINT320rSetpointCosPhiREAL3232eReactivePowerTypeE_REACTIVE_POWER_TYPE32576udiLifeMessageUDINT32608lwWarningBitmapLWORD64640lwErrorBitmapLWORD64704analysis-33pack_mode1E_REACTIVE_POWER_TYPE16INTINDUCTIVE1CAPACITIVE2NONE3qualified_onlystrictto_stringto_string_function__TO_STRING__1446to_wstring_function__TO_WSTRING__1446generate_implicit_init_functionST_MODBUS_REG_1280diSetpointActivePowerDINT320rSetpointCosPhiREAL3232eReactivePowerTypeE_REACTIVE_POWER_TYPE1664analysis-33pack_mode1ST_EMS_MODBUS_INTERFACE1632wStringErrorActiveWORD Error in string 1 active, Bit 1 -> String 2, etc.)
Addr: 13.003 ]]>1648wConfirmAlarmsWORD1664pack_mode1ST_AUTO_HMI_INTERFACE96stStartAutoButtonST_HMI_CONTROL_BUTTON320.xReleasetruestStopAutoButtonST_HMI_CONTROL_BUTTON3232.xReleasetruediSetpointAutomaticDINT3264OPC.UA.DA1OPC.UA.DA.Access1E_CYCLE_STATUS16INTOFF0CHARGE_STARTED1CHARGE_ENDED2DISCHARGE_STARTED3DISCHARGE_ENDED4qualified_onlystrictto_stringto_string_function__TO_STRING__1540to_wstring_function__TO_WSTRING__1540generate_implicit_init_functionEPlcPersistentStatus8USINT012PlcAppSystemInfo2048ObjIdOTCID320TaskCntUDINT3232OnlineChangeCntUDINT3264FlagsDWORD3296AdsPortUINT16128BootDataLoadedBOOL8144OldBootDataBOOL8152AppTimestampDT32160KeepOutputsOnBPBOOL8192ShutdownInProgressBOOL8200LicensesPendingBOOL8208BSODOccuredBOOL8216LoggedInBOOL8224PersistentStatusEPlcPersistentStatus8232TComSrvPtrITComObjectServer32256TcComInterfaceAppNameSTRING(63)512512ProjectNameSTRING(63)5121024PlcTaskSystemInfo1024ObjIdOTCID320CycleTimeUDINT3232PriorityUINT1664AdsPortUINT1680CycleCountUDINT3296DcTaskTimeLINT64128LastExecTimeUDINT32192FirstCycleBOOL8224CycleTimeExceededBOOL8232InCallAfterOutputUpdateBOOL8240RTViolationBOOL8248TaskNameSTRING(63)512512_Implicit_KindOfTask16INT_implicit_cyclic0_implicit_event1_implicit_external2_implicit_freewheeling3signature_flag256hidegenerate_implicit_init_function_Implicit_Jitter_Distribution48wRangeMaxWORD160wCountJitterNegWORD1616wCountJitterPosWORD1632signature_flag256hide_Implicit_Task_Info896dwVersionDWORD320pszNameSTRING(80)6464nPriorityINT16128KindOf_Implicit_KindOfTask16144bWatchdogBOOL8160bProfilingTaskBOOL8168dwEventFunctionPointerBYTE64192pszExternalEventSTRING(80)64256dwTaskEntryFunctionPointerBYTE64320dwWatchdogSensitivityDWORD32384dwIntervalDWORD32416dwWatchdogTimeDWORD32448dwLastCycleTimeDWORD32480dwAverageCycleTimeDWORD32512dwMaxCycleTimeDWORD32544dwMinCycleTimeDWORD32576diJitterDINT32608diJitterMinDINT32640diJitterMaxDINT32672dwCycleCountDWORD32704wTaskStatusWORD16736wNumOfJitterDistributionsWORD16752pJitterDistribution_Implicit_Jitter_Distribution64768bWithinSPSTimeSlicingBOOL8832byDummyBYTE8840bShouldBlockBOOL8848bActiveBOOL8856dwIECCycleCountDWORD32864signature_flag256hideGVL_TYPE_CONSTINT_MININT16-32768INT_MAXINT1632767UINT_MAXUINT1665535UINT_MINUINT160DINT_MAXDINT322147483647DINT_MINDINT32-2147483648UDINT_MAXUDINT324294967295UDINT_MINUDINT320REAL_MAXREAL323.042823E+38REAL_MINREAL321E-44qualified_onlynamingoffanalysis-33GVL_CONST_ITECHTCPIP_REC_BUFFER_SIZEUDINT321000TCPIP_POLL_TIMETIME32T#100MSTCPIP_MAX_RESPONSE_DATAUDINT3210TCPIP_READ_TIMEOUTTIME32T#5Squalified_onlynamingoffGVL_MOTORMAX_INTERLOCKSUSINT1664pack_mode1ST_AUTO_HMI_INTERFACE96stStartAutoButtonST_HMI_CONTROL_BUTTON320.xReleasetruestStopAutoButtonST_HMI_CONTROL_BUTTON3232.xReleasetruediSetpointAutomaticDINT3264OPC.UA.DA1OPC.UA.DA.Access1E_CYCLE_STATUS16INTOFF0CHARGE_STARTED1CHARGE_ENDED2DISCHARGE_STARTED3DISCHARGE_ENDED4qualified_onlystrictto_stringto_string_function__TO_STRING__1540to_wstring_function__TO_WSTRING__1540generate_implicit_init_functionEPlcPersistentStatus8USINT012PlcAppSystemInfo2048ObjIdOTCID320TaskCntUDINT3232OnlineChangeCntUDINT3264FlagsDWORD3296AdsPortUINT16128BootDataLoadedBOOL8144OldBootDataBOOL8152AppTimestampDT32160KeepOutputsOnBPBOOL8192ShutdownInProgressBOOL8200LicensesPendingBOOL8208BSODOccuredBOOL8216LoggedInBOOL8224PersistentStatusEPlcPersistentStatus8232TComSrvPtrITComObjectServer32256TcComInterfaceAppNameSTRING(63)512512ProjectNameSTRING(63)5121024PlcTaskSystemInfo1024ObjIdOTCID320CycleTimeUDINT3232PriorityUINT1664AdsPortUINT1680CycleCountUDINT3296DcTaskTimeLINT64128LastExecTimeUDINT32192FirstCycleBOOL8224CycleTimeExceededBOOL8232InCallAfterOutputUpdateBOOL8240RTViolationBOOL8248TaskNameSTRING(63)512512_Implicit_KindOfTask16INT_implicit_cyclic0_implicit_event1_implicit_external2_implicit_freewheeling3signature_flag256hidegenerate_implicit_init_function_Implicit_Jitter_Distribution48wRangeMaxWORD160wCountJitterNegWORD1616wCountJitterPosWORD1632signature_flag256hide_Implicit_Task_Info896dwVersionDWORD320pszNameSTRING(80)6464nPriorityINT16128KindOf_Implicit_KindOfTask16144bWatchdogBOOL8160bProfilingTaskBOOL8168dwEventFunctionPointerBYTE64192pszExternalEventSTRING(80)64256dwTaskEntryFunctionPointerBYTE64320dwWatchdogSensitivityDWORD32384dwIntervalDWORD32416dwWatchdogTimeDWORD32448dwLastCycleTimeDWORD32480dwAverageCycleTimeDWORD32512dwMaxCycleTimeDWORD32544dwMinCycleTimeDWORD32576diJitterDINT32608diJitterMinDINT32640diJitterMaxDINT32672dwCycleCountDWORD32704wTaskStatusWORD16736wNumOfJitterDistributionsWORD16752pJitterDistribution_Implicit_Jitter_Distribution64768bWithinSPSTimeSlicingBOOL8832byDummyBYTE8840bShouldBlockBOOL8848bActiveBOOL8856dwIECCycleCountDWORD32864signature_flag256hideBMSEventsNotAllCompInAutoWarningModuleImbalanceErrorStringImbalanceErrorSafetyIntlksActiveWarningInverterStartupTimeoutErrorBatteryFullInfoBatteryEmptyInfoSDDCVoltageInfoSDUnitThreshholdInfoEmergencyStopNotOkErrorEthercatStringErrorErrorSafetyIntlkTimeoutErrorDCCBDidNotCloseInTimeErrorEMSHeartbeatTimeoutErrorST_BMSEvents2688NotAllCompInAutoTcEventEntry1920.uuidEventClass.Data11396692558.uuidEventClass.Data256135.uuidEventClass.Data319694.uuidEventClass.Data4[0]177.uuidEventClass.Data4[1]254.uuidEventClass.Data4[2]86.uuidEventClass.Data4[3]255.uuidEventClass.Data4[4]17.uuidEventClass.Data4[5]133.uuidEventClass.Data4[6]91.uuidEventClass.Data4[7]50.nEventIDE_BMSEvents.NotAllCompInAuto.eSeverityTcEventSeverity.WarningModuleImbalanceTcEventEntry192192.uuidEventClass.Data11396692558.uuidEventClass.Data256135.uuidEventClass.Data319694.uuidEventClass.Data4[0]177.uuidEventClass.Data4[1]254.uuidEventClass.Data4[2]86.uuidEventClass.Data4[3]255.uuidEventClass.Data4[4]17.uuidEventClass.Data4[5]133.uuidEventClass.Data4[6]91.uuidEventClass.Data4[7]50.nEventIDE_BMSEvents.ModuleImbalance.eSeverityTcEventSeverity.ErrorStringImbalanceTcEventEntry192384.uuidEventClass.Data11396692558.uuidEventClass.Data256135.uuidEventClass.Data319694.uuidEventClass.Data4[0]177.uuidEventClass.Data4[1]254.uuidEventClass.Data4[2]86.uuidEventClass.Data4[3]255.uuidEventClass.Data4[4]17.uuidEventClass.Data4[5]133.uuidEventClass.Data4[6]91.uuidEventClass.Data4[7]50.nEventIDE_BMSEvents.StringImbalance.eSeverityTcEventSeverity.ErrorSafetyIntlksActiveTcEventEntry192576.uuidEventClass.Data11396692558.uuidEventClass.Data256135.uuidEventClass.Data319694.uuidEventClass.Data4[0]177.uuidEventClass.Data4[1]254.uuidEventClass.Data4[2]86.uuidEventClass.Data4[3]255.uuidEventClass.Data4[4]17.uuidEventClass.Data4[5]133.uuidEventClass.Data4[6]91.uuidEventClass.Data4[7]50.nEventIDE_BMSEvents.SafetyIntlksActive.eSeverityTcEventSeverity.WarningInverterStartupTimeoutTcEventEntry192768.uuidEventClass.Data11396692558.uuidEventClass.Data256135.uuidEventClass.Data319694.uuidEventClass.Data4[0]177.uuidEventClass.Data4[1]254.uuidEventClass.Data4[2]86.uuidEventClass.Data4[3]255.uuidEventClass.Data4[4]17.uuidEventClass.Data4[5]133.uuidEventClass.Data4[6]91.uuidEventClass.Data4[7]50.nEventIDE_BMSEvents.InverterStartupTimeout.eSeverityTcEventSeverity.ErrorBatteryFullTcEventEntry192960.uuidEventClass.Data11396692558.uuidEventClass.Data256135.uuidEventClass.Data319694.uuidEventClass.Data4[0]177.uuidEventClass.Data4[1]254.uuidEventClass.Data4[2]86.uuidEventClass.Data4[3]255.uuidEventClass.Data4[4]17.uuidEventClass.Data4[5]133.uuidEventClass.Data4[6]91.uuidEventClass.Data4[7]50.nEventIDE_BMSEvents.BatteryFull.eSeverityTcEventSeverity.InfoBatteryEmptyTcEventEntry1921152.uuidEventClass.Data11396692558.uuidEventClass.Data256135.uuidEventClass.Data319694.uuidEventClass.Data4[0]177.uuidEventClass.Data4[1]254.uuidEventClass.Data4[2]86.uuidEventClass.Data4[3]255.uuidEventClass.Data4[4]17.uuidEventClass.Data4[5]133.uuidEventClass.Data4[6]91.uuidEventClass.Data4[7]50.nEventIDE_BMSEvents.BatteryEmpty.eSeverityTcEventSeverity.InfoSDDCVoltageTcEventEntry1921344.uuidEventClass.Data11396692558.uuidEventClass.Data256135.uuidEventClass.Data319694.uuidEventClass.Data4[0]177.uuidEventClass.Data4[1]254.uuidEventClass.Data4[2]86.uuidEventClass.Data4[3]255.uuidEventClass.Data4[4]17.uuidEventClass.Data4[5]133.uuidEventClass.Data4[6]91.uuidEventClass.Data4[7]50.nEventIDE_BMSEvents.SDDCVoltage.eSeverityTcEventSeverity.InfoSDUnitThreshholdTcEventEntry1921536.uuidEventClass.Data11396692558.uuidEventClass.Data256135.uuidEventClass.Data319694.uuidEventClass.Data4[0]177.uuidEventClass.Data4[1]254.uuidEventClass.Data4[2]86.uuidEventClass.Data4[3]255.uuidEventClass.Data4[4]17.uuidEventClass.Data4[5]133.uuidEventClass.Data4[6]91.uuidEventClass.Data4[7]50.nEventIDE_BMSEvents.SDUnitThreshhold.eSeverityTcEventSeverity.InfoEmergencyStopNotOkTcEventEntry1921728.uuidEventClass.Data11396692558.uuidEventClass.Data256135.uuidEventClass.Data319694.uuidEventClass.Data4[0]177.uuidEventClass.Data4[1]254.uuidEventClass.Data4[2]86.uuidEventClass.Data4[3]255.uuidEventClass.Data4[4]17.uuidEventClass.Data4[5]133.uuidEventClass.Data4[6]91.uuidEventClass.Data4[7]50.nEventIDE_BMSEvents.EmergencyStopNotOk.eSeverityTcEventSeverity.ErrorEthercatStringErrorTcEventEntry1921920.uuidEventClass.Data11396692558.uuidEventClass.Data256135.uuidEventClass.Data319694.uuidEventClass.Data4[0]177.uuidEventClass.Data4[1]254.uuidEventClass.Data4[2]86.uuidEventClass.Data4[3]255.uuidEventClass.Data4[4]17.uuidEventClass.Data4[5]133.uuidEventClass.Data4[6]91.uuidEventClass.Data4[7]50.nEventIDE_BMSEvents.EthercatStringError.eSeverityTcEventSeverity.ErrorSafetyIntlkTimeoutTcEventEntry1922112.uuidEventClass.Data11396692558.uuidEventClass.Data256135.uuidEventClass.Data319694.uuidEventClass.Data4[0]177.uuidEventClass.Data4[1]254.uuidEventClass.Data4[2]86.uuidEventClass.Data4[3]255.uuidEventClass.Data4[4]17.uuidEventClass.Data4[5]133.uuidEventClass.Data4[6]91.uuidEventClass.Data4[7]50.nEventIDE_BMSEvents.SafetyIntlkTimeout.eSeverityTcEventSeverity.ErrorDCCBDidNotCloseInTimeTcEventEntry1922304.uuidEventClass.Data11396692558.uuidEventClass.Data256135.uuidEventClass.Data319694.uuidEventClass.Data4[0]177.uuidEventClass.Data4[1]254.uuidEventClass.Data4[2]86.uuidEventClass.Data4[3]255.uuidEventClass.Data4[4]17.uuidEventClass.Data4[5]133.uuidEventClass.Data4[6]91.uuidEventClass.Data4[7]50.nEventIDE_BMSEvents.DCCBDidNotCloseInTime.eSeverityTcEventSeverity.ErrorEMSHeartbeatTimeoutTcEventEntry1922496.uuidEventClass.Data11396692558.uuidEventClass.Data256135.uuidEventClass.Data319694.uuidEventClass.Data4[0]177.uuidEventClass.Data4[1]254.uuidEventClass.Data4[2]86.uuidEventClass.Data4[3]255.uuidEventClass.Data4[4]17.uuidEventClass.Data4[5]133.uuidEventClass.Data4[6]91.uuidEventClass.Data4[7]50.nEventIDE_BMSEvents.EMSHeartbeatTimeout.eSeverityTcEventSeverity.ErrorTcTypeSystemTcEventClassBMSEventsGVL_TYPE_CONSTINT_MININT16-32768INT_MAXINT1632767UINT_MAXUINT1665535UINT_MINUINT160DINT_MAXDINT322147483647DINT_MINDINT32-2147483648UDINT_MAXUDINT324294967295UDINT_MINUDINT320REAL_MAXREAL323.042823E+38REAL_MINREAL321E-44qualified_onlynamingoffanalysis-33GVL_CONST_ITECHTCPIP_REC_BUFFER_SIZEUDINT321000TCPIP_POLL_TIMETIME32T#100MSTCPIP_MAX_RESPONSE_DATAUDINT3210TCPIP_READ_TIMEOUTTIME32T#5Squalified_onlynamingoffGVL_MOTORMAX_INTERLOCKSUSINT816qualified_onlynamingoffGVL_VALVEMAX_INTERLOCKSUSINT160TcUnitRunnerFB_TcUnitRunner629908672CurrentTestSuiteBeingCalledFB_TestSuite64CurrentTestNameBeingCalledT_MaxString2048GetCpuCounterGETCPUCOUNTER256StartedAtLWORD64DurationLREAL64TestSuiteAddressesFB_TestSuite1100064000CurrentlyRunningOrderedTestInTestSuiteUINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)1100016000AdsMessageQueueFB_AdsLogStringMessageFifoQueue8321152HundredNanosecondToSecondLREAL641E-07no_assignqualified_onlyGlobal_VariablesAMSPORT_R3_MODBUSSERVUINT1610500MODBUS_TCP_PORTUINT16502MB_MAXSIZEUDINT32260MBADS_IGR_CLOSEALLUDINT324097MBADS_IGR_UDP_FLAGDWORD322147483648Global_VariableseGlobalSUpsStateE_S_UPS_State16TC_EVENTSTcTypeSystemglobal_init_slot10003qualified_onlyMAIN_xEmergencyStopOkBOOL8_xShowAckEmergencyStopBOOL8_xReleaseErrorsBOOL8true_xReleaseLimitsErrorsBOOL8true_xConfirmAlarmsBOOL8_xEnableStringBOOL8_xStartBalancingBOOL8_xCanChangeModeBOOL8true_xErrorShutdownBOOL8false_xStartSafetyCheckBOOL8_afbStringsFB_String0212336384OPC.UA.DA0_iStateINT16_iStateSafetyCheckINT16_iStateBalancingINT16_iStatePrechargeINT16_iStateDHINT16_xStartPrechargeBOOL8_xNoPowerRequestedBOOL8_rAutoPowerRequestREAL32_rPowerInverterREAL32_xFirstCycleBOOL8true_xReleaseManualModeBOOL8_eBMSControlModeE_BMS_CONTROL_MODE16E_BMS_CONTROL_MODE.AUTO_LOCAL_tonStartupDelayTON256.PTT#10S_tonBeginShutdownTON256.PTT#30S_fbNoAutomaticModeAlarmFB_TcAlarm4224_fbEStopNotOkFB_TcAlarm4224_fbEtherCATErrorString1FB_TcAlarm4224_stECString1ErrSIFB_TcSourceInfo3072_fbEtherCATErrorString2FB_TcAlarm4224_stECString2ErrSIFB_TcSourceInfo3072_fbADSReaderADSREAD1408_timADSReadTimerTON256_fbUPSFB_S_UPS_BAPI74624xSafetyRunBOOL8trueanalysis-33xSafetyErrAckBOOL8xSafetyResterTasterBOOL8_xHarwareResetButtonBOOL8_xShowErrorOnButtonBOOL8_xErrorActiveBOOL8_xInSafetyCheckModeBOOL8_xEtherCatString1OkBOOL8_tonHardwareResetButtonTON256.PTT#1S_rtHardwareResetButtonR_TRIG128_fbBatteryFullMessageFB_TcMessage4288_fbBatteryEmptyMessageFB_TcMessage4288_rSmallestSegmentVoltageREAL32_rHighestSegmentVoltageREAL32_fbSafetyFB_Safety128_uiEtherCATStateUINT16_wEtherCATStateWORD16_xEtherCatString2OkBOOL8_xAllComponentsToManualModeBOOL8_uiUINT160_fbRTrigHardwareAckR_TRIG128_ModbusDebugTestST_MODBUS_REG_11768_fbStringReadyTimeoutTON256_rStringsSumVoltageREAL32_rDeltaUmREAL32_arPowerStringREAL0264_xStringsReadyBOOL8_xStringsErrorActiveBOOL8_xStringsInSchutdownDischargeModeBOOL8_xStringsShutdownDischargeAllowedBOOL8_xStringsAllInAutomaticModeBOOL8_xStringsOffBOOL8_xStringsBalancingDoneBOOL8_xStringsInAutoModeBOOL8_xStringSafetyComErrorBOOL8xDebugTestBOOL8_eStringOpModeE_STRING_OPERATING_MODE16_rMaxCurrentInverterDCVoltageREAL32_rMinCurrentInverterDCVoltageREAL32_wDebug1WORD16_wDebug2WORD16_fbModbusReadFB_MBReadRegs2624_fbPowerMeterPowerFB_PowerMeter3968_fbPowerMeter24VFB_PowerMeter3968_uiNumberOfActiveStringsUINT16_xGetPowerMeterDataBOOL8_rPowerDHREAL32_fbTONDHCycleTimeTON256.PTT#15MSM_AUTOSM_PRECHARGESM_MANUALSM_CAPACITY_TESTSM_BALANCINGSM_SAFETY_CHECKTwinCAT_PreventOnlineChangeGvlWriteLineIDsBOOL8truePlcProfilerActiveBOOL8falsePlcProfilerConfigChecksumSTRING(64)520linkalwaysGVL_CONFIGuiNumberOfStringsUINT641E-07no_assignqualified_onlyGlobal_VariablesAMSPORT_R3_MODBUSSERVUINT1610500MODBUS_TCP_PORTUINT16502MB_MAXSIZEUDINT32260MBADS_IGR_CLOSEALLUDINT324097MBADS_IGR_UDP_FLAGDWORD322147483648Global_VariableseGlobalSUpsStateE_S_UPS_State16TC_EVENTSTcTypeSystemglobal_init_slot10003qualified_onlyMAIN_xEmergencyStopOkBOOL8_xShowAckEmergencyStopBOOL8_udiLastEMSLifeMessageUDINT32_xNoEMSLifeMessageChangeBOOL8_xEMSHeartbeatNotOKBOOL8_xReleaseEMSHeartbeatErrorBOOL8_xReleaseErrorsBOOL8true_xReleaseLimitsErrorsBOOL8true_xConfirmAlarmsBOOL8_xEnableStringBOOL8_xStartBalancingBOOL8_xCanChangeModeBOOL8true_xErrorShutdownBOOL8false_xStartSafetyCheckBOOL8_afbStringsFB_String0212336384OPC.UA.DA0_iStateINT16_iStateSafetyCheckINT16_iStateBalancingINT16_iStatePrechargeINT16_iStateDHINT16_xStartPrechargeBOOL8_xNoPowerRequestedBOOL8_rAutoPowerRequestREAL32_rPowerInverterREAL32_xFirstCycleBOOL8true_xReleaseManualModeBOOL8_eBMSControlModeE_BMS_CONTROL_MODE16E_BMS_CONTROL_MODE.AUTO_LOCAL_tonStartupDelayTON256.PTT#10S_tonBeginShutdownTON256.PTT#30S_fbNoAutomaticModeAlarmFB_TcAlarm4224_fbEStopNotOkFB_TcAlarm4224_fbEtherCATErrorString1FB_TcAlarm4224_stECString1ErrSIFB_TcSourceInfo3072_fbEtherCATErrorString2FB_TcAlarm4224_stECString2ErrSIFB_TcSourceInfo3072_fbADSReaderADSREAD1408_timADSReadTimerTON256_fbUPSFB_S_UPS_BAPI74624xSafetyRunBOOL8trueanalysis-33xSafetyErrAckBOOL8xSafetyResterTasterBOOL8_xHarwareResetButtonBOOL8_xShowErrorOnButtonBOOL8_xErrorActiveBOOL8_xInSafetyCheckModeBOOL8_xEtherCatString1OkBOOL8_tonHardwareResetButtonTON256.PTT#1S_rtHardwareResetButtonR_TRIG128_fbBatteryFullMessageFB_TcMessage4288_fbBatteryEmptyMessageFB_TcMessage4288_rSmallestSegmentVoltageREAL32_rHighestSegmentVoltageREAL32_fbSafetyFB_Safety128_uiEtherCATStateUINT16_wEtherCATStateWORD16_xEtherCatString2OkBOOL8_xAllComponentsToManualModeBOOL8_uiUINT160_fbRTrigHardwareAckR_TRIG128_fbStringReadyTimeoutTON256_rStringsSumVoltageREAL32_rDeltaUmREAL32_arPowerStringREAL0264_xStringsReadyBOOL8_xStringsErrorActiveBOOL8_xStringsInSchutdownDischargeModeBOOL8_xStringsShutdownDischargeAllowedBOOL8_xStringsAllInAutomaticModeBOOL8_xStringsOffBOOL8_xStringsBalancingDoneBOOL8_xStringsInAutoModeBOOL8_xStringSafetyComErrorBOOL8_eStringOpModeE_STRING_OPERATING_MODE16_rMaxCurrentInverterDCVoltageREAL32_rMinCurrentInverterDCVoltageREAL32_wDebug1WORD16_wDebug2WORD16_fbEMSHeartbeatTimeoutFB_ReleaseSignal768_fbPowerMeterPowerFB_PowerMeter3968_fbPowerMeter24VFB_PowerMeter3968_uiNumberOfActiveStringsUINT16_xGetPowerMeterDataBOOL8_rPowerDHREAL32_fbTONDHCycleTimeTON256.PTT#15M_fbEMSHeartbeatAlarmFB_TcAlarm4224SM_AUTOSM_SAFETY_CHECKSM_MANUALSM_CAPACITY_TESTSM_BALANCINGSM_PRECHARGETwinCAT_PreventOnlineChangeGvlWriteLineIDsBOOL8truePlcProfilerActiveBOOL8falsePlcProfilerConfigChecksumSTRING(64)520linkalwaysGVL_MODBUSstModbusEMSCommST_EMS_MODBUS_INTERFACE2192.stModbusReg10.sManufacturercmblu energy ag.stModbusReg10.sModelnameall liquid.stModbusReg10.sSerialnumber202312151643.stModbusReg10.sBMSVersion0.8.0.stModbusReg10.uiTotalParallelMembers2.stModbusReg10.uiActiveParallelMembers0.stModbusReg11.eChargeStatusE_CHARGE_STATUS.UNDEFINED.stModbusReg11.eBatteryStatusE_BATTERY_STATUS.OFFstBMSErrorRegST_MODBUS_REG_1380awWarningsUnitsActiveU_UNIT_WARNING_REGISTER024 14.047
+ Index 0 -> Unit 1, Index 1 -> Unit 2 etc.]]>768awErrorsUnitsActiveU_UNIT_ERROR_REGISTER024 15.047
+ Index 0 -> Unit 1, Index 1 -> Unit 2 etc.]]>768qualified_onlyGVL_SCADAstHMIInterfaceST_STRING_HMI_INTERFACE022460736stAckAlarmsButtonST_HMI_CONTROL_BUTTON32.xReleasetruestAutomaticModeHMIST_AUTO_HMI_INTERFACE96eRequestedControlModeE_BMS_CONTROL_MODE16eCurrentControlModeE_BMS_CONTROL_MODE16xCanChangeControlModeBOOL8xDummyBOOL8falseeCycleStatusE_CYCLE_STATUS16diCurrentBatteryPowerDINT32OPC.UA.DA1OPC.UA.DA.Access1lrChargedPowerValueWHLREAL64lrDischargedPowerValueWHLREAL64lrLastCycleUtilityPowerValueWhLREAL64qualified_onlyGVL_CONFIGtimEMSHeartbeatTimeoutTIME32t#5sTcPersistentuiNumberOfStringsUINT162uiNumberOfUnitsUINT16axStringEnabledBOOL0216TcPersistentstUnitConfigST_UNIT_CONFIG8 2.000 W per Unit]]>32-48000TcPersistentdiMaxStringDischargePowerDINT 2.000 W per Unit]]>3248000TcPersistentsInverterIpString1STRING(80)648192.168.42.10TcPersistentsInverterIpString2STRING(80)648192.168.42.20TcPersistentxShutdownDischargeWithInverterBOOL8falseTcPersistentxDummyBOOL8falseTcPersistentanalysis-33rAbsShutdownDischargePowerREAL 1.000 W per unit]]>326500TcPersistentrStringFullyChargedVoltageREAL 80 V per Unit]]>32960TcPersistentrStringEmptyVoltageREAL 55.0V per Segment)]]>32660TcPersistenttimUnitStartupTimeTIME32T#15STcPersistenttimUnitBalancingStartupTimeTIME32T#3MTcPersistenttimStringReadyTimeoutTIME32T#3MTcPersistenttimIsoErrorTimeoutTIME32T#20STcPersistentrBalancingFactorREAL3220TcPersistentqualified_onlyGVL_MODBUSstModbusEMSCommST_EMS_MODBUS_INTERFACE2192.stModbusReg10.sManufacturercmblu energy ag.stModbusReg10.sModelnameall liquid.stModbusReg10.sSerialnumber202312151643.stModbusReg10.sBMSVersion0.8.0.stModbusReg10.uiTotalParallelMembers2.stModbusReg10.uiActiveParallelMembers0.stModbusReg11.eChargeStatusE_CHARGE_STATUS.UNDEFINED.stModbusReg11.eBatteryStatusE_BATTERY_STATUS.OFFstBMSErrorRegST_MODBUS_REG_1380awWarningsUnitsActiveU_UNIT_WARNING_REGISTER024 14.047
- Index 0 -> Unit 1, Index 1 -> Unit 2 etc.]]>768awErrorsUnitsActiveU_UNIT_ERROR_REGISTER024 15.047
- Index 0 -> Unit 1, Index 1 -> Unit 2 etc.]]>768qualified_onlyGVL_SCADAstHMIInterfaceST_STRING_HMI_INTERFACE022460736stAckAlarmsButtonST_HMI_CONTROL_BUTTON32.xReleasetruestAutomaticModeHMIST_AUTO_HMI_INTERFACE96eRequestedControlModeE_BMS_CONTROL_MODE16eCurrentControlModeE_BMS_CONTROL_MODE16xCanChangeControlModeBOOL8xDummyBOOL8falseeCycleStatusE_CYCLE_STATUS16diCurrentBatteryPowerDINT32OPC.UA.DA1OPC.UA.DA.Access1lrChargedPowerValueWHLREAL64lrDischargedPowerValueWHLREAL64lrLastCycleUtilityPowerValueWhLREAL64qualified_onlyPLC{08500001-0000-0000-F000-000000000064}0PlcTask#x02010030DeviceLog FilterUDINT#x08508045DeviceLog Filter000000000PlcTask Inputs099155968MAIN._xEmergencyStopOk8BOOL641605040MAIN._afbStrings[0].xECWcState8BOOL641754944MAIN._afbStrings[0].xIsoErrorL18BOOL641754952MAIN._afbStrings[0].xIsoErrorL28BOOL641754960MAIN._afbStrings[0].xRepairSwitchOk8BOOL641754968MAIN._afbStrings[0].xSafetyComError8BOOLanalysis-33641754976MAIN._afbStrings[0].xSafetyIntlksOk8BOOL641754984MAIN._afbStrings[0].xDCCBOpen8BOOL641755080MAIN._afbStrings[0]._fbModule1.xLeakageSegments128BOOL641756008MAIN._afbStrings[0]._fbModule1.xLeakageSegments348BOOL641756016MAIN._afbStrings[0]._fbModule1.xLeakageTank8BOOL641756024MAIN._afbStrings[0]._fbModule1.uiECState16UINT641756064MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPosolytValveTankOutlet.xOpenFeedback8BOOL641758016MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPosolytValveTankOutlet.xCloseFeedback8BOOL641758024MAIN._afbStrings[0]._fbModule1._fbUnit1._fbNegolytValveTankOutlet.xOpenFeedback8BOOL641769728MAIN._afbStrings[0]._fbModule1._fbUnit1._fbNegolytValveTankOutlet.xCloseFeedback8BOOL641769736MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPosolytPumpInlet.xMCBOk8BOOL641780560MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPosolytPumpInlet.xRepairSwitchOk8BOOL641780568MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPosolytPumpInlet.iPVFeedback16INT641791008MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPosolytPumpInlet.xUnderrange8BOOL641791024MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPosolytPumpInlet.xOverrange8BOOL641791032MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPosolytPumpInlet.xErrorCard8BOOL641791040MAIN._afbStrings[0]._fbModule1._fbUnit1._fbNegolytPumpInlet.xMCBOk8BOOL641851664MAIN._afbStrings[0]._fbModule1._fbUnit1._fbNegolytPumpInlet.xRepairSwitchOk8BOOL641851672MAIN._afbStrings[0]._fbModule1._fbUnit1._fbNegolytPumpInlet.iPVFeedback16INT641862112MAIN._afbStrings[0]._fbModule1._fbUnit1._fbNegolytPumpInlet.xUnderrange8BOOL641862128MAIN._afbStrings[0]._fbModule1._fbUnit1._fbNegolytPumpInlet.xOverrange8BOOL641862136MAIN._afbStrings[0]._fbModule1._fbUnit1._fbNegolytPumpInlet.xErrorCard8BOOL641862144MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressurePosolytSegmentInlet.iAnalogValue16INT641922688MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressurePosolytSegmentInlet.xUnderrange8BOOL641923936MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressurePosolytSegmentInlet.xOverrange8BOOL641923944MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressurePosolytSegmentInlet.xErrorCard 80 V per Unit]]>32960TcPersistentrStringEmptyVoltageREAL 55.0V per Segment)]]>32660TcPersistenttimUnitStartupTimeTIME32T#15STcPersistenttimUnitBalancingStartupTimeTIME32T#3MTcPersistenttimStringReadyTimeoutTIME32T#3MTcPersistenttimIsoErrorTimeoutTIME32T#20STcPersistentrBalancingFactorREAL3220TcPersistentqualified_onlyPLC{08500001-0000-0000-F000-000000000064}0PlcTask#x02010030DeviceLog FilterUDINT#x08508045DeviceLog Filter000000000PlcTask Inputs099155968MAIN._xEmergencyStopOk8BOOL641605040MAIN._afbStrings[0].xECWcState8BOOL641754944MAIN._afbStrings[0].xIsoErrorL18BOOL641754952MAIN._afbStrings[0].xIsoErrorL28BOOL641754960MAIN._afbStrings[0].xRepairSwitchOk8BOOL641754968MAIN._afbStrings[0].xSafetyComError8BOOLanalysis-33641754976MAIN._afbStrings[0].xSafetyIntlksOk8BOOL641754984MAIN._afbStrings[0].xDCCBOpen8BOOL641755080MAIN._afbStrings[0]._fbModule1.xLeakageSegments128BOOL641756008MAIN._afbStrings[0]._fbModule1.xLeakageSegments348BOOL641756016MAIN._afbStrings[0]._fbModule1.xLeakageTank8BOOL641756024MAIN._afbStrings[0]._fbModule1.uiECState16UINT641756064MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPosolytValveTankOutlet.xOpenFeedback8BOOL641758016MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPosolytValveTankOutlet.xCloseFeedback8BOOL641758024MAIN._afbStrings[0]._fbModule1._fbUnit1._fbNegolytValveTankOutlet.xOpenFeedback8BOOL641769728MAIN._afbStrings[0]._fbModule1._fbUnit1._fbNegolytValveTankOutlet.xCloseFeedback8BOOL641769736MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPosolytPumpInlet.xMCBOk8BOOL641780560MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPosolytPumpInlet.xRepairSwitchOk8BOOL641780568MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPosolytPumpInlet.iPVFeedback16INT641791008MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPosolytPumpInlet.xUnderrange8BOOL641791024MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPosolytPumpInlet.xOverrange8BOOL641791032MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPosolytPumpInlet.xErrorCard8BOOL641791040MAIN._afbStrings[0]._fbModule1._fbUnit1._fbNegolytPumpInlet.xMCBOk8BOOL641851664MAIN._afbStrings[0]._fbModule1._fbUnit1._fbNegolytPumpInlet.xRepairSwitchOk8BOOL641851672MAIN._afbStrings[0]._fbModule1._fbUnit1._fbNegolytPumpInlet.iPVFeedback16INT641862112MAIN._afbStrings[0]._fbModule1._fbUnit1._fbNegolytPumpInlet.xUnderrange8BOOL641862128MAIN._afbStrings[0]._fbModule1._fbUnit1._fbNegolytPumpInlet.xOverrange8BOOL641862136MAIN._afbStrings[0]._fbModule1._fbUnit1._fbNegolytPumpInlet.xErrorCard8BOOL641862144MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressurePosolytSegmentInlet.iAnalogValue16INT641922688MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressurePosolytSegmentInlet.xUnderrange8BOOL641923936MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressurePosolytSegmentInlet.xOverrange8BOOL641923944MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressurePosolytSegmentInlet.xErrorCard8BOOL641923952MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressurePosolytTankInlet.iAnalogValue16INT641967872MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressurePosolytTankInlet.xUnderrange8BOOL641969120MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressurePosolytTankInlet.xOverrange8BOOL641969128MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressurePosolytTankInlet.xErrorCard8BOOL641969136MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressureNegolytSegmentInlet.iAnalogValue16INT642013056MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressureNegolytSegmentInlet.xUnderrange8BOOL642014304MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressureNegolytSegmentInlet.xOverrange8BOOL642014312MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressureNegolytSegmentInlet.xErrorCard8BOOL642014320MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressureNegolytTankInlet.iAnalogValue16INT642058240MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressureNegolytTankInlet.xUnderrange8BOOL642059488MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressureNegolytTankInlet.xOverrange8BOOL642059496MAIN._afbStrings[0]._fbModule1._fbUnit1._fbPressureNegolytTankInlet.xErrorCard816UINT0TcVarGlobal3290864GVL_TcUnit.TcUnitRunner629908672FB_TcUnitRunnerTcVarGlobal3290880GVL_TcUnit.CurrentTestSuiteBeingCalled64FB_TestSuiteTcVarGlobal633199552GVL_TcUnit.CurrentTestNameBeingCalled2048T_MaxStringTcVarGlobal633199616GVL_TcUnit.GetCpuCounter256GETCPUCOUNTERTcVarGlobal633201664GVL_TcUnit.StartedAt64LWORDTcVarGlobal633201920GVL_TcUnit.Duration64LREALTcVarGlobal633201984GVL_TcUnit.TestSuiteAddresses64000FB_TestSuite11000TcVarGlobal633202048GVL_TcUnit.CurrentlyRunningOrderedTestInTestSuite16000UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)11000TcVarGlobal633266048GVL_TcUnit.AdsMessageQueue8321152FB_AdsLogStringMessageFifoQueueTcVarGlobal633282048GVL_TcUnit.HundredNanosecondToSecond64LREAL1E-07TcVarGlobal641603200Global_Version.stLibVersion_TcUnit288ST_LibVersion.iMajor1.iMinor3.iBuild1.iRevision0.nFlags1.sVersion1.3.1const_non_replacedTcVarGlobal641603264Global_Version.stLibVersion_Tc2_ModbusRTU288ST_LibVersion.iMajor3.iMinor6.iBuild1.iRevision0.nFlags1.sVersion3.6.1.0const_non_replacedTcVarGlobal641603552Global_Version.stLibVersion_Tc2_SerialCom288ST_LibVersion.iMajor3.iMinor4.iBuild4.iRevision0.nFlags1.sVersion3.4.4.0const_non_replacedTcVarGlobal641603840Global_Version.stLibVersion_Tc2_ModbusSrv288ST_LibVersion.iMajor3.iMinor4.iBuild2.iRevision0.nFlags1.sVersion3.4.2.0const_non_replacedTcVarGlobal641604128Global_Variables.AMSPORT_R3_MODBUSSERV16UINT10500TcVarGlobal641604416Global_Variables.MODBUS_TCP_PORT16UINT502TcVarGlobal641604432Global_Variables.MB_MAXSIZE32UDINT260TcVarGlobal641604448Global_Variables.MBADS_IGR_CLOSEALL32UDINT4097TcVarGlobal641604480Global_Variables.MBADS_IGR_UDP_FLAG32DWORD2147483648TcVarGlobal641604512Global_Version.stLibVersion_Tc2_SUPS288ST_LibVersion.iMajor3.iMinor3.iBuild8.iRevision0.nFlags0.sVersion3.3.8.0const_non_replacedTcVarGlobal641604544Global_Variables.eGlobalSUpsState16E_S_UPS_StateTcVarGlobal641605024TC_EVENTS.AnalogOutput192ST_AnalogOutputtc_no_symbolunusedconst_non_replacedsuppress_warning_0C0228init_on_onlchangeTcVarGlobal641610432TC_EVENTS.AnalogInput1536ST_AnalogInputtc_no_symbolunusedconst_non_replacedsuppress_warning_0C0228init_on_onlchangeTcVarGlobal641610624TC_EVENTS.BMSEvents2496ST_BMSEventstc_no_symbolunusedconst_non_replacedsuppress_warning_0C0228init_on_onlchangeTcVarGlobal641613888TC_EVENTS.General1728ST_Generaltc_no_symbolunusedconst_non_replacedsuppress_warning_0C0228init_on_onlchangeTcVarGlobal641616384TC_EVENTS.Valve960ST_Valvetc_no_symbolunusedconst_non_replacedsuppress_warning_0C0228init_on_onlchangeTcVarGlobal641656896MAIN._xReleaseErrors8BOOLtrue641753920MAIN._xReleaseLimitsErrors8BOOLtrue641753928MAIN._xConfirmAlarms8BOOL641753936MAIN._xEnableString8BOOL641753944MAIN._xStartBalancing8BOOL641753952MAIN._xCanChangeMode8BOOLtrue641753960MAIN._xErrorShutdown8BOOLfalse641753968MAIN._xStartSafetyCheck8BOOL641753976MAIN._afbStrings12336384FB_String02OPC.UA.DA0641753984MAIN._iState16INT654090368MAIN._iStateSafetyCheck16INT654090384MAIN._iStateBalancing16INT654090400MAIN._iStatePrecharge16INT654090416MAIN._iStateDH16INT654090432MAIN._xStartPrecharge8BOOL654090448MAIN._xNoPowerRequested8BOOL654090456MAIN._rAutoPowerRequest32REAL654090464MAIN._rPowerInverter32REAL654090496MAIN._xFirstCycle8BOOLtrue654090528MAIN._xReleaseManualMode8BOOL654090536MAIN._eBMSControlMode16E_BMS_CONTROL_MODEE_BMS_CONTROL_MODE.AUTO_LOCAL654090544MAIN._tonStartupDelay256TON.PTT#10S654090560MAIN._tonBeginShutdown256TON.PTT#30S654090816MAIN._fbNoAutomaticModeAlarm4224FB_TcAlarm654091072MAIN._fbEStopNotOk4224FB_TcAlarm654095296MAIN._fbEtherCATErrorString14224FB_TcAlarm654099520MAIN._stECString1ErrSI3072FB_TcSourceInfo654103744MAIN._fbEtherCATErrorString24224FB_TcAlarm654106816MAIN._stECString2ErrSI3072FB_TcSourceInfo654111040MAIN._fbADSReader1408ADSREAD654114112MAIN._timADSReadTimer256TON654115520MAIN._fbUPS74624FB_S_UPS_BAPI654115776MAIN._xErrorActive8BOOL654190440MAIN._xInSafetyCheckMode8BOOL654190448MAIN._xEtherCatString1Ok8BOOL654190456MAIN._tonHardwareResetButton256TON.PTT#1S654190464MAIN._rtHardwareResetButton128R_TRIG654190720MAIN._fbBatteryFullMessage4288FB_TcMessage654190848MAIN._fbBatteryEmptyMessage4288FB_TcMessage654195136MAIN._rSmallestSegmentVoltage32REAL654199424MAIN._rHighestSegmentVoltage32REAL654199456MAIN._fbSafety128FB_Safety654199488MAIN._wEtherCATState16WORD654199632MAIN._xEtherCatString2Ok8BOOL654199648MAIN._xAllComponentsToManualMode8BOOL654199656MAIN._ui16UINT0654199664MAIN._fbRTrigHardwareAck128R_TRIG654199680MAIN._ModbusDebugTest768ST_MODBUS_REG_11654199808MAIN._fbStringReadyTimeout256TON654200576MAIN._rStringsSumVoltage32REAL654200832MAIN._rDeltaUm32REAL654200864MAIN._arPowerString64REAL02654200896MAIN._xStringsReady8BOOL654200960MAIN._xStringsErrorActive8BOOL654200968MAIN._xStringsInSchutdownDischargeMode8BOOL654200976MAIN._xStringsShutdownDischargeAllowed8BOOL654200984MAIN._xStringsAllInAutomaticMode8BOOL654200992MAIN._xStringsOff8BOOL654201000MAIN._xStringsBalancingDone8BOOL654201008MAIN._xStringsInAutoMode8BOOL654201016MAIN._xStringSafetyComError8BOOL654201024MAIN.xDebugTest8BOOL654201032MAIN._eStringOpMode16E_STRING_OPERATING_MODE654201040MAIN._rMaxCurrentInverterDCVoltage32REAL654201056MAIN._rMinCurrentInverterDCVoltage32REAL654201088MAIN._wDebug116WORD654201120MAIN._wDebug216WORD654201136MAIN._fbModbusRead2624FB_MBReadRegs654201152MAIN._fbPowerMeterPower3968FB_PowerMeter654205824MAIN._fbPowerMeter24V3968FB_PowerMeter654209792MAIN._uiNumberOfActiveStrings16UINT654213760MAIN._xGetPowerMeterData8BOOL654213776TwinCAT_PreventOnlineChangeGvl.WriteLineIDs8BOOLtrueTcVarGlobal654213784MAIN._rPowerDH32REAL654213792MAIN._fbTONDHCycleTime256TON.PTT#15M654213824TwinCAT_PreventOnlineChangeGvl.PlcProfilerActive8BOOLfalseTcVarGlobal654214096TwinCAT_PreventOnlineChangeGvl.PlcProfilerConfigChecksum520STRING(64)TcVarGlobal654214104GVL_CONFIG.uiNumberOfStrings64LREAL1E-07TcVarGlobal641603200Global_Version.stLibVersion_TcUnit288ST_LibVersion.iMajor1.iMinor3.iBuild1.iRevision0.nFlags1.sVersion1.3.1const_non_replacedTcVarGlobal641603264Global_Version.stLibVersion_Tc2_ModbusRTU288ST_LibVersion.iMajor3.iMinor6.iBuild1.iRevision0.nFlags1.sVersion3.6.1.0const_non_replacedTcVarGlobal641603552Global_Version.stLibVersion_Tc2_SerialCom288ST_LibVersion.iMajor3.iMinor4.iBuild4.iRevision0.nFlags1.sVersion3.4.4.0const_non_replacedTcVarGlobal641603840Global_Version.stLibVersion_Tc2_ModbusSrv288ST_LibVersion.iMajor3.iMinor4.iBuild2.iRevision0.nFlags1.sVersion3.4.2.0const_non_replacedTcVarGlobal641604128Global_Variables.AMSPORT_R3_MODBUSSERV16UINT10500TcVarGlobal641604416Global_Variables.MODBUS_TCP_PORT16UINT502TcVarGlobal641604432Global_Variables.MB_MAXSIZE32UDINT260TcVarGlobal641604448Global_Variables.MBADS_IGR_CLOSEALL32UDINT4097TcVarGlobal641604480Global_Variables.MBADS_IGR_UDP_FLAG32DWORD2147483648TcVarGlobal641604512Global_Version.stLibVersion_Tc2_SUPS288ST_LibVersion.iMajor3.iMinor3.iBuild8.iRevision0.nFlags0.sVersion3.3.8.0const_non_replacedTcVarGlobal641604544Global_Variables.eGlobalSUpsState16E_S_UPS_StateTcVarGlobal641605024TC_EVENTS.AnalogOutput192ST_AnalogOutputtc_no_symbolunusedconst_non_replacedsuppress_warning_0C0228init_on_onlchangeTcVarGlobal641610432TC_EVENTS.AnalogInput1536ST_AnalogInputtc_no_symbolunusedconst_non_replacedsuppress_warning_0C0228init_on_onlchangeTcVarGlobal641610624TC_EVENTS.General1728ST_Generaltc_no_symbolunusedconst_non_replacedsuppress_warning_0C0228init_on_onlchangeTcVarGlobal641616384TC_EVENTS.Valve960ST_Valvetc_no_symbolunusedconst_non_replacedsuppress_warning_0C0228init_on_onlchangeTcVarGlobal641656896MAIN._udiLastEMSLifeMessage32UDINT641753152MAIN._xNoEMSLifeMessageChange8BOOL641753184MAIN._xEMSHeartbeatNotOK8BOOL641753192MAIN._xReleaseEMSHeartbeatError8BOOL641753200GVL_CONFIG.timEMSHeartbeatTimeout32TIMEt#5sTcPersistentTcVarGlobal641753216MAIN._xReleaseErrors8BOOLtrue641753920MAIN._xReleaseLimitsErrors8BOOLtrue641753928MAIN._xConfirmAlarms8BOOL641753936MAIN._xEnableString8BOOL641753944MAIN._xStartBalancing8BOOL641753952MAIN._xCanChangeMode8BOOLtrue641753960MAIN._xErrorShutdown8BOOLfalse641753968MAIN._xStartSafetyCheck8BOOL641753976MAIN._afbStrings12336384FB_String02OPC.UA.DA0641753984MAIN._iState16INT654090368MAIN._iStateSafetyCheck16INT654090384MAIN._iStateBalancing16INT654090400MAIN._iStatePrecharge16INT654090416MAIN._iStateDH16INT654090432MAIN._xStartPrecharge8BOOL654090448MAIN._xNoPowerRequested8BOOL654090456MAIN._rAutoPowerRequest32REAL654090464MAIN._rPowerInverter32REAL654090496MAIN._xFirstCycle8BOOLtrue654090528MAIN._xReleaseManualMode8BOOL654090536MAIN._eBMSControlMode16E_BMS_CONTROL_MODEE_BMS_CONTROL_MODE.AUTO_LOCAL654090544MAIN._tonStartupDelay256TON.PTT#10S654090560MAIN._tonBeginShutdown256TON.PTT#30S654090816MAIN._fbNoAutomaticModeAlarm4224FB_TcAlarm654091072MAIN._fbEStopNotOk4224FB_TcAlarm654095296MAIN._fbEtherCATErrorString14224FB_TcAlarm654099520MAIN._stECString1ErrSI3072FB_TcSourceInfo654103744MAIN._fbEtherCATErrorString24224FB_TcAlarm654106816MAIN._stECString2ErrSI3072FB_TcSourceInfo654111040MAIN._fbADSReader1408ADSREAD654114112MAIN._timADSReadTimer256TON654115520MAIN._fbUPS74624FB_S_UPS_BAPI654115776MAIN._xErrorActive8BOOL654190440MAIN._xInSafetyCheckMode8BOOL654190448MAIN._xEtherCatString1Ok8BOOL654190456MAIN._tonHardwareResetButton256TON.PTT#1S654190464MAIN._rtHardwareResetButton128R_TRIG654190720MAIN._fbBatteryFullMessage4288FB_TcMessage654190848MAIN._fbBatteryEmptyMessage4288FB_TcMessage654195136MAIN._rSmallestSegmentVoltage32REAL654199424MAIN._rHighestSegmentVoltage32REAL654199456MAIN._fbSafety128FB_Safety654199488MAIN._wEtherCATState16WORD654199632MAIN._xEtherCatString2Ok8BOOL654199648MAIN._xAllComponentsToManualMode8BOOL654199656MAIN._ui16UINT0654199664MAIN._fbRTrigHardwareAck128R_TRIG654199680MAIN._fbStringReadyTimeout256TON654200576MAIN._rStringsSumVoltage32REAL654200832MAIN._rDeltaUm32REAL654200864MAIN._arPowerString64REAL02654200896MAIN._xStringsReady8BOOL654200960MAIN._xStringsErrorActive8BOOL654200968MAIN._xStringsInSchutdownDischargeMode8BOOL654200976MAIN._xStringsShutdownDischargeAllowed8BOOL654200984MAIN._xStringsAllInAutomaticMode8BOOL654200992MAIN._xStringsOff8BOOL654201000MAIN._xStringsBalancingDone8BOOL654201008MAIN._xStringsInAutoMode8BOOL654201016MAIN._xStringSafetyComError8BOOL654201024MAIN._eStringOpMode16E_STRING_OPERATING_MODE654201040MAIN._rMaxCurrentInverterDCVoltage32REAL654201056MAIN._rMinCurrentInverterDCVoltage32REAL654201088MAIN._wDebug116WORD654201120MAIN._wDebug216WORD654201136MAIN._fbEMSHeartbeatTimeout768FB_ReleaseSignal654203776MAIN._fbPowerMeterPower3968FB_PowerMeter654205824MAIN._fbPowerMeter24V3968FB_PowerMeter654209792MAIN._uiNumberOfActiveStrings16UINT654213760MAIN._xGetPowerMeterData8BOOL654213776TwinCAT_PreventOnlineChangeGvl.WriteLineIDs8BOOLtrueTcVarGlobal654213784MAIN._rPowerDH32REAL654213792MAIN._fbTONDHCycleTime256TON.PTT#15M654213824TwinCAT_PreventOnlineChangeGvl.PlcProfilerActive8BOOLfalseTcVarGlobal654214096TwinCAT_PreventOnlineChangeGvl.PlcProfilerConfigChecksum520STRING(64)TcVarGlobal654214104GVL_CONFIG.uiNumberOfStrings16UINT2TcVarGlobal654214640GVL_CONFIG.uiNumberOfUnits16UINTTcVarGlobal654214656GVL_CONFIG.axStringEnabled16BOOL02TcPersistentTcVarGlobal654214672GVL_CONFIG.stUnitConfig8BOOL
12.000 W -> 1.000 W per unit]]>32REAL6500TcPersistentTcVarGlobal654230784GVL_CONFIG.rStringFullyChargedVoltage 80 V per Unit]]>32REAL960TcPersistentTcVarGlobal654230816GVL_CONFIG.rStringEmptyVoltage 55.0V per Segment)]]>32REAL660TcPersistentTcVarGlobal654230848GVL_CONFIG.timUnitStartupTime32TIMET#15STcPersistentTcVarGlobal654230880GVL_CONFIG.timUnitBalancingStartupTime32TIMET#3MTcPersistentTcVarGlobal654230912GVL_CONFIG.timStringReadyTimeout32TIMET#3MTcPersistentTcVarGlobal654230944GVL_CONFIG.timIsoErrorTimeout32TIMET#20STcPersistentTcVarGlobal654230976GVL_CONFIG.rBalancingFactor32REAL20TcPersistentTcVarGlobal654231008GVL_MODBUS.stModbusEMSComm2192ST_EMS_MODBUS_INTERFACE.stModbusReg10.sManufacturercmblu energy ag.stModbusReg10.sModelnameall liquid.stModbusReg10.sSerialnumber202312151643.stModbusReg10.sBMSVersion0.8.0.stModbusReg10.uiTotalParallelMembers2.stModbusReg10.uiActiveParallelMembers0.stModbusReg11.eChargeStatusE_CHARGE_STATUS.UNDEFINED.stModbusReg11.eBatteryStatusE_BATTERY_STATUS.OFFTcVarGlobal654231040GVL_MODBUS.stBMSErrorReg80ST_MODBUS_REG_13TcVarGlobal654233232GVL_MODBUS.awWarningsUnitsActive 14.047
Index 0 -> Unit 1, Index 1 -> Unit 2 etc.]]>768U_UNIT_WARNING_REGISTER024TcVarGlobal654233312GVL_MODBUS.awErrorsUnitsActive 15.047
- Index 0 -> Unit 1, Index 1 -> Unit 2 etc.]]>768U_UNIT_ERROR_REGISTER024TcVarGlobal654234080GVL_SCADA.stHMIInterface2460736ST_STRING_HMI_INTERFACE02TcVarGlobal654234848GVL_SCADA.stAckAlarmsButton32ST_HMI_CONTROL_BUTTON.xReleasetrueTcVarGlobal656695584GVL_SCADA.stAutomaticModeHMI96ST_AUTO_HMI_INTERFACETcVarGlobal656695616GVL_SCADA.eRequestedControlMode16E_BMS_CONTROL_MODETcVarGlobal656695712GVL_SCADA.eCurrentControlMode16E_BMS_CONTROL_MODETcVarGlobal656695728GVL_SCADA.xCanChangeControlMode8BOOLTcVarGlobal656695744GVL_SCADA.xDummy8BOOLfalseTcVarGlobal656695752GVL_SCADA.eCycleStatus16E_CYCLE_STATUSTcVarGlobal656695760GVL_SCADA.diCurrentBatteryPower32DINTOPC.UA.DA1OPC.UA.DA.Access1TcVarGlobal656695776GVL_SCADA.lrChargedPowerValueWH64LREALTcVarGlobal656695808GVL_SCADA.lrDischargedPowerValueWH64LREALTcVarGlobal656695872GVL_SCADA.lrLastCycleUtilityPowerValueWh64LREALTcVarGlobal656695936TwinCAT_SystemInfoVarList._AppInfo2048PlcAppSystemInfono_initTcVarGlobal656696320TwinCAT_SystemInfoVarList._TaskInfo1024PlcTaskSystemInfo11no_initTcVarGlobal656698368TwinCAT_SystemInfoVarList._TaskPouOid_PlcTask32OTCIDno_initTcVarGlobal656699392TwinCAT_SystemInfoVarList._TaskOid_PlcTask32OTCIDno_initTcVarGlobal656699424TwinCAT_SystemInfoVarList.__PlcTask896_Implicit_Task_Info.dwVersion2TcContextNamePlcTaskTcVarGlobal656699456SafetyDoorMotorAnalogOutputAnalogInputInverterBMSEventsGeneralValveApplicationNamePort_851ChangeDate2025-06-13T16:33:00GeneratedCodeSize524288GlobalDataSize81723392UTF8EncodedStringsfalse
\ No newline at end of file
+ Index 0 -> Unit 1, Index 1 -> Unit 2 etc.]]>768U_UNIT_ERROR_REGISTER024TcVarGlobal654234080GVL_SCADA.stHMIInterface2460736ST_STRING_HMI_INTERFACE02TcVarGlobal654234848GVL_SCADA.stAckAlarmsButton32ST_HMI_CONTROL_BUTTON.xReleasetrueTcVarGlobal656695584GVL_SCADA.stAutomaticModeHMI96ST_AUTO_HMI_INTERFACETcVarGlobal656695616GVL_SCADA.eRequestedControlMode16E_BMS_CONTROL_MODETcVarGlobal656695712GVL_SCADA.eCurrentControlMode16E_BMS_CONTROL_MODETcVarGlobal656695728GVL_SCADA.xCanChangeControlMode8BOOLTcVarGlobal656695744GVL_SCADA.xDummy8BOOLfalseTcVarGlobal656695752GVL_SCADA.eCycleStatus16E_CYCLE_STATUSTcVarGlobal656695760GVL_SCADA.diCurrentBatteryPower32DINTOPC.UA.DA1OPC.UA.DA.Access1TcVarGlobal656695776GVL_SCADA.lrChargedPowerValueWH64LREALTcVarGlobal656695808GVL_SCADA.lrDischargedPowerValueWH64LREALTcVarGlobal656695872GVL_SCADA.lrLastCycleUtilityPowerValueWh64LREALTcVarGlobal656695936TwinCAT_SystemInfoVarList._AppInfo2048PlcAppSystemInfono_initTcVarGlobal656696320TwinCAT_SystemInfoVarList._TaskInfo1024PlcTaskSystemInfo11no_initTcVarGlobal656698368TwinCAT_SystemInfoVarList._TaskPouOid_PlcTask32OTCIDno_initTcVarGlobal656699392TwinCAT_SystemInfoVarList._TaskOid_PlcTask32OTCIDno_initTcVarGlobal656699424TwinCAT_SystemInfoVarList.__PlcTask896_Implicit_Task_Info.dwVersion2TcContextNamePlcTaskTcVarGlobal656699456TC_EVENTS.BMSEvents2688ST_BMSEventstc_no_symbolunusedconst_non_replacedsuppress_warning_0C0228init_on_onlchangeTcVarGlobal656922080MAIN._fbEMSHeartbeatAlarm4224FB_TcAlarm656924800BMSEventsSafetyDoorMotorAnalogInputAnalogOutputInverterGeneralValveApplicationNamePort_851ChangeDate2025-06-19T19:01:31GeneratedCodeSize548864GlobalDataSize81727488UTF8EncodedStringsfalse
\ No newline at end of file
diff --git a/PLC/POUs/MAIN.TcPOU b/PLC/POUs/MAIN.TcPOU
index ecfdec1..9ea2b9f 100644
--- a/PLC/POUs/MAIN.TcPOU
+++ b/PLC/POUs/MAIN.TcPOU
@@ -16,11 +16,6 @@ VAR
{attribute 'OPC.UA.DA' := '0'}
_afbStrings : ARRAY[0..1] OF FB_String[('String 1'), ('String 2')];
- // Variable to detect charge status change
- //_eLastChargeStatus : E_CHARGE_STATUS;
- // Variable to detect battery status change
- //_eLastBatteryStatus : E_BATTERY_STATUS;
-
// Battery shutdown due to error
_xErrorShutdown : BOOL := FALSE;
@@ -66,7 +61,8 @@ VAR
_fbEtherCATErrorString2 : FB_TcAlarm;
_stECString2ErrSI : FB_TcSourceInfo;
-
+ // EMS heartbeat alarm
+ _fbEMSHeartbeatAlarm : FB_TcAlarm;
// First cycle tag
_xFirstCycle : BOOL := TRUE;
@@ -77,6 +73,21 @@ VAR
// Timer for ADS read
_timADSReadTimer : TON;
+ // Old EMS lifecount message
+ _udiLastEMSLifeMessage : UDINT;
+
+ // No change in life counter from EMS detected
+ _xNoEMSLifeMessageChange : BOOL;
+
+ // EMS heartbeat not ok signal
+ _xEMSHeartbeatNotOK : BOOL;
+
+ // Error signal for no EMS Heartbeat
+ _fbEMSHeartbeatTimeout : FB_ReleaseSignal;
+
+ // Release EMS heartbeat timeout signal
+ _xReleaseEMSHeartbeatError : BOOL;
+
// Release manual mode
_xReleaseManualMode : BOOL;
@@ -129,9 +140,6 @@ VAR
// Hardware reset button rising edge trigger
_fbRTrigHardwareAck : R_TRIG;
- // DEBUG
- _ModbusDebugTest : ST_MODBUS_REG_11;
-
_fbStringReadyTimeout : TON;
// Sum of voltage of all active strings
@@ -155,11 +163,6 @@ VAR
_rMaxCurrentInverterDCVoltage : REAL;
_rMinCurrentInverterDCVoltage : REAL;
- _fbModbusRead : FB_MBReadRegs;
- // _fbModbusWrite : FB_MBWriteSingleReg;
- // _fbModbusWriteMult : FB_MBWriteRegs;
- //_wLength : WORD := 49;
- xDebugTest : BOOL;
_wDebug1 : WORD;
_wDebug2 : WORD;
@@ -173,59 +176,10 @@ VAR
_rPowerDH : REAL;
_fbTONDHCycleTime : TON := (PT := T#15M);
-
- //_uiTest : UINT := 1;
- //_diTest : DINT := 123;
-
- //_fbKaco : FB_PowerSupplyKaco('Kaco');
- //_xEnableKaco : BOOL;
END_VAR
]]>
- ,
- bError=> ,
- nErrId=> );
-
- IF (NOT _fbModbusWrite.bBusy) THEN
- xDebugTest := FALSE;
- _fbModbusWrite(bExecute := FALSE);
- END_IF
- *)
-
- _fbModbusWriteMult(
- sIPAddr:= '127.0.0.1',
- nTCPPort:= 502,
- nUnitID:= 16#FF,
- nQuantity:= 2,
- nMBAddr:= 12000,
- cbLength:= SIZEOF(_diTest),
- pSrcAddr:= ADR(_diTest),
- bExecute:= TRUE,
- tTimeout:= T#10S,
- bBusy=> ,
- bError=> ,
- nErrId=> );
-
- IF (NOT _fbModbusWriteMult.bBusy) THEN
- xDebugTest := FALSE;
- _fbModbusWriteMult(bExecute := FALSE);
- END_IF
-END_IF
-*)
-
-
-IF _xFirstCycle THEN
+ ,
ERRID=> );
-_fbModbusRead(
- sIPAddr:= '127.0.0.1',
- nTCPPort:= 502,
- nUnitID:= 16#FF,
- nQuantity:= 48,
- nMBAddr:= 11000,
- cbLength:= SIZEOF(_ModbusDebugTest),
- pDestAddr:= ADR(_ModbusDebugTest),
- bExecute:= xDebugTest,
- tTimeout:= T#5S,
- bBusy=> ,
- bError=> ,
- nErrId=> ,
- cbRead=> );
+// Check for change in life count messages
+// If changed, we have a valid communication with the EMS
+IF ABS(GVL_MODBUS.stModbusEMSComm.stModbusReg11.udiLifeMessage - _udiLastEMSLifeMessage) > 0 THEN
+ _xNoEMSLifeMessageChange := FALSE;
+ELSE
+ _xNoEMSLifeMessageChange := TRUE;
+END_IF
+_udiLastEMSLifeMessage := GVL_MODBUS.stModbusEMSComm.stModbusReg11.udiLifeMessage;
+// Create Heartbeat timeout signal with delay
+_fbEMSHeartbeatTimeout(
+ xSignal:= _xNoEMSLifeMessageChange,
+ xRelease:= _xReleaseEMSHeartbeatError,
+ timOnDelay:= GVL_CONFIG.timEMSHeartbeatTimeout,
+ timOffDelay:= T#0S,
+ xReleaseSignal=> _xEMSHeartbeatNotOK);
+
+// EMS Heartbeat timeout error message handling
+IF _xEMSHeartbeatNotOK AND (NOT _fbEMSHeartbeatAlarm.bRaised) THEN
+ _fbEMSHeartbeatAlarm.Raise(0);
+END_IF
+
+IF (NOT _xEMSHeartbeatNotOK) AND _fbEMSHeartbeatAlarm.bRaised THEN
+ _fbEMSHeartbeatAlarm.Clear(0, FALSE);
+END_IF
+
+IF _xConfirmAlarms AND _fbEMSHeartbeatAlarm.eConfirmationState = TcEventConfirmationState.WaitForConfirmation THEN
+ _fbEMSHeartbeatAlarm.Confirm(0);
+END_IF
// ===============================
// Copy data to modbus registers
@@ -622,7 +592,16 @@ CASE _eBMSControlMode OF
_xAllComponentsToManualMode := FALSE;
_xInSafetyCheckMode := FALSE;
_xReleaseManualMode := FALSE;
- _rAutoPowerRequest := DINT_TO_REAL(GVL_MODBUS.stModbusEMSComm.stModbusReg12.diSetpointActivePower);
+ _xReleaseEMSHeartbeatError := TRUE;
+
+ // Only set power to EMS requested power if the EMS heartbeat is ok
+ // Otherwise shutdown battery
+ IF (NOT _xEMSHeartbeatNotOK) THEN
+ _rAutoPowerRequest := DINT_TO_REAL(GVL_MODBUS.stModbusEMSComm.stModbusReg12.diSetpointActivePower);
+ ELSE
+ _rAutoPowerRequest := 0;
+ END_IF
+
IF (GVL_SCADA.eRequestedControlMode <> _eBMSControlMode) AND (GVL_SCADA.xCanChangeControlMode) THEN
_eBMSControlMode := GVL_SCADA.eRequestedControlMode;
END_IF
@@ -633,6 +612,7 @@ CASE _eBMSControlMode OF
_xAllComponentsToManualMode := FALSE;
_xInSafetyCheckMode := FALSE;
_xReleaseManualMode := FALSE;
+ _xReleaseEMSHeartbeatError := FALSE;
GVL_MODBUS.stModbusEMSComm.stModbusReg11.eBatteryStatus := E_BATTERY_STATUS.TESTING;
_rAutoPowerRequest := DINT_TO_REAL(GVL_SCADA.stAutomaticModeHMI.diSetpointAutomatic);
IF (GVL_SCADA.eRequestedControlMode <> _eBMSControlMode) AND (GVL_SCADA.xCanChangeControlMode) THEN
@@ -645,6 +625,7 @@ CASE _eBMSControlMode OF
_xAllComponentsToManualMode := TRUE;
_xInSafetyCheckMode := FALSE;
_xReleaseManualMode := TRUE;
+ _xReleaseEMSHeartbeatError := FALSE;
GVL_MODBUS.stModbusEMSComm.stModbusReg11.eBatteryStatus := E_BATTERY_STATUS.MAINTENANCE;
IF (GVL_SCADA.eRequestedControlMode <> _eBMSControlMode) AND (GVL_SCADA.xCanChangeControlMode) THEN
_eBMSControlMode := GVL_SCADA.eRequestedControlMode;
@@ -656,6 +637,7 @@ CASE _eBMSControlMode OF
_xAllComponentsToManualMode := FALSE;
_xInSafetyCheckMode := TRUE;
_xReleaseManualMode := FALSE;
+ _xReleaseEMSHeartbeatError := FALSE;
GVL_MODBUS.stModbusEMSComm.stModbusReg11.eBatteryStatus := E_BATTERY_STATUS.MAINTENANCE;
IF (GVL_SCADA.eRequestedControlMode <> _eBMSControlMode) AND (GVL_SCADA.xCanChangeControlMode) THEN
_eBMSControlMode := GVL_SCADA.eRequestedControlMode;
@@ -667,6 +649,7 @@ CASE _eBMSControlMode OF
_xAllComponentsToManualMode := FALSE;
_xInSafetyCheckMode := FALSE;
_xReleaseManualMode := FALSE;
+ _xReleaseEMSHeartbeatError := FALSE;
GVL_MODBUS.stModbusEMSComm.stModbusReg11.eBatteryStatus := E_BATTERY_STATUS.TESTING;
IF (GVL_SCADA.eRequestedControlMode <> _eBMSControlMode) AND (GVL_SCADA.xCanChangeControlMode) THEN
_eBMSControlMode := GVL_SCADA.eRequestedControlMode;
@@ -678,6 +661,7 @@ CASE _eBMSControlMode OF
_xAllComponentsToManualMode := FALSE;
_xInSafetyCheckMode := FALSE;
_xReleaseManualMode := FALSE;
+ _xReleaseEMSHeartbeatError := FALSE;
IF (GVL_SCADA.eRequestedControlMode <> _eBMSControlMode) AND (GVL_SCADA.xCanChangeControlMode) THEN
_xStartBalancing := FALSE;
_eBMSControlMode := GVL_SCADA.eRequestedControlMode;
@@ -689,6 +673,7 @@ CASE _eBMSControlMode OF
_xAllComponentsToManualMode := FALSE;
_xInSafetyCheckMode := FALSE;
_xReleaseManualMode := FALSE;
+ _xReleaseEMSHeartbeatError := FALSE;
//IF (_iState <> 30) OR GVL_SCADA.stAutomaticModeHMI.diSetpointAutomatic = 0 THEN
_rAutoPowerRequest := DINT_TO_REAL(GVL_SCADA.stAutomaticModeHMI.diSetpointAutomatic);
//END_IF
@@ -703,6 +688,7 @@ CASE _eBMSControlMode OF
_xAllComponentsToManualMode := FALSE;
_xInSafetyCheckMode := FALSE;
_xReleaseManualMode := FALSE;
+ _xReleaseEMSHeartbeatError := FALSE;
GVL_MODBUS.stModbusEMSComm.stModbusReg11.eBatteryStatus := E_BATTERY_STATUS.MAINTENANCE;
IF (GVL_SCADA.eRequestedControlMode <> _eBMSControlMode) AND (GVL_SCADA.xCanChangeControlMode) THEN
_eBMSControlMode := GVL_SCADA.eRequestedControlMode;
@@ -714,6 +700,7 @@ CASE _eBMSControlMode OF
_xAllComponentsToManualMode := FALSE;
_xInSafetyCheckMode := FALSE;
_xReleaseManualMode := FALSE;
+ _xReleaseEMSHeartbeatError := FALSE;
// Goto error state if a string has an error
IF _xStringsErrorActive THEN
@@ -769,9 +756,6 @@ CASE _eBMSControlMode OF
END_IF
END_CASE
- //IF (_iState <> 30) OR GVL_SCADA.stAutomaticModeHMI.diSetpointAutomatic = 0 THEN
-
- //END_IF
IF (GVL_SCADA.eRequestedControlMode <> _eBMSControlMode) AND (GVL_SCADA.xCanChangeControlMode) THEN
_eBMSControlMode := GVL_SCADA.eRequestedControlMode;
END_IF
@@ -833,23 +817,7 @@ IF _xConfirmAlarms OR _rtHardwareResetButton.Q THEN
_xConfirmAlarms := FALSE;
END_IF
-_fbPowerMeter24V();
-
-// _fbKaco(
-// sInverterIPAddr:= '192.168.42.14',
-// xEnable:= _xEnableKaco,
-// rPower:= 0.0,
-// xReset:= _xConfirmAlarms,
-// rMaxBattPower:= 10_000,
-// uiMinDisVoltage := ,
-// uiMaxChaVoltage := ,
-// uiMaxDisCurrent := ,
-// uiMaxChaCurrent := ,
-// xActive=> ,
-// xError=> ,
-// xHeartbeatOk=> ,
-// stCurrentValues=> ,
-// );]]>
+_fbPowerMeter24V();]]>
@@ -861,7 +829,7 @@ _fbPowerMeter24V();
END_IF
// Wait for power command
- IF (ABS(_rAutoPowerRequest) > DINT_TO_REAL(GVL_CONFIG.diMinimumAbsPowerForEnable)) AND (NOT _xStringsErrorActive) AND _xStringsAllInAutomaticMode THEN
+ IF (ABS(_rAutoPowerRequest) > DINT_TO_REAL(GVL_CONFIG.diMinimumAbsPowerForEnable)) AND (NOT _xStringsErrorActive) AND _xStringsAllInAutomaticMode AND (NOT _xEMSHeartbeatNotOK) THEN
_iState := 5;
_xCanChangeMode := FALSE;
_xErrorShutdown := FALSE;
@@ -903,7 +871,7 @@ _fbPowerMeter24V();
END_IF
- IF (ABS(_rAutoPowerRequest) < DINT_TO_REAL(GVL_CONFIG.diMinimumAbsPowerForEnable)) THEN
+ IF (ABS(_rAutoPowerRequest) < DINT_TO_REAL(GVL_CONFIG.diMinimumAbsPowerForEnable)) OR _xEMSHeartbeatNotOK THEN
_fbStringReadyTimeout(IN := FALSE);
_xEnableString := FALSE;
_xCanChangeMode := TRUE;
@@ -913,7 +881,7 @@ _fbPowerMeter24V();
30: // String and inverter enabled
// Set inverter power to modbus requested power
- _rPowerInverter := _rAutoPowerRequest;//DINT_TO_REAL(GVL_MODBUS.stModbusEMSComm.stModbusReg12.diSetpointActivePower);
+ _rPowerInverter := _rAutoPowerRequest;
// Check if the battery should still be active
IF (_rAutoPowerRequest = 0.0) THEN
@@ -1017,7 +985,7 @@ _fbPowerMeter24V();
END_IF
// Check for errors
- IF _xStringsErrorActive THEN
+ IF _xStringsErrorActive OR _xEMSHeartbeatNotOK THEN
_xEnableString := FALSE;
_xErrorShutdown := TRUE;
_tonBeginShutdown(In := FALSE);
@@ -1049,7 +1017,7 @@ _fbPowerMeter24V();
END_IF
40: // Wait for inverter discharge done
- IF _xStringsShutdownDischargeAllowed THEN
+ IF _xStringsShutdownDischargeAllowed OR _xEMSHeartbeatNotOK THEN
_rPowerInverter := GVL_CONFIG.rAbsShutdownDischargePower;
ELSE
_xGetPowerMeterData := TRUE;
diff --git a/Uniper.tsproj b/Uniper.tsproj
index 5ec6178..0fbbced 100644
--- a/Uniper.tsproj
+++ b/Uniper.tsproj
@@ -269,7 +269,7 @@
-
+
PLC Instance
{08500001-0000-0000-F000-000000000064}
diff --git a/UniperEvents.tmc b/UniperEvents.tmc
index a8431c8..2149915 100644
--- a/UniperEvents.tmc
+++ b/UniperEvents.tmc
@@ -66,7 +66,7 @@
- BMSEvents
+ BMSEvents
NotAllCompInAuto
@@ -133,6 +133,11 @@
Error
+
+ EMSHeartbeatTimeout
+
+ Error
+
@@ -154,6 +159,7 @@
+