Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

on/off grid state machine for the new Box #1336

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions io.openems.edge.ess.sinexcel/bnd.bnd
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ Bundle-Version: 1.0.0.${tstamp}
io.openems.edge.bridge.modbus,\
io.openems.edge.common,\
io.openems.edge.ess.api,\
io.openems.edge.ess.generic,\
io.openems.edge.meter.api
io.openems.edge.meter.api,\
io.openems.edge.io.api

-testpath: \
${testpath},\
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
@ObjectClassDefinition( //
name = "ESS Sinexcel", //
description = "Implements the Sinexcel battery inverter.")
@interface Config {
public @interface Config {

@AttributeDefinition(name = "Component-ID", description = "Unique ID of this Component")
String id() default "ess0";
Expand All @@ -33,6 +33,26 @@
@AttributeDefinition(name = "Topping charge", description = "The topping charge voltage is the voltage that the battery supposed to finally reach in the charging procedure")
int toppingCharge() default 4370;

// input channel ------------------------
@AttributeDefinition(name = "Main contactor", description = "Input channle to control Main Contactor")
String digitalInput1() default "io0/DigitalInputM1C1";

@AttributeDefinition(name = "Grid detector", description = "Input channel to detect grid")
String digitalInput2() default "io0/DigitalInputM1C2";

@AttributeDefinition(name = "Grounding", description = "Input channel to control grounding")
String digitalInput3() default "io0/DigitalInputM2C1";

// output channel ------------------------
@AttributeDefinition(name = "DigitalOutput", description = "Output channel 1")
String digitalOutput1() default "io0/DigitalInputM3C1";

@AttributeDefinition(name = "DigitalOutput", description = "Output channel 2")
String digitalOutput2() default "io0/DigitalInputM3C2";

@AttributeDefinition(name = "DigitalOutput", description = "Output channel to control grounding")
String digitalOutput3() default "io0/DigitalInputM4C1";

@AttributeDefinition(name = "Start and stop", description = "Turn ON and turn OFF the Inverter")
InverterState InverterState() default InverterState.ON;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,15 @@
import io.openems.edge.common.sum.GridMode;
import io.openems.edge.ess.api.ManagedSymmetricEss;
import io.openems.edge.ess.api.SymmetricEss;
import io.openems.edge.ess.sinexcel.statemachine.StateMachine.State;;

public interface EssSinexcel extends SymmetricEss, ManagedSymmetricEss, EventHandler, OpenemsComponent, ModbusSlave {

public enum ChannelId implements io.openems.edge.common.channel.ChannelId {



STATE_MACHINE(Doc.of(State.values()) //
.text("Current State of State-Machine")), //
MOD_ON_CMD(Doc.of(FalseTrue.values()) //
.accessMode(AccessMode.READ_WRITE)), //
MOD_OFF_CMD(Doc.of(FalseTrue.values()) //
Expand Down Expand Up @@ -117,6 +121,9 @@ public enum ChannelId implements io.openems.edge.common.channel.ChannelId {

FREQUENCY(Doc.of(OpenemsType.INTEGER) //
.unit(Unit.HERTZ)), //
SET_OFF_GRID_FREQUENCY(Doc.of(OpenemsType.INTEGER) //
.accessMode(AccessMode.READ_WRITE) //
.unit(Unit.HERTZ)),
DC_CURRENT(Doc.of(OpenemsType.INTEGER) //
.unit(Unit.AMPERE)), //
DC_VOLTAGE(Doc.of(OpenemsType.INTEGER) //
Expand Down Expand Up @@ -344,7 +351,7 @@ public enum ChannelId implements io.openems.edge.common.channel.ChannelId {
STATE_70(Doc.of(Level.WARNING) //
.text("DC relay short-circuit")), //
STATE_71(Doc.of(Level.WARNING) //
.text("DC relay short open")), //
.text("DC realy short open")), //
STATE_72(Doc.of(Level.WARNING) //
.text("Battery power over load")), //
STATE_73(Doc.of(Level.FAULT) //
Expand Down
Loading