You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: fmi-guide/6___co-simulation.adoc
+23Lines changed: 23 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,3 +37,26 @@ However the exact point in time when the event occured will have already passed,
37
37
This might require at least mitigative internal event handling by the FMU itself.
38
38
39
39
For this reason it is usually recommended to use event handling support and early return capabilities together, both for exporters and importers, as this will give the best event handling control.
40
+
41
+
=== Clock Tick Definitions and Clock Activations
42
+
43
+
Remember that a clock activation means setting its activation status to `fmi3ClockActive`, and that the source of a clock activation is
44
+
45
+
* for input clocks the importer, by calling fmi3setClock() on the clock's FMU.
46
+
* for output clocks the clock's FMU in Event Mode.
47
+
48
+
A clock tick is the (future) time instant of a clock activation, and its cause. The importer needs to keep track of clock ticks and if necessary, doStep the clock's FMU to the time instant of the clock tick.
49
+
50
+
The source of a clock tick's definition is
51
+
52
+
* for time-based input clocks and for triggered output clocks always the clock's FMU. The time instant of the clock tick is reported to the importer by clock-specific means.
53
+
* for triggered input clocks not constrained by the standard, and as such one or more of
54
+
** a triggered output clock activation of any FMU at the time instant of the tick.
55
+
** a tick of any time-based input clock of any FMU.
56
+
** any other source that the importer has knowledge of.
57
+
58
+
If the tick of a time-based input clock as cause of a triggered input clock's activation seems counter-intuitive, it may help to remember that
59
+
60
+
* inports and outports are always between importer and FMU, not FMU and FMU (the latter may only appear to be so to a user in the context of defining connections between outports and inports, e.g. in a typical GUI).
61
+
* the definition of a time-based clock's tick by an FMU is separate from the activation of that clock by the importer.
62
+
* the time-based input clock is not 'connected' to the triggered input clock (in the sense of connecting one FMUs output port to another FMUs input port), it is the importer that keeps track of the shared tick, if necessary doSteps the FMU(s) to the time instant of the shared tick, and activates each input clock.
0 commit comments