diff --git a/PVSystems/Resources/Tests/PVSystems_HTML_log.html b/PVSystems/Resources/Tests/PVSystems_HTML_log.html index 5a59003..9f255d2 100644 --- a/PVSystems/Resources/Tests/PVSystems_HTML_log.html +++ b/PVSystems/Resources/Tests/PVSystems_HTML_log.html @@ -15,23 +15,26 @@

Library check log

  • PVSystems.Examples.Application.BuckOpen: Validation ok. Structural validation ok. Translation time validation ok.
  • PVSystems.Examples.Application.Inverter1phOpen: Validation ok. Structural validation ok. Translation time validation ok.
  • PVSystems.Examples.Application.Inverter1phOpenSynch: Validation ok. Structural validation ok. Translation time validation ok.
  • +

  • PVSystems.Examples.Application.Inverter1phClosed: Validation ok. Structural validation ok. Translation time validation ok.
  • PVSystems.Examples.Application.Inverter1phClosedSynch: Validation ok. Structural validation ok. Translation time validation ok.
  • PVSystems.Examples.Application.PVInverter1ph: Validation ok. Structural validation ok. Translation time validation ok.
  • PVSystems.Examples.Application.PVInverter1phSynch: Validation ok. Structural validation ok. Translation time validation ok.
  • PVSystems.Examples.Application.USBBatteryConverter: Validation ok. Structural validation ok. Translation time validation ok.
  • -

  • PVSystems.Examples.Verification.IdealCBSwitchValidation: Validation ok. Structural validation ok. Translation time validation ok.
  • -

  • PVSystems.Examples.Verification.MPPTControllerValidation: Validation ok. Structural validation ok. Translation time validation ok.
  • -

  • PVSystems.Examples.Verification.PLLValidation: Validation ok. Structural validation ok. Translation time validation ok.
  • -

  • PVSystems.Examples.Verification.PVArrayValidation: Validation ok. Structural validation ok. Translation time validation ok.
  • -

  • PVSystems.Examples.Verification.SignalPWMValidation: Validation ok. Structural validation ok. Translation time validation ok.
  • -

  • PVSystems.Examples.Verification.SwitchingCPMValidation: Validation ok. Structural validation ok. Translation time validation ok.
  • +

  • PVSystems.Examples.Verification.IdealCBSwitchVerification: Validation ok. Structural validation ok. Translation time validation ok.
  • +

  • PVSystems.Examples.Verification.MPPTControllerVerification: Validation ok. Structural validation ok. Translation time validation ok.
  • +

  • PVSystems.Examples.Verification.ParkVerification: Validation ok. Structural validation ok. Translation time validation ok.
  • +

  • PVSystems.Examples.Verification.PLLVerification: Validation ok. Structural validation ok. Translation time validation ok.
  • +

  • PVSystems.Examples.Verification.PVArrayVerification: Validation ok. Structural validation ok. Translation time validation ok.
  • +

  • PVSystems.Examples.Verification.SwitchingPWMVerification: Validation ok. Structural validation ok. Translation time validation ok.
  • +

  • PVSystems.Examples.Verification.SwitchingCPMVerification: Validation ok. Structural validation ok. Translation time validation ok.
  • +

  • PVSystems.Examples.Verification.SimpleBatteryVerification: Validation ok. Structural validation ok. Translation time validation ok.
  • Top of page Class coverage Condition coverage


    STATISTICS

    -26 tests performed on 13 test cases.
    +32 tests performed on 16 test cases.
    All tests ok, validation of PVSystems, successful.

    Top of page @@ -39,9 +42,9 @@

    Library check log

    Condition coverage


    CLASS COVERAGE

    -

    36 of 50 classes are covered by the test suite. 14 classes are not covered.
    +

    41 of 50 classes are covered by the test suite. 9 classes are not covered.
    Of the not covered classes -

  • 14 are models
  • +
  • 9 are models

  • Listing classes in PVSystems

    @@ -57,27 +60,27 @@

    Library check log

    model BuckOpen, used 1 time.
  • model Inverter1phOpen, used 1 time.
  • model Inverter1phOpenSynch, used 1 time.
  • -
  • model Inverter1phClosed, not used.
  • +
  • model Inverter1phClosed, used 1 time.
  • model Inverter1phClosedSynch, used 1 time.
  • model PVInverter1ph, used 1 time.
  • model PVInverter1phSynch, used 1 time.
  • model USBBatteryConverter, used 1 time.
  • package Verification +
  • model IdealCBSwitchVerification, used 1 time.
  • +
  • model MPPTControllerVerification, used 1 time.
  • +
  • model ParkVerification, used 1 time.
  • +
  • model PLLVerification, used 1 time.
  • +
  • model PVArrayVerification, used 1 time.
  • +
  • model SwitchingPWMVerification, used 1 time.
  • +
  • model SwitchingCPMVerification, used 1 time.
  • +
  • model SimpleBatteryVerification, used 1 time.
  • package Electrical +
  • model BatteryInterface, used 1 time.
  • +
  • model SwitchNetworkInterface, used 15 times.
  • +
  • model TwoPort, used 25 times.
  • package Control @@ -145,7 +148,7 @@

    Library check log

    not dsw.useHeatPort is always true
  • not idealCBSwitch.idealClosingSwitch.useHeatPort is always true
  • not idealCBSwitch.idealDiode.useHeatPort is always true
  • -
  • not mean.yGreaterOrEqualZero in when(sample(mean.t0+1/mean.f, 1/mean.f)) is always true
  • +
  • not meanACPower.yGreaterOrEqualZero in when(sample(meanACPower.t0+1/meanACPower.f, 1/meanACPower.f)) is always true
  • not resistor.useHeatPort is always true
  • not sw.useHeatPort is always true
  • Controller.currentController.idPI.initType == Modelica.Blocks.Types.InitPID.InitialOutput and (Controller.currentController.idPI.y_start < Controller.currentController.idPI.yMin or Controller.currentController.idPI.y_start > Controller.currentController.idPI.yMax) is always false
  • @@ -156,7 +159,8 @@

    Library check log

    Controller.vdcPI.limiter.strict is always false
  • PV.v < 0 is always false
  • PWM.limiter.strict is always false
  • -
  • abs(controller.pk-pre(controller.pk)) < controller.pkThreshold in when(sample(controller.sampleTime, controller.sampleTime)) is always false
  • +
  • abs(controller.mppt.pk-pre(controller.mppt.pk)) < controller.mppt.pkThreshold in when(sample(controller.mppt.sampleTime, controller.mppt.sampleTime)) is always false
  • +
  • abs(mpptController.pk-pre(mpptController.pk)) < mpptController.pkThreshold in when(sample(mpptController.sampleTime, mpptController.sampleTime)) is always false
  • boostPI.initType == Modelica.Blocks.Types.InitPID.InitialOutput and (boostPI.y_start < boostPI.yMin or boostPI.y_start > boostPI.yMax) is always false
  • boostPI.limiter.strict is always false
  • buckPI.initType == Modelica.Blocks.Types.InitPID.InitialOutput and (buckPI.y_start < buckPI.yMin or buckPI.y_start > buckPI.yMax) is always false
  • @@ -176,11 +180,10 @@

    Library check log

    noEvent( not (abs(Controller.mppt.pk-pre(Controller.mppt.pk)) < Controller.mppt.pkThreshold) and not (Controller.mppt.pk-pre(Controller.mppt.pk) > 0) and Controller.mppt.vk-pre(Controller.mppt.vk) > 0) in when(sample(Controller.mppt.sampleTime, Controller.mppt.sampleTime)) is always false
  • noEvent( not (abs(Controller.mppt.pk-pre(Controller.mppt.pk)) < Controller.mppt.pkThreshold) and Controller.mppt.pk-pre(Controller.mppt.pk) > 0 and not (Controller.mppt.vk-pre(Controller.mppt.vk) > 0) and Controller.mppt.vk-pre(Controller.mppt.vk) < 0) in when(sample(Controller.mppt.sampleTime, Controller.mppt.sampleTime)) is always false
  • noEvent( not (abs(controller.mppt.pk-pre(controller.mppt.pk)) < controller.mppt.pkThreshold) and not (controller.mppt.pk-pre(controller.mppt.pk) > 0) and not (controller.mppt.vk-pre(controller.mppt.vk) > 0) and controller.mppt.vk-pre(controller.mppt.vk) < 0) in when(sample(controller.mppt.sampleTime, controller.mppt.sampleTime)) is always false
  • -
  • noEvent( not (abs(controller.mppt.pk-pre(controller.mppt.pk)) < controller.mppt.pkThreshold) and not (controller.mppt.pk-pre(controller.mppt.pk) > 0) and controller.mppt.vk-pre(controller.mppt.vk) > 0) in when(sample(controller.mppt.sampleTime, controller.mppt.sampleTime)) is always false
  • noEvent( not (abs(controller.mppt.pk-pre(controller.mppt.pk)) < controller.mppt.pkThreshold) and controller.mppt.pk-pre(controller.mppt.pk) > 0 and not (controller.mppt.vk-pre(controller.mppt.vk) > 0) and controller.mppt.vk-pre(controller.mppt.vk) < 0) in when(sample(controller.mppt.sampleTime, controller.mppt.sampleTime)) is always false
  • pVArray1.v < 0 is always false
  • signalPWM.limiter.strict is always false
  • -
  • smooth((if Controller.currentController.idPI.limiter.u > Controller.currentController.idPI.limiter.uMax then Controller.currentController.idPI.limiter.uMax else (if Controller.currentController.idPI.limiter.u < Controller.currentController.idPI.limiter.uMin then Controller.currentController.idPI.limiter.uMin else Controller.currentController.idPI.limiter.u)), not Controller.currentController.i... is always false
  • +
  • slewRateLimiter.strict is always false
  • smooth((if Controller.currentController.iqPI.limiter.u > Controller.currentController.iqPI.limiter.uMax then Controller.currentController.iqPI.limiter.uMax else (if Controller.currentController.iqPI.limiter.u < Controller.currentController.iqPI.limiter.uMin then Controller.currentController.iqPI.limiter.uMin else Controller.currentController.iqPI.limiter.u)), not Controller.currentController.i... is always false
  • smooth((if Controller.vdcPI.limiter.u > Controller.vdcPI.limiter.uMax then Controller.vdcPI.limiter.uMax else (if Controller.vdcPI.limiter.u < Controller.vdcPI.limiter.uMin then Controller.vdcPI.limiter.uMin else Controller.vdcPI.limiter.u)), not Controller.vdcPI.limiter.strict and Controller.vdcPI.limiter.u > Controller.vdcPI.limiter.uMax) is always false
  • smooth((if PWM.limiter.u > PWM.limiter.uMax then PWM.limiter.uMax else (if PWM.limiter.u < PWM.limiter.uMin then PWM.limiter.uMin else PWM.limiter.u)), not PWM.limiter.strict and not (PWM.limiter.u > PWM.limiter.uMax) and PWM.limiter.u < PWM.limiter.uMin) is always false
  • @@ -193,8 +196,6 @@

    Library check log

    smooth((if control.idPI.limiter.u > control.idPI.limiter.uMax then control.idPI.limiter.uMax else (if control.idPI.limiter.u < control.idPI.limiter.uMin then control.idPI.limiter.uMin else control.idPI.limiter.u)), not control.idPI.limiter.strict and control.idPI.limiter.u > control.idPI.limiter.uMax) is always false
  • smooth((if control.iqPI.limiter.u > control.iqPI.limiter.uMax then control.iqPI.limiter.uMax else (if control.iqPI.limiter.u < control.iqPI.limiter.uMin then control.iqPI.limiter.uMin else control.iqPI.limiter.u)), not control.iqPI.limiter.strict and not (control.iqPI.limiter.u > control.iqPI.limiter.uMax) and control.iqPI.limiter.u < control.iqPI.limiter.uMin) is always false
  • smooth((if control.iqPI.limiter.u > control.iqPI.limiter.uMax then control.iqPI.limiter.uMax else (if control.iqPI.limiter.u < control.iqPI.limiter.uMin then control.iqPI.limiter.uMin else control.iqPI.limiter.u)), not control.iqPI.limiter.strict and control.iqPI.limiter.u > control.iqPI.limiter.uMax) is always false
  • -
  • smooth((if controller.currentController.idPI.limiter.u > controller.currentController.idPI.limiter.uMax then controller.currentController.idPI.limiter.uMax else (if controller.currentController.idPI.limiter.u < controller.currentController.idPI.limiter.uMin then controller.currentController.idPI.limiter.uMin else controller.currentController.idPI.limiter.u)), not controller.currentController.i... is always false
  • -
  • smooth((if controller.vdcPI.limiter.u > controller.vdcPI.limiter.uMax then controller.vdcPI.limiter.uMax else (if controller.vdcPI.limiter.u < controller.vdcPI.limiter.uMin then controller.vdcPI.limiter.uMin else controller.vdcPI.limiter.u)), not controller.vdcPI.limiter.strict and not (controller.vdcPI.limiter.u > controller.vdcPI.limiter.uMax) and controller.vdcPI.limiter.u < controller.vdc... is always true
  • smooth((if controller.vdcPI.limiter.u > controller.vdcPI.limiter.uMax then controller.vdcPI.limiter.uMax else (if controller.vdcPI.limiter.u < controller.vdcPI.limiter.uMin then controller.vdcPI.limiter.uMin else controller.vdcPI.limiter.u)), not controller.vdcPI.limiter.strict and controller.vdcPI.limiter.u > controller.vdcPI.limiter.uMax) is always false
  • smooth((if signalPWM.limiter.u > signalPWM.limiter.uMax then signalPWM.limiter.uMax else (if signalPWM.limiter.u < signalPWM.limiter.uMin then signalPWM.limiter.uMin else signalPWM.limiter.u)), not signalPWM.limiter.strict and not (signalPWM.limiter.u > signalPWM.limiter.uMax) and signalPWM.limiter.u < signalPWM.limiter.uMin) is always false
  • smooth((if signalPWM.limiter.u > signalPWM.limiter.uMax then signalPWM.limiter.uMax else (if signalPWM.limiter.u < signalPWM.limiter.uMin then signalPWM.limiter.uMin else signalPWM.limiter.u)), not signalPWM.limiter.strict and signalPWM.limiter.u > signalPWM.limiter.uMax) is always false
  • @@ -230,6 +231,8 @@

    Library check log

    with_D is always false
  • with_I is always true
  • +

  • Modelica.Blocks.Logical.Hysteresis
  • Modelica.Blocks.Logical.Pre
  • Modelica.Blocks.Logical.RSFlipFlop