|
1 | 1 | within FMI.FMI2.Functions; |
2 | 2 | impure function FMI2GetInitialReal |
3 | 3 | extends Modelica.Icons.Function; |
| 4 | + |
4 | 5 | input Internal.ExternalFMU instance; |
| 6 | + |
5 | 7 | input Real _time; |
| 8 | + |
6 | 9 | input Integer realInputValueReferences[:] = fill(0, 0); |
7 | 10 | input Real realInputValues[:] = fill(0.0, 0); |
| 11 | + |
8 | 12 | input Integer integerInputValueReferences[:] = fill(0, 0); |
9 | 13 | input Integer integerInputValues[:] = fill(0, 0); |
| 14 | + |
10 | 15 | input Integer booleanInputValueReferences[:] = fill(0, 0); |
11 | 16 | input Boolean booleanInputValues[:] = fill(false, 0); |
| 17 | + |
12 | 18 | input Integer valueReference; |
| 19 | + |
13 | 20 | output Real value; |
| 21 | + |
14 | 22 | algorithm |
15 | | - FMI2SetReal(instance, realInputValueReferences, size(realInputValueReferences, 1), realInputValues); |
16 | | - FMI.Internal.Logging.logMessages(instance); |
17 | | - FMI2SetInteger(instance, integerInputValueReferences, size(integerInputValueReferences, 1), integerInputValues); |
18 | | - FMI.Internal.Logging.logMessages(instance); |
19 | | - FMI2SetBoolean(instance, booleanInputValueReferences, size(booleanInputValueReferences, 1), booleanInputValues); |
20 | | - FMI.Internal.Logging.logMessages(instance); |
| 23 | + |
| 24 | + if size(realInputValueReferences, 1) > 0 then |
| 25 | + FMI2SetReal(instance, realInputValueReferences, size(realInputValueReferences, 1), realInputValues); |
| 26 | + end if; |
| 27 | + |
| 28 | + if size(integerInputValueReferences, 1) > 0 then |
| 29 | + FMI2SetInteger(instance, integerInputValueReferences, size(integerInputValueReferences, 1), integerInputValues); |
| 30 | + end if; |
| 31 | + |
| 32 | + if size(booleanInputValueReferences, 1) > 0 then |
| 33 | + FMI2SetBoolean(instance, booleanInputValueReferences, size(booleanInputValueReferences, 1), booleanInputValues); |
| 34 | + end if; |
| 35 | + |
21 | 36 | value := FMI2GetReal(instance, valueReference); |
22 | 37 | FMI.Internal.Logging.logMessages(instance); |
| 38 | + |
23 | 39 | end FMI2GetInitialReal; |
0 commit comments