.. _DGProtection: ================================================================================ DGProtection ================================================================================ Protection model for DG. Common Parameters: u, name Available models: DGPRCT1_, DGPRCTExt_ .. _DGPRCT1: -------------------------------------------------------------------------------- DGPRCT1 -------------------------------------------------------------------------------- DGPRCT1 model, follow IEEE-1547-2018. DGPRCT stands for DG protection. A demo is provided: examples/demonstration/1.1 demo_DGPRCT1.ipynb Target device (limited to DG group) ``Psum`` and ``Qsum`` will decrease to zero immediately when frequency/voltage protection flag is raised. Once the lock is released, ``Psum`` and ``Qsum`` will return to normal immediately. DG group base model ``PVD1`` already has a degrading function which is used to degrade output under abnormal condition. it is recommended to turn it off by setting `recflag = 0`. ``fen`` and ``Ven`` are protection enabling parameters. 1/0 is on/off. ``ue`` is lock flag signal. It should be noted that, the lock only lock the ``fHz`` (frequency read value) of DG model. The source values (which come from ``BusFreq`` `f` remain unchanged.) Protection sensors (e.g., IAWfl1) are instances of ``IntergratorAntiWindup``. All the protection sensors will be reset after ``ue`` returns to 0. Resetting action takes `Tres` to finish. The model does not check the shedding points sequence. The input parameters are required to satisfy ``fl3 < fl2 < fl1 < fu1 < fu2 < fu3``, and ``ul4 < ul3 < ul2 < ul1 < uu1 < uu2 < uu3``. Default settings: Frequency (Hz): `(fl3, fl2), Tfl2` [(50.0, 57.5), 10s] `(fl2, fl1), Tfl1` [(57.5, 59.2), 300s] `(fu1, fu2), Tfu1` [(60.5, 61.5), 300s] `(fu2, fu3), Tfu2` [(61.5, 70.0), 10s] Voltage (p.u.): `(vl4, vl3), Tvl3` [(0.10, 0.45), 0.16s] `(vl3, vl2), Tvl2` [(0.45, 0.60), 1s] `(vl2, vl1), Tvl1` [(0.60, 0.88), 2s] `(vu1, vu2), Tvu1` [(1.10, 1.20), 1s] `(vu2, vu3), Tvu2` [(1.20, 2.00), 0.16s] Reference: NERC. Bulk Power System Reliability Perspectives on the Adoption of IEEE 1547-2018. March 2020. Available: https://www.nerc.com/comm/PC_Reliability_Guidelines_DL/Guideline_IEEE_1547-2018_BPS_Perspectives.pdf Parameters ---------- +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Name | Symbol | Description | Default | Unit | Properties | +==========+=================+=======================================================================================================+=========+========+==============+ | idx | | unique device idx | | | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | u | :math:`u` | connection status | 1 | *bool* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | name | | device name | | | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | dev | | idx of the target device | | | mandatory | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | busfreq | | Target device interface bus measurement device idx | | | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | fen | :math:`fen` | Frequency deviation protection enable. 1 for enable, 0 for disable. | 1 | | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Ven | :math:`Ven` | Voltage deviation protection enable. 1 for enable, 0 for disable. | 0 | | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | fl3 | :math:`fl3` | Under frequency shadding point 3 | 50 | *Hz* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | fl2 | :math:`fl2` | Over frequency shadding point 2 | 57.500 | *Hz* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | fl1 | :math:`fl1` | Under frequency shadding point 1 | 59.200 | *Hz* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | fu1 | :math:`fu1` | Over frequency shadding point 1 | 60.500 | *Hz* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | fu2 | :math:`fu2` | Over frequency shadding point 2 | 61.500 | *Hz* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | fu3 | :math:`fu3` | Over frequency shadding point 3 | 70 | *Hz* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tfl1 | :math:`T_{fl1}` | Stand time for (fl2, fl1) | 300 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tfl2 | :math:`T_{fl2}` | Stand time for (fl3, fl2) | 10 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tfu1 | :math:`T_{fu1}` | Stand time for (fu1, fu2) | 300 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tfu2 | :math:`T_{fu2}` | Stand time for (fu2, fu3) | 10 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | vl4 | :math:`vl4` | Under voltage shadding point 4 | 0.100 | *p.u.* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | vl3 | :math:`vl3` | Under voltage shadding point 3 | 0.450 | *p.u.* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | vl2 | :math:`vl2` | Under voltage shadding point 2 | 0.600 | *p.u.* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | vl1 | :math:`vl1` | Under voltage shadding point 1 | 0.880 | *p.u.* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | vu1 | :math:`vu1` | Over voltage shadding point 1 | 1.100 | *p.u.* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | vu2 | :math:`vu2` | Over voltage shadding point 2 | 1.200 | *p.u.* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | vu3 | :math:`vu3` | Over voltage shadding point 3 | 2 | *p.u.* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tvl1 | :math:`T_{vl1}` | Stand time for (vl2, vl1) | 2 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tvl2 | :math:`T_{vl2}` | Stand time for (vl3, vl2) | 1 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tvl3 | :math:`T_{vl3}` | Stand time for (vl4, vl3) | 0.160 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tvu1 | :math:`T_{vu1}` | Stand time for (vu1, vu2) | 1 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tvu2 | :math:`T_{vu2}` | Stand time for (vu2, vu3) | 0.160 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tres | | Integrator reset time | 0.050 | | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | bus | | | 0 | | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | fn | | | 0 | | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ Variables --------- +-----------+---------------------+----------+-------------------------+--------+------------+ | Name | Symbol | Type | Description | Unit | Properties | +===========+=====================+==========+=========================+========+============+ | IAWfl1_y | :math:`IAWfl_{1 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | IAWfl2_y | :math:`IAWfl_{2 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | IAWfu1_y | :math:`IAWfu_{1 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | IAWfu2_y | :math:`IAWfu_{2 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | IAWVl1_y | :math:`IAWVl_{1 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | IAWVl2_y | :math:`IAWVl_{2 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | IAWVl3_y | :math:`IAWVl_{3 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | IAWVu1_y | :math:`IAWVu_{1 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | IAWVu2_y | :math:`IAWVu_{2 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | fHz | :math:`fHz` | Algeb | frequency in Hz | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | dsum | :math:`dsum` | Algeb | lock signal summation | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | ue | :math:`ue` | Algeb | lock flag | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | f | :math:`f` | ExtAlgeb | DG frequency read value | *p.u.* | | +-----------+---------------------+----------+-------------------------+--------+------------+ | fin | :math:`fin` | ExtAlgeb | original f from DG | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | fHzl | :math:`fHzl` | ExtAlgeb | Frequency measure lock | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | Pext | :math:`Pext` | ExtAlgeb | original Pext from DG | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | Pref | :math:`Pref` | ExtAlgeb | original Pref from DG | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | Pdrp | :math:`Pdrp` | ExtAlgeb | original Pdrp from DG | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | Psum | :math:`Psum` | ExtAlgeb | Active power lock | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | Qdrp | :math:`Qdrp` | ExtAlgeb | original Qdrp from DG | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | Qref | :math:`Qref` | ExtAlgeb | original Qref from DG | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | Qsum | :math:`Qsum` | ExtAlgeb | Reactive power lock | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | v | :math:`v` | ExtAlgeb | Bus voltage | *p.u.* | | +-----------+---------------------+----------+-------------------------+--------+------------+ Initialization Equations ------------------------ +-----------+---------------------+----------+---------------+ | Name | Symbol | Type | Initial Value | +===========+=====================+==========+===============+ | IAWfl1_y | :math:`IAWfl_{1 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | IAWfl2_y | :math:`IAWfl_{2 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | IAWfu1_y | :math:`IAWfu_{1 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | IAWfu2_y | :math:`IAWfu_{2 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | IAWVl1_y | :math:`IAWVl_{1 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | IAWVl2_y | :math:`IAWVl_{2 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | IAWVl3_y | :math:`IAWVl_{3 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | IAWVu1_y | :math:`IAWVu_{1 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | IAWVu2_y | :math:`IAWVu_{2 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | fHz | :math:`fHz` | Algeb | :math:`f fn` | +-----------+---------------------+----------+---------------+ | dsum | :math:`dsum` | Algeb | :math:`0` | +-----------+---------------------+----------+---------------+ | ue | :math:`ue` | Algeb | :math:`0` | +-----------+---------------------+----------+---------------+ | f | :math:`f` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | fin | :math:`fin` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | fHzl | :math:`fHzl` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | Pext | :math:`Pext` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | Pref | :math:`Pref` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | Pdrp | :math:`Pdrp` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | Psum | :math:`Psum` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | Qdrp | :math:`Qdrp` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | Qref | :math:`Qref` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | Qsum | :math:`Qsum` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | v | :math:`v` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ Differential Equations ----------------------------- +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | Name | Symbol | Type | RHS of Equation "T x' = f(x, y)" | T (LHS) | +===========+=====================+=======+====================================================================+===========+ | IAWfl1_y | :math:`IAWfl_{1 y}` | State | :math:`Lfl_{1 zi} \left(1 - res\right) - \frac{Tfl_{1} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | IAWfl2_y | :math:`IAWfl_{2 y}` | State | :math:`Lfl_{2 zi} \left(1 - res\right) - \frac{Tfl_{2} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | IAWfu1_y | :math:`IAWfu_{1 y}` | State | :math:`Lfu_{1 zi} \left(1 - res\right) - \frac{Tfu_{1} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | IAWfu2_y | :math:`IAWfu_{2 y}` | State | :math:`Lfl_{2 zi} \left(1 - res\right) - \frac{Tfu_{2} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | IAWVl1_y | :math:`IAWVl_{1 y}` | State | :math:`LVl_{1 zi} \left(1 - res\right) - \frac{Tvl_{1} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | IAWVl2_y | :math:`IAWVl_{2 y}` | State | :math:`LVl_{2 zi} \left(1 - res\right) - \frac{Tvl_{2} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | IAWVl3_y | :math:`IAWVl_{3 y}` | State | :math:`LVl_{2 zi} \left(1 - res\right) - \frac{Tvl_{3} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | IAWVu1_y | :math:`IAWVu_{1 y}` | State | :math:`LVu_{1 zi} \left(1 - res\right) - \frac{Tvu_{1} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | IAWVu2_y | :math:`IAWVu_{2 y}` | State | :math:`LVu_{2 zi} \left(1 - res\right) - \frac{Tvu_{2} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ Algebraic Equations ----------------------------- +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | Symbol | Type | RHS of Equation "0 = g(x, y)" | +=======+==============+==========+==============================================================================================================================================================================================================================================================================================================================+ | fHz | :math:`fHz` | Algeb | :math:`f fn - fHz` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | dsum | :math:`dsum` | Algeb | :math:`Ven \left(IAWVl_{1 lim zu} LVl_{1 zi} + IAWVl_{2 lim zu} LVl_{2 zi} + IAWVl_{3 lim zu} LVl_{3 zi} + IAWVu_{1 lim zu} LVu_{1 zi} + IAWVu_{2 lim zu} LVu_{2 zi}\right) - dsum + fen \left(IAWfl_{1 lim zu} Lfl_{1 zi} + IAWfl_{2 lim zu} Lfl_{2 zi} + IAWfu_{1 lim zu} Lfu_{1 zi} + IAWfu_{2 lim zu} Lfu_{2 zi}\right)` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ue | :math:`ue` | Algeb | :math:`Ldsum_{zu} - ue` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | f | :math:`f` | ExtAlgeb | :math:`0` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | fin | :math:`fin` | ExtAlgeb | :math:`0` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | fHzl | :math:`fHzl` | ExtAlgeb | :math:`- f fn ue` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Pext | :math:`Pext` | ExtAlgeb | :math:`0` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Pref | :math:`Pref` | ExtAlgeb | :math:`0` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Pdrp | :math:`Pdrp` | ExtAlgeb | :math:`0` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Psum | :math:`Psum` | ExtAlgeb | :math:`- ue \left(Pdrp + Pext + Pref\right)` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Qdrp | :math:`Qdrp` | ExtAlgeb | :math:`0` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Qref | :math:`Qref` | ExtAlgeb | :math:`0` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Qsum | :math:`Qsum` | ExtAlgeb | :math:`- ue \left(Qdrp + Qref\right)` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | v | :math:`v` | ExtAlgeb | :math:`0` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Services ---------- +-------+--------------+-------------+---------------+ | Name | Symbol | Equation | Type | +=======+==============+=============+===============+ | ltu | :math:`ltu` | :math:`0.8` | ConstService | +-------+--------------+-------------+---------------+ | ltl | :math:`ltl` | :math:`0.2` | ConstService | +-------+--------------+-------------+---------------+ | zero | :math:`zero` | :math:`0` | ConstService | +-------+--------------+-------------+---------------+ | res | :math:`res` | :math:`0` | ExtendedEvent | +-------+--------------+-------------+---------------+ Discretes ----------- +-------------+----------------------+------------+------------------------------------+ | Name | Symbol | Type | Info | +=============+======================+============+====================================+ | Ldsum | :math:`Ldsum` | Limiter | lock signal comparer, zu is to act | +-------------+----------------------+------------+------------------------------------+ | Lfl1 | :math:`Lfl1` | Limiter | Frequency comparer for (fl3, fl1) | +-------------+----------------------+------------+------------------------------------+ | Lfl2 | :math:`Lfl2` | Limiter | Frequency comparer for (fl3, fl2) | +-------------+----------------------+------------+------------------------------------+ | Lfu1 | :math:`Lfu1` | Limiter | Frequency comparer for (fu1, fu3) | +-------------+----------------------+------------+------------------------------------+ | Lfu2 | :math:`Lfu2` | Limiter | Frequency comparer for (fu2, fu3) | +-------------+----------------------+------------+------------------------------------+ | IAWfl1_lim | :math:`lim_{IAWfl1}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ | IAWfl2_lim | :math:`lim_{IAWfl2}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ | IAWfu1_lim | :math:`lim_{IAWfu1}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ | IAWfu2_lim | :math:`lim_{IAWfu2}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ | LVl1 | :math:`LVl1` | Limiter | Voltage comparer for (vl4, vl1) | +-------------+----------------------+------------+------------------------------------+ | LVl2 | :math:`LVl2` | Limiter | Voltage comparer for (vl4, vl2) | +-------------+----------------------+------------+------------------------------------+ | LVl3 | :math:`LVl3` | Limiter | Voltage comparer for (vl4, vl3) | +-------------+----------------------+------------+------------------------------------+ | LVu1 | :math:`LVu1` | Limiter | Voltage comparer for (vu1, vu3) | +-------------+----------------------+------------+------------------------------------+ | LVu2 | :math:`LVu2` | Limiter | Voltage comparer for (vu2, vu3) | +-------------+----------------------+------------+------------------------------------+ | IAWVl1_lim | :math:`lim_{IAWVl1}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ | IAWVl2_lim | :math:`lim_{IAWVl2}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ | IAWVl3_lim | :math:`lim_{IAWVl3}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ | IAWVu1_lim | :math:`lim_{IAWVu1}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ | IAWVu2_lim | :math:`lim_{IAWVu2}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ Blocks ------- +---------+----------------+----------------------+--------------------------------+ | Name | Symbol | Type | Info | +=========+================+======================+================================+ | IAWfl1 | :math:`IAWfl1` | IntegratorAntiWindup | condition check for (fl3, fl1) | +---------+----------------+----------------------+--------------------------------+ | IAWfl2 | :math:`IAWfl2` | IntegratorAntiWindup | condition check for (fl3, fl2) | +---------+----------------+----------------------+--------------------------------+ | IAWfu1 | :math:`IAWfu1` | IntegratorAntiWindup | condition check for (fu1, fu3) | +---------+----------------+----------------------+--------------------------------+ | IAWfu2 | :math:`IAWfu2` | IntegratorAntiWindup | condition check for (fu2, fu3) | +---------+----------------+----------------------+--------------------------------+ | IAWVl1 | :math:`IAWVl1` | IntegratorAntiWindup | condition check for (Vl3, Vl1) | +---------+----------------+----------------------+--------------------------------+ | IAWVl2 | :math:`IAWVl2` | IntegratorAntiWindup | condition check for (Vl3, Vl2) | +---------+----------------+----------------------+--------------------------------+ | IAWVl3 | :math:`IAWVl3` | IntegratorAntiWindup | condition check for (Vl3, Vl2) | +---------+----------------+----------------------+--------------------------------+ | IAWVu1 | :math:`IAWVu1` | IntegratorAntiWindup | condition check for (Vu1, Vu3) | +---------+----------------+----------------------+--------------------------------+ | IAWVu2 | :math:`IAWVu2` | IntegratorAntiWindup | condition check for (Vu2, Vu3) | +---------+----------------+----------------------+--------------------------------+ Config Fields in [DGPRCT1] +---------------+--------+-------+---------------------------------------+-----------------+ | Option | Symbol | Value | Info | Accepted values | +===============+========+=======+=======================================+=================+ | allow_adjust | | 1 | allow adjusting upper or lower limits | (0, 1) | +---------------+--------+-------+---------------------------------------+-----------------+ | adjust_lower | | 0 | adjust lower limit | (0, 1) | +---------------+--------+-------+---------------------------------------+-----------------+ | adjust_upper | | 1 | adjust upper limit | (0, 1) | +---------------+--------+-------+---------------------------------------+-----------------+ .. _DGPRCTExt: -------------------------------------------------------------------------------- DGPRCTExt -------------------------------------------------------------------------------- DGPRCT External model, follow IEEE-1547-2018. DGPRCT stands for DG protection. Similar to DGPRCT1, but the measured voltage can be manipulated. A demo is provided: examples/demonstration/1.2 demo_DGPRCTExt.ipynb This model can be applied to co-simulation, where you can input the external votage signal into ANDES. If no extertal value is applied, the votalge will remain as the initialized value. Target device (limited to DG group) ``Psum`` and ``Qsum`` will decrease to zero immediately when frequency/voltage protection flag is raised. Once the lock is released, ``Psum`` and ``Qsum`` will return to normal immediately. DG group base model ``PVD1`` already has a degrading function which is used to degrade output under abnormal condition. it is recommended to turn it off by setting `recflag = 0`. ``fen`` and ``Ven`` are protection enabling parameters. 1/0 is on/off. ``ue`` is lock flag signal. It should be noted that, the lock only lock the ``fHz`` (frequency read value) of DG model. The source values (which come from ``BusFreq`` `f` remain unchanged.) Protection sensors (e.g., IAWfl1) are instances of ``IntergratorAntiWindup``. All the protection sensors will be reset after ``ue`` returns to 0. Resetting action takes `Tres` to finish. The model does not check the shedding points sequence. The input parameters are required to satisfy ``fl3 < fl2 < fl1 < fu1 < fu2 < fu3``, and ``ul4 < ul3 < ul2 < ul1 < uu1 < uu2 < uu3``. Default settings: Frequency (Hz): `(fl3, fl2), Tfl2` [(50.0, 57.5), 10s] `(fl2, fl1), Tfl1` [(57.5, 59.2), 300s] `(fu1, fu2), Tfu1` [(60.5, 61.5), 300s] `(fu2, fu3), Tfu2` [(61.5, 70.0), 10s] Voltage (p.u.): `(vl4, vl3), Tvl3` [(0.10, 0.45), 0.16s] `(vl3, vl2), Tvl2` [(0.45, 0.60), 1s] `(vl2, vl1), Tvl1` [(0.60, 0.88), 2s] `(vu1, vu2), Tvu1` [(1.10, 1.20), 1s] `(vu2, vu3), Tvu2` [(1.20, 2.00), 0.16s] Reference: NERC. Bulk Power System Reliability Perspectives on the Adoption of IEEE 1547-2018. March 2020. Available: https://www.nerc.com/comm/PC_Reliability_Guidelines_DL/Guideline_IEEE_1547-2018_BPS_Perspectives.pdf Parameters ---------- +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Name | Symbol | Description | Default | Unit | Properties | +==========+=================+=======================================================================================================+=========+========+==============+ | idx | | unique device idx | | | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | u | :math:`u` | connection status | 1 | *bool* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | name | | device name | | | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | dev | | idx of the target device | | | mandatory | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | busfreq | | Target device interface bus measurement device idx | | | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | fen | :math:`fen` | Frequency deviation protection enable. 1 for enable, 0 for disable. | 1 | | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Ven | :math:`Ven` | Voltage deviation protection enable. 1 for enable, 0 for disable. | 0 | | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | fl3 | :math:`fl3` | Under frequency shadding point 3 | 50 | *Hz* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | fl2 | :math:`fl2` | Over frequency shadding point 2 | 57.500 | *Hz* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | fl1 | :math:`fl1` | Under frequency shadding point 1 | 59.200 | *Hz* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | fu1 | :math:`fu1` | Over frequency shadding point 1 | 60.500 | *Hz* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | fu2 | :math:`fu2` | Over frequency shadding point 2 | 61.500 | *Hz* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | fu3 | :math:`fu3` | Over frequency shadding point 3 | 70 | *Hz* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tfl1 | :math:`T_{fl1}` | Stand time for (fl2, fl1) | 300 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tfl2 | :math:`T_{fl2}` | Stand time for (fl3, fl2) | 10 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tfu1 | :math:`T_{fu1}` | Stand time for (fu1, fu2) | 300 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tfu2 | :math:`T_{fu2}` | Stand time for (fu2, fu3) | 10 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | vl4 | :math:`vl4` | Under voltage shadding point 4 | 0.100 | *p.u.* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | vl3 | :math:`vl3` | Under voltage shadding point 3 | 0.450 | *p.u.* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | vl2 | :math:`vl2` | Under voltage shadding point 2 | 0.600 | *p.u.* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | vl1 | :math:`vl1` | Under voltage shadding point 1 | 0.880 | *p.u.* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | vu1 | :math:`vu1` | Over voltage shadding point 1 | 1.100 | *p.u.* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | vu2 | :math:`vu2` | Over voltage shadding point 2 | 1.200 | *p.u.* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | vu3 | :math:`vu3` | Over voltage shadding point 3 | 2 | *p.u.* | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tvl1 | :math:`T_{vl1}` | Stand time for (vl2, vl1) | 2 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tvl2 | :math:`T_{vl2}` | Stand time for (vl3, vl2) | 1 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tvl3 | :math:`T_{vl3}` | Stand time for (vl4, vl3) | 0.160 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tvu1 | :math:`T_{vu1}` | Stand time for (vu1, vu2) | 1 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tvu2 | :math:`T_{vu2}` | Stand time for (vu2, vu3) | 0.160 | | non_negative | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | Tres | | Integrator reset time | 0.050 | | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | bus | | | 0 | | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ | fn | | | 0 | | | +----------+-----------------+-------------------------------------------------------------------------------------------------------+---------+--------+--------------+ Variables --------- +-----------+---------------------+----------+-------------------------+--------+------------+ | Name | Symbol | Type | Description | Unit | Properties | +===========+=====================+==========+=========================+========+============+ | IAWfl1_y | :math:`IAWfl_{1 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | IAWfl2_y | :math:`IAWfl_{2 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | IAWfu1_y | :math:`IAWfu_{1 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | IAWfu2_y | :math:`IAWfu_{2 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | IAWVl1_y | :math:`IAWVl_{1 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | IAWVl2_y | :math:`IAWVl_{2 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | IAWVl3_y | :math:`IAWVl_{3 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | IAWVu1_y | :math:`IAWVu_{1 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | IAWVu2_y | :math:`IAWVu_{2 y}` | State | AW Integrator output | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | fHz | :math:`fHz` | Algeb | frequency in Hz | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | dsum | :math:`dsum` | Algeb | lock signal summation | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | ue | :math:`ue` | Algeb | lock flag | | v_str | +-----------+---------------------+----------+-------------------------+--------+------------+ | f | :math:`f` | ExtAlgeb | DG frequency read value | *p.u.* | | +-----------+---------------------+----------+-------------------------+--------+------------+ | fin | :math:`fin` | ExtAlgeb | original f from DG | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | fHzl | :math:`fHzl` | ExtAlgeb | Frequency measure lock | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | Pext | :math:`Pext` | ExtAlgeb | original Pext from DG | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | Pref | :math:`Pref` | ExtAlgeb | original Pref from DG | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | Pdrp | :math:`Pdrp` | ExtAlgeb | original Pdrp from DG | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | Psum | :math:`Psum` | ExtAlgeb | Active power lock | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | Qdrp | :math:`Qdrp` | ExtAlgeb | original Qdrp from DG | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | Qref | :math:`Qref` | ExtAlgeb | original Qref from DG | | | +-----------+---------------------+----------+-------------------------+--------+------------+ | Qsum | :math:`Qsum` | ExtAlgeb | Reactive power lock | | | +-----------+---------------------+----------+-------------------------+--------+------------+ Initialization Equations ------------------------ +-----------+---------------------+----------+---------------+ | Name | Symbol | Type | Initial Value | +===========+=====================+==========+===============+ | IAWfl1_y | :math:`IAWfl_{1 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | IAWfl2_y | :math:`IAWfl_{2 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | IAWfu1_y | :math:`IAWfu_{1 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | IAWfu2_y | :math:`IAWfu_{2 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | IAWVl1_y | :math:`IAWVl_{1 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | IAWVl2_y | :math:`IAWVl_{2 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | IAWVl3_y | :math:`IAWVl_{3 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | IAWVu1_y | :math:`IAWVu_{1 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | IAWVu2_y | :math:`IAWVu_{2 y}` | State | :math:`0` | +-----------+---------------------+----------+---------------+ | fHz | :math:`fHz` | Algeb | :math:`f fn` | +-----------+---------------------+----------+---------------+ | dsum | :math:`dsum` | Algeb | :math:`0` | +-----------+---------------------+----------+---------------+ | ue | :math:`ue` | Algeb | :math:`0` | +-----------+---------------------+----------+---------------+ | f | :math:`f` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | fin | :math:`fin` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | fHzl | :math:`fHzl` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | Pext | :math:`Pext` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | Pref | :math:`Pref` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | Pdrp | :math:`Pdrp` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | Psum | :math:`Psum` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | Qdrp | :math:`Qdrp` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | Qref | :math:`Qref` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ | Qsum | :math:`Qsum` | ExtAlgeb | | +-----------+---------------------+----------+---------------+ Differential Equations ----------------------------- +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | Name | Symbol | Type | RHS of Equation "T x' = f(x, y)" | T (LHS) | +===========+=====================+=======+====================================================================+===========+ | IAWfl1_y | :math:`IAWfl_{1 y}` | State | :math:`Lfl_{1 zi} \left(1 - res\right) - \frac{Tfl_{1} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | IAWfl2_y | :math:`IAWfl_{2 y}` | State | :math:`Lfl_{2 zi} \left(1 - res\right) - \frac{Tfl_{2} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | IAWfu1_y | :math:`IAWfu_{1 y}` | State | :math:`Lfu_{1 zi} \left(1 - res\right) - \frac{Tfu_{1} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | IAWfu2_y | :math:`IAWfu_{2 y}` | State | :math:`Lfl_{2 zi} \left(1 - res\right) - \frac{Tfu_{2} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | IAWVl1_y | :math:`IAWVl_{1 y}` | State | :math:`LVl_{1 zi} \left(1 - res\right) - \frac{Tvl_{1} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | IAWVl2_y | :math:`IAWVl_{2 y}` | State | :math:`LVl_{2 zi} \left(1 - res\right) - \frac{Tvl_{2} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | IAWVl3_y | :math:`IAWVl_{3 y}` | State | :math:`LVl_{2 zi} \left(1 - res\right) - \frac{Tvl_{3} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | IAWVu1_y | :math:`IAWVu_{1 y}` | State | :math:`LVu_{1 zi} \left(1 - res\right) - \frac{Tvu_{1} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ | IAWVu2_y | :math:`IAWVu_{2 y}` | State | :math:`LVu_{2 zi} \left(1 - res\right) - \frac{Tvu_{2} res}{Tres}` | :math:`1` | +-----------+---------------------+-------+--------------------------------------------------------------------+-----------+ Algebraic Equations ----------------------------- +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | Symbol | Type | RHS of Equation "0 = g(x, y)" | +=======+==============+==========+==============================================================================================================================================================================================================================================================================================================================+ | fHz | :math:`fHz` | Algeb | :math:`f fn - fHz` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | dsum | :math:`dsum` | Algeb | :math:`Ven \left(IAWVl_{1 lim zu} LVl_{1 zi} + IAWVl_{2 lim zu} LVl_{2 zi} + IAWVl_{3 lim zu} LVl_{3 zi} + IAWVu_{1 lim zu} LVu_{1 zi} + IAWVu_{2 lim zu} LVu_{2 zi}\right) - dsum + fen \left(IAWfl_{1 lim zu} Lfl_{1 zi} + IAWfl_{2 lim zu} Lfl_{2 zi} + IAWfu_{1 lim zu} Lfu_{1 zi} + IAWfu_{2 lim zu} Lfu_{2 zi}\right)` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ue | :math:`ue` | Algeb | :math:`Ldsum_{zu} - ue` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | f | :math:`f` | ExtAlgeb | :math:`0` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | fin | :math:`fin` | ExtAlgeb | :math:`0` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | fHzl | :math:`fHzl` | ExtAlgeb | :math:`- f fn ue` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Pext | :math:`Pext` | ExtAlgeb | :math:`0` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Pref | :math:`Pref` | ExtAlgeb | :math:`0` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Pdrp | :math:`Pdrp` | ExtAlgeb | :math:`0` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Psum | :math:`Psum` | ExtAlgeb | :math:`- ue \left(Pdrp + Pext + Pref\right)` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Qdrp | :math:`Qdrp` | ExtAlgeb | :math:`0` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Qref | :math:`Qref` | ExtAlgeb | :math:`0` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Qsum | :math:`Qsum` | ExtAlgeb | :math:`- ue \left(Qdrp + Qref\right)` | +-------+--------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Services ---------- +-------+--------------+-------------+---------------+ | Name | Symbol | Equation | Type | +=======+==============+=============+===============+ | ltu | :math:`ltu` | :math:`0.8` | ConstService | +-------+--------------+-------------+---------------+ | ltl | :math:`ltl` | :math:`0.2` | ConstService | +-------+--------------+-------------+---------------+ | zero | :math:`zero` | :math:`0` | ConstService | +-------+--------------+-------------+---------------+ | res | :math:`res` | :math:`0` | ExtendedEvent | +-------+--------------+-------------+---------------+ Discretes ----------- +-------------+----------------------+------------+------------------------------------+ | Name | Symbol | Type | Info | +=============+======================+============+====================================+ | Ldsum | :math:`Ldsum` | Limiter | lock signal comparer, zu is to act | +-------------+----------------------+------------+------------------------------------+ | Lfl1 | :math:`Lfl1` | Limiter | Frequency comparer for (fl3, fl1) | +-------------+----------------------+------------+------------------------------------+ | Lfl2 | :math:`Lfl2` | Limiter | Frequency comparer for (fl3, fl2) | +-------------+----------------------+------------+------------------------------------+ | Lfu1 | :math:`Lfu1` | Limiter | Frequency comparer for (fu1, fu3) | +-------------+----------------------+------------+------------------------------------+ | Lfu2 | :math:`Lfu2` | Limiter | Frequency comparer for (fu2, fu3) | +-------------+----------------------+------------+------------------------------------+ | IAWfl1_lim | :math:`lim_{IAWfl1}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ | IAWfl2_lim | :math:`lim_{IAWfl2}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ | IAWfu1_lim | :math:`lim_{IAWfu1}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ | IAWfu2_lim | :math:`lim_{IAWfu2}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ | LVl1 | :math:`LVl1` | Limiter | Voltage comparer for (vl4, vl1) | +-------------+----------------------+------------+------------------------------------+ | LVl2 | :math:`LVl2` | Limiter | Voltage comparer for (vl4, vl2) | +-------------+----------------------+------------+------------------------------------+ | LVl3 | :math:`LVl3` | Limiter | Voltage comparer for (vl4, vl3) | +-------------+----------------------+------------+------------------------------------+ | LVu1 | :math:`LVu1` | Limiter | Voltage comparer for (vu1, vu3) | +-------------+----------------------+------------+------------------------------------+ | LVu2 | :math:`LVu2` | Limiter | Voltage comparer for (vu2, vu3) | +-------------+----------------------+------------+------------------------------------+ | IAWVl1_lim | :math:`lim_{IAWVl1}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ | IAWVl2_lim | :math:`lim_{IAWVl2}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ | IAWVl3_lim | :math:`lim_{IAWVl3}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ | IAWVu1_lim | :math:`lim_{IAWVu1}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ | IAWVu2_lim | :math:`lim_{IAWVu2}` | AntiWindup | Limiter in integrator | +-------------+----------------------+------------+------------------------------------+ Blocks ------- +---------+----------------+----------------------+--------------------------------+ | Name | Symbol | Type | Info | +=========+================+======================+================================+ | IAWfl1 | :math:`IAWfl1` | IntegratorAntiWindup | condition check for (fl3, fl1) | +---------+----------------+----------------------+--------------------------------+ | IAWfl2 | :math:`IAWfl2` | IntegratorAntiWindup | condition check for (fl3, fl2) | +---------+----------------+----------------------+--------------------------------+ | IAWfu1 | :math:`IAWfu1` | IntegratorAntiWindup | condition check for (fu1, fu3) | +---------+----------------+----------------------+--------------------------------+ | IAWfu2 | :math:`IAWfu2` | IntegratorAntiWindup | condition check for (fu2, fu3) | +---------+----------------+----------------------+--------------------------------+ | IAWVl1 | :math:`IAWVl1` | IntegratorAntiWindup | condition check for (Vl3, Vl1) | +---------+----------------+----------------------+--------------------------------+ | IAWVl2 | :math:`IAWVl2` | IntegratorAntiWindup | condition check for (Vl3, Vl2) | +---------+----------------+----------------------+--------------------------------+ | IAWVl3 | :math:`IAWVl3` | IntegratorAntiWindup | condition check for (Vl3, Vl2) | +---------+----------------+----------------------+--------------------------------+ | IAWVu1 | :math:`IAWVu1` | IntegratorAntiWindup | condition check for (Vu1, Vu3) | +---------+----------------+----------------------+--------------------------------+ | IAWVu2 | :math:`IAWVu2` | IntegratorAntiWindup | condition check for (Vu2, Vu3) | +---------+----------------+----------------------+--------------------------------+ Config Fields in [DGPRCTExt] +---------------+--------+-------+---------------------------------------+-----------------+ | Option | Symbol | Value | Info | Accepted values | +===============+========+=======+=======================================+=================+ | allow_adjust | | 1 | allow adjusting upper or lower limits | (0, 1) | +---------------+--------+-------+---------------------------------------+-----------------+ | adjust_lower | | 0 | adjust lower limit | (0, 1) | +---------------+--------+-------+---------------------------------------+-----------------+ | adjust_upper | | 1 | adjust upper limit | (0, 1) | +---------------+--------+-------+---------------------------------------+-----------------+