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 permanently stored and can therefore be changed regularly: charging_cur_limit, fixed_current, charging_enable, disconnect_cp. For all other registers, changes are written to the flash, 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 before charging_cur_limit and charging_enable are restored. Default value is 300 (5 minutes) |
fail_safe_current | 8085 | 1 rw | Power during inactivity, 0 = disable 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) |
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 power), 5 = F (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 the registers 8057-8068 are readable), otherwise 0 |
s0_inputs | 8113 | 1 r | Bit 0=State S0 input 1, bit 1=State S0 input 2 |
count_restart | 8120 | 2 rw | Number of restarts of the hardware |