C:\Users\Public\Documents\uniblu\PLC\DUTs\E_BMS_STATE.TcDUT:declaration of IDLE

C:\Users\Public\Documents\uniblu\PLC\DUTs\E_BMS_STATE.TcDUT:declaration of ERROR

Current string current ============================== stStringCurrent : ST_HMI_ANALOG_VALUE; Current inverter data ==============================

Temperature sensor posolyt tank inlet ====================================

Temperature sensor negolyt tank inlet ====================================

Pressure sensor posolyt segment inlet ====================================

Pressure sensor negolyt segment inlet ====================================

Pressure sensor posolyt tank inlet ====================================

Max pressure difference between posolyt and negolyt segment inlet ====================================

Attr: 'pack_mode' := '1'
Speicherbereiche, welche über einen kontinuierlichen Registerbereich  gelesen werden sollen, müssen in einer Struktur mit dem attribut {attribute 'pack_mode' := '1'}  angelegt werden.  Der Grund ist, dass der TwinCAT Modbus Server beim zugriff über den ADS  Server nur die Symbolische erste Adresse anfragt und dann davon ausgeht,  dass die anderen Register im Speicherbereich hintereinander liegen.  Bei rein symbolisch angelegten Variablen müss dies nicht der Fall sein und es kommt zu einem   Fehler beim lesen über die symbolischen grenzen der variablen hinaus.

Attr: ‚pack_mode‘ := ‚1‘
Speicherbereiche, welche über einen kontinuierlichen Registerbereich  gelesen werden sollen, müssen in einer Struktur mit dem attribut {attribute ‚pack_mode‘ := ‚1‘}  angelegt werden.  Der Grund ist, dass der TwinCAT Modbus Server beim zugriff über den ADS  Server nur die Symbolische erste Adresse anfragt und dann davon ausgeht,  dass die anderen Register im Speicherbereich hintereinander liegen.  Bei rein symbolisch angelegten Variablen müss dies nicht der Fall sein und es kommt zu einem   Fehler beim lesen über die symbolischen grenzen der variablen hinaus.

Addr: 12.004 Can be removed if cosphi can be written in pos and neg range

String warning active flags (Bit 0 -> Warning in string 1 active, Bit 1 -> String 2, etc.)  Addr: 13.002

String error active (Bit 0 -> Error in string 1 active, Bit 1 -> String 2, etc.) Addr: 13.003 

String error active (Bit 0 -> Error in string 1 active, Bit 1 -> String 2, etc.) Addr: 13.003

uiNumberOfStrings (UINT) -- =========================== Number of active strings ===========================

=========================== Number of active strings ===========================

stUnitConfig (ST_UNIT_CONFIG) -- =========================== Unit hardware config ===========================

=========================== Unit hardware config ===========================

stConfigSCSCurrent (ST_ANALOG_IO_CONFIG) -- =========================== SCS Current measurement settings ===========================

=========================== SCS Current measurement settings ===========================

rPumpPosolytOnPower (REAL) -- =========================== General settings =========================== Pump posolyt on power in %

=========================== General settings =========================== Pump posolyt on power in %

rPumpPosolytDisChrgPower (REAL) -- Pump posolyt discharge segment without inverter power in %

rPumpNegolytDisChrgPower (REAL) -- Pump posolyt discharge segment without inverter power in %

rPumpshutoffThreshold (REAL) -- Unit voltage pumps shutoff threshold (Volt)

rMinimumUnitVoltage (REAL) -- Minimum unit voltage required for inverter startup (Volt)

rMaximumUnitVoltage (REAL) -- Maximum unit voltage for fully charged (Volt)

rDeltaUnitVoltageShutdownDischarge (REAL) -- Delta value to minimum unit voltage for shutdown discharge (Volt)

Delta value to minimum unit voltage for shutdown discharge (Volt)

rMaxAbsDiffVoltageUnitsOnModule (REAL) -- Maximum absolute voltage difference between units in the same module

Maximum absolute voltage difference between units in the same module

rMaxAbsDiffVoltageModulesInString (REAL) -- Maximum absolute voltage difference between Modules (Volt)

diMinimumAbsPowerForEnable (DINT) -- Minimum absolute power command to enable battery (Watt)

diMaxStringChargingPower (DINT) -- Maximum allowed charging power (Watt) per String 24.000 W -> 2.000 W per Unit

Maximum allowed charging power (Watt) per String 24.000 W -> 2.000 W per Unit

diMaxStringDischargePower (DINT) -- Maximum allowed discharging power (Watt) per String 24.000 W -> 2.000 W per Unit

Maximum allowed discharging power (Watt) per String 24.000 W -> 2.000 W per Unit

rAbsShutdownDischargePower (REAL) -- Absolute shutdown discharge power (Watt) 12.000 W -> 1.000 W per unit

Absolute shutdown discharge power (Watt) 12.000 W -> 1.000 W per unit

xShutdownDischargeWithInverter (BOOL) -- Allow inverter fast shutdown discharge

rStringFullyChargedVoltage (REAL) -- String fully charged voltage (Volt) 960 V -> 80 V per Unit

rStringEmptyVoltage (REAL) -- String empty voltage (Volt) (617V is needed for the inverter to start up -> 55.0V per Segment)

String empty voltage (Volt) (617V is needed for the inverter to start up -> 55.0V per Segment)

timUnitBalancingStartupTime (TIME) -- Unit balancing wait startup time

timStringReadyTimeout (TIME) -- All modules in string not ready timeout

xDummy (BOOL) -- Attr: analysis := '-33',   Dummy to deactivate functions

stModbusEMSComm (ST_EMS_MODBUS_INTERFACE) -- Modbus interface to customer EMS

awWarningsUnitsActive (ARRAY[0..(GVL_CONFIG.uiNumberOfUnits-1)] OF U_UNIT_WARNING_REGISTER) -- Addr: 14.000 -> 14.047 Index 0 -> Unit 1, Index 1 -> Unit 2 etc.

ARRAY[0..(GVL_CONFIG.uiNumberOfUnits-1)] OF U_UNIT_WARNING_REGISTER

Addr: 14.000 -> 14.047 Index 0 -> Unit 1, Index 1 -> Unit 2 etc.

awErrorsUnitsActive (ARRAY[0..(GVL_CONFIG.uiNumberOfUnits-1)] OF U_UNIT_ERROR_REGISTER) -- Addr: 15.000 -> 15.047 Index 0 -> Unit 1, Index 1 -> Unit 2 etc.

ARRAY[0..(GVL_CONFIG.uiNumberOfUnits-1)] OF U_UNIT_ERROR_REGISTER

Addr: 15.000 -> 15.047 Index 0 -> Unit 1, Index 1 -> Unit 2 etc.

stHMIInterface (ARRAY[0..1] OF ST_STRING_HMI_INTERFACE) -- Array for string HMI

stAckAlarmsButton (ST_HMI_CONTROL_BUTTON) -- Acknowledge alarm button

stAutomaticModeHMI (ST_AUTO_HMI_INTERFACE) -- HMI interface to control the battery throught the HMI

eRequestedControlMode (E_BMS_CONTROL_MODE) -- Requested control mode by HMI

eCurrentControlMode (E_BMS_CONTROL_MODE) -- Current control mode

lrLastCycleUtilityPowerValueWh (LREAL) -- Last discharged utility power value

FB_Module(xEmergencyStopOk, uiFirstUnitIndex, xEnable, xStartBalancing, xInSafetyCheckMode, xSafetyIntlksOk, xOff, refstHMIInterface, xReleaseErrors, xReleaseLimitErrors, xReleaseManualMode, xAllToManualMode, xConfirmAlarms, rBalancingTargetVoltage, xInverterEnabled, xLeakageSegments12, xLeakageSegments34, xLeakageTank, rCurrent, uiECState, rCurrentVoltage, xReady, xInShutdownDischargeMode, xShutdownDischargeAllowed, xError, xWarning, xAllUnitsInAutomatic, rSmallestSegmentVoltage, rHighestSegmentVoltage, xBalancingDone)

(xEmergencyStopOk, uiFirstUnitIndex, xEnable, xStartBalancing, xInSafetyCheckMode, xSafetyIntlksOk, xOff, refstHMIInterface, xReleaseErrors, xReleaseLimitErrors, xReleaseManualMode, xAllToManualMode, xConfirmAlarms, rBalancingTargetVoltage, xInverterEnabled, xLeakageSegments12, xLeakageSegments34, xLeakageTank, rCurrent, uiECState, rCurrentVoltage, xReady, xInShutdownDischargeMode, xShutdownDischargeAllowed, xError, xWarning, xAllUnitsInAutomatic, rSmallestSegmentVoltage, rHighestSegmentVoltage, xBalancingDone)

uiFirstUnitIndex (UINT) -- Unit numbering start (0 based index) Unit 1 -> Index 0

rCurrent (REAL) -- Current current value from string to copy to HMI interface

xInShutdownDischargeMode (BOOL) -- Module in shutdown segment discharge mode

xShutdownDischargeAllowed (BOOL) -- Module can be discharged during shutdown sequence

_fbUnitsOutOfBalanceAlarm (FB_TcAlarm) -- Units out of balance alarm

_fbLeackageSegment12Alarm (FB_TcAlarm) -- Leackage Segment 1/2 alarm

_fbLeackageSegment34Alarm (FB_TcAlarm) -- Leackage Segemnt 3/4 alarm

bInitRetains (BOOL) -- if TRUE, the retain variables are initialized (warm start / cold start)

if TRUE, the retain variables are initialized (warm start / cold start)

bInCopyCode (BOOL) -- if TRUE, the instance afterwards gets moved into the copy code (online change)

if TRUE, the instance afterwards gets moved into the copy code (online change)

FB_PowerMeter(xGetEnergyCounters, sIpAddress, lrEnergyFromGrid, lrEnergyIntoGrid, xBusy, xError)

(xGetEnergyCounters, sIpAddress, lrEnergyFromGrid, lrEnergyIntoGrid, xBusy, xError)

sIpAddress (STRING(80)) -- IP 75 -> Umrichter IP 80 -> Hilfsenergie

FB_Safety(xVoltagesInRange, xPressureInRange, xTemperaturesInRange, xReset)

(xVoltagesInRange, xPressureInRange, xTemperaturesInRange, xReset)

FB_String(xEnable, uiStringNumber, xErrorShutdown, xStartBalancing, xInSafetyCheckMode, rPowerInverter, stHMIInterface, xEmergencyStopOk, xResetSafety, xSafetyComError, xReleaseErrors, xReleaseLimitErrors, xReleaseManualMode, xConfirmAlarms, xAllToManualMode, sInverterIP, xECStateSCS, xIsoErrorL1, xIsoErrorL2, xRepairSwitchOk, xSafetyIntlksOk, xSafetyIntlksComponentsOk, rCurrentVoltage, xInShutdownDischargeMode, xShutdownDischargeAllowed, xReady, xOff, xCloseDCCB, xDCCBOpen, xResetSafetyDCCB, xAllModulesInAutoMode, xError, xWarning, eStatus, stInverterData, rSmallestSegmentVoltage, rHighestSegmentVoltage, xBalancingDone)

(xEnable, uiStringNumber, xErrorShutdown, xStartBalancing, xInSafetyCheckMode, rPowerInverter, stHMIInterface, xEmergencyStopOk, xResetSafety, xSafetyComError, xReleaseErrors, xReleaseLimitErrors, xReleaseManualMode, xConfirmAlarms, xAllToManualMode, sInverterIP, xECStateSCS, xIsoErrorL1, xIsoErrorL2, xRepairSwitchOk, xSafetyIntlksOk, xSafetyIntlksComponentsOk, rCurrentVoltage, xInShutdownDischargeMode, xShutdownDischargeAllowed, xReady, xOff, xCloseDCCB, xDCCBOpen, xResetSafetyDCCB, xAllModulesInAutoMode, xError, xWarning, eStatus, stInverterData, rSmallestSegmentVoltage, rHighestSegmentVoltage, xBalancingDone)

uiStringNumber (UINT) -- String number for unit numbering starting with 0 for String 1

xErrorShutdown (BOOL) -- Error shutdown -> No discharge throught inverter

stHMIInterface (ST_STRING_HMI_INTERFACE) -- String HMI interface

xSafetyComError (BOOL) -- Attr: analysis := '-33',   Safety communication error

xSafetyIntlksOk (BOOL) -- All safetyinterlocks from safety plc are ok

xSafetyIntlksComponentsOk (BOOL) -- All component safety interlocks are ok

xResetSafetyDCCB (BOOL) -- Reset signal for safety dc circuit breaker

stInverterData (ST_SUNSPEC_CURRENT_VALUES) -- Inverter status data

_xAllModulesInShutdownDischargeMode (BOOL) -- All modules in shutdown discharge mode

_fbModulesOutOfBalanceAlarm (Fb_TcAlarm) -- Modules out of balance alarm message

_fbSafetyInterlocksNotOkAlarm (FB_TcAlarm) -- Safetyinterlocks pending alarm

_fbInverterStartupTimeoutAlarm (FB_TcAlarm) -- Inverter startup error

_fbDCMainSwitchNotClosed (FB_TcAlarm) -- DC Main switch not closed

_fbSafetyIntlkTimeoutAlarm (FB_TcAlarm) -- Safety interlock reset timeout

_fbSDDCLevel (FB_TcMessage) -- Shutdown discharge stopped messages

_tonErrorDCCBNotClosed (TON) -- Error timer for not closing dc relais

_fbBalanceNotOkSignal (FB_ReleaseSignal) -- Delayed balance check signal

_rPowerInverterInternal (REAL) -- Internal inverter power command

_tonInverterStartupTimeout (TON) -- Fault timer for inverter startup

_tonInverterShutdownError (TON) -- Fault timer for inverter shutdown

_tonInverterShutdownDelay (TON) -- Debug delay timer for inverter shutdown

_fbStringCurrent (FB_AnalogInput) -- Analog input for string current measurement

_fbReadRegister (FB_MBReadRegs) -- FB for reading Modbus holding registers

_fbWriteRegister (FB_MBWriteRegs) -- FB for writing Modbus holding registers

FB_Unit(stUnitConfig, stHMIInterface, xEnable, xStartBalancing, xInSafetyCheckMode, xEmergencyStopOk, xSafetyIntlksOk, xReleaseErrors, xReleaseLimitErrors, xReleaseManualMode, xConfirmAlarms, rBalancingTargetVoltage, xAllToManualMode, xInverterEnabled, stModbusWarnings, stModbusErrors, xReady, xOff, xShutdownDischargeAllowed, xInShutdownDischargeMode, xError, xWarning, rCurrentVoltage, xAllComponentsInAuto, xBalancingDone, xResetMCB)

C:\Users\Public\Documents\uniblu\PLC\POUs\FB_Unit.TcPOU:declaration of FB_Unit

(stUnitConfig, stHMIInterface, xEnable, xStartBalancing, xInSafetyCheckMode, xEmergencyStopOk, xSafetyIntlksOk, xReleaseErrors, xReleaseLimitErrors, xReleaseManualMode, xConfirmAlarms, rBalancingTargetVoltage, xAllToManualMode, xInverterEnabled, stModbusWarnings, stModbusErrors, xReady, xOff, xShutdownDischargeAllowed, xInShutdownDischargeMode, xError, xWarning, rCurrentVoltage, xAllComponentsInAuto, xBalancingDone, xResetMCB)

xEnable (BOOL) -- Components shortage workaround xVoltageSensorIs1500V : BOOL; Start unit

Components shortage workaround xVoltageSensorIs1500V : BOOL; Start unit

stModbusWarnings (U_UNIT_WARNING_REGISTER) -- Modbus warning register

xReady (BOOL) -- Unit state eUnitState : E_COMPONENT_STATUS := E_COMPONENT_STATUS.OFF; Unit ready

Unit state eUnitState : E_COMPONENT_STATUS := E_COMPONENT_STATUS.OFF; Unit ready

xShutdownDischargeAllowed (BOOL) -- Unit can be discharged during shutdown sequence

xInShutdownDischargeMode (BOOL) -- Unit in shutdown segment discharge mode

_timUnitStartupWaitTime (TIME) -- Check unit condition after some time during startup

_fbPressurePosolytSegmentInlet (FB_AnalogInput) -- Pressure sensors posolyt

_fbPressureNegolytSegmentInlet (FB_AnalogInput) -- Pressure sensors negolyt

_fbTempSensorPosolyt (FB_AnalogInput) -- Temperature sensor posolyt

_fbTempSensorNegolyt (FB_AnalogInput) -- Temperature sensor negolyt

_stPosolytValveTankOutletPIntlk (T_INTERLOCK) -- Valve posolyt tank outlet interlocks

_stNegolytValveTankOutletPIntlk (T_INTERLOCK) -- Valve negolyt tank outlet interlocks

_stPosolytPumpInletPIntlk (T_INTERLOCK) -- Pump posolyt inlet interlocks

_stNegolytPumpInletPIntlk (T_INTERLOCK) -- Pump negolyt inlet interlocks

_rShutdownDischargeVoltageThreshold (REAL) -- Shutdown discharge allowed voltage

_xAllComponentsInAutomatic (BOOL) -- All components in automatic mode

_fbNotAllAutomaticAlarm (FB_TcAlarm) -- Not all components in automatic mode alarm

_fbPressureDiffToBig (FB_TcAlarm) -- Pressure difference between pos and neg inlet to big

_xEnableVoltageLimitChecks (BOOL) -- Enable voltage limit checks

_rSetpointPosolytPumpInlet (REAL) -- Setpoint posolyt pump inlet

_rSetpointNegolytPumpInlet (REAL) -- Setpoint negolyt pump inlet

_tofResetMCB (TOF) -- Timer for resetting the MCB (minimum on time 0,5s)

_rBalancingTargetVoltage (REAL) -- Freezed balancing target voltage

_rtrigSwitchToManualMode (R_TRIG) -- Trigger for switching to manual mode

_rtrigSwitchToAutoMode (R_TRIG) -- Trigger for switching to automatic mode

_rFilteredPressPosolytInlet (REAL) -- Filtered pressure sensor posolyt segment inlet data for HMI

_rFilteredPressNegolytInlet (REAL) -- Filtered pressure sensor posolyt segment inlet data for HMI

_rFilteredPressPosolytTank (REAL) -- Filtered pressure sensor posolyt tank inlet data for HMI

_rFilteredPressNegolytTank (REAL) -- Filtered pressure sensor posolyt tank inlet data for HMI

C:\Users\Public\Documents\uniblu\PLC\POUs\MAIN.TcPOU:declaration of MAIN

_afbStrings (ARRAY[0..1] OF FB_String) -- Attr: OPC.UA.DA := '0',

_xErrorShutdown (BOOL) -- 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

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

_rAutoPowerRequest (REAL) -- Auto remote and auto local power request

_tonStartupDelay (TON) -- Startup delay for error release during plc startup

_fbNoAutomaticModeAlarm (FB_TcAlarm) -- Not all strings in automatic mode

_eBMSControlMode (E_BMS_CONTROL_MODE) -- Current BMS control mode (Auto local, Auto remote, etc...) On restart star in manual mode (so the ems can not directly start the bms)

Current BMS control mode (Auto local, Auto remote, etc…) On restart star in manual mode (so the ems can not directly start the bms)

_xAllComponentsToManualMode (BOOL) -- Flag to set all components in manual mode

_fbRTrigHardwareAck (R_TRIG) -- Hardware reset button rising edge trigger

_rStringsSumVoltage (REAL) -- Sum of voltage of all active strings

_arPowerString (ARRAY[0..(GVL_CONFIG.uiNumberOfStrings-1)] OF REAL) -- 

_uiNumberOfActiveStrings (UINT) -- Number of activated strings (from configuration)

FB_PowerSupplySunspec(sInverterIPAddr, xEnable, rPower, xReset, rMaxBattPower, xActive, xError, xHeartbeatOk, stCurrentValues)

(sInverterIPAddr, xEnable, rPower, xReset, rMaxBattPower, xActive, xError, xHeartbeatOk, stCurrentValues)

stCurrentValues (ST_SUNSPEC_CURRENT_VALUES) -- Current inverter values

_iWMaxSF (INT) -- Timer for checking if the inverter started in a reasonable amount of time _tonInverterStartup : TON; converter max power scaling factor

Timer for checking if the inverter started in a reasonable amount of time _tonInverterStartup : TON; converter max power scaling factor

_iVarPctSF (INT) -- Scaling factor for reactive power percent value

_iWMaxLimPctSF (INT) -- Reread set power limit _iWMaxLimPctRead : INT; _rWMaxLimPctReadScaled : REAL; Scaling factor for power limiting

Reread set power limit _iWMaxLimPctRead : INT; _rWMaxLimPctReadScaled : REAL; Scaling factor for power limiting

_uiInverterState (UINT) -- Unscaled maximum power from type label _iWRTGSF : INT; Scaling for maximum power from type label _rWRTGScaling : REAL; Current state of the inverters internal statemachine

Unscaled maximum power from type label _iWRTGSF : INT; Scaling for maximum power from type label _rWRTGScaling : REAL; Current state of the inverters internal statemachine

_uiMaxLimEn (UINT) -- Value to enable or dissable the Power limiting feature

_uiPCSSetOperation (UINT) -- Value for commanding the target state of the inverter

_iMaxVarPct (INt) -- Enable max reactive power percent controller

_iErrorInState (INT) -- Holds the state number in which an error occured

_timPollingDelay (TIME) -- Time for polling for current dc values and check for inverter error

Time for polling for current dc values and check for inverter error

_tonHearbeatIncTimer (TON) -- Timer for incrementing heartbeat signal

_awCurrentDCValues (ARRAY[0..5] OF WORD) -- Current DC values (DCA, DCA_SF, DCV, DCV_SF, DCW, DCW_SF) in word array for efficient modbus reading

Current DC values (DCA, DCA_SF, DCV, DCV_SF, DCW, DCW_SF) in word array for efficient modbus reading

_awCurrentACValues (ARRAY[0..21] OF WORD) -- Current AC values (W, W_SF, Hz, Hz_SF, VA, VA_SF, VAr, VAr_SF, PF, PF_SF) in word array for efficient modbus reading

Current AC values (W, W_SF, Hz, Hz_SF, VA, VA_SF, VAr, VAr_SF, PF, PF_SF) in word array for efficient modbus reading

_xInverterHBCounterIncremented (BOOL) -- Flag to check if inverter has incremented the heartbeat counter

STATUS_REGISTER (WORD) -- Inverter statemachine status register Size 1, enum16 (Range = 0 .. 65534, Not implemented = 0xFFFF)

Inverter statemachine status register Size 1, enum16 (Range = 0 .. 65534, Not implemented = 0xFFFF)

W_MAX_LIM_PCT_REGISTER (WORD) -- Throttled power register Size 1, int16 (Range = -32767 .. 32767, Not implemented 0x8000)

Throttled power register Size 1, int16 (Range = -32767 .. 32767, Not implemented 0x8000)

W_MAX_LIM_PCT_SF_REGISTER (WORD) -- Throttled power register scaling factor Size 1, sunssf (int16) (Range = -10 .. 10, Not implemented 0x8000)

Throttled power register scaling factor Size 1, sunssf (int16) (Range = -10 .. 10, Not implemented 0x8000)

W_MAX_LIM_EN_REGISTER (WORD) -- Control register to enable and dissable if the power throttleing should be active Size1, enum16 (Range = 0 .. 65534, Not implemented = 0xFFFF)

Control register to enable and dissable if the power throttleing should be active Size1, enum16 (Range = 0 .. 65534, Not implemented = 0xFFFF)

PCS_ALARM_RESET_REGISTER (WORD) -- Register to reset latched alarms in the inverter Size 1, uint16 (Range = 0 .. 65534, Not implemented = 0xFFFF)

Register to reset latched alarms in the inverter Size 1, uint16 (Range = 0 .. 65534, Not implemented = 0xFFFF)

PCS_SET_OPERATION_REGISTER (WORD) -- Control register to set the target state of the inverters state machine Size 1, enum16 (Range = 0 .. 65534, Not implemented = 0xFFFF)

Control register to set the target state of the inverters state machine Size 1, enum16 (Range = 0 .. 65534, Not implemented = 0xFFFF)

W_MAX_REGISTER (WORD) -- Maximum inverter output power Size 1, uint16 (Range = 0 .. 65534, Not implemented = 0xFFFF)

Maximum inverter output power Size 1, uint16 (Range = 0 .. 65534, Not implemented = 0xFFFF)

W_MAX_SF_REGISTER (WORD) -- Maximum inverter output power scaling factor Size 1, sunssf (int16) (Range = -10 .. 10, Not implemented 0x8000)

Maximum inverter output power scaling factor Size 1, sunssf (int16) (Range = -10 .. 10, Not implemented 0x8000)

DC_VALUES_START_REGISTER (WORD) -- Maximum inverter output power from type label Size 1, uint16 (Range = 0 .. 65534, Not implemented = 0xFFFF) W_RTG_REGISTER : WORD := 40125; Maximum inverter output power from type label scaling factor Size 1, sunssf (int16) (Range = -10 .. 10, Not implemented 0x8000) W_RTG_SF_REGISTER : WORD := 40126; Start of register with the current dc values Size 4

Maximum inverter output power from type label Size 1, uint16 (Range = 0 .. 65534, Not implemented = 0xFFFF) W_RTG_REGISTER : WORD := 40125; Maximum inverter output power from type label scaling factor Size 1, sunssf (int16) (Range = -10 .. 10, Not implemented 0x8000) W_RTG_SF_REGISTER : WORD := 40126; Start of register with the current dc values Size 4

AC_VALUES_START_REGISTER (WORD) -- Start of register with the current ac values SIZE 10

VAR_W_MAX_PCT (WORD) -- Power factor register in cosine of angle Size 1, int16 (Range = -32767 .. 32767, Not implemented 0x8000) OUT_PF_SET : WORD := 40192; Enable power factor controller Size 1, enum16 (Range = 0 .. 65534, Not implemented = 0xFFFF) OUT_PF_SET_ENA : WORD := 40196; Reactive power in percent of W_Max Size 1, int16 (Range = -32767 .. 32767, Not implemented 0x8000)

Power factor register in cosine of angle Size 1, int16 (Range = -32767 .. 32767, Not implemented 0x8000) OUT_PF_SET : WORD := 40192; Enable power factor controller Size 1, enum16 (Range = 0 .. 65534, Not implemented = 0xFFFF) OUT_PF_SET_ENA : WORD := 40196; Reactive power in percent of W_Max Size 1, int16 (Range = -32767 .. 32767, Not implemented 0x8000)

VAR_PCT_ENA (WORD) -- Enable percent limited var controller Size 1, enum16 (Range = 0 .. 65534, Not implemented = 0xFFFF)

Enable percent limited var controller Size 1, enum16 (Range = 0 .. 65534, Not implemented = 0xFFFF)

VAR_PCT_SF (WORD) -- Register for reactive power percent scaling factor Size 1, sunssf (int16) (Range = -10 .. 10, Not implemented 0x8000)

Register for reactive power percent scaling factor Size 1, sunssf (int16) (Range = -10 .. 10, Not implemented 0x8000)

Attr: OPC.UA.DA := '1',  Attr: OPC.UA.DA.Access := '1',   Current DC current (A)

Attr: OPC.UA.DA := ‚1‘,  Attr: OPC.UA.DA.Access := ‚1‘,   Current DC current (A)

Attr: OPC.UA.DA := '1',  Attr: OPC.UA.DA.Access := '1',   Current DC voltage (V)

Attr: OPC.UA.DA := ‚1‘,  Attr: OPC.UA.DA.Access := ‚1‘,   Current DC voltage (V)

Attr: OPC.UA.DA := '1',  Attr: OPC.UA.DA.Access := '1',   Current DC power (W)

Attr: OPC.UA.DA := ‚1‘,  Attr: OPC.UA.DA.Access := ‚1‘,   Current DC power (W)

Attr: OPC.UA.DA := '1',  Attr: OPC.UA.DA.Access := '1',   Current AC current. Sum of active phases (A)

Attr: OPC.UA.DA := ‚1‘,  Attr: OPC.UA.DA.Access := ‚1‘,   Current AC current. Sum of active phases (A)

Attr: OPC.UA.DA := '1',  Attr: OPC.UA.DA.Access := '1',   Current AC current. Phase A (A)

Attr: OPC.UA.DA := ‚1‘,  Attr: OPC.UA.DA.Access := ‚1‘,   Current AC current. Phase A (A)

Attr: OPC.UA.DA := '1',  Attr: OPC.UA.DA.Access := '1',   Current AC current. Phase B (A)

Attr: OPC.UA.DA := ‚1‘,  Attr: OPC.UA.DA.Access := ‚1‘,   Current AC current. Phase B (A)

Attr: OPC.UA.DA := '1',  Attr: OPC.UA.DA.Access := '1',   Current AC current. Phase C (A)

Attr: OPC.UA.DA := ‚1‘,  Attr: OPC.UA.DA.Access := ‚1‘,   Current AC current. Phase C (A)

Attr: OPC.UA.DA := '1',  Attr: OPC.UA.DA.Access := '1',   Current AC power (W)

Attr: OPC.UA.DA := ‚1‘,  Attr: OPC.UA.DA.Access := ‚1‘,   Current AC power (W)

Attr: OPC.UA.DA := '1',  Attr: OPC.UA.DA.Access := '1',   Current AC frequency (Hz)

Attr: OPC.UA.DA := ‚1‘,  Attr: OPC.UA.DA.Access := ‚1‘,   Current AC frequency (Hz)

Attr: OPC.UA.DA := '1',  Attr: OPC.UA.DA.Access := '1',   Current AC apparent power (VA)

Attr: OPC.UA.DA := ‚1‘,  Attr: OPC.UA.DA.Access := ‚1‘,   Current AC apparent power (VA)

Attr: OPC.UA.DA := '1',  Attr: OPC.UA.DA.Access := '1',   Current AC reactive power (VAr)

Attr: OPC.UA.DA := ‚1‘,  Attr: OPC.UA.DA.Access := ‚1‘,   Current AC reactive power (VAr)

Attr: OPC.UA.DA := '1',  Attr: OPC.UA.DA.Access := '1',   Current AC power factor

Attr: OPC.UA.DA := ‚1‘,  Attr: OPC.UA.DA.Access := ‚1‘,   Current AC power factor

Attr: OPC.UA.DA := '1',  Attr: OPC.UA.DA.Access := '1',   Current inverter status

Attr: OPC.UA.DA := ‚1‘,  Attr: OPC.UA.DA.Access := ‚1‘,   Current inverter status

Continuous power output capability of the inverter scaling factor

Continuous volt-ampere output capability of the inverter scaling factor

Continuous VAR capability of the inverter in quadrant 1-4 scaling factor

Maximum RMS AC current level capability of the inverter scaling factor

Minimum power factor capability of the inverter in quadrant 1-4 scaling factor

Maximum rate of energy transfer into the storage device scaling factor

Maximum rate of energy transfer out of the storage device scaling factor