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: docs/1____introduction.adoc
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,6 +23,8 @@ So that this layered standard can be supported in a variety of FMU importers and
23
23
24
24
* Direct Communication: Limited to exactly two FMUs and uses a common FMU importer that does not require any special features for simulating buses.
25
25
The importer only needs to support FMI variables, Clocks, and terminals, which are sufficient to emulate bus communication between the FMUs.
26
+
Note, even though Clocks are listed in the `ModelVariables` element in the `modelDescription.xml` of the FMU, Clocks will be treated differently than all other variables.
27
+
In this document we will call variables of type Clock 'Clocks', and all variables that are not Clocks 'variables'.
26
28
* Composition with dedicated Bus Simulation FMU: A separate Bus Simulation FMU is used to simulate the specific bus behavior.
27
29
Other FMUs that want to emulate bus communication provide and relate network information via this Bus Simulation FMU.
28
30
This communication architecture can be operated by a common FMU importer and allows complex and detailed bus simulations.
Copy file name to clipboardExpand all lines: docs/3____physical_signal_abstraction.adoc
+10-24Lines changed: 10 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,19 +10,16 @@ This role can be a Bus Simulation FMU or an importer with bus simulation support
10
10
To allow importers an easy distinction between these FMU roles, for Bus Simulation FMUs the attribute `isBusSimulationFMU` shall be set to `true` in the Manifest file.
11
11
12
12
The figure below shows an example architecture of a Physical Signal Abstraction.
13
-
The signals (_Signal 1...8_) are modeled as clocked FMU variables of a specific type.
13
+
The signals (_Signal 1...8_) are modeled as clocked variables of a specific type.
14
14
The corresponding signals are structurally combined using Protocol Data Units (PDUs), which in turn are assigned to frames.
15
15
The PDU and frame structuring is done via terminals (_PDU A, B, C_ and _Frame X, Y_).
16
-
The respective FMU variables are connected to a Bus Simulation, which emulates them according to their own needs for e.g. according to accuracy.
16
+
The respective variables are connected to a Bus Simulation, which emulates them according to their own needs for e.g. according to accuracy.
17
17
18
18
.Physical Signal Abstraction example architecture.
This section explains the variable types used to carry network traffic through FMI variables.
24
-
25
-
==== Signal Variables [[high-cut-signal-variables]]
22
+
=== Signal Variables [[high-cut-signal-variables]]
26
23
To define the Physical Signal Abstraction layer, signal variables are used.
27
24
28
25
A signal variable carries the physical value of a network signal normally packaged inside a PDU or frame.
@@ -36,28 +33,17 @@ _[These values could even be outside their specified min-max range without fault
36
33
37
34
All signal variables are clocked to indicate when they have been sent/received, see <<high-cut-clock-variables>>.
38
35
39
-
==== Clock Variables [[high-cut-clock-variables]]
36
+
=== Clocks [[high-cut-clock-variables]]
40
37
In order to use FMU input and output variables as transport layer for networks, Clocks are used to indicate the timing.
41
-
Such a Clock is scheduled by the sending FMU to indicate the transmission of the corresponding frame or frames.
38
+
The sending FMU uses a Clock to indicate the transmission of the corresponding frame or frames.
42
39
43
40
The Clock type (`periodic` or `aperiodic`) is defined by the sending FMU.
44
41
45
-
_[This allows the FMU (or better the exporting tool) to balance the accuracy and performance of its network communication:_
46
-
47
-
48
-
_- While `aperiodic` Clocks allow very accurate network simulations, frequently entering `Event Mode` might reduce the network simulation speed._
49
-
50
-
_- Using `periodic` Clocks might reduces the number of `Event Modes` required and might speeds up the simulation at the cost of simulation accuracy, because timing must be forced into a fixed grid and some intermediate values might not be transmitted._
51
-
52
-
_- One could use (structural) parameters to define the accuracy of `aperiodic` Clocks, allowing control of the simulation accuracy and performance with the same FMU._
53
-
54
-
_Note: The statements regarding `aperiodic` and `periodic` Clocks and their impact on performance should be understood as general tendencies rather than universally valid truths, as other aspects such as baud rates and expected bus loads must be taken into account for a more precise estimate.]_
55
-
56
-
The Clocks of a receiving frame shall be `triggered` Clocks if they are to be driven by the respective Clock of the sending frame.
57
-
Alternatively, Clocks of a receiving frame can be `periodic` Clocks matching the relevant Clock of the sending frame, which causes them to be scheduled for the same time instances
42
+
The Clocks of a receiving frame shall be `triggered` Clocks if they are to be driven by the respective Clock of the sending frame. +
43
+
Alternatively, Clocks of a receiving frame can be `periodic` Clocks matching the relevant Clock of the sending frame, which causes them to be scheduled for the same time instances.
58
44
_[This may allow for more efficient simulation in the case that there exists a more or less static communications schedule, and more detailed simulation of timing variation is not needed.]_
59
45
60
-
Signal variables belonging to frame `BusName.FrameName` and all its variables must share the same `causality` (`input` or `output`).
46
+
Signal variables belonging to frame `BusName.FrameName` must share the same `causality` (`input` or `output`).
Standardized <<high-cut-network-description-files,network description files>> may optionally be shipped with each FMU to describe properties of signals and frames, such as signal units, frame composition and trigger conditions.
@@ -88,7 +74,7 @@ Attribute definitions::
88
74
* `name` is the network name, e.g., `Powertrain`, see <<high-cut-examples, examples>> and constraints above.
89
75
90
76
Element definitions::
91
-
* All signal and Clock variables related to the Physical Signal Abstraction in the `modelDescription.xml` must be covered by a `<Terminal>` element representing the network frame the signals belong to.
77
+
* All signal variables and Clocks related to the Physical Signal Abstraction in the `modelDescription.xml` must be covered by a `<Terminal>` element representing the network frame the signals belong to.
92
78
93
79
Annotation element::
94
80
* If a <<high-cut-network-description-files,network description file>> is shipped with the specified FMU, there must be an `<Annotation>` element defining which node or nodes (as comma-separated list without spaces) of the <<high-cut-network-description-files>> are wrapped inside the FMU.
@@ -132,7 +118,7 @@ Attribute definitions::
132
118
* `variableName` refers to the input or output variable name of the FMU.
133
119
These variables represent the Physical Signal Abstraction layer.
134
120
Unless there are other requirements, it is recommended to build the variable names as follows: `BusName.FrameName.PDUName.SignalName`, e.g., `Powertrain.tcuSensors.tcuSensors.vCar`.
135
-
This approach automatically provides unique names for all bus-related variables, and can also be used for the Clock variables, to allow automatic grouping by non-terminal-aware tools.
121
+
This approach automatically provides unique names for all bus-related variables, and can also be used for Clocks, to allow automatic grouping by non-terminal-aware tools.
136
122
* `memberName` is the `SignalName` as given in the <<high-cut-network-description-files>>, e.g., `vCar`, if given.
137
123
This is redundant information but simplifies signal name extraction.
Copy file name to clipboardExpand all lines: docs/4_4_3_flexray.adoc
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -293,7 +293,6 @@ Only Network FMUs with the corresponding optionally exposed <<low-cut-flexray-bu
293
293
|====
294
294
295
295
====== Format Error [[low-cut-flexray-format-error-operation]]
296
-
A format error indicates a syntax or content error in response to a received operation.
297
296
See <<low-cut-format-error-operation, `Format Error`>> for definition.
298
297
299
298
====== Bus Error [[low-cut-flexray-bus-error-operation]]
@@ -844,7 +843,7 @@ This minimizes the Bus Communication Points of the overall simulation system and
844
843
This behavior is defined more specifically and slightly differently depending on whether it is a static or dynamic segment.
845
844
846
845
What both segments have in common is that the Network FMU itself must know the appropriate time of a <<low-cut-flexray-transmit-operation, `Transmit`>> operation basing on the FlexRay cycle and slot principle.
847
-
In concrete terms, this means that a Network FMU itself must provide the expected <<low-cut-flexray-transmit-operation, `Transmit`>> operation at the appropriate time via <<low-cut-tx-clock-variables, Tx Clock Variables>>.
846
+
In concrete terms, this means that a Network FMU itself must provide the expected <<low-cut-flexray-transmit-operation, `Transmit`>> operation at the appropriate time via <<low-cut-tx-clock, Tx Clocks>>.
848
847
The start time of the first FlexRay cycle is defined by the `Start Time` argument value of the <<low-cut-flexray-start-communication-operation, `Start Communication`>> operation.
849
848
850
849
That concrete means that the point in time for the start of FlexRay cycle in nanoseconds can be computed within a Network FMU as
0 commit comments