Modbus Spezifikation für externe EMS

Du hast bereits ein bevorzugtes Energiemanagementsystem von einem anderen Hersteller und möchtest damit deinen neoom C&I Speicher BLOKK oder TERRA steuern? Mit folgender Modbus Spezifikation wird dies nun möglich!

Metadata

Property Value
Summary The Modbus TCP Interface for the BLOKK variants BLOKK (NN), BLOKK (NN) Light and BLOKK NEA, as well as TERRA
Version V3.0
Byte-Order BigEndian
Word-Order LittleEndian

Enums

Enum TypeName Key Value Description
BLOKK_State UNKNOWN 0  
BLOKK_State SLEEP 1 BLOKK is in deep sleep state / start is possible
BLOKK_State SETUP 2 BLOKK is starting up and checking components
BLOKK_State EMERGENCY_STOP 3 BLOKK is in error state / Emergency stop is active
BLOKK_State ERROR 4 BLOKK is in error state / see registers AlarmIDActive01..AlarmIDActive20
BLOKK_State STOPPED 5 BLOKK is stopped / no error active / start is possible
BLOKK_State ONGRID_SETUP 10 BLOKK is starting ongrid operation
BLOKK_State ONGRID_RUN 11 BLOKK is operating in ongrid mode
BLOKK_State ONGRID_TEARDOWN 12 BLOKK is stopping ongrid operation
BLOKK_State OFFGRID_SETUP 20 BLOKK is starting offgrid operation
BLOKK_State OFFGRID_RUN 21 BLOKK is operating in offgrid mode
BLOKK_State OFFGRID_TEARDOWN 22 BLOKK is stopping offgrid operation
ExternalControl_OperationMode Standard 0 BLOKK operates autonomously in it's normal mode with a static configuration and mode selection based on it's SoC
ExternalControl_OperationMode InverterSetpoint 2 given active power setpoint on ExternalControl.SetpointPrimaryPowerActive is directly distributed to the inverters / grid power control is inactive.
ExternalControl_OperationMode GridSetpoint 3 given active power setpoint on ExternalControl.SetpointPrimaryPowerActive is used as the setpoint for grid power control.
ExternalControl_OperationMode GridSetpointReplaceConsumptionOptimization 4 given active power setpoint on ExternalControl.SetpointPrimaryPowerActive is used as the setpoint for grid power control in the SoC-region of consumption optimization. Peak shaving limits are active and it's SoC region is maintained to have enough energy for peak shaving.
ExternalControl_OperationMode InverterSetpointReplaceConsumptionOptimization 5 given active power setpoint on ExternalControl.SetpointPrimaryPowerActive is distributed to the inverters, if peak shaving limits can be adhered. Otherwise the grid power control kicks in to keep power within peak-shaving limits. The peak-shaving SoC region is maintained to have enough energy for peak shaving.
ExternalControl_OperationMode StandBy 99 BLOKK is in Standby mode, power switch is closed but no power active
ExternalControl_OperationMode Maintenance 100 BLOKK is in maintenance mode, manual power set point on BLOKK active
ExternalControl_OperationModeReactive InverterConfig 0 The BLOKK does not control the reactive power. Either the inverter has configured options Q(U), constant cos(phi) or similar on the device configuration itself, or the reactive power is from the inverter is zero.
ExternalControl_OperationModeReactive ExternalControlInverterSetpoint 1 The BLOKK sets the reactive power setpoint (ExternalControl.SetpointPowerReactive) directly on to the inverters, by distributing it across all inverters. If the setpoint can't be achived the reactive power is staurated. This option is may not be supported with all inverters, if the inverter is not configured to support this mode.
BLOKK_PowerDistributionMode Support 0 EMS acts as Support, inverter power set point is received from Main EMS
BLOKK_PowerDistributionMode Main 1 EMS acts as Main, operation mode/control/power distribution to Supports is enabled

Bitfields

Bitfield TypeName Byte Size BitNum FieldName
BLOKK_MainSupportStatus 4 0 AtLeastOneBlokkOnGrid
BLOKK_MainSupportStatus 4 1 AtLeastOneBlokkOnGridAndControllable
BLOKK_MainSupportStatus 4 2 AtLeastOneBlokkRunningInRequestedMode
BLOKK_MainSupportStatus 4 3 WarningActive
BLOKK_MainSupportStatus 4 4 ErrorActive

Groups

Group Name Description Start Address
BLOKK Settings and data for whole BLOKK or TERRA 36000
MainSupport Interface for a Main/Support BLOKK or TERRA combination 36500
ExternalControl Control interface for a external EMS 36800

Group - BLOKK

Group Data

Description Start Address
Settings and data for whole BLOKK
Config data only relevant for ExternalControl_OperationMode = 0 / 4 / 5
36000

Group Command (read / write)

Name Datatype RegisterAddress Unit & Scaling Default Config Description
AlarmAcknowledge BOOL 36280   0 1=acknowledge all alarms, resetting register to 0 after receiving command

Group Config (read / write)

Name Datatype RegisterAddress Unit & Scaling Default Config Description
MinInfeedPriorizationSoC UINT16 36310 %*100.0   minimal SoC level, where infeed is prioritized over PV/self-consumption. below this level PV/self-consumption is active
FeedInPriorizationChargeOver UINT32 36311 W   infeed priorization: grid power setpoint to charge the battery above this level. always >= 0
MinPVSOC UINT16 36320 %*100.0   minimal SoC level, where PV/self-consumption is active. below this level the capacity is used for peak shaving and as blackout reserve.
MinPeakSOC UINT16 36330 %*100.0   minimal SoC level, where peak shaving is active. below this level the capacity is blackout reserve.
PeakShavingDischargeOver UINT32 36331 W   peak shaving grid power setpoint to discharge the battery above this level. always >= 0
MinBlackoutSOC UINT16 36335 %*100.0   minimal SoC level for blackout reserve. always >= 0

Group Outputs (read only)

Name Datatype RegisterAddress Unit & Scaling Description
InterfaceVersionMajor UINT16 36000   major version of the modbus interface
InterfaceVersionMinor UINT16 36001   minor version of the modbus interface
HardwareVersionMajor UINT16 36003   major version of the BLOKK hardware
HardwareVersionMinor UINT16 36004   minor version of the BLOKK hardware
SoftareVersionMajor UINT16 36006   major version of the BLOKK PLC software
SoftwareVersionMinor UINT16 36007   minor version of the BLOKK PLC software
SoftwareVersionPatch UINT16 36008   patch version of the BLOKK PLC software
SerialNumber STRING(19) 36010   serial number of the BLOKK
Lifecounter UINT16 36030   Life signal from PLC, is increased every 1sec
State enum/BLOKK_State 36031   current BLOKK state
OffgridCapability BOOL 36032   BLOKK is offgrid capable
OffgridModeActive BOOL 36033   offgrid mode active and running
WarningActive BOOL 36034   At least one warning is active. Register State shows if BLOKK is running
ActivePowerDistributionMode enum/BLOKK_PowerDistributionMode 36040   actual power distribution mode of BLOKK (Main/Support)
PowerDistributionModeMainActiveSince UINT32 36041 s elapsed time since power distribution mode Main was activated on this BLOKK
ActiveInverterCount UINT16 36075   number of active/running inverters in this BLOKK
ActivePowerSum INT32 36080 W sum of BLOKK active power. Discharge > 0 / charge < 0
ReactivePowerSum INT32 36082 VAr sum of BLOKK reactive power. over-excited = voltage-rising = reactive power generation > 0 / under-excited = voltage-lowering = reactive power consumption < 0
ApparentPowerSum INT32 36084 VA sum of BLOKK apparent power, always >= 0
DCPowerSum INT32 36086 W sum of BLOKK DC power. Discharge < 0 / charge > 0
SoH UINT16 36100 %*100 minimal state of health of the entire BLOKK
MaxSOC UINT16 36110 % maximal SoC of the battery's DoD range
MinSOC UINT16 36111 % minimal SoC of the battery's DoD range
GrossSoC UINT16 36112 %*100.0 gross state of charge of the entire BLOKK (PylonTech 8 .. 98%)
NetSoC UINT16 36113 %*100.0 net state of charge of the entire BLOKK (0 .. 100%)
AvailableGrossSoC UINT16 36114 %*100.0 gross state of charge, only available batteries/inverters (PylonTech 8 .. 98%)
AvailableNetSoC UINT16 36115 %*100.0 net state of charge, only available batteries/inverters (0 .. 100%)
InstalledNominalCapacity UINT32 36130 Wh sum of the nominal capacity of all batteries installed.
AvailableNominalCapacity UINT32 36132 Wh sum of the nominal capacity of all batteries installed and available.
AvailableEnergyCharge UINT32 36134 Wh available energy for charging.
AvailableEnergyDischarge UINT32 36136 Wh available energy for discharging / in case of BLOKK Light NEA -> remaining energy to blackout reserve
InstalledActivePower UINT32 36150 W sum of the nominal power of all inverters installed.
AvailableNominalActivePower UINT32 36152 W sum of the nominal power of all inverters installed and available.
AvailableActivePowerCharge INT32 36154 W available active power for charging / usually >= 0, if < 0 => forced discharging.
AvailableActivePowerDischarge INT32 36156 W available active power for discharging / in case of BLOKK Light NEA -> in SoC region of blackout reserve = 0 / usually >= 0, if < 0 => forced charging.
UsedSetpointActivePower INT32 36170 W sum of all active power setpoints of the inverters. Discharge > 0 / charge < 0
UsedSetpointReactivePower INT32 36172 VAr sum of all reactive power setpoints of the inverters, if reactive power setpoint is used. over-excited = voltage-rising = reactive power generation > 0 / under-excited = voltage-lowering = reactive power consumption < 0
TemperatureMainCabinet INT16 36220 °C*10.0 temperature Main cabinet
HumidityMainCabinet INT16 36221 %*10.0 relative humidity Main cabinet
LoadShed_DO1_SheddingActive BOOL 36240   load shed DO 1 is set (TRUE), such that a load can be shed (dropped). If FALSE, load is enabled/active.
LoadShed_DO2_SheddingActive BOOL 36241   load shed DO 2 is set (TRUE), such that a load can be shed (dropped). If FALSE, load is enabled/active.
LoadShed_DO3_SheddingActive BOOL 36242   load shed DO 3 is set (TRUE), such that a load can be shed (dropped). If FALSE, load is enabled/active.
LoadShed_DO4_SheddingActive BOOL 36243   load shed DO 4 is set (TRUE), such that a load can be shed (dropped). If FALSE, load is enabled/active.
RippleControl_DI1 BOOL 36250   ripple control digital input 1 is set, (standard setting: 100% level).
RippleControl_DI2 BOOL 36251   ripple control digital input 2 is set, (standard setting: 60% level).
RippleControl_DI3 BOOL 36252   ripple control digital input 3 is set, (standard setting: 30% level).
RippleControl_DI4 BOOL 36253   ripple control digital input 4 is set, (standard setting: 0% level).
AlarmIDActive01 UINT16 36260   alarm ID of list entry 1 in alarm list, list order: severity then trigger time.
AlarmIDActive02 UINT16 36261   alarm ID of list entry 2 in alarm list, list order: severity then trigger time.
AlarmIDActive03 UINT16 36262   alarm ID of list entry 3 in alarm list, list order: severity then trigger time.
AlarmIDActive04 UINT16 36263   alarm ID of list entry 4 in alarm list, list order: severity then trigger time.
AlarmIDActive05 UINT16 36264   alarm ID of list entry 5 in alarm list, list order: severity then trigger time.
AlarmIDActive06 UINT16 36265   alarm ID of list entry 6 in alarm list, list order: severity then trigger time.
AlarmIDActive07 UINT16 36266   alarm ID of list entry 7 in alarm list, list order: severity then trigger time.
AlarmIDActive08 UINT16 36267   alarm ID of list entry 8 in alarm list, list order: severity then trigger time.
AlarmIDActive09 UINT16 36268   alarm ID of list entry 9 in alarm list, list order: severity then trigger time.
AlarmIDActive10 UINT16 36269   alarm ID of list entry 10 in alarm list, list order: severity then trigger time.
AlarmIDActive11 UINT16 36270   alarm ID of list entry 11 in alarm list, list order: severity then trigger time.
AlarmIDActive12 UINT16 36271   alarm ID of list entry 12 in alarm list, list order: severity then trigger time.
AlarmIDActive13 UINT16 36272   alarm ID of list entry 13 in alarm list, list order: severity then trigger time.
AlarmIDActive14 UINT16 36273   alarm ID of list entry 14 in alarm list, list order: severity then trigger time.
AlarmIDActive15 UINT16 36274   alarm ID of list entry 15 in alarm list, list order: severity then trigger time.
AlarmIDActive16 UINT16 36275   alarm ID of list entry 16 in alarm list, list order: severity then trigger time.
AlarmIDActive17 UINT16 36276   alarm ID of list entry 17 in alarm list, list order: severity then trigger time.
AlarmIDActive18 UINT16 36277   alarm ID of list entry 18 in alarm list, list order: severity then trigger time.
AlarmIDActive19 UINT16 36278   alarm ID of list entry 19 in alarm list, list order: severity then trigger time.
AlarmIDActive20 UINT16 36279   alarm ID of list entry 20 in alarm list, list order: severity then trigger time.

Group - MainSupport

Group Data

Description Start Address
Interface for a Main/Support BLOKK combination
For use only with multiple BLOKKs in one system
Only valid on Main BLOKK
36500

Group Config (read / write)

Name Datatype RegisterAddress Unit & Scaling Default Config Description
MainSupport_PowerDistributionMode enum/BLOKK_PowerDistributionMode 36500   BLOKK_PowerDistributionMode.Main BLOKK EMS power distribution mode for Main/Support BLOKK combination, for standalone BLOKK use BLOKK_PowerDistributionMode.Main

Group Outputs (read only)

Name Datatype RegisterAddress Unit & Scaling Description
Main_NumberOfSupportsOnline UINT16 36520   Main - Number of online/reachable Support BLOKKs in Main/Support BLOKK combination / for standalone BLOKK =1
Main_NumberOfSupportsRunning UINT16 36521   Main - Number of active/on-grid running Support BLOKKs in Main/Support BLOKK combination / for standalone BLOKK =1
Main_SystemStatus bitfield/BLOKK_MainSupportStatus 36522   Status bits of Main/Support combination, also valid for standalone BLOKK
Main_SumActivePower INT32 36530 W AC active power sum of BLOKK combination or standalone BLOKK, Discharge > 0 / charge < 0
Main_SumReactivePower INT32 36532 VAr AC reactive power sum of BLOKK combination or standalone BLOKK, over-excited = voltage-rising = reactive power generation > 0 / under-excited = voltage-lowering = reactive power consumption < 0
Main_SumPowerDC INT32 36534 W DC power sum of BLOKK combination or standalone BLOKK, Discharge < 0 / charge > 0
Main_SumAvailableActivePowerDischarge INT32 36536 W available DC power sum of BLOKK combination or standalone BLOKK for discharging / usually >= 0, if < 0 => forced charging.
Main_SumAvailableActivePowerCharge INT32 36538 W available DC power sum of BLOKK combination or standalone BLOKK for charging / usually >= 0, if < 0 => forced discharging.
Main_UsedSetpointActivePower INT32 36540 W sum of all active power setpoints of the inverters. Discharge > 0 / charge < 0
Main_UsedSetpointReactivePower INT32 36542 VAr sum of all reactive power setpoints of the inverters, if reactive power setpoint is used. over-excited = voltage-rising = reactive power generation > 0 / under-excited = voltage-lowering = reactive power consumption < 0
Main_SumGrossSoC UINT16 36550 %*100.0 gross state of charge of BLOKK combination or standalone BLOKK (PylonTech 8 .. 98%)
Main_SumNetSoC UINT16 36551 %*100.0 net state of charge of the BLOKK combination or standalone BLOKK (0 .. 100%)
Main_MaxAvailableGrossSoC UINT16 36552 %*100.0 max. possible gross state of charge (with currently available batteries/inverters) of the BLOKK combination or standalone BLOKK (PylonTech 8 .. 98%)
Main_MaxAvailableNetSoC UINT16 36553 %*100.0 max. possible net state of charge (with currently available batteries/inverters) of the BLOKK combination or standalone BLOKK (0 .. 100%)
Main_AvailableEnergyCharge UINT32 36560 Wh available energy sum of BLOKK combination or standalone BLOKK for charging.
Main_AvailableEnergyDischarge UINT32 36562 Wh available energy sum of BLOKK combination or standalone BLOKK for discharging.

Group - ExternalControl

Group Data

Description Start Address
Control interface for a external EMS 36800

Group Inputs (read / write)

Name Datatype RegisterAddress Unit & Scaling Description
Lifecounter UINT16 36800   lifecounter from external control / must be increased every 1s
TimeoutConnectionLost UINT16 36801 s timeout for detection of connection loss if no lifecounter value change / max. 12h (=43200s)
BLOKK stops operation if timeout detected
Priority UINT16 36802   priority of the EMS to control the BLOKK / set to 0 for standalone operation / set to 1 for following external control set point
OperationMode enum/ExternalControl_OperationMode 36810   selection for the EMS control operation mode for active power / set to 2 for direct power set point without grid connection point control
SetpointPrimaryPowerActive INT32 36820 W primary active power set point => set point power for selected operation mode. Discharge or grid infeed > 0 / charge or grid consumption < 0
LimitPowerActiveDischarge UINT32 36830 W discharge active power limit for BESS / if no limitation is active, write installed sum inverter power
LimitPowerActiveCharge UINT32 36832 W charge active power limit for BESS / if no limitation is active, write installed sum inverter power
LimitGridPowerActiveInfeed INT32 36834 W usually >= 0 / LimitGridPowerActiveInfeed >= -LimitGridPowerActiveConsumption / grid active power infeed limit / if no limitation is active, use rated power of grid connection point
LimitGridPowerActiveConsumption INT32 36836 W usually >= 0 / LimitGridPowerActiveConsumption >= -LimitGridPowerActiveInfeed / grid active power consumption limit / if no limitation is active, use rated power of grid connection point
OperationModeReactive enum/ExternalControl_OperationModeReactive 36850   For future use cases
selection for the EMS control operation mode for reactive power / default is InverterConfig without possibility to give a reactive power set point
!!! reactive power set point is not working without setting the corresponding operation mode at inverter configuration !!!
SetpointPowerReactive INT32 36852 Var For future use cases
over-excited = voltage-rising = reactive power generation > 0 / under-excited = voltage-lowering = reactive power consumption < 0

Group Outputs (read only)

Name Datatype RegisterAddress Unit & Scaling Description
ExternalControlActive BOOL 36870   signal external control that BLOKK follows it's set points.
CurrentOperationMode enum/ExternalControl_OperationMode 36871   feedback of the EMS control operation mode for active power
CurrentOperationModeReactive enum/ExternalControl_OperationModeReactive 36872   feedback of the EMS control operation mode for reactive power
RealizedPrimaryPowerActiveSetPoint INT32 36873 W portion of total active power, that is realized because of the external control primary power setpoint. Discharge > 0 / charge < 0