soft4pes.control.lin.state_space_curr_ctr#

State-space current controller with anti-windup scheme for grid-connected converter with RL load

Classes#

RLGridStateSpaceCurrCtr

State-space current controller with anti-windup scheme for grid-connected converter with

Module Contents#

class soft4pes.control.lin.state_space_curr_ctr.RLGridStateSpaceCurrCtr(sys, base, Ts, ig_ref_seq_dq)[source]#

State-space current controller with anti-windup scheme for grid-connected converter with RL load.

Parameters:
  • sys (system object) – System model.

  • base (base-value object) – Base values.

  • Ts (float) – Sampling interval [s].

  • ig_ref_seq_dq (Sequence object) – Current reference sequence instance in dq-frame [p.u.].

Rf[source]#

Resistance [p.u.].

Type:

float

Xf[source]#

Reactance [p.u.].

Type:

float

Ts[source]#

Sampling interval [s].

Type:

float

Ts_pu[source]#

Sampling interval [p.u.].

Type:

float

ctr_pars[source]#

A SimpleNamespace object containing controller parameters delta, K_i, k_ii and K_ti

Type:

SimpleNamespace

uc_ii_dq#

Converter voltage reference after current controller integrator in dq frame [p.u.].

Type:

1 x 2 ndarray of floats

uc_km1_dq[source]#

Previous converter voltage reference in dq frame [p.u.].

Type:

1 x 2 ndarray of floats

ig_ref_seq_dq[source]#

Current reference sequence instance in dq-frame [p.u.].

Type:

Sequence object

data[source]#

Controller data.

Type:

dict

__call__(sys, kTs)[source]#

Perform control.

Parameters:
  • sys (system object) – System model.

  • kTs (float) – Current discrete time instant [s].

Returns:

Modulating signal.

Return type:

1 x 3 ndarray of floats

get_state_space_ctr_pars()[source]#

Calculate state-space controller parameters.

Returns:

Controller parameters.

Return type:

SimpleNamespace

state_space_controller(ic_dq, ic_ref_dq, uf_dq, u_max)[source]#

State-space controller in dq frame.

Parameters:
  • ic_dq (1 x 2 ndarray of floats) – Grid Current in dq frame [p.u.].

  • ic_ref_dq (1 x 2 ndarray of floats) – Reference current in dq frame [p.u.].

  • uf_dq (1 x 2 ndarray of floats) – Grid voltage in dq frame [p.u.] (In case: Without considering the filter).

  • u_max (float) – Maximum converter output voltage [p.u.].

Returns:

Converter voltage reference in dq frame [p.u.].

Return type:

1 x 2 ndarray of floats

voltage_reference_limiter(u_max, uc_ref_dq_unlim)[source]#

limit the converter voltage reference.

Parameters:
  • u_max (float) – Maximum converter output voltage [p.u.].

  • uc_ref_dq_unlim (1 x 2 ndarray of floats) – Unlimited converter voltage reference [p.u.].

Returns:

Limited converter voltage reference [p.u.].

Return type:

1 x 2 ndarray of floats

save_data(ig_ref, u_abc, kTs)[source]#

Save controller data.

Parameters:
  • ig_ref (1 x 2 ndarray of floats) – Current reference in alpha-beta frame.

  • u_abc (1 x 3 ndarray of floats) – Converter three-phase switch position or modulating signal.

  • kTs (float) – Current discrete time instant [s].

get_control_system_data()[source]#

This is a empty method to make different controllers compatible when building the new control system structure.