Buildings.Obsolete.Controls.OBC.CDL.Logical.Validation

Collection of models that validate the logical blocks of the CDL

Information

This package contains models that validate the blocks in Buildings.Controls.OBC.CDL.Logical.

The examples plot various outputs, which have been verified against analytical solutions. These model outputs are stored as reference data to allow continuous validation whenever models in the library change.

Package Content

Name Description
Buildings.Obsolete.Controls.OBC.CDL.Logical.Validation.And3 And3 Validation model for the And3 block
Buildings.Obsolete.Controls.OBC.CDL.Logical.Validation.Timer Timer Validation model for the Timer block

Buildings.Obsolete.Controls.OBC.CDL.Logical.Validation.And3 Buildings.Obsolete.Controls.OBC.CDL.Logical.Validation.And3

Validation model for the And3 block

Buildings.Obsolete.Controls.OBC.CDL.Logical.Validation.And3

Information

Validation test for the block Buildings.Obsolete.Controls.OBC.CDL.Logical.And3.

Modelica definition

model And3 "Validation model for the And3 block" Buildings.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( width=0.5, period=1.5) "Block that outputs cyclic on and off"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse booPul2( width=0.5, period=5) "Block that outputs cyclic on and off"; Buildings.Obsolete.Controls.OBC.CDL.Logical.And3 and1 "Logical and of three inputs"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse booPul3( width=0.5, period=3) "Block that outputs cyclic on and off"; equation connect(booPul1.y,and1.u1); connect(booPul2.y,and1.u2); connect(booPul3.y,and1.u3); end And3;

Buildings.Obsolete.Controls.OBC.CDL.Logical.Validation.Timer Buildings.Obsolete.Controls.OBC.CDL.Logical.Validation.Timer

Validation model for the Timer block

Buildings.Obsolete.Controls.OBC.CDL.Logical.Validation.Timer

Information

Validation test for the block Buildings.Obsolete.Controls.OBC.CDL.Logical.Timer.

Modelica definition

model Timer "Validation model for the Timer block" Buildings.Obsolete.Controls.OBC.CDL.Logical.Timer resetTimer(accumulate=false) "Timer will reset"; Buildings.Obsolete.Controls.OBC.CDL.Logical.Timer accuTimer "Reset timer based on boolean input"; Buildings.Obsolete.Controls.OBC.CDL.Logical.Timer accuTimer1 "Reset timer based on boolean input"; Buildings.Obsolete.Controls.OBC.CDL.Logical.Timer accuTimer2 "Reset timer based on boolean input"; Buildings.Obsolete.Controls.OBC.CDL.Logical.Timer accuTimer3 "Reset timer based on boolean input"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( final width=0.1, final period=4) "Block that outputs cyclic on and off"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold greThr(final t=1.5) "Output true when input is greater than threshold"; Buildings.Controls.OBC.CDL.Logical.Pre pre "Returns the value of the input signal from the last event iteration"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse booPul( final width=0.5, final period=2) "Block that outputs cyclic on and off"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse booPul2( final width=0.5, final period=2, final shift=0.5) "Block that outputs cyclic on and off"; Buildings.Controls.OBC.CDL.Logical.Sources.Constant con( final k=false) "Block that outputs cyclic on and off"; equation connect(booPul.y, resetTimer.u); connect(booPul.y, accuTimer.u); connect(booPul1.y, accuTimer.reset); connect(booPul.y,accuTimer3. u); connect(accuTimer3.y, greThr.u); connect(greThr.y, pre.u); connect(pre.y,accuTimer3. reset); connect(booPul.y, accuTimer1.u); connect(booPul.y, accuTimer1.reset); connect(booPul.y, accuTimer2.reset); connect(booPul2.y, accuTimer2.u); connect(con.y, resetTimer.reset); end Timer;