This package contains components models to report values to files.
Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).
| Name | Description |
|---|---|
| Model that prints values to a file | |
| Print string to terminal or file | |
| Collection of models that illustrate model use and test models |
Buildings.Utilities.Reports.Printer
This model prints to a file or the terminal at a fixed sample interval.
The parameter configuration controls the printing as follows:
configuration | configuration |
1 | print at sample times only |
2 | print at sample times and at end of simulation |
3 | print at end of simulation only |
Extends from Modelica.Blocks.Interfaces.DiscreteBlock (Base class of discrete control blocks).
| Type | Name | Default | Description |
|---|---|---|---|
| Time | samplePeriod | Sample period of component [s] | |
| Time | startTime | 0 | First sample time instant [s] |
| String | header | "" | Header to be printed |
| String | fileName | "" | File name (empty string is the terminal) |
| Integer | nin | 1 | Number of inputs |
| Integer | configuration | 1 | Index for treating final report (see documentation) |
| Integer | minimumLength | 1 | Minimum length of result string |
| Integer | significantDigits | 16 | Number of significant digits |
| Type | Name | Description |
|---|---|---|
| input RealInput | x[nin] | Value to be printed |
model Printer "Model that prints values to a file"
extends Modelica.Blocks.Interfaces.DiscreteBlock;
parameter String header="" "Header to be printed";
parameter String fileName="" "File name (empty string is the terminal)";
parameter Integer nin=1 "Number of inputs";
parameter Integer configuration = 1
"Index for treating final report (see documentation)";
parameter Integer minimumLength = 1 "Minimum length of result string";
parameter Integer significantDigits = 16 "Number of significant digits";
Modelica.Blocks.Interfaces.RealInput x[nin] "Value to be printed";
initial algorithm
if (fileName <> "") then
Modelica.Utilities.Files.removeFile(fileName);
end if;
Modelica.Utilities.Streams.print(fileName=fileName, string=header);
equation
if configuration < 3 then
when {sampleTrigger, initial()} then
Buildings.Utilities.Reports.printRealArray(
x=x, fileName=fileName,
minimumLength=minimumLength,
significantDigits=significantDigits);
end when;
end if;
when terminal() then
if configuration >= 2 then
Buildings.Utilities.Reports.printRealArray(
x=x, fileName=fileName,
minimumLength=minimumLength,
significantDigits=significantDigits);
end if;
end when;
end Printer;
Buildings.Utilities.Reports.printRealArray
Function that prints a real array to an output file.
Extends from Modelica.Icons.Function (Icon for functions).
| Type | Name | Default | Description |
|---|---|---|---|
| Real | x[:] | Input to be printed | |
| String | fileName | "" | File where to print (empty string is the terminal) |
| Integer | minimumLength | 1 | Minimum width of result |
| Integer | significantDigits | 6 | Number of significant digits |
| Type | Name | Description |
|---|---|---|
| String | outStr | String to be printed |
function printRealArray "Print string to terminal or file"
extends Modelica.Icons.Function;
input Real[:] x "Input to be printed";
input String fileName="" "File where to print (empty string is the terminal)";
input Integer minimumLength = 1 "Minimum width of result";
input Integer significantDigits = 6 "Number of significant digits";
output String outStr="" "String to be printed";
algorithm
for i in 1:size(x,1) loop
outStr :=outStr + " "
+ String(x[i],
minimumLength=minimumLength,
significantDigits=significantDigits);
end for;
Modelica.Utilities.Streams.print(string=outStr, fileName=fileName);
end printRealArray;