47 mParameters->Kp, mParameters->Kv, mParameters->Kw,
48 mParameters->T1, mParameters->T2, mParameters->T3,
65 Real Vh = sqrt(pow(Vd, 2.) + pow(Vq, 2.));
67 mV1 = -(mParameters->Kw * omega + mParameters->Kp * activePower +
68 mParameters->Kv * Vh);
69 mV2 = mA * (mParameters->Kw * omega + mParameters->Kp * activePower +
70 mParameters->Kv * Vh + mV1);
72 mB * (mV2 + (mParameters->T1 / mParameters->T2) *
73 (mParameters->Kw * omega + mParameters->Kp * activePower +
74 mParameters->Kv * Vh + mV1));
75 mVs = mV3 + (mParameters->T3 / mParameters->T4) *
76 (mV2 + (mParameters->T1 / mParameters->T2) *
77 (mParameters->Kw * omega +
78 mParameters->Kp * activePower +
79 mParameters->Kv * Vh + mV1));
82 mActivePower_prev = activePower;
85 SPDLOG_LOGGER_INFO(
mSLog,
97 Real Vh = sqrt(pow(Vd, 2.) + pow(Vq, 2.));
104 mV1 = mV1_prev - dt / mParameters->Tw *
105 (mParameters->Kw * mOmega_prev +
106 mParameters->Kp * mActivePower_prev +
107 mParameters->Kv * mVh_prev + mV1_prev);
108 mV2 = mV2_prev + dt / mParameters->T2 *
109 (mA * (mParameters->Kw * mOmega_prev +
110 mParameters->Kp * mActivePower_prev +
111 mParameters->Kv * mVh_prev + mV1_prev) -
114 dt / mParameters->T4 *
115 (mB * (mV2_prev + (mParameters->T1 / mParameters->T2) *
116 (mParameters->Kw * mOmega_prev +
117 mParameters->Kp * mActivePower_prev +
118 mParameters->Kv * mVh_prev + mV1_prev)) -
121 mVs = mV3 + (mParameters->T3 / mParameters->T4) *
122 (mV2 + (mParameters->T1 / mParameters->T2) *
123 (mParameters->Kw * omega +
124 mParameters->Kp * activePower +
125 mParameters->Kv * Vh + mV1));
128 mActivePower_prev = activePower;
131 if (mVs > mParameters->Vs_max)
132 mVs = mParameters->Vs_max;
133 else if (mVs < mParameters->Vs_min)
134 mVs = mParameters->Vs_min;