These registers are available for Modbus RTU and Modbus TCP. The cFos Power Brain Controller supports the Modbus functions
03
read multiple holding registers06
write single holding register16
write multiple holding registersWe distinguish four devices:
2 S0 meters, 1 charging station and 1 attached (Modbus) meter, which are distinguished by the Modbus slave ID and (for Modbus TCP) the TCP port.
Note: Write access to the Modbus registers causes writing to the flash memory of the cFos Power Brain and should therefore not take place regularly. The following registers are not saved permanently and can therefore be changed regularly: charging_cur_limit, fixed_current, charging_enable, disconnect_cp, relay_select, relay2. All other registers are written to flash when they are changed, so the number of write operations should be limited!
EVSE | Slave Id 1 | TCP port 4701 |
S0 Meter 1 | Slave Id 2 | TCP port 4702 |
S0 Meter 2 | Slave Id 3 | TCP port 4703 |
pinned counter | Slave Id 1 | TCP port 4701 (via Wallbox Register) |
Depending on which device it is and whether, for example, a meter is attached to the EVSE, the following registers apply:
Name | Address | Registers | Description |
---|---|---|---|
vendor_id | 8000 | 2 r | Unique vendor id, 0xcf05 |
product_id | 8002 | 1 r | Product id, 1 |
device_id | 8003 | 1 r | Device id inside the product, 0x100 |
product_version | 8004 | 2 r | Product version, major.minor |
product_build | 8005 | 1 r | Product build number |
mapping_version | 8006 | 1 r | major.minor version of this register mapping |
padding_1 | 8007 | 1 r | Reserved |
serial_no | 8008 | 8 r | Serial number string |
name | 8016 | 16 r | Product name, "cFos Power Brain Controller" |
slave_id | 8040 | 1 rw | Modbus slave ID |
Name | Address | Registers | Description |
---|---|---|---|
input | 8041 | 1 r | Reserved |
pulsesperkwh | 8042 | 2 rw | Impulses per kWh for input S0 |
phases | 8044 | 1 rw | Bitmask of simulated phases, bit 0 = L1, bit 1 = L2, bit 2 = L3 |
voltage_l1 | 8045 | 1 rw | Nominal Voltage L1 [V] |
voltage_l2 | 8046 | 1 rw | Nominal Voltage L2 [V] |
voltage_l3 | 8047 | 1 rw | Nominal Voltage L3 [V] |
pulses | 8050 | 4 rw | Absolute number of pulses on S0 input |
timeperpulse | 8054 | 2 r | Time between last two pulses on S0 input [ms] |
level | 8056 | 1 r | Current input level of S0 input 0 = current flows, 1 = current does not flow |
meter_flags | 8057 | 1 r | bit 0: 1=has individual phases |
energy | 8058 | 4 rw | Active import [Wh] |
power | 8062 | 2 r | Active power [W] |
current_l1 | 8064 | 2 r | Present current L1 [0.1 A] |
current_l2 | 8066 | 2 r | Present current L2 [0.1 A] |
current_l3 | 8068 | 2 r | Present current L3 [0.1 A] |
reset_pulses | 8070 | 1 w | Reset pulse counter [1] |
reset_energy | 8071 | 1 w | Reset energy [1] |
Registers 8057 to 8068 are available (see S0 counter)
Default values after reboot:
Name | Address | Registers | Description |
---|---|---|---|
def_fixed_current | 8080 | 1 rw | Default value cable_current [0.1 A] (*) |
def_charg_cur_limit | 8081 | 1 rw | Default charging current limit [0.1 A] 6-63 (*) |
def_charging_enable | 8082 | 1 rw | Default charging enabled [0/1] (*) |
(*) This value will be set accordingly after a reboot. | |||
fail_safe_duration | 8083 | 2 rw | Number of seconds without reading/writing via Modbus before fail_safe_current is applied, 0 to deactivate. Default value is 300 (5 minutes) |
fail_safe_current | 8085 | 1 rw | Current during inactivity in 0.1A, 0 = deactivate charging |
disconnect_cp | 8086 | 1 rw | Write: Number of seconds of switch-off CP, Read: Seconds remaining |
relay_select | 8087 | 1 rw | Write: 0=3-phase contactor, 1=1-phase contactor, for wallboxes that support this (at least controller Rev. F) |
relay2 | 8088 | 1 rw | Write: 0=relay 2 off, 1=relay 2 on (only if relay 1 is off), for wallboxes that support this (at least controller Rev. F) |
cable_current | 8090 | 1 r | PP: Cable max current [0.1 A], 0: no cable |
fixed_current | 8091 | 1 rw | Overwrite cable_current [0.1 A] |
charge_pilot_state | 8092 | 1 r | CP: 0 = A (waiting), 1 = B (vehicle detected), 2 = C (charging), 3 = D (charging with ventilation), 4 = E (no current), 5 = F (error), 9 = DC sensor error. All other values: Error |
charging_cur_limit | 8093 | 1 rw | Charging current limit [0.1 A] 6-63A, may be limited due to model limitations (e.g. for cFos Power Brain Wallbox 11kW, it's limited to 16A) |
charging_enable | 8094 | 1 rw | Charging enabled [0/1] 0 = disable, 1 = enable |
charging_current | 8095 | 1 r | Charging current [0.1 A] 6-63 |
last_rfid | 8096 | 15 r | Last seen rfid (hex-string) |
detected_rfids | 8111 | 1 r | Number of RFID inputs |
has_meter | 8112 | 1 r | 1, if a counter is attached (then registers 8057-8068 are readable), otherwise 0 |
s0_inputs | 8113 | 1 r | Bit 0=Status of S0 input 1 bit 1=Status of S0 input 2 bit 8=Is switching to 1/3-phase permitted when plugged in? (1=yes) bit 9=bit 10 is valid bit 10=2nd relay present (1=yes, if bit 9=1) bit 11=relay 2 is controlled externally (see reg. 8088) |
count_restart | 8120 | 2 rw | Number of restarts of the hardware |