def __init__(self, pll=None, pdroop=None, qdroop=None, **kwargs): super().__init__(**kwargs) pdroop = {**dict(gain=40000.0), **(pdroop or {})} qdroop = {**dict(gain=50.0), **(qdroop or {})} pll = {**dict(kP=10, kI=200), **(pll or {})} # toDo: set time Constant for droop Filter correct self.pdroop_ctl = InverseDroopController( InverseDroopParams(tau=self.net.ts, nom_value=self.net.freq_nom, **pdroop), self.net.ts) self.qdroop_ctl = InverseDroopController( InverseDroopParams(tau=self.net.ts, nom_value=self.net.v_nom, **qdroop), self.net.ts) # default pll params and new ones self.pll = PLL(PLLParams(f_nom=self.net.freq_nom, **pll), self.net.ts)
MultiPhaseDQ0PIPIController(voltage_dqp_iparams, current_dqp_iparams, droop_param, qdroop_param, ts_sim=delta_t, name='master')) ##################################### # Define the current sourcing inverter as slave # Current control PI gain parameters for the current sourcing inverter current_dqp_iparams = PI_params(kP=0.005, kI=200, limits=(-1, 1)) # PI gain parameters for the PLL in the current forming inverter pll_params = PLLParams(kP=10, kI=200, limits=None, f_nom=freq_nom) # Droop characteristic for the active power Watts/Hz, W.s/Hz droop_param = InverseDroopParams(DroopGain, delta_t, freq_nom, tau_filt=0.04) # Droop characteristic for the reactive power VAR/Volt Var.s/Volt qdroop_param = InverseDroopParams(50, delta_t, v_nom, tau_filt=0.01) # Add to dict ctrl.append( MultiPhaseDQCurrentController(current_dqp_iparams, pll_params, i_lim, droop_param, qdroop_param, ts_sim=delta_t, name='slave')) # Define the agent as StaticControlAgent which performs the basic controller steps for every environment set agent = StaticControlAgent(
# Definition of the kernel kernel = GPy.kern.Matern32(input_dim=len(bounds), variance=prior_var, lengthscale=lengthscale, ARD=True) ##################################### # Definition of the controllers # Choose all droop parameter as mutable parameters mutable_params = dict(pDroop_master=MutableFloat(30000.0), pDroop_slave=MutableFloat(30000.0), qDroop_master=MutableFloat(QDroopGain), qDroop_slave=MutableFloat(10)) # Define the droop parameters for the inverter of the active power Watt/Hz (DroopGain), delta_t (0.005) used for # the filter and the nominal frequency # Droop controller used to calculate the virtual frequency drop due to load changes droop_param_master = DroopParams(mutable_params['pDroop_master'], 0.005, freq_nom) # droop parameter used to react on frequency drop droop_param_slave = InverseDroopParams(mutable_params['pDroop_slave'], delta_t, freq_nom, tau_filt=0.04) # Droop characteristic for the reactive power VAR/Volt Var.s/Volt # qDroop parameter used for virtual voltage drop qdroop_param_master = DroopParams(mutable_params['qDroop_master'], 0.002, v_nom) # Droop characteristic for the reactive power VAR/Volt Var.s/Volt qdroop_param_slave = InverseDroopParams(mutable_params['qDroop_slave'], delta_t, v_nom, tau_filt=0.01) ############### # define Master voltage_dqp_iparams = PI_params(kP=0.025, kI=60, limits=(-i_lim, i_lim)) # Current control PI gain parameters for the voltage sourcing inverter current_dqp_iparams = PI_params(kP=0.012, kI=90, limits=(-1, 1)) # Define a current sourcing inverter as master inverter using the pi and droop parameters from above ctrl.append(MultiPhaseDQ0PIPIController(voltage_dqp_iparams, current_dqp_iparams, droop_param_master, qdroop_param_master, ts_sim=delta_t, ts_ctrl=2 * delta_t, name='master'))
MultiPhaseDQ0PIPIController(voltage_dqp_iparams, current_dqp_iparams, delta_t, droop_param, qdroop_param, name='master')) ##################################### # Define the current sourcing inverter as slave # Current control PI gain parameters for the current sourcing inverter current_dqp_iparams = PI_params(kP=0.005, kI=200, limits=(-1, 1)) # PI gain parameters for the PLL in the current forming inverter pll_params = PLLParams(kP=10, kI=200, limits=None, f_nom=nomFreq) # Droop characteristic for the active power Watts/Hz, W.s/Hz droop_param = InverseDroopParams(DroopGain, delta_t, nomFreq, tau_filt=0.04) # Droop characteristic for the reactive power VAR/Volt Var.s/Volt qdroop_param = InverseDroopParams(50, delta_t, nomVoltPeak, tau_filt=0.01) # Add to dict ctrl.append( MultiPhaseDQCurrentController(current_dqp_iparams, pll_params, delta_t, iLimit, droop_param, qdroop_param, name='slave')) # Define the agent as StaticControlAgent which performs the basic controller steps for every environment set agent = StaticControlAgent(
# Definition of the controllers # Choose all droop parameter as mutable parameters mutable_params = dict(pDroop_master=MutableFloat(30000.0), pDroop_slave=MutableFloat(30000.0), qDroop_master=MutableFloat(QDroopGain), qDroop_slave=MutableFloat(10)) # Define the droop parameters for the inverter of the active power Watt/Hz (DroopGain), delta_t (0.005) used for # the filter and the nominal frequency # Droop controller used to calculate the virtual frequency drop due to load changes droop_param_master = DroopParams(mutable_params['pDroop_master'], 0.005, nomFreq) # droop parameter used to react on frequency drop droop_param_slave = InverseDroopParams(mutable_params['pDroop_slave'], delta_t, nomFreq, tau_filt=0.04) # Droop characteristic for the reactive power VAR/Volt Var.s/Volt # qDroop parameter used for virtual voltage drop qdroop_param_master = DroopParams(mutable_params['qDroop_master'], 0.002, nomVoltPeak) # Droop characteristic for the reactive power VAR/Volt Var.s/Volt qdroop_param_slave = InverseDroopParams(mutable_params['qDroop_slave'], delta_t, nomVoltPeak, tau_filt=0.01) ############### # define Master voltage_dqp_iparams = PI_params(kP=0.025, kI=60, limits=(-iLimit, iLimit)) # Current control PI gain parameters for the voltage sourcing inverter