diff --git a/co-simulation/coe.json b/co-simulation/coe.json
index a1cc955..27c6ad9 100644
--- a/co-simulation/coe.json
+++ b/co-simulation/coe.json
@@ -3,5 +3,6 @@
"endTime": 15.0,
"reportProgress": true,
"liveLogInterval": 0,
- "logLevels": {}
+ "logLevels": {},
+ "loggingOn": true
}
diff --git a/co-simulation/controller.py b/co-simulation/controller.py
index 8015e96..6090ba3 100644
--- a/co-simulation/controller.py
+++ b/co-simulation/controller.py
@@ -7,7 +7,7 @@
## Co-sim properties
timestep=0.5
-max_time = 15.0
+max_time = 15.0 + 5.0
rabbitmq_host = "localhost"
rabbitmq_port = 5672
@@ -45,11 +45,11 @@ def publish():
msg = {}
msg['time']= dt.isoformat()
- msg['controller_event'] = "moveDiscreteCommand"
- msg['controller_event_args_0'] = 4.0
- msg['controller_event_args_1'] = 18.0
- msg['controller_event_args_2'] = 4.0
- msg['controller_event_args_3'] = 0.0
+ #msg['controller_event'] = "moveDiscreteCommand"
+ #msg['controller_event_args_0'] = 4.0
+ #msg['controller_event_args_1'] = 18.0
+ #msg['controller_event_args_2'] = 4.0
+ #msg['controller_event_args_3'] = 0.0
for i in range(int(max_time/timestep)):
@@ -57,27 +57,39 @@ def publish():
print("i:" + str(i))
if (i==2):
msg['controller_event'] = "moveDiscreteCommand"
- msg['controller_event_args_0'] = 4.0
- msg['controller_event_args_1'] = 18.0
- msg['controller_event_args_2'] = 4.0
-
- if (i==11):
- msg['controller_event'] = "closeGripperCommand"
msg['controller_event_args_0'] = 0.0
- msg['controller_event_args_1'] = 0.0
- msg['controller_event_args_2'] = 0.0
+ msg['controller_event_args_1'] = 23.0
+ msg['controller_event_args_2'] = 2.0
- if (i==16):
+ elif (i==11):
msg['controller_event'] = "moveDiscreteCommand"
- msg['controller_event_args_0'] = 0.0
+ msg['controller_event_args_0'] = 3.0
msg['controller_event_args_1'] = 20.0
msg['controller_event_args_2'] = 3.0
- if (i==25):
- msg['controller_event'] = "closeGripperCommand"
+ elif (i==16):
+ msg['controller_event'] = "moveDiscreteCommand"
+ msg['controller_event_args_0'] = 8.0
+ msg['controller_event_args_1'] = 10.0
+ msg['controller_event_args_2'] = 0.0
+
+ elif (i==25):
+ msg['controller_event'] = "moveDiscreteCommand"
+ msg['controller_event_args_0'] = 11.0
+ msg['controller_event_args_1'] = 16.0
+ msg['controller_event_args_2'] = 4.0
+ else:
+ msg['controller_event'] = ""
msg['controller_event_args_0'] = 0.0
msg['controller_event_args_1'] = 0.0
msg['controller_event_args_2'] = 0.0
+ msg['controller_event_args_3'] = 0.0
+ msg['controller_event_args_4'] = 0.0
+ msg['controller_event_args_5'] = 0.0
+ msg['controller_event_args_6'] = 0.0
+ msg['controller_event_args_7'] = 0.0
+ msg['controller_event_args_8'] = 0.0
+ msg['controller_event_args_9'] = 0.0
channel.basic_publish(exchange='fmi_digital_twin',
routing_key='data.to_cosim',
diff --git a/co-simulation/controllerFMU/controllerFMU/binaries/darwin64/unifmu.dylib b/co-simulation/controllerFMU/controllerFMU/binaries/darwin64/unifmu.dylib
new file mode 100644
index 0000000..2faaa75
Binary files /dev/null and b/co-simulation/controllerFMU/controllerFMU/binaries/darwin64/unifmu.dylib differ
diff --git a/co-simulation/controllerFMU/controllerFMU/binaries/linux64/unifmu.so b/co-simulation/controllerFMU/controllerFMU/binaries/linux64/unifmu.so
new file mode 100644
index 0000000..60220e7
Binary files /dev/null and b/co-simulation/controllerFMU/controllerFMU/binaries/linux64/unifmu.so differ
diff --git a/co-simulation/controllerFMU/controllerFMU/binaries/win64/unifmu.dll b/co-simulation/controllerFMU/controllerFMU/binaries/win64/unifmu.dll
new file mode 100644
index 0000000..178bc98
Binary files /dev/null and b/co-simulation/controllerFMU/controllerFMU/binaries/win64/unifmu.dll differ
diff --git a/co-simulation/controllerFMU/controllerFMU/controllerFMU.fmu b/co-simulation/controllerFMU/controllerFMU/controllerFMU.fmu
new file mode 100644
index 0000000..e34f861
Binary files /dev/null and b/co-simulation/controllerFMU/controllerFMU/controllerFMU.fmu differ
diff --git a/co-simulation/controllerFMU/controllerFMU/modelDescription.xml b/co-simulation/controllerFMU/controllerFMU/modelDescription.xml
new file mode 100644
index 0000000..34ec503
--- /dev/null
+++ b/co-simulation/controllerFMU/controllerFMU/modelDescription.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/co-simulation/controllerFMU/controllerFMU/resources/README.md b/co-simulation/controllerFMU/controllerFMU/resources/README.md
new file mode 100644
index 0000000..b54f5a3
--- /dev/null
+++ b/co-simulation/controllerFMU/controllerFMU/resources/README.md
@@ -0,0 +1,115 @@
+**This FMU was generated using UniFMU.
+For general instructions on how to use the tool access the repository https://github.com/INTO-CPS-Association/unifmu**
+
+# Implementing the model
+
+The `resources/model.py` file defines the functional relationship between inputs and outputs of the FMU.
+
+## Declaring inputs and outputs
+
+By default, each input, output or parameter declared in the `modelDescription.xml` file is represented as attributes on the instance of the `Model` class.
+For instance if a variable `a` is declared in the `modelDescription.xml` file, it an attribute of the same name should be declared in the `Model` class:
+
+```xml
+
+
+
+```
+
+```python
+def __init__(self) -> None:
+ self.a = 0.0
+
+ self.reference_to_attribute = {
+ 0: "a",
+ }
+```
+
+The FMI C-API uses numerical indices rather than names to which variables to read or write to.
+As such a mapping between the indices declared by the `valueReference` attribute of the xml and the attributes must be defined.
+By default the mapping between a value reference and its corresponding Python attribute is defined by adding an entry to the `reference_to_attributes` variable of the `Model` class.
+
+## Defining the behavior
+
+The `Model` class declares several methods that can be used to define the behavior of the FMU.
+Methods prefixed with `fmi2` mirror the methods declared in the C-API defined by the FMI specification.
+
+For instance, to update an output `b` to be twice the value of `a` the `fmi2DoStep` method could be defined as:
+
+```python
+def fmi2DoStep(self, current_time, step_size, no_step_prior):
+ self.b = self.a * 2
+ return Fmi2Status.ok
+```
+
+# Testing and debugging the model
+
+The `model.py` is _plain_ Python code, which means we can test the model using test cases and debugging tools.
+A small test program can be written and placed in the `model.py` the slave as seen below:
+
+```python
+if __name__ == "__main__":
+ m = Model()
+
+ assert m.a == 0.0
+ assert m.b == 0.0
+
+ m.a = 1.0
+ m.fmiDoStep(0.0, 1.0, False)
+
+ assert m.b == 2.0
+```
+
+The program can be executed in your IDE with or from the command line by running the `resources/model.py` script.
+
+# Runtime dependencies
+
+The environment that invokes the Python code must provide all the dependencies, otherwise the simulation will fail when instantiating or simulation the model.
+For instance, if the `resources/model.py` imports a third-party package such as `numpy`
+
+```python
+import numpy as np
+```
+
+this must also be available to the Python interpreter specified by the `launch.toml` file, in this case the system's `python3` interpreter:
+
+```toml
+linux = ["python3", "backend.py"]
+```
+
+One way to address a missing dependency is to install using package manager such as `pip`
+
+```
+python3 -m pip install numpy
+```
+
+**Any Python FMU generated UniFMU requires the `protobuf` package.
+The easiest way to install this is using pip:**
+
+```
+python3 -m pip install protobuf
+```
+
+# File structure
+
+An overview of the role of each file is provided in the tree below:
+
+```python
+📦model
+ ┣ 📂binaries
+ ┃ ┣ 📂darwin64
+ ┃ ┃ ┗ 📜unifmu.dylib # binary for macOS
+ ┃ ┣ 📂linux64
+ ┃ ┃ ┗ 📜unifmu.so # binary for Linux
+ ┃ ┗ 📂win64
+ ┃ ┃ ┗ 📜unifmu.dll # binary For Windows
+ ┣ 📂resources
+ ┃ ┣ 📂schemas
+ ┃ ┃ ┗ 📜unifmu_fmi2_pb2.py # schema defining structure of messages sent over RPC
+ ┃ ┣ 📜backend.py # receives messages and dispatched function calls to "model.py"
+ ┃ ┣ 📜launch.toml* # specifies command used to start FMU
+ ┃ ┗ 📜model.py* # implementation of FMU
+ ┗ 📜modelDescription.xml* # definition of inputs and outputs
+```
+
+\* denotes files that would typically be modified by the implementor of the FMU
diff --git a/co-simulation/controllerFMU/controllerFMU/resources/backend.py b/co-simulation/controllerFMU/controllerFMU/resources/backend.py
new file mode 100644
index 0000000..21476a2
--- /dev/null
+++ b/co-simulation/controllerFMU/controllerFMU/resources/backend.py
@@ -0,0 +1,142 @@
+import logging
+import os
+import sys
+from schemas.unifmu_fmi2_pb2 import (
+ Fmi2Command,
+ Fmi2ExtHandshakeReturn,
+ Fmi2ExtSerializeSlaveReturn,
+ Fmi2StatusReturn,
+ Fmi2GetRealReturn,
+ Fmi2GetIntegerReturn,
+ Fmi2GetBooleanReturn,
+ Fmi2GetStringReturn,
+ Fmi2FreeInstanceReturn,
+)
+
+logging.basicConfig(level=logging.DEBUG)
+logger = logging.getLogger(__file__)
+
+try:
+ import zmq
+except ImportError:
+ logger.fatal(
+ "unable to import the python library 'zmq' required by the schemaless backend. "
+ "please ensure that the library is present in the python environment launching the script. "
+ "the missing dependencies can be installed using 'python -m pip install unifmu[python-backend]'"
+ )
+ sys.exit(-1)
+
+from model import Model
+
+if __name__ == "__main__":
+
+ slave = Model()
+
+ # initializing message queue
+ context = zmq.Context()
+ socket = context.socket(zmq.REQ)
+ dispatcher_endpoint = os.environ["UNIFMU_DISPATCHER_ENDPOINT"]
+ logger.info(f"dispatcher endpoint received: {dispatcher_endpoint}")
+ socket.connect(dispatcher_endpoint)
+
+ state = Fmi2ExtHandshakeReturn().SerializeToString()
+ socket.send(state)
+
+ command = Fmi2Command()
+
+ while True:
+
+ msg = socket.recv()
+ command.ParseFromString(msg)
+
+ group = command.WhichOneof("command")
+
+ data = getattr(command, command.WhichOneof("command"))
+ if group == "Fmi2SetupExperiment":
+ result = Fmi2StatusReturn()
+ result.status = slave.fmi2SetupExperiment(
+ data.start_time, data.stop_time, data.tolerance
+ )
+
+ elif group == "Fmi2SetDebugLogging":
+ result = Fmi2StatusReturn()
+ result.status = slave.fmiSetDebugLogging(
+ data.categores, data.logging_on
+ )
+
+ elif group == "Fmi2DoStep":
+ result = Fmi2StatusReturn()
+ result.status = slave.fmi2DoStep(
+ data.current_time, data.step_size, data.no_step_prior
+ )
+ elif group == "Fmi2EnterInitializationMode":
+ result = Fmi2StatusReturn()
+ result.status = slave.fmi2EnterInitializationMode()
+ elif group == "Fmi2ExitInitializationMode":
+ result = Fmi2StatusReturn()
+ result.status = slave.fmi2ExitInitializationMode()
+ elif group == "Fmi2ExtSerializeSlave":
+ result = Fmi2ExtSerializeSlaveReturn()
+ (result.status, result.state) = slave.fmi2ExtSerialize()
+ elif group == "Fmi2ExtDeserializeSlave":
+ result = Fmi2StatusReturn()
+ result.status = slave.fmi2ExtDeserialize(data.state)
+ elif group == "Fmi2GetReal":
+ result = Fmi2GetRealReturn()
+ result.status, result.values[:] = slave.fmi2GetReal(
+ command.Fmi2GetReal.references
+ )
+ elif group == "Fmi2GetInteger":
+ result = Fmi2GetIntegerReturn()
+ result.status, result.values[:] = slave.fmi2GetInteger(
+ command.Fmi2GetInteger.references
+ )
+ elif group == "Fmi2GetBoolean":
+ result = Fmi2GetBooleanReturn()
+ result.status, result.values[:] = slave.fmi2GetBoolean(
+ command.Fmi2GetBoolean.references
+ )
+ elif group == "Fmi2GetString":
+ result = Fmi2GetStringReturn()
+ result.status, result.values[:] = slave.fmi2GetString(
+ command.Fmi2GetString.references
+ )
+ elif group == "Fmi2SetReal":
+ result = Fmi2StatusReturn()
+ result.status = slave.fmi2SetReal(
+ command.Fmi2SetReal.references, command.Fmi2SetReal.values
+ )
+
+ elif group == "Fmi2SetInteger":
+ result = Fmi2StatusReturn()
+
+ result.status = slave.fmi2SetInteger(
+ command.Fmi2SetInteger.references, command.Fmi2SetInteger.values
+ )
+
+ elif group == "Fmi2SetBoolean":
+ result = Fmi2StatusReturn()
+ result.status = slave.fmi2SetBoolean(
+ command.Fmi2SetBoolean.references, command.Fmi2SetBoolean.values
+ )
+ elif group == "Fmi2SetString":
+ result = Fmi2StatusReturn()
+ result.status = slave.fmi2SetString(
+ command.Fmi2SetString.references, command.Fmi2SetString.values
+ )
+ elif group == "Fmi2Terminate":
+ result = Fmi2StatusReturn()
+ result.status = slave.fmi2Terminate()
+ elif group == "Fmi2Reset":
+ result = Fmi2StatusReturn()
+ result.status = slave.fmi2Reset()
+ elif group == "Fmi2FreeInstance":
+ result = Fmi2FreeInstanceReturn()
+ logger.info(f"Fmi2FreeInstance received, shutting down")
+ sys.exit(0)
+ else:
+ logger.error(f"unrecognized command '{group}' received, shutting down")
+ sys.exit(-1)
+
+ state = result.SerializeToString()
+ socket.send(state)
diff --git a/co-simulation/controllerFMU/controllerFMU/resources/launch.toml b/co-simulation/controllerFMU/controllerFMU/resources/launch.toml
new file mode 100644
index 0000000..be23000
--- /dev/null
+++ b/co-simulation/controllerFMU/controllerFMU/resources/launch.toml
@@ -0,0 +1,3 @@
+linux = ["python3", "backend.py"]
+macos = ["python3", "backend.py"]
+windows = ["python", "backend.py"]
diff --git a/co-simulation/controllerFMU/controllerFMU/resources/model.py b/co-simulation/controllerFMU/controllerFMU/resources/model.py
new file mode 100644
index 0000000..488c800
--- /dev/null
+++ b/co-simulation/controllerFMU/controllerFMU/resources/model.py
@@ -0,0 +1,190 @@
+import pickle
+
+
+class Model:
+ def __init__(self) -> None:
+ self.controller_event = ""
+ self.controller_event_args_0 = 0.0
+ self.controller_event_args_1 = 0.0
+ self.controller_event_args_2 = 0.0
+
+
+ self.reference_to_attribute = {
+ 0: "controller_event",
+ 1: "controller_event_args_0",
+ 2: "controller_event_args_1",
+ 3: "controller_event_args_2"
+ }
+
+
+ def fmi2DoStep(self, current_time, step_size, no_step_prior):
+ idx = int(current_time/step_size)
+ if (idx==2):
+ self.controller_event = "moveDiscreteCommand"
+ self.controller_event_args_0 = 0.0
+ self.controller_event_args_1 = 23.0
+ self.controller_event_args_2 = 2.0
+ elif (idx==11):
+ self.controller_event = "moveDiscreteCommand"
+ self.controller_event_args_0 = 3.0
+ self.controller_event_args_1 = 20.0
+ self.controller_event_args_2 = 3.0
+
+ elif (idx==16):
+ self.controller_event = "moveDiscreteCommand"
+ self.controller_event_args_0 = 8.0
+ self.controller_event_args_1 = 10.0
+ self.controller_event_args_2 = 0.0
+ elif (idx==25):
+ self.controller_event = "moveDiscreteCommand"
+ self.controller_event_args_0 = 11.0
+ self.controller_event_args_1 = 16.0
+ self.controller_event_args_2 = 4.0
+ else:
+ self.controller_event = ""
+ self.controller_event_args_0 = 0.0
+ self.controller_event_args_1 = 0.0
+ self.controller_event_args_2 = 0.0
+ return Fmi2Status.ok
+
+ def fmi2EnterInitializationMode(self):
+ return Fmi2Status.ok
+
+ def fmi2ExitInitializationMode(self):
+ return Fmi2Status.ok
+
+ def fmi2SetupExperiment(self, start_time, stop_time, tolerance):
+ return Fmi2Status.ok
+
+ def fmi2SetReal(self, references, values):
+ return self._set_value(references, values)
+
+ def fmi2SetInteger(self, references, values):
+ return self._set_value(references, values)
+
+ def fmi2SetBoolean(self, references, values):
+ return self._set_value(references, values)
+
+ def fmi2SetString(self, references, values):
+ return self._set_value(references, values)
+
+ def fmi2GetReal(self, references):
+ return self._get_value(references)
+
+ def fmi2GetInteger(self, references):
+ return self._get_value(references)
+
+ def fmi2GetBoolean(self, references):
+ return self._get_value(references)
+
+ def fmi2GetString(self, references):
+ return self._get_value(references)
+
+ def fmi2Reset(self):
+ return Fmi2Status.ok
+
+ def fmi2Terminate(self):
+ return Fmi2Status.ok
+
+ def fmi2ExtSerialize(self):
+
+ bytes = pickle.dumps(
+ (
+ self.controller_event,
+ self.controller_event_args_0,
+ self.controller_event_args_1,
+ self.controller_event_args_2
+ )
+ )
+ return Fmi2Status.ok, bytes
+
+ def fmi2ExtDeserialize(self, bytes) -> int:
+ (
+ controller_event,
+ controller_event_args_0,
+ controller_event_args_1,
+ controller_event_args_2,
+ ) = pickle.loads(bytes)
+ self.controller_event = controller_event
+ self.controller_event_args_0 = controller_event_args_0
+ self.controller_event_args_1 = controller_event_args_1
+ self.controller_event_args_2 = controller_event_args_2
+
+ return Fmi2Status.ok
+
+ def _set_value(self, references, values):
+
+ for r, v in zip(references, values):
+ setattr(self, self.reference_to_attribute[r], v)
+
+ return Fmi2Status.ok
+
+ def _get_value(self, references):
+
+ values = []
+
+ for r in references:
+ values.append(getattr(self, self.reference_to_attribute[r]))
+
+ return Fmi2Status.ok, values
+
+
+
+
+
+
+class Fmi2Status:
+ """Represents the status of the FMU or the results of function calls.
+
+ Values:
+ * ok: all well
+ * warning: an issue has arisen, but the computation can continue.
+ * discard: an operation has resulted in invalid output, which must be discarded
+ * error: an error has ocurred for this specific FMU instance.
+ * fatal: an fatal error has ocurred which has corrupted ALL FMU instances.
+ * pending: indicates that the FMu is doing work asynchronously, which can be retrived later.
+
+ Notes:
+ FMI section 2.1.3
+
+ """
+
+ ok = 0
+ warning = 1
+ discard = 2
+ error = 3
+ fatal = 4
+ pending = 5
+
+
+if __name__ == "__main__":
+ m = Model()
+
+ assert m.real_a == 0.0
+ assert m.real_b == 0.0
+ assert m.real_c == 0.0
+ assert m.integer_a == 0
+ assert m.integer_b == 0
+ assert m.integer_c == 0
+ assert m.boolean_a == False
+ assert m.boolean_b == False
+ assert m.boolean_c == False
+ assert m.string_a == ""
+ assert m.string_b == ""
+ assert m.string_c == ""
+
+ m.real_a = 1.0
+ m.real_b = 2.0
+ m.integer_a = 1
+ m.integer_b = 2
+ m.boolean_a = True
+ m.boolean_b = False
+ m.string_a = "Hello "
+ m.string_b = "World!"
+
+ assert m.fmi2DoStep(0.0, 1.0, False) == Fmi2Status.ok
+
+ assert m.real_c == 3.0
+ assert m.integer_c == 3
+ assert m.boolean_c == True
+ assert m.string_c == "Hello World!"
diff --git a/co-simulation/controllerFMU/controllerFMU/resources/schemas/unifmu_fmi2_pb2.py b/co-simulation/controllerFMU/controllerFMU/resources/schemas/unifmu_fmi2_pb2.py
new file mode 100644
index 0000000..ade7eac
--- /dev/null
+++ b/co-simulation/controllerFMU/controllerFMU/resources/schemas/unifmu_fmi2_pb2.py
@@ -0,0 +1,1753 @@
+# -*- coding: utf-8 -*-
+# Generated by the protocol buffer compiler. DO NOT EDIT!
+# source: unifmu_fmi2.proto
+"""Generated protocol buffer code."""
+from google.protobuf.internal import enum_type_wrapper
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+ name='unifmu_fmi2.proto',
+ package='fmi2_proto',
+ syntax='proto3',
+ serialized_options=b'\n\000B\nUnifmuFmi2',
+ create_key=_descriptor._internal_create_key,
+ serialized_pb=b'\n\x11unifmu_fmi2.proto\x12\nfmi2_proto\"1\n\x0b\x46mi2SetReal\x12\x12\n\nreferences\x18\x01 \x03(\r\x12\x0e\n\x06values\x18\x02 \x03(\x01\"4\n\x0e\x46mi2SetInteger\x12\x12\n\nreferences\x18\x01 \x03(\r\x12\x0e\n\x06values\x18\x02 \x03(\x05\"4\n\x0e\x46mi2SetBoolean\x12\x12\n\nreferences\x18\x01 \x03(\r\x12\x0e\n\x06values\x18\x02 \x03(\x08\"3\n\rFmi2SetString\x12\x12\n\nreferences\x18\x01 \x03(\r\x12\x0e\n\x06values\x18\x02 \x03(\t\"!\n\x0b\x46mi2GetReal\x12\x12\n\nreferences\x18\x01 \x03(\r\"$\n\x0e\x46mi2GetInteger\x12\x12\n\nreferences\x18\x01 \x03(\r\"$\n\x0e\x46mi2GetBoolean\x12\x12\n\nreferences\x18\x01 \x03(\r\"#\n\rFmi2GetString\x12\x12\n\nreferences\x18\x01 \x03(\r\"L\n\nFmi2DoStep\x12\x14\n\x0c\x63urrent_time\x18\x01 \x01(\x01\x12\x11\n\tstep_size\x18\x02 \x01(\x01\x12\x15\n\rno_step_prior\x18\x03 \x01(\x08\"u\n\x13\x46mi2SetupExperiment\x12\x12\n\nstart_time\x18\x01 \x01(\x01\x12\x16\n\tstop_time\x18\x02 \x01(\x01H\x00\x88\x01\x01\x12\x16\n\ttolerance\x18\x03 \x01(\x01H\x01\x88\x01\x01\x42\x0c\n\n_stop_timeB\x0c\n\n_tolerance\"\x10\n\x0e\x46mi2CancelStep\"\x1d\n\x1b\x46mi2EnterInitializationMode\"\x1c\n\x1a\x46mi2ExitInitializationMode\"\x12\n\x10\x46mi2FreeInstance\"\x0f\n\rFmi2Terminate\"\x0b\n\tFmi2Reset\"n\n\x1d\x46mi2GetDirectionalDerivatives\x12\x1a\n\x12references_unknown\x18\x01 \x03(\r\x12\x18\n\x10references_known\x18\x02 \x03(\r\x12\x17\n\x0f\x64irection_known\x18\x03 \x03(\x01\"Q\n\x1b\x46mi2SetRealInputDerivatives\x12\x12\n\nreferences\x18\x01 \x03(\r\x12\x0e\n\x06orders\x18\x02 \x03(\x05\x12\x0e\n\x06values\x18\x03 \x03(\x01\"B\n\x1c\x46mi2GetRealOutputDerivatives\x12\x12\n\nreferences\x18\x01 \x03(\r\x12\x0e\n\x06orders\x18\x02 \x03(\x05\"=\n\x13\x46mi2SetDebugLogging\x12\x12\n\ncategories\x18\x01 \x03(\t\x12\x12\n\nlogging_on\x18\x02 \x01(\x08\":\n\x10\x46mi2StatusReturn\x12&\n\x06status\x18\x01 \x01(\x0e\x32\x16.fmi2_proto.Fmi2Status\"K\n\x11\x46mi2GetRealReturn\x12&\n\x06status\x18\x01 \x01(\x0e\x32\x16.fmi2_proto.Fmi2Status\x12\x0e\n\x06values\x18\x02 \x03(\x01\"N\n\x14\x46mi2GetIntegerReturn\x12&\n\x06status\x18\x01 \x01(\x0e\x32\x16.fmi2_proto.Fmi2Status\x12\x0e\n\x06values\x18\x02 \x03(\x05\"N\n\x14\x46mi2GetBooleanReturn\x12&\n\x06status\x18\x01 \x01(\x0e\x32\x16.fmi2_proto.Fmi2Status\x12\x0e\n\x06values\x18\x02 \x03(\x08\"M\n\x13\x46mi2GetStringReturn\x12&\n\x06status\x18\x01 \x01(\x0e\x32\x16.fmi2_proto.Fmi2Status\x12\x0e\n\x06values\x18\x02 \x03(\t\"\x18\n\x16\x46mi2FreeInstanceReturn\"\\\n\"Fmi2GetRealOutputDerivativesReturn\x12&\n\x06status\x18\x01 \x01(\x0e\x32\x16.fmi2_proto.Fmi2Status\x12\x0e\n\x06values\x18\x02 \x03(\x01\"]\n#Fmi2GetDirectionalDerivativesReturn\x12&\n\x06status\x18\x01 \x01(\x0e\x32\x16.fmi2_proto.Fmi2Status\x12\x0e\n\x06values\x18\x02 \x03(\x01\"\x17\n\x15\x46mi2ExtSerializeSlave\"(\n\x17\x46mi2ExtDeserializeSlave\x12\r\n\x05state\x18\x01 \x01(\x0c\"\x18\n\x16\x46mi2ExtHandshakeReturn\"T\n\x1b\x46mi2ExtSerializeSlaveReturn\x12&\n\x06status\x18\x01 \x01(\x0e\x32\x16.fmi2_proto.Fmi2Status\x12\r\n\x05state\x18\x02 \x01(\x0c\"\xd6\n\n\x0b\x46mi2Command\x12,\n\nFmi2DoStep\x18\x01 \x01(\x0b\x32\x16.fmi2_proto.Fmi2DoStepH\x00\x12.\n\x0b\x46mi2SetReal\x18\x02 \x01(\x0b\x32\x17.fmi2_proto.Fmi2SetRealH\x00\x12\x34\n\x0e\x46mi2SetInteger\x18\x03 \x01(\x0b\x32\x1a.fmi2_proto.Fmi2SetIntegerH\x00\x12\x34\n\x0e\x46mi2SetBoolean\x18\x04 \x01(\x0b\x32\x1a.fmi2_proto.Fmi2SetBooleanH\x00\x12\x32\n\rFmi2SetString\x18\x05 \x01(\x0b\x32\x19.fmi2_proto.Fmi2SetStringH\x00\x12.\n\x0b\x46mi2GetReal\x18\x06 \x01(\x0b\x32\x17.fmi2_proto.Fmi2GetRealH\x00\x12\x34\n\x0e\x46mi2GetInteger\x18\x07 \x01(\x0b\x32\x1a.fmi2_proto.Fmi2GetIntegerH\x00\x12\x34\n\x0e\x46mi2GetBoolean\x18\x08 \x01(\x0b\x32\x1a.fmi2_proto.Fmi2GetBooleanH\x00\x12\x32\n\rFmi2GetString\x18\t \x01(\x0b\x32\x19.fmi2_proto.Fmi2GetStringH\x00\x12>\n\x13\x46mi2SetupExperiment\x18\n \x01(\x0b\x32\x1f.fmi2_proto.Fmi2SetupExperimentH\x00\x12N\n\x1b\x46mi2EnterInitializationMode\x18\x0b \x01(\x0b\x32\'.fmi2_proto.Fmi2EnterInitializationModeH\x00\x12L\n\x1a\x46mi2ExitInitializationMode\x18\x0c \x01(\x0b\x32&.fmi2_proto.Fmi2ExitInitializationModeH\x00\x12\x38\n\x10\x46mi2FreeInstance\x18\r \x01(\x0b\x32\x1c.fmi2_proto.Fmi2FreeInstanceH\x00\x12*\n\tFmi2Reset\x18\x0e \x01(\x0b\x32\x15.fmi2_proto.Fmi2ResetH\x00\x12\x32\n\rFmi2Terminate\x18\x0f \x01(\x0b\x32\x19.fmi2_proto.Fmi2TerminateH\x00\x12\x34\n\x0e\x46mi2CancelStep\x18\x10 \x01(\x0b\x32\x1a.fmi2_proto.Fmi2CancelStepH\x00\x12\x42\n\x15\x46mi2ExtSerializeSlave\x18\x11 \x01(\x0b\x32!.fmi2_proto.Fmi2ExtSerializeSlaveH\x00\x12\x46\n\x17\x46mi2ExtDeserializeSlave\x18\x12 \x01(\x0b\x32#.fmi2_proto.Fmi2ExtDeserializeSlaveH\x00\x12>\n\x13\x46mi2SetDebugLogging\x18\x13 \x01(\x0b\x32\x1f.fmi2_proto.Fmi2SetDebugLoggingH\x00\x12P\n\x1c\x46mi2GetRealOutputDerivatives\x18\x14 \x01(\x0b\x32(.fmi2_proto.Fmi2GetRealOutputDerivativesH\x00\x12N\n\x1b\x46mi2SetRealInputDerivatives\x18\x15 \x01(\x0b\x32\'.fmi2_proto.Fmi2SetRealInputDerivativesH\x00\x12R\n\x1d\x46mi2GetDirectionalDerivatives\x18\x16 \x01(\x0b\x32).fmi2_proto.Fmi2GetDirectionalDerivativesH\x00\x42\t\n\x07\x63ommand*Q\n\nFmi2Status\x12\x06\n\x02Ok\x10\x00\x12\x0b\n\x07Warning\x10\x01\x12\x0b\n\x07\x44iscard\x10\x02\x12\t\n\x05\x45rror\x10\x03\x12\t\n\x05\x46\x61tal\x10\x04\x12\x0b\n\x07Pending\x10\x05\x42\x0e\n\x00\x42\nUnifmuFmi2b\x06proto3'
+)
+
+_FMI2STATUS = _descriptor.EnumDescriptor(
+ name='Fmi2Status',
+ full_name='fmi2_proto.Fmi2Status',
+ filename=None,
+ file=DESCRIPTOR,
+ create_key=_descriptor._internal_create_key,
+ values=[
+ _descriptor.EnumValueDescriptor(
+ name='Ok', index=0, number=0,
+ serialized_options=None,
+ type=None,
+ create_key=_descriptor._internal_create_key),
+ _descriptor.EnumValueDescriptor(
+ name='Warning', index=1, number=1,
+ serialized_options=None,
+ type=None,
+ create_key=_descriptor._internal_create_key),
+ _descriptor.EnumValueDescriptor(
+ name='Discard', index=2, number=2,
+ serialized_options=None,
+ type=None,
+ create_key=_descriptor._internal_create_key),
+ _descriptor.EnumValueDescriptor(
+ name='Error', index=3, number=3,
+ serialized_options=None,
+ type=None,
+ create_key=_descriptor._internal_create_key),
+ _descriptor.EnumValueDescriptor(
+ name='Fatal', index=4, number=4,
+ serialized_options=None,
+ type=None,
+ create_key=_descriptor._internal_create_key),
+ _descriptor.EnumValueDescriptor(
+ name='Pending', index=5, number=5,
+ serialized_options=None,
+ type=None,
+ create_key=_descriptor._internal_create_key),
+ ],
+ containing_type=None,
+ serialized_options=None,
+ serialized_start=3184,
+ serialized_end=3265,
+)
+_sym_db.RegisterEnumDescriptor(_FMI2STATUS)
+
+Fmi2Status = enum_type_wrapper.EnumTypeWrapper(_FMI2STATUS)
+Ok = 0
+Warning = 1
+Discard = 2
+Error = 3
+Fatal = 4
+Pending = 5
+
+
+
+_FMI2SETREAL = _descriptor.Descriptor(
+ name='Fmi2SetReal',
+ full_name='fmi2_proto.Fmi2SetReal',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='references', full_name='fmi2_proto.Fmi2SetReal.references', index=0,
+ number=1, type=13, cpp_type=3, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='values', full_name='fmi2_proto.Fmi2SetReal.values', index=1,
+ number=2, type=1, cpp_type=5, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=33,
+ serialized_end=82,
+)
+
+
+_FMI2SETINTEGER = _descriptor.Descriptor(
+ name='Fmi2SetInteger',
+ full_name='fmi2_proto.Fmi2SetInteger',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='references', full_name='fmi2_proto.Fmi2SetInteger.references', index=0,
+ number=1, type=13, cpp_type=3, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='values', full_name='fmi2_proto.Fmi2SetInteger.values', index=1,
+ number=2, type=5, cpp_type=1, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=84,
+ serialized_end=136,
+)
+
+
+_FMI2SETBOOLEAN = _descriptor.Descriptor(
+ name='Fmi2SetBoolean',
+ full_name='fmi2_proto.Fmi2SetBoolean',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='references', full_name='fmi2_proto.Fmi2SetBoolean.references', index=0,
+ number=1, type=13, cpp_type=3, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='values', full_name='fmi2_proto.Fmi2SetBoolean.values', index=1,
+ number=2, type=8, cpp_type=7, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=138,
+ serialized_end=190,
+)
+
+
+_FMI2SETSTRING = _descriptor.Descriptor(
+ name='Fmi2SetString',
+ full_name='fmi2_proto.Fmi2SetString',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='references', full_name='fmi2_proto.Fmi2SetString.references', index=0,
+ number=1, type=13, cpp_type=3, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='values', full_name='fmi2_proto.Fmi2SetString.values', index=1,
+ number=2, type=9, cpp_type=9, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=192,
+ serialized_end=243,
+)
+
+
+_FMI2GETREAL = _descriptor.Descriptor(
+ name='Fmi2GetReal',
+ full_name='fmi2_proto.Fmi2GetReal',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='references', full_name='fmi2_proto.Fmi2GetReal.references', index=0,
+ number=1, type=13, cpp_type=3, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=245,
+ serialized_end=278,
+)
+
+
+_FMI2GETINTEGER = _descriptor.Descriptor(
+ name='Fmi2GetInteger',
+ full_name='fmi2_proto.Fmi2GetInteger',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='references', full_name='fmi2_proto.Fmi2GetInteger.references', index=0,
+ number=1, type=13, cpp_type=3, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=280,
+ serialized_end=316,
+)
+
+
+_FMI2GETBOOLEAN = _descriptor.Descriptor(
+ name='Fmi2GetBoolean',
+ full_name='fmi2_proto.Fmi2GetBoolean',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='references', full_name='fmi2_proto.Fmi2GetBoolean.references', index=0,
+ number=1, type=13, cpp_type=3, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=318,
+ serialized_end=354,
+)
+
+
+_FMI2GETSTRING = _descriptor.Descriptor(
+ name='Fmi2GetString',
+ full_name='fmi2_proto.Fmi2GetString',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='references', full_name='fmi2_proto.Fmi2GetString.references', index=0,
+ number=1, type=13, cpp_type=3, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=356,
+ serialized_end=391,
+)
+
+
+_FMI2DOSTEP = _descriptor.Descriptor(
+ name='Fmi2DoStep',
+ full_name='fmi2_proto.Fmi2DoStep',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='current_time', full_name='fmi2_proto.Fmi2DoStep.current_time', index=0,
+ number=1, type=1, cpp_type=5, label=1,
+ has_default_value=False, default_value=float(0),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='step_size', full_name='fmi2_proto.Fmi2DoStep.step_size', index=1,
+ number=2, type=1, cpp_type=5, label=1,
+ has_default_value=False, default_value=float(0),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='no_step_prior', full_name='fmi2_proto.Fmi2DoStep.no_step_prior', index=2,
+ number=3, type=8, cpp_type=7, label=1,
+ has_default_value=False, default_value=False,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=393,
+ serialized_end=469,
+)
+
+
+_FMI2SETUPEXPERIMENT = _descriptor.Descriptor(
+ name='Fmi2SetupExperiment',
+ full_name='fmi2_proto.Fmi2SetupExperiment',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='start_time', full_name='fmi2_proto.Fmi2SetupExperiment.start_time', index=0,
+ number=1, type=1, cpp_type=5, label=1,
+ has_default_value=False, default_value=float(0),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='stop_time', full_name='fmi2_proto.Fmi2SetupExperiment.stop_time', index=1,
+ number=2, type=1, cpp_type=5, label=1,
+ has_default_value=False, default_value=float(0),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='tolerance', full_name='fmi2_proto.Fmi2SetupExperiment.tolerance', index=2,
+ number=3, type=1, cpp_type=5, label=1,
+ has_default_value=False, default_value=float(0),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ _descriptor.OneofDescriptor(
+ name='_stop_time', full_name='fmi2_proto.Fmi2SetupExperiment._stop_time',
+ index=0, containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[]),
+ _descriptor.OneofDescriptor(
+ name='_tolerance', full_name='fmi2_proto.Fmi2SetupExperiment._tolerance',
+ index=1, containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[]),
+ ],
+ serialized_start=471,
+ serialized_end=588,
+)
+
+
+_FMI2CANCELSTEP = _descriptor.Descriptor(
+ name='Fmi2CancelStep',
+ full_name='fmi2_proto.Fmi2CancelStep',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=590,
+ serialized_end=606,
+)
+
+
+_FMI2ENTERINITIALIZATIONMODE = _descriptor.Descriptor(
+ name='Fmi2EnterInitializationMode',
+ full_name='fmi2_proto.Fmi2EnterInitializationMode',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=608,
+ serialized_end=637,
+)
+
+
+_FMI2EXITINITIALIZATIONMODE = _descriptor.Descriptor(
+ name='Fmi2ExitInitializationMode',
+ full_name='fmi2_proto.Fmi2ExitInitializationMode',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=639,
+ serialized_end=667,
+)
+
+
+_FMI2FREEINSTANCE = _descriptor.Descriptor(
+ name='Fmi2FreeInstance',
+ full_name='fmi2_proto.Fmi2FreeInstance',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=669,
+ serialized_end=687,
+)
+
+
+_FMI2TERMINATE = _descriptor.Descriptor(
+ name='Fmi2Terminate',
+ full_name='fmi2_proto.Fmi2Terminate',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=689,
+ serialized_end=704,
+)
+
+
+_FMI2RESET = _descriptor.Descriptor(
+ name='Fmi2Reset',
+ full_name='fmi2_proto.Fmi2Reset',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=706,
+ serialized_end=717,
+)
+
+
+_FMI2GETDIRECTIONALDERIVATIVES = _descriptor.Descriptor(
+ name='Fmi2GetDirectionalDerivatives',
+ full_name='fmi2_proto.Fmi2GetDirectionalDerivatives',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='references_unknown', full_name='fmi2_proto.Fmi2GetDirectionalDerivatives.references_unknown', index=0,
+ number=1, type=13, cpp_type=3, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='references_known', full_name='fmi2_proto.Fmi2GetDirectionalDerivatives.references_known', index=1,
+ number=2, type=13, cpp_type=3, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='direction_known', full_name='fmi2_proto.Fmi2GetDirectionalDerivatives.direction_known', index=2,
+ number=3, type=1, cpp_type=5, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=719,
+ serialized_end=829,
+)
+
+
+_FMI2SETREALINPUTDERIVATIVES = _descriptor.Descriptor(
+ name='Fmi2SetRealInputDerivatives',
+ full_name='fmi2_proto.Fmi2SetRealInputDerivatives',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='references', full_name='fmi2_proto.Fmi2SetRealInputDerivatives.references', index=0,
+ number=1, type=13, cpp_type=3, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='orders', full_name='fmi2_proto.Fmi2SetRealInputDerivatives.orders', index=1,
+ number=2, type=5, cpp_type=1, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='values', full_name='fmi2_proto.Fmi2SetRealInputDerivatives.values', index=2,
+ number=3, type=1, cpp_type=5, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=831,
+ serialized_end=912,
+)
+
+
+_FMI2GETREALOUTPUTDERIVATIVES = _descriptor.Descriptor(
+ name='Fmi2GetRealOutputDerivatives',
+ full_name='fmi2_proto.Fmi2GetRealOutputDerivatives',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='references', full_name='fmi2_proto.Fmi2GetRealOutputDerivatives.references', index=0,
+ number=1, type=13, cpp_type=3, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='orders', full_name='fmi2_proto.Fmi2GetRealOutputDerivatives.orders', index=1,
+ number=2, type=5, cpp_type=1, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=914,
+ serialized_end=980,
+)
+
+
+_FMI2SETDEBUGLOGGING = _descriptor.Descriptor(
+ name='Fmi2SetDebugLogging',
+ full_name='fmi2_proto.Fmi2SetDebugLogging',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='categories', full_name='fmi2_proto.Fmi2SetDebugLogging.categories', index=0,
+ number=1, type=9, cpp_type=9, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='logging_on', full_name='fmi2_proto.Fmi2SetDebugLogging.logging_on', index=1,
+ number=2, type=8, cpp_type=7, label=1,
+ has_default_value=False, default_value=False,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=982,
+ serialized_end=1043,
+)
+
+
+_FMI2STATUSRETURN = _descriptor.Descriptor(
+ name='Fmi2StatusReturn',
+ full_name='fmi2_proto.Fmi2StatusReturn',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='status', full_name='fmi2_proto.Fmi2StatusReturn.status', index=0,
+ number=1, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1045,
+ serialized_end=1103,
+)
+
+
+_FMI2GETREALRETURN = _descriptor.Descriptor(
+ name='Fmi2GetRealReturn',
+ full_name='fmi2_proto.Fmi2GetRealReturn',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='status', full_name='fmi2_proto.Fmi2GetRealReturn.status', index=0,
+ number=1, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='values', full_name='fmi2_proto.Fmi2GetRealReturn.values', index=1,
+ number=2, type=1, cpp_type=5, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1105,
+ serialized_end=1180,
+)
+
+
+_FMI2GETINTEGERRETURN = _descriptor.Descriptor(
+ name='Fmi2GetIntegerReturn',
+ full_name='fmi2_proto.Fmi2GetIntegerReturn',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='status', full_name='fmi2_proto.Fmi2GetIntegerReturn.status', index=0,
+ number=1, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='values', full_name='fmi2_proto.Fmi2GetIntegerReturn.values', index=1,
+ number=2, type=5, cpp_type=1, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1182,
+ serialized_end=1260,
+)
+
+
+_FMI2GETBOOLEANRETURN = _descriptor.Descriptor(
+ name='Fmi2GetBooleanReturn',
+ full_name='fmi2_proto.Fmi2GetBooleanReturn',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='status', full_name='fmi2_proto.Fmi2GetBooleanReturn.status', index=0,
+ number=1, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='values', full_name='fmi2_proto.Fmi2GetBooleanReturn.values', index=1,
+ number=2, type=8, cpp_type=7, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1262,
+ serialized_end=1340,
+)
+
+
+_FMI2GETSTRINGRETURN = _descriptor.Descriptor(
+ name='Fmi2GetStringReturn',
+ full_name='fmi2_proto.Fmi2GetStringReturn',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='status', full_name='fmi2_proto.Fmi2GetStringReturn.status', index=0,
+ number=1, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='values', full_name='fmi2_proto.Fmi2GetStringReturn.values', index=1,
+ number=2, type=9, cpp_type=9, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1342,
+ serialized_end=1419,
+)
+
+
+_FMI2FREEINSTANCERETURN = _descriptor.Descriptor(
+ name='Fmi2FreeInstanceReturn',
+ full_name='fmi2_proto.Fmi2FreeInstanceReturn',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1421,
+ serialized_end=1445,
+)
+
+
+_FMI2GETREALOUTPUTDERIVATIVESRETURN = _descriptor.Descriptor(
+ name='Fmi2GetRealOutputDerivativesReturn',
+ full_name='fmi2_proto.Fmi2GetRealOutputDerivativesReturn',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='status', full_name='fmi2_proto.Fmi2GetRealOutputDerivativesReturn.status', index=0,
+ number=1, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='values', full_name='fmi2_proto.Fmi2GetRealOutputDerivativesReturn.values', index=1,
+ number=2, type=1, cpp_type=5, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1447,
+ serialized_end=1539,
+)
+
+
+_FMI2GETDIRECTIONALDERIVATIVESRETURN = _descriptor.Descriptor(
+ name='Fmi2GetDirectionalDerivativesReturn',
+ full_name='fmi2_proto.Fmi2GetDirectionalDerivativesReturn',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='status', full_name='fmi2_proto.Fmi2GetDirectionalDerivativesReturn.status', index=0,
+ number=1, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='values', full_name='fmi2_proto.Fmi2GetDirectionalDerivativesReturn.values', index=1,
+ number=2, type=1, cpp_type=5, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1541,
+ serialized_end=1634,
+)
+
+
+_FMI2EXTSERIALIZESLAVE = _descriptor.Descriptor(
+ name='Fmi2ExtSerializeSlave',
+ full_name='fmi2_proto.Fmi2ExtSerializeSlave',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1636,
+ serialized_end=1659,
+)
+
+
+_FMI2EXTDESERIALIZESLAVE = _descriptor.Descriptor(
+ name='Fmi2ExtDeserializeSlave',
+ full_name='fmi2_proto.Fmi2ExtDeserializeSlave',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='state', full_name='fmi2_proto.Fmi2ExtDeserializeSlave.state', index=0,
+ number=1, type=12, cpp_type=9, label=1,
+ has_default_value=False, default_value=b"",
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1661,
+ serialized_end=1701,
+)
+
+
+_FMI2EXTHANDSHAKERETURN = _descriptor.Descriptor(
+ name='Fmi2ExtHandshakeReturn',
+ full_name='fmi2_proto.Fmi2ExtHandshakeReturn',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1703,
+ serialized_end=1727,
+)
+
+
+_FMI2EXTSERIALIZESLAVERETURN = _descriptor.Descriptor(
+ name='Fmi2ExtSerializeSlaveReturn',
+ full_name='fmi2_proto.Fmi2ExtSerializeSlaveReturn',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='status', full_name='fmi2_proto.Fmi2ExtSerializeSlaveReturn.status', index=0,
+ number=1, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='state', full_name='fmi2_proto.Fmi2ExtSerializeSlaveReturn.state', index=1,
+ number=2, type=12, cpp_type=9, label=1,
+ has_default_value=False, default_value=b"",
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1729,
+ serialized_end=1813,
+)
+
+
+_FMI2COMMAND = _descriptor.Descriptor(
+ name='Fmi2Command',
+ full_name='fmi2_proto.Fmi2Command',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='Fmi2DoStep', full_name='fmi2_proto.Fmi2Command.Fmi2DoStep', index=0,
+ number=1, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2SetReal', full_name='fmi2_proto.Fmi2Command.Fmi2SetReal', index=1,
+ number=2, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2SetInteger', full_name='fmi2_proto.Fmi2Command.Fmi2SetInteger', index=2,
+ number=3, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2SetBoolean', full_name='fmi2_proto.Fmi2Command.Fmi2SetBoolean', index=3,
+ number=4, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2SetString', full_name='fmi2_proto.Fmi2Command.Fmi2SetString', index=4,
+ number=5, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2GetReal', full_name='fmi2_proto.Fmi2Command.Fmi2GetReal', index=5,
+ number=6, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2GetInteger', full_name='fmi2_proto.Fmi2Command.Fmi2GetInteger', index=6,
+ number=7, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2GetBoolean', full_name='fmi2_proto.Fmi2Command.Fmi2GetBoolean', index=7,
+ number=8, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2GetString', full_name='fmi2_proto.Fmi2Command.Fmi2GetString', index=8,
+ number=9, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2SetupExperiment', full_name='fmi2_proto.Fmi2Command.Fmi2SetupExperiment', index=9,
+ number=10, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2EnterInitializationMode', full_name='fmi2_proto.Fmi2Command.Fmi2EnterInitializationMode', index=10,
+ number=11, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2ExitInitializationMode', full_name='fmi2_proto.Fmi2Command.Fmi2ExitInitializationMode', index=11,
+ number=12, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2FreeInstance', full_name='fmi2_proto.Fmi2Command.Fmi2FreeInstance', index=12,
+ number=13, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2Reset', full_name='fmi2_proto.Fmi2Command.Fmi2Reset', index=13,
+ number=14, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2Terminate', full_name='fmi2_proto.Fmi2Command.Fmi2Terminate', index=14,
+ number=15, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2CancelStep', full_name='fmi2_proto.Fmi2Command.Fmi2CancelStep', index=15,
+ number=16, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2ExtSerializeSlave', full_name='fmi2_proto.Fmi2Command.Fmi2ExtSerializeSlave', index=16,
+ number=17, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2ExtDeserializeSlave', full_name='fmi2_proto.Fmi2Command.Fmi2ExtDeserializeSlave', index=17,
+ number=18, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2SetDebugLogging', full_name='fmi2_proto.Fmi2Command.Fmi2SetDebugLogging', index=18,
+ number=19, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2GetRealOutputDerivatives', full_name='fmi2_proto.Fmi2Command.Fmi2GetRealOutputDerivatives', index=19,
+ number=20, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2SetRealInputDerivatives', full_name='fmi2_proto.Fmi2Command.Fmi2SetRealInputDerivatives', index=20,
+ number=21, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ _descriptor.FieldDescriptor(
+ name='Fmi2GetDirectionalDerivatives', full_name='fmi2_proto.Fmi2Command.Fmi2GetDirectionalDerivatives', index=21,
+ number=22, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ _descriptor.OneofDescriptor(
+ name='command', full_name='fmi2_proto.Fmi2Command.command',
+ index=0, containing_type=None,
+ create_key=_descriptor._internal_create_key,
+ fields=[]),
+ ],
+ serialized_start=1816,
+ serialized_end=3182,
+)
+
+_FMI2SETUPEXPERIMENT.oneofs_by_name['_stop_time'].fields.append(
+ _FMI2SETUPEXPERIMENT.fields_by_name['stop_time'])
+_FMI2SETUPEXPERIMENT.fields_by_name['stop_time'].containing_oneof = _FMI2SETUPEXPERIMENT.oneofs_by_name['_stop_time']
+_FMI2SETUPEXPERIMENT.oneofs_by_name['_tolerance'].fields.append(
+ _FMI2SETUPEXPERIMENT.fields_by_name['tolerance'])
+_FMI2SETUPEXPERIMENT.fields_by_name['tolerance'].containing_oneof = _FMI2SETUPEXPERIMENT.oneofs_by_name['_tolerance']
+_FMI2STATUSRETURN.fields_by_name['status'].enum_type = _FMI2STATUS
+_FMI2GETREALRETURN.fields_by_name['status'].enum_type = _FMI2STATUS
+_FMI2GETINTEGERRETURN.fields_by_name['status'].enum_type = _FMI2STATUS
+_FMI2GETBOOLEANRETURN.fields_by_name['status'].enum_type = _FMI2STATUS
+_FMI2GETSTRINGRETURN.fields_by_name['status'].enum_type = _FMI2STATUS
+_FMI2GETREALOUTPUTDERIVATIVESRETURN.fields_by_name['status'].enum_type = _FMI2STATUS
+_FMI2GETDIRECTIONALDERIVATIVESRETURN.fields_by_name['status'].enum_type = _FMI2STATUS
+_FMI2EXTSERIALIZESLAVERETURN.fields_by_name['status'].enum_type = _FMI2STATUS
+_FMI2COMMAND.fields_by_name['Fmi2DoStep'].message_type = _FMI2DOSTEP
+_FMI2COMMAND.fields_by_name['Fmi2SetReal'].message_type = _FMI2SETREAL
+_FMI2COMMAND.fields_by_name['Fmi2SetInteger'].message_type = _FMI2SETINTEGER
+_FMI2COMMAND.fields_by_name['Fmi2SetBoolean'].message_type = _FMI2SETBOOLEAN
+_FMI2COMMAND.fields_by_name['Fmi2SetString'].message_type = _FMI2SETSTRING
+_FMI2COMMAND.fields_by_name['Fmi2GetReal'].message_type = _FMI2GETREAL
+_FMI2COMMAND.fields_by_name['Fmi2GetInteger'].message_type = _FMI2GETINTEGER
+_FMI2COMMAND.fields_by_name['Fmi2GetBoolean'].message_type = _FMI2GETBOOLEAN
+_FMI2COMMAND.fields_by_name['Fmi2GetString'].message_type = _FMI2GETSTRING
+_FMI2COMMAND.fields_by_name['Fmi2SetupExperiment'].message_type = _FMI2SETUPEXPERIMENT
+_FMI2COMMAND.fields_by_name['Fmi2EnterInitializationMode'].message_type = _FMI2ENTERINITIALIZATIONMODE
+_FMI2COMMAND.fields_by_name['Fmi2ExitInitializationMode'].message_type = _FMI2EXITINITIALIZATIONMODE
+_FMI2COMMAND.fields_by_name['Fmi2FreeInstance'].message_type = _FMI2FREEINSTANCE
+_FMI2COMMAND.fields_by_name['Fmi2Reset'].message_type = _FMI2RESET
+_FMI2COMMAND.fields_by_name['Fmi2Terminate'].message_type = _FMI2TERMINATE
+_FMI2COMMAND.fields_by_name['Fmi2CancelStep'].message_type = _FMI2CANCELSTEP
+_FMI2COMMAND.fields_by_name['Fmi2ExtSerializeSlave'].message_type = _FMI2EXTSERIALIZESLAVE
+_FMI2COMMAND.fields_by_name['Fmi2ExtDeserializeSlave'].message_type = _FMI2EXTDESERIALIZESLAVE
+_FMI2COMMAND.fields_by_name['Fmi2SetDebugLogging'].message_type = _FMI2SETDEBUGLOGGING
+_FMI2COMMAND.fields_by_name['Fmi2GetRealOutputDerivatives'].message_type = _FMI2GETREALOUTPUTDERIVATIVES
+_FMI2COMMAND.fields_by_name['Fmi2SetRealInputDerivatives'].message_type = _FMI2SETREALINPUTDERIVATIVES
+_FMI2COMMAND.fields_by_name['Fmi2GetDirectionalDerivatives'].message_type = _FMI2GETDIRECTIONALDERIVATIVES
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2DoStep'])
+_FMI2COMMAND.fields_by_name['Fmi2DoStep'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2SetReal'])
+_FMI2COMMAND.fields_by_name['Fmi2SetReal'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2SetInteger'])
+_FMI2COMMAND.fields_by_name['Fmi2SetInteger'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2SetBoolean'])
+_FMI2COMMAND.fields_by_name['Fmi2SetBoolean'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2SetString'])
+_FMI2COMMAND.fields_by_name['Fmi2SetString'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2GetReal'])
+_FMI2COMMAND.fields_by_name['Fmi2GetReal'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2GetInteger'])
+_FMI2COMMAND.fields_by_name['Fmi2GetInteger'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2GetBoolean'])
+_FMI2COMMAND.fields_by_name['Fmi2GetBoolean'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2GetString'])
+_FMI2COMMAND.fields_by_name['Fmi2GetString'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2SetupExperiment'])
+_FMI2COMMAND.fields_by_name['Fmi2SetupExperiment'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2EnterInitializationMode'])
+_FMI2COMMAND.fields_by_name['Fmi2EnterInitializationMode'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2ExitInitializationMode'])
+_FMI2COMMAND.fields_by_name['Fmi2ExitInitializationMode'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2FreeInstance'])
+_FMI2COMMAND.fields_by_name['Fmi2FreeInstance'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2Reset'])
+_FMI2COMMAND.fields_by_name['Fmi2Reset'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2Terminate'])
+_FMI2COMMAND.fields_by_name['Fmi2Terminate'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2CancelStep'])
+_FMI2COMMAND.fields_by_name['Fmi2CancelStep'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2ExtSerializeSlave'])
+_FMI2COMMAND.fields_by_name['Fmi2ExtSerializeSlave'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2ExtDeserializeSlave'])
+_FMI2COMMAND.fields_by_name['Fmi2ExtDeserializeSlave'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2SetDebugLogging'])
+_FMI2COMMAND.fields_by_name['Fmi2SetDebugLogging'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2GetRealOutputDerivatives'])
+_FMI2COMMAND.fields_by_name['Fmi2GetRealOutputDerivatives'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2SetRealInputDerivatives'])
+_FMI2COMMAND.fields_by_name['Fmi2SetRealInputDerivatives'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+_FMI2COMMAND.oneofs_by_name['command'].fields.append(
+ _FMI2COMMAND.fields_by_name['Fmi2GetDirectionalDerivatives'])
+_FMI2COMMAND.fields_by_name['Fmi2GetDirectionalDerivatives'].containing_oneof = _FMI2COMMAND.oneofs_by_name['command']
+DESCRIPTOR.message_types_by_name['Fmi2SetReal'] = _FMI2SETREAL
+DESCRIPTOR.message_types_by_name['Fmi2SetInteger'] = _FMI2SETINTEGER
+DESCRIPTOR.message_types_by_name['Fmi2SetBoolean'] = _FMI2SETBOOLEAN
+DESCRIPTOR.message_types_by_name['Fmi2SetString'] = _FMI2SETSTRING
+DESCRIPTOR.message_types_by_name['Fmi2GetReal'] = _FMI2GETREAL
+DESCRIPTOR.message_types_by_name['Fmi2GetInteger'] = _FMI2GETINTEGER
+DESCRIPTOR.message_types_by_name['Fmi2GetBoolean'] = _FMI2GETBOOLEAN
+DESCRIPTOR.message_types_by_name['Fmi2GetString'] = _FMI2GETSTRING
+DESCRIPTOR.message_types_by_name['Fmi2DoStep'] = _FMI2DOSTEP
+DESCRIPTOR.message_types_by_name['Fmi2SetupExperiment'] = _FMI2SETUPEXPERIMENT
+DESCRIPTOR.message_types_by_name['Fmi2CancelStep'] = _FMI2CANCELSTEP
+DESCRIPTOR.message_types_by_name['Fmi2EnterInitializationMode'] = _FMI2ENTERINITIALIZATIONMODE
+DESCRIPTOR.message_types_by_name['Fmi2ExitInitializationMode'] = _FMI2EXITINITIALIZATIONMODE
+DESCRIPTOR.message_types_by_name['Fmi2FreeInstance'] = _FMI2FREEINSTANCE
+DESCRIPTOR.message_types_by_name['Fmi2Terminate'] = _FMI2TERMINATE
+DESCRIPTOR.message_types_by_name['Fmi2Reset'] = _FMI2RESET
+DESCRIPTOR.message_types_by_name['Fmi2GetDirectionalDerivatives'] = _FMI2GETDIRECTIONALDERIVATIVES
+DESCRIPTOR.message_types_by_name['Fmi2SetRealInputDerivatives'] = _FMI2SETREALINPUTDERIVATIVES
+DESCRIPTOR.message_types_by_name['Fmi2GetRealOutputDerivatives'] = _FMI2GETREALOUTPUTDERIVATIVES
+DESCRIPTOR.message_types_by_name['Fmi2SetDebugLogging'] = _FMI2SETDEBUGLOGGING
+DESCRIPTOR.message_types_by_name['Fmi2StatusReturn'] = _FMI2STATUSRETURN
+DESCRIPTOR.message_types_by_name['Fmi2GetRealReturn'] = _FMI2GETREALRETURN
+DESCRIPTOR.message_types_by_name['Fmi2GetIntegerReturn'] = _FMI2GETINTEGERRETURN
+DESCRIPTOR.message_types_by_name['Fmi2GetBooleanReturn'] = _FMI2GETBOOLEANRETURN
+DESCRIPTOR.message_types_by_name['Fmi2GetStringReturn'] = _FMI2GETSTRINGRETURN
+DESCRIPTOR.message_types_by_name['Fmi2FreeInstanceReturn'] = _FMI2FREEINSTANCERETURN
+DESCRIPTOR.message_types_by_name['Fmi2GetRealOutputDerivativesReturn'] = _FMI2GETREALOUTPUTDERIVATIVESRETURN
+DESCRIPTOR.message_types_by_name['Fmi2GetDirectionalDerivativesReturn'] = _FMI2GETDIRECTIONALDERIVATIVESRETURN
+DESCRIPTOR.message_types_by_name['Fmi2ExtSerializeSlave'] = _FMI2EXTSERIALIZESLAVE
+DESCRIPTOR.message_types_by_name['Fmi2ExtDeserializeSlave'] = _FMI2EXTDESERIALIZESLAVE
+DESCRIPTOR.message_types_by_name['Fmi2ExtHandshakeReturn'] = _FMI2EXTHANDSHAKERETURN
+DESCRIPTOR.message_types_by_name['Fmi2ExtSerializeSlaveReturn'] = _FMI2EXTSERIALIZESLAVERETURN
+DESCRIPTOR.message_types_by_name['Fmi2Command'] = _FMI2COMMAND
+DESCRIPTOR.enum_types_by_name['Fmi2Status'] = _FMI2STATUS
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+Fmi2SetReal = _reflection.GeneratedProtocolMessageType('Fmi2SetReal', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2SETREAL,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2SetReal)
+ })
+_sym_db.RegisterMessage(Fmi2SetReal)
+
+Fmi2SetInteger = _reflection.GeneratedProtocolMessageType('Fmi2SetInteger', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2SETINTEGER,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2SetInteger)
+ })
+_sym_db.RegisterMessage(Fmi2SetInteger)
+
+Fmi2SetBoolean = _reflection.GeneratedProtocolMessageType('Fmi2SetBoolean', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2SETBOOLEAN,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2SetBoolean)
+ })
+_sym_db.RegisterMessage(Fmi2SetBoolean)
+
+Fmi2SetString = _reflection.GeneratedProtocolMessageType('Fmi2SetString', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2SETSTRING,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2SetString)
+ })
+_sym_db.RegisterMessage(Fmi2SetString)
+
+Fmi2GetReal = _reflection.GeneratedProtocolMessageType('Fmi2GetReal', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2GETREAL,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2GetReal)
+ })
+_sym_db.RegisterMessage(Fmi2GetReal)
+
+Fmi2GetInteger = _reflection.GeneratedProtocolMessageType('Fmi2GetInteger', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2GETINTEGER,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2GetInteger)
+ })
+_sym_db.RegisterMessage(Fmi2GetInteger)
+
+Fmi2GetBoolean = _reflection.GeneratedProtocolMessageType('Fmi2GetBoolean', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2GETBOOLEAN,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2GetBoolean)
+ })
+_sym_db.RegisterMessage(Fmi2GetBoolean)
+
+Fmi2GetString = _reflection.GeneratedProtocolMessageType('Fmi2GetString', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2GETSTRING,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2GetString)
+ })
+_sym_db.RegisterMessage(Fmi2GetString)
+
+Fmi2DoStep = _reflection.GeneratedProtocolMessageType('Fmi2DoStep', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2DOSTEP,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2DoStep)
+ })
+_sym_db.RegisterMessage(Fmi2DoStep)
+
+Fmi2SetupExperiment = _reflection.GeneratedProtocolMessageType('Fmi2SetupExperiment', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2SETUPEXPERIMENT,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2SetupExperiment)
+ })
+_sym_db.RegisterMessage(Fmi2SetupExperiment)
+
+Fmi2CancelStep = _reflection.GeneratedProtocolMessageType('Fmi2CancelStep', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2CANCELSTEP,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2CancelStep)
+ })
+_sym_db.RegisterMessage(Fmi2CancelStep)
+
+Fmi2EnterInitializationMode = _reflection.GeneratedProtocolMessageType('Fmi2EnterInitializationMode', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2ENTERINITIALIZATIONMODE,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2EnterInitializationMode)
+ })
+_sym_db.RegisterMessage(Fmi2EnterInitializationMode)
+
+Fmi2ExitInitializationMode = _reflection.GeneratedProtocolMessageType('Fmi2ExitInitializationMode', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2EXITINITIALIZATIONMODE,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2ExitInitializationMode)
+ })
+_sym_db.RegisterMessage(Fmi2ExitInitializationMode)
+
+Fmi2FreeInstance = _reflection.GeneratedProtocolMessageType('Fmi2FreeInstance', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2FREEINSTANCE,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2FreeInstance)
+ })
+_sym_db.RegisterMessage(Fmi2FreeInstance)
+
+Fmi2Terminate = _reflection.GeneratedProtocolMessageType('Fmi2Terminate', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2TERMINATE,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2Terminate)
+ })
+_sym_db.RegisterMessage(Fmi2Terminate)
+
+Fmi2Reset = _reflection.GeneratedProtocolMessageType('Fmi2Reset', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2RESET,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2Reset)
+ })
+_sym_db.RegisterMessage(Fmi2Reset)
+
+Fmi2GetDirectionalDerivatives = _reflection.GeneratedProtocolMessageType('Fmi2GetDirectionalDerivatives', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2GETDIRECTIONALDERIVATIVES,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2GetDirectionalDerivatives)
+ })
+_sym_db.RegisterMessage(Fmi2GetDirectionalDerivatives)
+
+Fmi2SetRealInputDerivatives = _reflection.GeneratedProtocolMessageType('Fmi2SetRealInputDerivatives', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2SETREALINPUTDERIVATIVES,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2SetRealInputDerivatives)
+ })
+_sym_db.RegisterMessage(Fmi2SetRealInputDerivatives)
+
+Fmi2GetRealOutputDerivatives = _reflection.GeneratedProtocolMessageType('Fmi2GetRealOutputDerivatives', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2GETREALOUTPUTDERIVATIVES,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2GetRealOutputDerivatives)
+ })
+_sym_db.RegisterMessage(Fmi2GetRealOutputDerivatives)
+
+Fmi2SetDebugLogging = _reflection.GeneratedProtocolMessageType('Fmi2SetDebugLogging', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2SETDEBUGLOGGING,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2SetDebugLogging)
+ })
+_sym_db.RegisterMessage(Fmi2SetDebugLogging)
+
+Fmi2StatusReturn = _reflection.GeneratedProtocolMessageType('Fmi2StatusReturn', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2STATUSRETURN,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2StatusReturn)
+ })
+_sym_db.RegisterMessage(Fmi2StatusReturn)
+
+Fmi2GetRealReturn = _reflection.GeneratedProtocolMessageType('Fmi2GetRealReturn', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2GETREALRETURN,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2GetRealReturn)
+ })
+_sym_db.RegisterMessage(Fmi2GetRealReturn)
+
+Fmi2GetIntegerReturn = _reflection.GeneratedProtocolMessageType('Fmi2GetIntegerReturn', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2GETINTEGERRETURN,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2GetIntegerReturn)
+ })
+_sym_db.RegisterMessage(Fmi2GetIntegerReturn)
+
+Fmi2GetBooleanReturn = _reflection.GeneratedProtocolMessageType('Fmi2GetBooleanReturn', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2GETBOOLEANRETURN,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2GetBooleanReturn)
+ })
+_sym_db.RegisterMessage(Fmi2GetBooleanReturn)
+
+Fmi2GetStringReturn = _reflection.GeneratedProtocolMessageType('Fmi2GetStringReturn', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2GETSTRINGRETURN,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2GetStringReturn)
+ })
+_sym_db.RegisterMessage(Fmi2GetStringReturn)
+
+Fmi2FreeInstanceReturn = _reflection.GeneratedProtocolMessageType('Fmi2FreeInstanceReturn', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2FREEINSTANCERETURN,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2FreeInstanceReturn)
+ })
+_sym_db.RegisterMessage(Fmi2FreeInstanceReturn)
+
+Fmi2GetRealOutputDerivativesReturn = _reflection.GeneratedProtocolMessageType('Fmi2GetRealOutputDerivativesReturn', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2GETREALOUTPUTDERIVATIVESRETURN,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2GetRealOutputDerivativesReturn)
+ })
+_sym_db.RegisterMessage(Fmi2GetRealOutputDerivativesReturn)
+
+Fmi2GetDirectionalDerivativesReturn = _reflection.GeneratedProtocolMessageType('Fmi2GetDirectionalDerivativesReturn', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2GETDIRECTIONALDERIVATIVESRETURN,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2GetDirectionalDerivativesReturn)
+ })
+_sym_db.RegisterMessage(Fmi2GetDirectionalDerivativesReturn)
+
+Fmi2ExtSerializeSlave = _reflection.GeneratedProtocolMessageType('Fmi2ExtSerializeSlave', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2EXTSERIALIZESLAVE,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2ExtSerializeSlave)
+ })
+_sym_db.RegisterMessage(Fmi2ExtSerializeSlave)
+
+Fmi2ExtDeserializeSlave = _reflection.GeneratedProtocolMessageType('Fmi2ExtDeserializeSlave', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2EXTDESERIALIZESLAVE,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2ExtDeserializeSlave)
+ })
+_sym_db.RegisterMessage(Fmi2ExtDeserializeSlave)
+
+Fmi2ExtHandshakeReturn = _reflection.GeneratedProtocolMessageType('Fmi2ExtHandshakeReturn', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2EXTHANDSHAKERETURN,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2ExtHandshakeReturn)
+ })
+_sym_db.RegisterMessage(Fmi2ExtHandshakeReturn)
+
+Fmi2ExtSerializeSlaveReturn = _reflection.GeneratedProtocolMessageType('Fmi2ExtSerializeSlaveReturn', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2EXTSERIALIZESLAVERETURN,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2ExtSerializeSlaveReturn)
+ })
+_sym_db.RegisterMessage(Fmi2ExtSerializeSlaveReturn)
+
+Fmi2Command = _reflection.GeneratedProtocolMessageType('Fmi2Command', (_message.Message,), {
+ 'DESCRIPTOR' : _FMI2COMMAND,
+ '__module__' : 'unifmu_fmi2_pb2'
+ # @@protoc_insertion_point(class_scope:fmi2_proto.Fmi2Command)
+ })
+_sym_db.RegisterMessage(Fmi2Command)
+
+
+DESCRIPTOR._options = None
+# @@protoc_insertion_point(module_scope)
diff --git a/co-simulation/controllerFMU/controllerFMU/wrap_fmu.sh b/co-simulation/controllerFMU/controllerFMU/wrap_fmu.sh
new file mode 100755
index 0000000..0b81c91
--- /dev/null
+++ b/co-simulation/controllerFMU/controllerFMU/wrap_fmu.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+#Author: Santiago Gil
+zip -r controllerFMU.fmu .
+
diff --git a/co-simulation/cosimulation_execution.sh b/co-simulation/cosimulation_execution.sh
index e9635b5..c39b7ef 100755
--- a/co-simulation/cosimulation_execution.sh
+++ b/co-simulation/cosimulation_execution.sh
@@ -5,11 +5,16 @@ echo "Specification"
echo "-----------------------------"
maestro_path=/home/santiago/Aarhus/Maestro2 # Change path accordingly
output_path=results # Change accordingly
-java -jar $maestro_path/maestro-2.4.1-jar-with-dependencies.jar import sg1 coe.json multimodel.json -output generate
+#java -jar $maestro_path/maestro-2.4.1-jar-with-dependencies.jar import sg1 coe.json multimodel.json -output generate
+java -jar $maestro_path/maestro-2.3.0-jar-with-dependencies.jar import sg1 coe.json multimodel.json -output generate
+#java -jar $maestro_path/maestro-2.3.0-jar-with-dependencies.jar import sg1 coe.json multimodel_normq.json -output generate
echo "-----------------------------"
echo "Interpretation"
echo "-----------------------------"
-java -jar $maestro_path/maestro-2.4.1-jar-with-dependencies.jar interpret generate/spec.mabl -output $output_path
+python3 controller.py &
+#java -jar $maestro_path/maestro-2.4.1-jar-with-dependencies.jar interpret generate/spec.mabl -output $output_path
+java -jar $maestro_path/maestro-2.3.0-jar-with-dependencies.jar interpret generate/spec.mabl -output $output_path
echo "Co-simulation experiment finished. See output results in folder '$output_path'"
+pkill -9 -f controller.py
diff --git a/co-simulation/generate/spec.mabl b/co-simulation/generate/spec.mabl
index 3075067..d273fc5 100644
--- a/co-simulation/generate/spec.mabl
+++ b/co-simulation/generate/spec.mabl
@@ -8,7 +8,8 @@ import Logger;
import Math;
import SimulationControl;
{
- int status = 0;
+ bool global_execution_continue = true;
+ int status = 0;
Math math = null;
Logger logger = null;
DataWriter dataWriter = null;
@@ -62,1658 +63,1901 @@ import SimulationControl;
{
error "rmq IS NULL ";
}
- mapping_1 = mapping.instantiate("mapping", false, false);
+ mapping_1 = mapping.instantiate("mapping", false, true);
if( ((mapping_1 == null)) )
{
error "mapping_1 IS NULL ";
}
- rmq_1 = rmq.instantiate("rmq", false, false);
+ rmq_1 = rmq.instantiate("rmq", false, true);
if( ((rmq_1 == null)) )
{
error "rmq_1 IS NULL ";
}
- dmodel_1 = dmodel.instantiate("dmodel", false, false);
+ dmodel_1 = dmodel.instantiate("dmodel", false, true);
if( ((dmodel_1 == null)) )
{
error "dmodel_1 IS NULL ";
}
- real STEP_SIZE = 0.5;
- real START_TIME = 0.0;
- real END_TIME = 15.0;
- int FMI_OK = 0;
- int FMI_DISCARD = 2;
- int FMI_ERROR = 3;
- int FMI_FATAL = 4;
- BooleanLogic booleanLogic1;
- try
+ if( ((global_execution_continue)) )
{
- booleanLogic1 = load("BooleanLogic");
- if( (booleanLogic1 == null) )
- {
- error "Failed load of: booleanLogic1";
- }
- string dmodel_1StringShare[1];
- string dmodel_1StringIo[38];
- string mapping_1StringIo[67];
- string rmq_1StringShare[1];
- real mapping_1RealIo[67];
- real rmq_1RealShare[3];
- real rmq_1RealIo[28];
- bool dmodel_1BoolIo[38];
- bool mapping_1BoolShare[10];
- bool mapping_1BoolIo[67];
- uint mapping_1UintVref[67];
- bool rmq_1BoolIo[28];
- int rmq_1IntIo[28];
- string rmq_1StringIo[28];
- uint rmq_1UintVref[28];
- real dmodel_1RealIo[38];
- uint dmodel_1UintVref[38];
- real fixed_end_time = 0.0;
- fixed_end_time = END_TIME;
- status = dmodel_1.setupExperiment(true, 0.1, START_TIME, true, END_TIME);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetupExperiment failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetupExperiment failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setupExperiment' on 'dmodel_1'";
- }
- status = rmq_1.setupExperiment(true, 0.1, START_TIME, true, END_TIME);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetupExperiment failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetupExperiment failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setupExperiment' on 'rmq_1'";
- }
- status = mapping_1.setupExperiment(true, 0.1, START_TIME, true, END_TIME);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetupExperiment failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetupExperiment failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'setupExperiment' on 'mapping_1'";
- }
- dmodel_1UintVref[0] = 13;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 14;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 15;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 16;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 17;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 18;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 19;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 20;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 21;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 22;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- rmq_1UintVref[0] = 0;
- rmq_1StringIo[0] = "localhost";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 1;
- rmq_1IntIo[0] = 5672;
- status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setInteger' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 2;
- rmq_1StringIo[0] = "guest";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 3;
- rmq_1StringIo[0] = "guest";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 4;
- rmq_1StringIo[0] = "data.to_cosim";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 5;
- rmq_1IntIo[0] = 60;
- status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setInteger' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 6;
- rmq_1IntIo[0] = 10;
- status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setInteger' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 7;
- rmq_1IntIo[0] = 1000;
- status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setInteger' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 8;
- rmq_1IntIo[0] = 1;
- status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setInteger' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 9;
- rmq_1StringIo[0] = "fmi_digital_twin";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 10;
- rmq_1StringIo[0] = "direct";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 11;
- rmq_1StringIo[0] = "fmi_digital_twin_sh";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 12;
- rmq_1StringIo[0] = "direct";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 13;
- rmq_1StringIo[0] = "data.from_cosim";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 16;
- rmq_1BoolIo[0] = false;
- status = rmq_1.setBoolean(rmq_1UintVref, 1, rmq_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setBoolean' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 17;
- rmq_1IntIo[0] = 100;
- status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setInteger' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 18;
- rmq_1StringIo[0] = "/";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- status = dmodel_1.enterInitializationMode();
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'enterInitializationMode' on 'dmodel_1'";
- }
- status = rmq_1.enterInitializationMode();
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'enterInitializationMode' on 'rmq_1'";
- }
- status = mapping_1.enterInitializationMode();
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'enterInitializationMode' on 'mapping_1'";
- }
- mapping_1UintVref[0] = 59;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[0] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 7;
- dmodel_1BoolIo[0] = mapping_1BoolShare[0];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 64;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[1] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 6;
- dmodel_1BoolIo[0] = mapping_1BoolShare[1];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 58;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[2] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 2;
- dmodel_1BoolIo[0] = mapping_1BoolShare[2];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 66;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[3] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 0;
- dmodel_1BoolIo[0] = mapping_1BoolShare[3];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 62;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[4] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 1;
- dmodel_1BoolIo[0] = mapping_1BoolShare[4];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 60;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[5] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 4;
- dmodel_1BoolIo[0] = mapping_1BoolShare[5];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 63;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[6] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 5;
- dmodel_1BoolIo[0] = mapping_1BoolShare[6];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 57;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[7] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 8;
- dmodel_1BoolIo[0] = mapping_1BoolShare[7];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 61;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[8] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 3;
- dmodel_1BoolIo[0] = mapping_1BoolShare[8];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 65;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[9] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 9;
- dmodel_1BoolIo[0] = mapping_1BoolShare[9];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- rmq_1UintVref[0] = 23;
- status = rmq_1.getReal(rmq_1UintVref, 1, rmq_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'getReal' on 'rmq_1'";
- }
- rmq_1RealShare[0] = rmq_1RealIo[0];
- mapping_1UintVref[0] = 2;
- mapping_1RealIo[0] = rmq_1RealShare[0];
- status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'setReal' on 'mapping_1'";
- }
- rmq_1UintVref[0] = 24;
- status = rmq_1.getReal(rmq_1UintVref, 1, rmq_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'getReal' on 'rmq_1'";
- }
- rmq_1RealShare[1] = rmq_1RealIo[0];
- mapping_1UintVref[0] = 3;
- mapping_1RealIo[0] = rmq_1RealShare[1];
- status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'setReal' on 'mapping_1'";
- }
- rmq_1UintVref[0] = 21;
- status = rmq_1.getString(rmq_1UintVref, 1, rmq_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'getString' on 'rmq_1'";
- }
- rmq_1StringShare[0] = rmq_1StringIo[0];
- mapping_1UintVref[0] = 0;
- mapping_1StringIo[0] = rmq_1StringShare[0];
- status = mapping_1.setString(mapping_1UintVref, 1, mapping_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'setString' on 'mapping_1'";
- }
- rmq_1UintVref[0] = 22;
- status = rmq_1.getReal(rmq_1UintVref, 1, rmq_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'getReal' on 'rmq_1'";
- }
- rmq_1RealShare[2] = rmq_1RealIo[0];
- mapping_1UintVref[0] = 1;
- mapping_1RealIo[0] = rmq_1RealShare[2];
- status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'setReal' on 'mapping_1'";
- }
- dmodel_1UintVref[0] = 27;
- status = dmodel_1.getString(dmodel_1UintVref, 1, dmodel_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'getString' on 'dmodel_1'";
- }
- dmodel_1StringShare[0] = dmodel_1StringIo[0];
- mapping_1UintVref[0] = 35;
- mapping_1StringIo[0] = dmodel_1StringShare[0];
- status = mapping_1.setString(mapping_1UintVref, 1, mapping_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'setString' on 'mapping_1'";
- }
- status = dmodel_1.exitInitializationMode();
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'exitInitializationMode' on 'dmodel_1'";
- }
- status = rmq_1.exitInitializationMode();
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'exitInitializationMode' on 'rmq_1'";
- }
- status = mapping_1.exitInitializationMode();
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
+ real STEP_SIZE = 0.5;
+ real START_TIME = 0.0;
+ real END_TIME = 15.0;
+ int FMI_OK = 0;
+ int FMI_DISCARD = 2;
+ int FMI_ERROR = 3;
+ int FMI_FATAL = 4;
+ BooleanLogic booleanLogic1;
+ try
+ {
+ booleanLogic1 = load("BooleanLogic");
+ if( (booleanLogic1 == null) )
+ {
+ error "Failed load of: booleanLogic1";
+ }
+ string dmodel_1StringShare[1];
+ string dmodel_1StringIo[38];
+ real dmodel_1RealShare[4];
+ string mapping_1StringIo[67];
+ string rmq_1StringShare[1];
+ real rmq_1RealShare[3];
+ real rmq_1RealIo[27];
+ bool dmodel_1BoolIo[38];
+ bool mapping_1BoolShare[10];
+ bool mapping_1BoolIo[67];
+ real mapping_1RealShare[3];
+ real mapping_1RealIo[67];
+ uint mapping_1UintVref[67];
+ bool rmq_1BoolIo[27];
+ int rmq_1IntIo[27];
+ string rmq_1StringIo[27];
+ uint rmq_1UintVref[27];
+ real dmodel_1RealIo[38];
+ uint dmodel_1UintVref[38];
+ real fixed_end_time = 0.0;
+ fixed_end_time = END_TIME;
+ status = dmodel_1.setupExperiment(true, 0.1, START_TIME, true, END_TIME);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetupExperiment failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetupExperiment failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setupExperiment' on 'dmodel_1'";
+ }
+ status = rmq_1.setupExperiment(true, 0.1, START_TIME, true, END_TIME);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetupExperiment failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetupExperiment failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setupExperiment' on 'rmq_1'";
+ }
+ status = mapping_1.setupExperiment(true, 0.1, START_TIME, true, END_TIME);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetupExperiment failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetupExperiment failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setupExperiment' on 'mapping_1'";
+ }
+ dmodel_1UintVref[0] = 13;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 14;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 15;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 16;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 17;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 18;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 19;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 20;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 21;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 22;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ rmq_1UintVref[0] = 0;
+ rmq_1StringIo[0] = "localhost";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 1;
+ rmq_1IntIo[0] = 5672;
+ status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setInteger' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 2;
+ rmq_1StringIo[0] = "guest";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 3;
+ rmq_1StringIo[0] = "guest";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 4;
+ rmq_1StringIo[0] = "data.to_cosim";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 5;
+ rmq_1IntIo[0] = 60;
+ status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setInteger' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 6;
+ rmq_1IntIo[0] = 10;
+ status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setInteger' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 7;
+ rmq_1IntIo[0] = 1000;
+ status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setInteger' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 8;
+ rmq_1IntIo[0] = 1;
+ status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setInteger' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 9;
+ rmq_1StringIo[0] = "fmi_digital_twin";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 10;
+ rmq_1StringIo[0] = "direct";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 11;
+ rmq_1StringIo[0] = "fmi_digital_twin_sh";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 12;
+ rmq_1StringIo[0] = "direct";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 13;
+ rmq_1StringIo[0] = "data.from_cosim";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 16;
+ rmq_1BoolIo[0] = false;
+ status = rmq_1.setBoolean(rmq_1UintVref, 1, rmq_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setBoolean' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 17;
+ rmq_1IntIo[0] = 100;
+ status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setInteger' on 'rmq_1'";
+ }
+ status = dmodel_1.enterInitializationMode();
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'enterInitializationMode' on 'dmodel_1'";
+ }
+ status = rmq_1.enterInitializationMode();
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'enterInitializationMode' on 'rmq_1'";
+ }
+ status = mapping_1.enterInitializationMode();
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'enterInitializationMode' on 'mapping_1'";
+ }
+ mapping_1UintVref[0] = 49;
+ status = mapping_1.getReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getReal' on 'mapping_1'";
+ }
+ mapping_1RealShare[0] = mapping_1RealIo[0];
+ dmodel_1UintVref[0] = 12;
+ dmodel_1RealIo[0] = mapping_1RealShare[0];
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 61;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[0] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 3;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[0];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 59;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[1] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 7;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[1];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 47;
+ status = mapping_1.getReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getReal' on 'mapping_1'";
+ }
+ mapping_1RealShare[1] = mapping_1RealIo[0];
+ dmodel_1UintVref[0] = 10;
+ dmodel_1RealIo[0] = mapping_1RealShare[1];
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 63;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[2] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 5;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[2];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 64;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[3] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 6;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[3];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 62;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[4] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 1;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[4];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 58;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[5] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 2;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[5];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 57;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[6] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 8;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[6];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 60;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[7] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 4;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[7];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 65;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[8] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 9;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[8];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 48;
+ status = mapping_1.getReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getReal' on 'mapping_1'";
+ }
+ mapping_1RealShare[2] = mapping_1RealIo[0];
+ dmodel_1UintVref[0] = 11;
+ dmodel_1RealIo[0] = mapping_1RealShare[2];
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 66;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[9] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 0;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[9];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ rmq_1UintVref[0] = 22;
+ status = rmq_1.getReal(rmq_1UintVref, 1, rmq_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'getReal' on 'rmq_1'";
+ }
+ rmq_1RealShare[0] = rmq_1RealIo[0];
+ mapping_1UintVref[0] = 1;
+ mapping_1RealIo[0] = rmq_1RealShare[0];
+ status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setReal' on 'mapping_1'";
+ }
+ rmq_1UintVref[0] = 24;
+ status = rmq_1.getReal(rmq_1UintVref, 1, rmq_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'getReal' on 'rmq_1'";
+ }
+ rmq_1RealShare[1] = rmq_1RealIo[0];
+ mapping_1UintVref[0] = 3;
+ mapping_1RealIo[0] = rmq_1RealShare[1];
+ status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setReal' on 'mapping_1'";
+ }
+ rmq_1UintVref[0] = 21;
+ status = rmq_1.getString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'getString' on 'rmq_1'";
+ }
+ rmq_1StringShare[0] = rmq_1StringIo[0];
+ mapping_1UintVref[0] = 0;
+ mapping_1StringIo[0] = rmq_1StringShare[0];
+ status = mapping_1.setString(mapping_1UintVref, 1, mapping_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setString' on 'mapping_1'";
+ }
+ rmq_1UintVref[0] = 23;
+ status = rmq_1.getReal(rmq_1UintVref, 1, rmq_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'getReal' on 'rmq_1'";
+ }
+ rmq_1RealShare[2] = rmq_1RealIo[0];
+ mapping_1UintVref[0] = 2;
+ mapping_1RealIo[0] = rmq_1RealShare[2];
+ status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setReal' on 'mapping_1'";
+ }
+ dmodel_1UintVref[0] = 28;
+ status = dmodel_1.getReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getReal' on 'dmodel_1'";
+ }
+ dmodel_1RealShare[0] = dmodel_1RealIo[0];
+ mapping_1UintVref[0] = 36;
+ mapping_1RealIo[0] = dmodel_1RealShare[0];
+ status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setReal' on 'mapping_1'";
+ }
+ dmodel_1UintVref[0] = 27;
+ status = dmodel_1.getString(dmodel_1UintVref, 1, dmodel_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getString' on 'dmodel_1'";
+ }
+ dmodel_1StringShare[0] = dmodel_1StringIo[0];
+ mapping_1UintVref[0] = 35;
+ mapping_1StringIo[0] = dmodel_1StringShare[0];
+ status = mapping_1.setString(mapping_1UintVref, 1, mapping_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setString' on 'mapping_1'";
+ }
+ dmodel_1UintVref[0] = 30;
+ status = dmodel_1.getReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getReal' on 'dmodel_1'";
+ }
+ dmodel_1RealShare[1] = dmodel_1RealIo[0];
+ mapping_1UintVref[0] = 39;
+ mapping_1RealIo[0] = dmodel_1RealShare[1];
+ status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setReal' on 'mapping_1'";
+ }
+ dmodel_1UintVref[0] = 29;
+ status = dmodel_1.getReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getReal' on 'dmodel_1'";
+ }
+ dmodel_1RealShare[2] = dmodel_1RealIo[0];
+ mapping_1UintVref[0] = 37;
+ mapping_1RealIo[0] = dmodel_1RealShare[2];
+ status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setReal' on 'mapping_1'";
+ }
+ dmodel_1UintVref[0] = 31;
+ status = dmodel_1.getReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getReal' on 'dmodel_1'";
+ }
+ dmodel_1RealShare[3] = dmodel_1RealIo[0];
+ mapping_1UintVref[0] = 40;
+ mapping_1RealIo[0] = dmodel_1RealShare[3];
+ status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setReal' on 'mapping_1'";
+ }
+ status = dmodel_1.exitInitializationMode();
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'exitInitializationMode' on 'dmodel_1'";
+ }
+ status = rmq_1.exitInitializationMode();
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'exitInitializationMode' on 'rmq_1'";
+ }
+ status = mapping_1.exitInitializationMode();
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'exitInitializationMode' on 'mapping_1'";
+ }
+ } finally
+ {
+ if( (booleanLogic1 != null) )
{
- logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_FATAL", mapping_1);
+ unload(booleanLogic1);
+ booleanLogic1 = null;
}
- error "Failed to 'exitInitializationMode' on 'mapping_1'";
- }
- } finally
- {
- if( (booleanLogic1 != null) )
- {
- unload(booleanLogic1);
- booleanLogic1 = null;
- }
- }
- BooleanLogic booleanLogic2;
- DataWriter dataWriter1;
- SimulationControl simulationControl;
- try
- {
- simulationControl = load("SimulationControl");
- if( (simulationControl == null) )
- {
- error "Failed load of: simulationControl";
- }
- dataWriter1 = load("DataWriter");
- if( (dataWriter1 == null) )
- {
- error "Failed load of: dataWriter1";
- }
- booleanLogic2 = load("BooleanLogic");
- if( (booleanLogic2 == null) )
- {
- error "Failed load of: booleanLogic2";
- }
- bool mapping_1CurrentTimeFullStep = true;
- real mapping_1CurrentTime = 0.0;
- bool rmq_1CurrentTimeFullStep = true;
- real rmq_1CurrentTime = 0.0;
- bool dmodel_1CurrentTimeFullStep = true;
- real dmodel_1CurrentTime = 0.0;
- bool dmodel_1BoolIo[38];
- real rmq_1RealShare[3];
- string rmq_1StringShare[1];
- real dmodel_1RealShare[3];
- string dmodel_1StringShare[2];
- real mapping_1RealShare[24];
- string mapping_1StringShare[3];
- bool mapping_1BoolShare[10];
- bool mapping_1BoolIo[67];
- string mapping_1StringIo[67];
- real mapping_1RealIo[67];
- uint mapping_1UintVref[67];
- string rmq_1StringIo[28];
- real rmq_1RealIo[28];
- uint rmq_1UintVref[28];
- real dmodel_1RealIo[38];
- string dmodel_1StringIo[38];
- uint dmodel_1UintVref[38];
- real jac_current_step_size = 0.0;
- real jac_step_size = 0.0;
- @TransferAs("START_TIME");
- real jac_current_communication_point = 0.0;
- real jac_end_time = 0.0;
- jac_current_step_size = STEP_SIZE;
- jac_step_size = STEP_SIZE;
- jac_current_communication_point = START_TIME;
- jac_end_time = END_TIME;
- string datawriter_headers[46] = { "{dmodel}.dmodel.state" , "{dmodel}.dmodel.d_model_event" , "{dmodel}.dmodel.d_model_event_args_0" , "{dmodel}.dmodel.d_model_event_args_1" , "{dmodel}.dmodel.d_model_event_args_2" , "{rmq}.rmq.controller_event" , "{rmq}.rmq.controller_event_args_0" , "{rmq}.rmq.controller_event_args_1" , "{rmq}.rmq.controller_event_args_2" , "{mapping}.mapping.controller_event" , "{mapping}.mapping.j0" , "{mapping}.mapping.j1" , "{mapping}.mapping.j2" , "{mapping}.mapping.j3" , "{mapping}.mapping.j4" , "{mapping}.mapping.j5" , "{mapping}.mapping.qd0" , "{mapping}.mapping.qd1" , "{mapping}.mapping.qd2" , "{mapping}.mapping.qd3" , "{mapping}.mapping.qd4" , "{mapping}.mapping.qd5" , "{mapping}.mapping.qdd0" , "{mapping}.mapping.qdd1" , "{mapping}.mapping.qdd2" , "{mapping}.mapping.qdd3" , "{mapping}.mapping.qdd4" , "{mapping}.mapping.qdd5" , "{mapping}.mapping.t0" , "{mapping}.mapping.t1" , "{mapping}.mapping.t2" , "{mapping}.mapping.t3" , "{mapping}.mapping.t4" , "{mapping}.mapping.t5" , "{mapping}.mapping.d_model_event" , "{mapping}.mapping.output_event" , "{mapping}.mapping.platform_event_0" , "{mapping}.mapping.platform_event_1" , "{mapping}.mapping.platform_event_2" , "{mapping}.mapping.platform_event_3" , "{mapping}.mapping.platform_event_4" , "{mapping}.mapping.platform_event_5" , "{mapping}.mapping.platform_event_6" , "{mapping}.mapping.platform_event_7" , "{mapping}.mapping.platform_event_8" , "{mapping}.mapping.platform_event_9" };
- DataWriterConfig datawriter_configuration = dataWriter1.writeHeader(datawriter_headers);
- dmodel_1UintVref[0] = 24;
- dmodel_1UintVref[1] = 27;
- status = dmodel_1.getString(dmodel_1UintVref, 2, dmodel_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'getString' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 28;
- dmodel_1UintVref[1] = 29;
- dmodel_1UintVref[2] = 30;
- status = dmodel_1.getReal(dmodel_1UintVref, 3, dmodel_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'getReal' on 'dmodel_1'";
- }
- rmq_1UintVref[0] = 22;
- rmq_1UintVref[1] = 23;
- rmq_1UintVref[2] = 24;
- status = rmq_1.getReal(rmq_1UintVref, 3, rmq_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'getReal' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 21;
- status = rmq_1.getString(rmq_1UintVref, 1, rmq_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'getString' on 'rmq_1'";
- }
- mapping_1UintVref[0] = 11;
- mapping_1UintVref[1] = 12;
- mapping_1UintVref[2] = 13;
- mapping_1UintVref[3] = 14;
- mapping_1UintVref[4] = 15;
- mapping_1UintVref[5] = 16;
- mapping_1UintVref[6] = 17;
- mapping_1UintVref[7] = 18;
- mapping_1UintVref[8] = 19;
- mapping_1UintVref[9] = 20;
- mapping_1UintVref[10] = 21;
- mapping_1UintVref[11] = 22;
- mapping_1UintVref[12] = 23;
- mapping_1UintVref[13] = 24;
- mapping_1UintVref[14] = 25;
- mapping_1UintVref[15] = 26;
- mapping_1UintVref[16] = 27;
- mapping_1UintVref[17] = 28;
- mapping_1UintVref[18] = 29;
- mapping_1UintVref[19] = 30;
- mapping_1UintVref[20] = 31;
- mapping_1UintVref[21] = 32;
- mapping_1UintVref[22] = 33;
- mapping_1UintVref[23] = 34;
- status = mapping_1.getReal(mapping_1UintVref, 24, mapping_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getReal' on 'mapping_1'";
- }
- mapping_1UintVref[0] = 0;
- mapping_1UintVref[1] = 35;
- mapping_1UintVref[2] = 46;
- status = mapping_1.getString(mapping_1UintVref, 3, mapping_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getString' on 'mapping_1'";
- }
- mapping_1UintVref[0] = 57;
- mapping_1UintVref[1] = 58;
- mapping_1UintVref[2] = 59;
- mapping_1UintVref[3] = 60;
- mapping_1UintVref[4] = 61;
- mapping_1UintVref[5] = 62;
- mapping_1UintVref[6] = 63;
- mapping_1UintVref[7] = 64;
- mapping_1UintVref[8] = 65;
- mapping_1UintVref[9] = 66;
- status = mapping_1.getBoolean(mapping_1UintVref, 10, mapping_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[0] = mapping_1BoolIo[0];
- mapping_1BoolShare[1] = mapping_1BoolIo[1];
- mapping_1BoolShare[2] = mapping_1BoolIo[2];
- mapping_1BoolShare[3] = mapping_1BoolIo[3];
- mapping_1BoolShare[4] = mapping_1BoolIo[4];
- mapping_1BoolShare[5] = mapping_1BoolIo[5];
- mapping_1BoolShare[6] = mapping_1BoolIo[6];
- mapping_1BoolShare[7] = mapping_1BoolIo[7];
- mapping_1BoolShare[8] = mapping_1BoolIo[8];
- mapping_1BoolShare[9] = mapping_1BoolIo[9];
- mapping_1StringShare[0] = mapping_1StringIo[0];
- mapping_1StringShare[1] = mapping_1StringIo[1];
- mapping_1StringShare[2] = mapping_1StringIo[2];
- mapping_1RealShare[0] = mapping_1RealIo[0];
- mapping_1RealShare[1] = mapping_1RealIo[1];
- mapping_1RealShare[2] = mapping_1RealIo[2];
- mapping_1RealShare[3] = mapping_1RealIo[3];
- mapping_1RealShare[4] = mapping_1RealIo[4];
- mapping_1RealShare[5] = mapping_1RealIo[5];
- mapping_1RealShare[6] = mapping_1RealIo[6];
- mapping_1RealShare[7] = mapping_1RealIo[7];
- mapping_1RealShare[8] = mapping_1RealIo[8];
- mapping_1RealShare[9] = mapping_1RealIo[9];
- mapping_1RealShare[10] = mapping_1RealIo[10];
- mapping_1RealShare[11] = mapping_1RealIo[11];
- mapping_1RealShare[12] = mapping_1RealIo[12];
- mapping_1RealShare[13] = mapping_1RealIo[13];
- mapping_1RealShare[14] = mapping_1RealIo[14];
- mapping_1RealShare[15] = mapping_1RealIo[15];
- mapping_1RealShare[16] = mapping_1RealIo[16];
- mapping_1RealShare[17] = mapping_1RealIo[17];
- mapping_1RealShare[18] = mapping_1RealIo[18];
- mapping_1RealShare[19] = mapping_1RealIo[19];
- mapping_1RealShare[20] = mapping_1RealIo[20];
- mapping_1RealShare[21] = mapping_1RealIo[21];
- mapping_1RealShare[22] = mapping_1RealIo[22];
- mapping_1RealShare[23] = mapping_1RealIo[23];
- dmodel_1StringShare[0] = dmodel_1StringIo[0];
- dmodel_1StringShare[1] = dmodel_1StringIo[1];
- dmodel_1RealShare[0] = dmodel_1RealIo[0];
- dmodel_1RealShare[1] = dmodel_1RealIo[1];
- dmodel_1RealShare[2] = dmodel_1RealIo[2];
- rmq_1StringShare[0] = rmq_1StringIo[0];
- rmq_1RealShare[0] = rmq_1RealIo[0];
- rmq_1RealShare[1] = rmq_1RealIo[1];
- rmq_1RealShare[2] = rmq_1RealIo[2];
- real fmu_communicationpoints[3];
- dataWriter1.writeDataPoint(datawriter_configuration, jac_current_communication_point, dmodel_1StringShare[0], dmodel_1StringShare[1], dmodel_1RealShare[0], dmodel_1RealShare[1], dmodel_1RealShare[2], rmq_1StringShare[0], rmq_1RealShare[0], rmq_1RealShare[1], rmq_1RealShare[2], mapping_1StringShare[0], mapping_1RealShare[0], mapping_1RealShare[1], mapping_1RealShare[2], mapping_1RealShare[3], mapping_1RealShare[4], mapping_1RealShare[5], mapping_1RealShare[6], mapping_1RealShare[7], mapping_1RealShare[8], mapping_1RealShare[9], mapping_1RealShare[10], mapping_1RealShare[11], mapping_1RealShare[12], mapping_1RealShare[13], mapping_1RealShare[14], mapping_1RealShare[15], mapping_1RealShare[16], mapping_1RealShare[17], mapping_1RealShare[18], mapping_1RealShare[19], mapping_1RealShare[20], mapping_1RealShare[21], mapping_1RealShare[22], mapping_1RealShare[23], mapping_1StringShare[1], mapping_1StringShare[2], mapping_1BoolShare[0], mapping_1BoolShare[1], mapping_1BoolShare[2], mapping_1BoolShare[3], mapping_1BoolShare[4], mapping_1BoolShare[5], mapping_1BoolShare[6], mapping_1BoolShare[7], mapping_1BoolShare[8], mapping_1BoolShare[9]);
- bool any_discards = false;
- while( (!true || ((jac_current_communication_point + jac_current_step_size) < jac_end_time)) )
- {
- bool tmp = simulationControl.stopRequested();
- if( (tmp) )
- {
- error "Simulation stopped by user";
}
- @Transfer();
- dmodel_1UintVref[0] = 0;
- dmodel_1UintVref[1] = 1;
- dmodel_1UintVref[2] = 2;
- dmodel_1UintVref[3] = 3;
- dmodel_1UintVref[4] = 4;
- dmodel_1UintVref[5] = 5;
- dmodel_1UintVref[6] = 6;
- dmodel_1UintVref[7] = 7;
- dmodel_1UintVref[8] = 8;
- dmodel_1UintVref[9] = 9;
- dmodel_1BoolIo[0] = mapping_1BoolShare[9];
- dmodel_1BoolIo[1] = mapping_1BoolShare[5];
- dmodel_1BoolIo[2] = mapping_1BoolShare[1];
- dmodel_1BoolIo[3] = mapping_1BoolShare[4];
- dmodel_1BoolIo[4] = mapping_1BoolShare[3];
- dmodel_1BoolIo[5] = mapping_1BoolShare[6];
- dmodel_1BoolIo[6] = mapping_1BoolShare[7];
- dmodel_1BoolIo[7] = mapping_1BoolShare[2];
- dmodel_1BoolIo[8] = mapping_1BoolShare[0];
- dmodel_1BoolIo[9] = mapping_1BoolShare[8];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 10, dmodel_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ BooleanLogic booleanLogic2;
+ DataWriter dataWriter1;
+ SimulationControl simulationControl;
+ try
{
- if( (status == FMI_ERROR) )
+ simulationControl = load("SimulationControl");
+ if( (simulationControl == null) )
+ {
+ error "Failed load of: simulationControl";
+ }
+ dataWriter1 = load("DataWriter");
+ if( (dataWriter1 == null) )
+ {
+ error "Failed load of: dataWriter1";
+ }
+ booleanLogic2 = load("BooleanLogic");
+ if( (booleanLogic2 == null) )
+ {
+ error "Failed load of: booleanLogic2";
+ }
+ bool mapping_1CurrentTimeFullStep = true;
+ real mapping_1CurrentTime = 0.0;
+ bool rmq_1CurrentTimeFullStep = true;
+ real rmq_1CurrentTime = 0.0;
+ bool dmodel_1CurrentTimeFullStep = true;
+ real dmodel_1CurrentTime = 0.0;
+ bool dmodel_1BoolIo[38];
+ real rmq_1RealShare[3];
+ string rmq_1StringShare[1];
+ real mapping_1RealShare[27];
+ bool mapping_1BoolShare[10];
+ string mapping_1StringShare[3];
+ real dmodel_1RealShare[4];
+ string dmodel_1StringShare[2];
+ real mapping_1RealIo[67];
+ bool mapping_1BoolIo[67];
+ string mapping_1StringIo[67];
+ uint mapping_1UintVref[67];
+ real rmq_1RealIo[27];
+ string rmq_1StringIo[27];
+ uint rmq_1UintVref[27];
+ real dmodel_1RealIo[38];
+ string dmodel_1StringIo[38];
+ uint dmodel_1UintVref[38];
+ real jac_current_step_size = 0.0;
+ real jac_step_size = 0.0;
+ @TransferAs("START_TIME");
+ real jac_current_communication_point = 0.0;
+ real jac_end_time = 0.0;
+ jac_current_step_size = STEP_SIZE;
+ jac_step_size = STEP_SIZE;
+ jac_current_communication_point = START_TIME;
+ jac_end_time = END_TIME;
+ string datawriter_headers[50] = { "{dmodel}.dmodel.state" , "{dmodel}.dmodel.d_model_event" , "{dmodel}.dmodel.d_model_event_args_0" , "{dmodel}.dmodel.d_model_event_args_1" , "{dmodel}.dmodel.d_model_event_args_2" , "{dmodel}.dmodel.d_model_event_args_3" , "{rmq}.rmq.controller_event" , "{rmq}.rmq.controller_event_args_0" , "{rmq}.rmq.controller_event_args_1" , "{rmq}.rmq.controller_event_args_2" , "{mapping}.mapping.controller_event" , "{mapping}.mapping.j0" , "{mapping}.mapping.j1" , "{mapping}.mapping.j2" , "{mapping}.mapping.j3" , "{mapping}.mapping.j4" , "{mapping}.mapping.j5" , "{mapping}.mapping.qd0" , "{mapping}.mapping.qd1" , "{mapping}.mapping.qd2" , "{mapping}.mapping.qd3" , "{mapping}.mapping.qd4" , "{mapping}.mapping.qd5" , "{mapping}.mapping.qdd0" , "{mapping}.mapping.qdd1" , "{mapping}.mapping.qdd2" , "{mapping}.mapping.qdd3" , "{mapping}.mapping.qdd4" , "{mapping}.mapping.qdd5" , "{mapping}.mapping.t0" , "{mapping}.mapping.t1" , "{mapping}.mapping.t2" , "{mapping}.mapping.t3" , "{mapping}.mapping.t4" , "{mapping}.mapping.t5" , "{mapping}.mapping.d_model_event" , "{mapping}.mapping.output_event" , "{mapping}.mapping.output_event_args_0" , "{mapping}.mapping.output_event_args_1" , "{mapping}.mapping.output_event_args_2" , "{mapping}.mapping.platform_event_0" , "{mapping}.mapping.platform_event_1" , "{mapping}.mapping.platform_event_2" , "{mapping}.mapping.platform_event_3" , "{mapping}.mapping.platform_event_4" , "{mapping}.mapping.platform_event_5" , "{mapping}.mapping.platform_event_6" , "{mapping}.mapping.platform_event_7" , "{mapping}.mapping.platform_event_8" , "{mapping}.mapping.platform_event_9" };
+ DataWriterConfig datawriter_configuration = dataWriter1.writeHeader(datawriter_headers);
+ dmodel_1UintVref[0] = 24;
+ dmodel_1UintVref[1] = 27;
+ status = dmodel_1.getString(dmodel_1UintVref, 2, dmodel_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getString' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 28;
+ dmodel_1UintVref[1] = 29;
+ dmodel_1UintVref[2] = 30;
+ dmodel_1UintVref[3] = 31;
+ status = dmodel_1.getReal(dmodel_1UintVref, 4, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getReal' on 'dmodel_1'";
+ }
+ rmq_1UintVref[0] = 21;
+ status = rmq_1.getString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'getString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 22;
+ rmq_1UintVref[1] = 23;
+ rmq_1UintVref[2] = 24;
+ status = rmq_1.getReal(rmq_1UintVref, 3, rmq_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'getReal' on 'rmq_1'";
+ }
+ mapping_1UintVref[0] = 0;
+ mapping_1UintVref[1] = 35;
+ mapping_1UintVref[2] = 46;
+ status = mapping_1.getString(mapping_1UintVref, 3, mapping_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getString' on 'mapping_1'";
+ }
+ mapping_1UintVref[0] = 57;
+ mapping_1UintVref[1] = 58;
+ mapping_1UintVref[2] = 59;
+ mapping_1UintVref[3] = 60;
+ mapping_1UintVref[4] = 61;
+ mapping_1UintVref[5] = 62;
+ mapping_1UintVref[6] = 63;
+ mapping_1UintVref[7] = 64;
+ mapping_1UintVref[8] = 65;
+ mapping_1UintVref[9] = 66;
+ status = mapping_1.getBoolean(mapping_1UintVref, 10, mapping_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1UintVref[0] = 11;
+ mapping_1UintVref[1] = 12;
+ mapping_1UintVref[2] = 13;
+ mapping_1UintVref[3] = 14;
+ mapping_1UintVref[4] = 15;
+ mapping_1UintVref[5] = 16;
+ mapping_1UintVref[6] = 17;
+ mapping_1UintVref[7] = 18;
+ mapping_1UintVref[8] = 19;
+ mapping_1UintVref[9] = 20;
+ mapping_1UintVref[10] = 21;
+ mapping_1UintVref[11] = 22;
+ mapping_1UintVref[12] = 23;
+ mapping_1UintVref[13] = 24;
+ mapping_1UintVref[14] = 25;
+ mapping_1UintVref[15] = 26;
+ mapping_1UintVref[16] = 27;
+ mapping_1UintVref[17] = 28;
+ mapping_1UintVref[18] = 29;
+ mapping_1UintVref[19] = 30;
+ mapping_1UintVref[20] = 31;
+ mapping_1UintVref[21] = 32;
+ mapping_1UintVref[22] = 33;
+ mapping_1UintVref[23] = 34;
+ mapping_1UintVref[24] = 47;
+ mapping_1UintVref[25] = 48;
+ mapping_1UintVref[26] = 49;
+ status = mapping_1.getReal(mapping_1UintVref, 27, mapping_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
+ {
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getReal' on 'mapping_1'";
+ }
+ dmodel_1StringShare[0] = dmodel_1StringIo[0];
+ dmodel_1StringShare[1] = dmodel_1StringIo[1];
+ dmodel_1RealShare[0] = dmodel_1RealIo[0];
+ dmodel_1RealShare[1] = dmodel_1RealIo[1];
+ dmodel_1RealShare[2] = dmodel_1RealIo[2];
+ dmodel_1RealShare[3] = dmodel_1RealIo[3];
+ mapping_1StringShare[0] = mapping_1StringIo[0];
+ mapping_1StringShare[1] = mapping_1StringIo[1];
+ mapping_1StringShare[2] = mapping_1StringIo[2];
+ mapping_1BoolShare[0] = mapping_1BoolIo[0];
+ mapping_1BoolShare[1] = mapping_1BoolIo[1];
+ mapping_1BoolShare[2] = mapping_1BoolIo[2];
+ mapping_1BoolShare[3] = mapping_1BoolIo[3];
+ mapping_1BoolShare[4] = mapping_1BoolIo[4];
+ mapping_1BoolShare[5] = mapping_1BoolIo[5];
+ mapping_1BoolShare[6] = mapping_1BoolIo[6];
+ mapping_1BoolShare[7] = mapping_1BoolIo[7];
+ mapping_1BoolShare[8] = mapping_1BoolIo[8];
+ mapping_1BoolShare[9] = mapping_1BoolIo[9];
+ mapping_1RealShare[0] = mapping_1RealIo[0];
+ mapping_1RealShare[1] = mapping_1RealIo[1];
+ mapping_1RealShare[2] = mapping_1RealIo[2];
+ mapping_1RealShare[3] = mapping_1RealIo[3];
+ mapping_1RealShare[4] = mapping_1RealIo[4];
+ mapping_1RealShare[5] = mapping_1RealIo[5];
+ mapping_1RealShare[6] = mapping_1RealIo[6];
+ mapping_1RealShare[7] = mapping_1RealIo[7];
+ mapping_1RealShare[8] = mapping_1RealIo[8];
+ mapping_1RealShare[9] = mapping_1RealIo[9];
+ mapping_1RealShare[10] = mapping_1RealIo[10];
+ mapping_1RealShare[11] = mapping_1RealIo[11];
+ mapping_1RealShare[12] = mapping_1RealIo[12];
+ mapping_1RealShare[13] = mapping_1RealIo[13];
+ mapping_1RealShare[14] = mapping_1RealIo[14];
+ mapping_1RealShare[15] = mapping_1RealIo[15];
+ mapping_1RealShare[16] = mapping_1RealIo[16];
+ mapping_1RealShare[17] = mapping_1RealIo[17];
+ mapping_1RealShare[18] = mapping_1RealIo[18];
+ mapping_1RealShare[19] = mapping_1RealIo[19];
+ mapping_1RealShare[20] = mapping_1RealIo[20];
+ mapping_1RealShare[21] = mapping_1RealIo[21];
+ mapping_1RealShare[22] = mapping_1RealIo[22];
+ mapping_1RealShare[23] = mapping_1RealIo[23];
+ mapping_1RealShare[24] = mapping_1RealIo[24];
+ mapping_1RealShare[25] = mapping_1RealIo[25];
+ mapping_1RealShare[26] = mapping_1RealIo[26];
+ rmq_1StringShare[0] = rmq_1StringIo[0];
+ rmq_1RealShare[0] = rmq_1RealIo[0];
+ rmq_1RealShare[1] = rmq_1RealIo[1];
+ rmq_1RealShare[2] = rmq_1RealIo[2];
+ real fmu_communicationpoints[3];
+ dataWriter1.writeDataPoint(datawriter_configuration, jac_current_communication_point, dmodel_1StringShare[0], dmodel_1StringShare[1], dmodel_1RealShare[0], dmodel_1RealShare[1], dmodel_1RealShare[2], dmodel_1RealShare[3], rmq_1StringShare[0], rmq_1RealShare[0], rmq_1RealShare[1], rmq_1RealShare[2], mapping_1StringShare[0], mapping_1RealShare[0], mapping_1RealShare[1], mapping_1RealShare[2], mapping_1RealShare[3], mapping_1RealShare[4], mapping_1RealShare[5], mapping_1RealShare[6], mapping_1RealShare[7], mapping_1RealShare[8], mapping_1RealShare[9], mapping_1RealShare[10], mapping_1RealShare[11], mapping_1RealShare[12], mapping_1RealShare[13], mapping_1RealShare[14], mapping_1RealShare[15], mapping_1RealShare[16], mapping_1RealShare[17], mapping_1RealShare[18], mapping_1RealShare[19], mapping_1RealShare[20], mapping_1RealShare[21], mapping_1RealShare[22], mapping_1RealShare[23], mapping_1StringShare[1], mapping_1StringShare[2], mapping_1RealShare[24], mapping_1RealShare[25], mapping_1RealShare[26], mapping_1BoolShare[0], mapping_1BoolShare[1], mapping_1BoolShare[2], mapping_1BoolShare[3], mapping_1BoolShare[4], mapping_1BoolShare[5], mapping_1BoolShare[6], mapping_1BoolShare[7], mapping_1BoolShare[8], mapping_1BoolShare[9]);
+ bool any_discards = false;
+ while( ((jac_current_communication_point + jac_current_step_size) < jac_end_time) )
+ {
+ bool tmp = simulationControl.stopRequested();
+ if( (tmp) )
{
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ error "Simulation stopped by user";
}
- if( (status == FMI_FATAL) )
+ @Transfer();
+ dmodel_1UintVref[0] = 0;
+ dmodel_1UintVref[1] = 1;
+ dmodel_1UintVref[2] = 2;
+ dmodel_1UintVref[3] = 3;
+ dmodel_1UintVref[4] = 4;
+ dmodel_1UintVref[5] = 5;
+ dmodel_1UintVref[6] = 6;
+ dmodel_1UintVref[7] = 7;
+ dmodel_1UintVref[8] = 8;
+ dmodel_1UintVref[9] = 9;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[9];
+ dmodel_1BoolIo[1] = mapping_1BoolShare[5];
+ dmodel_1BoolIo[2] = mapping_1BoolShare[1];
+ dmodel_1BoolIo[3] = mapping_1BoolShare[4];
+ dmodel_1BoolIo[4] = mapping_1BoolShare[3];
+ dmodel_1BoolIo[5] = mapping_1BoolShare[6];
+ dmodel_1BoolIo[6] = mapping_1BoolShare[7];
+ dmodel_1BoolIo[7] = mapping_1BoolShare[2];
+ dmodel_1BoolIo[8] = mapping_1BoolShare[0];
+ dmodel_1BoolIo[9] = mapping_1BoolShare[8];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 10, dmodel_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
{
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
}
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 0;
- mapping_1UintVref[1] = 35;
- mapping_1StringIo[0] = rmq_1StringShare[0];
- mapping_1StringIo[1] = dmodel_1StringShare[1];
- status = mapping_1.setString(mapping_1UintVref, 2, mapping_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
+ dmodel_1UintVref[0] = 10;
+ dmodel_1UintVref[1] = 11;
+ dmodel_1UintVref[2] = 12;
+ dmodel_1RealIo[0] = mapping_1RealShare[24];
+ dmodel_1RealIo[1] = mapping_1RealShare[25];
+ dmodel_1RealIo[2] = mapping_1RealShare[26];
+ status = dmodel_1.setReal(dmodel_1UintVref, 3, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
{
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
}
- if( (status == FMI_FATAL) )
+ mapping_1UintVref[0] = 0;
+ mapping_1UintVref[1] = 35;
+ mapping_1StringIo[0] = rmq_1StringShare[0];
+ mapping_1StringIo[1] = dmodel_1StringShare[1];
+ status = mapping_1.setString(mapping_1UintVref, 2, mapping_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
{
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setString' on 'mapping_1'";
}
- error "Failed to 'setString' on 'mapping_1'";
- }
- mapping_1UintVref[0] = 1;
- mapping_1UintVref[1] = 2;
- mapping_1UintVref[2] = 3;
- mapping_1RealIo[0] = rmq_1RealShare[0];
- mapping_1RealIo[1] = rmq_1RealShare[1];
- mapping_1RealIo[2] = rmq_1RealShare[2];
- status = mapping_1.setReal(mapping_1UintVref, 3, mapping_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
+ mapping_1UintVref[0] = 1;
+ mapping_1UintVref[1] = 2;
+ mapping_1UintVref[2] = 3;
+ mapping_1UintVref[3] = 36;
+ mapping_1UintVref[4] = 37;
+ mapping_1UintVref[5] = 39;
+ mapping_1UintVref[6] = 40;
+ mapping_1RealIo[0] = rmq_1RealShare[0];
+ mapping_1RealIo[1] = rmq_1RealShare[1];
+ mapping_1RealIo[2] = rmq_1RealShare[2];
+ mapping_1RealIo[3] = dmodel_1RealShare[0];
+ mapping_1RealIo[4] = dmodel_1RealShare[1];
+ mapping_1RealIo[5] = dmodel_1RealShare[2];
+ mapping_1RealIo[6] = dmodel_1RealShare[3];
+ status = mapping_1.setReal(mapping_1UintVref, 7, mapping_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
{
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setString' on 'mapping_1'";
}
- if( (status == FMI_FATAL) )
+ any_discards = false;
+ status = dmodel_1.doStep(jac_current_communication_point, jac_current_step_size, false);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
{
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "DoStep failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "DoStep failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'doStep' on 'dmodel_1'";
}
- error "Failed to 'setString' on 'mapping_1'";
- }
- any_discards = false;
- status = dmodel_1.doStep(jac_current_communication_point, jac_current_step_size, false);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
+ if( (status != FMI_OK) )
{
- logger.log(4, "DoStep failed on '%s' with status: FMI_ERROR", dmodel_1);
+ if( (status == FMI_DISCARD) )
+ {
+ status = dmodel_1.getRealStatus(2, ref dmodel_1CurrentTime);
+ dmodel_1CurrentTimeFullStep = false;
+ }
}
- if( (status == FMI_FATAL) )
+ else
{
- logger.log(4, "DoStep failed on '%s' with status: FMI_FATAL", dmodel_1);
+ dmodel_1CurrentTime = jac_current_communication_point + jac_current_step_size;
+ dmodel_1CurrentTimeFullStep = true;
}
- error "Failed to 'doStep' on 'dmodel_1'";
- }
- if( (status != FMI_OK) )
- {
- if( (status == FMI_DISCARD) )
+ fmu_communicationpoints[0] = dmodel_1CurrentTime;
+ if( (!dmodel_1CurrentTimeFullStep) )
{
- status = dmodel_1.getRealStatus(2, ref dmodel_1CurrentTime);
- dmodel_1CurrentTimeFullStep = false;
+ logger.log(1, "## FMU: '%s' DISCARDED step at sim-time: %f for step-size: %f and proposed sim-time: %.15f", "dmodel_1", jac_current_communication_point, jac_current_step_size, dmodel_1CurrentTime);
+ any_discards = any_discards || !dmodel_1CurrentTimeFullStep;
}
- }
- else
- {
- dmodel_1CurrentTime = jac_current_communication_point + jac_current_step_size;
- dmodel_1CurrentTimeFullStep = true;
- }
- fmu_communicationpoints[0] = dmodel_1CurrentTime;
- if( (!dmodel_1CurrentTimeFullStep) )
- {
- logger.log(1, "## FMU: '%s' DISCARDED step at sim-time: %f for step-size: %f and proposed sim-time: %.15f", "dmodel_1", jac_current_communication_point, jac_current_step_size, dmodel_1CurrentTime);
- any_discards = any_discards || !dmodel_1CurrentTimeFullStep;
- }
- status = rmq_1.doStep(jac_current_communication_point, jac_current_step_size, false);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
+ status = rmq_1.doStep(jac_current_communication_point, jac_current_step_size, false);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
{
- logger.log(4, "DoStep failed on '%s' with status: FMI_ERROR", rmq_1);
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "DoStep failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "DoStep failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'doStep' on 'rmq_1'";
}
- if( (status == FMI_FATAL) )
+ if( (status != FMI_OK) )
{
- logger.log(4, "DoStep failed on '%s' with status: FMI_FATAL", rmq_1);
+ if( (status == FMI_DISCARD) )
+ {
+ status = rmq_1.getRealStatus(2, ref rmq_1CurrentTime);
+ rmq_1CurrentTimeFullStep = false;
+ }
}
- error "Failed to 'doStep' on 'rmq_1'";
- }
- if( (status != FMI_OK) )
- {
- if( (status == FMI_DISCARD) )
+ else
{
- status = rmq_1.getRealStatus(2, ref rmq_1CurrentTime);
- rmq_1CurrentTimeFullStep = false;
+ rmq_1CurrentTime = jac_current_communication_point + jac_current_step_size;
+ rmq_1CurrentTimeFullStep = true;
}
- }
- else
- {
- rmq_1CurrentTime = jac_current_communication_point + jac_current_step_size;
- rmq_1CurrentTimeFullStep = true;
- }
- fmu_communicationpoints[1] = rmq_1CurrentTime;
- if( (!rmq_1CurrentTimeFullStep) )
- {
- logger.log(1, "## FMU: '%s' DISCARDED step at sim-time: %f for step-size: %f and proposed sim-time: %.15f", "rmq_1", jac_current_communication_point, jac_current_step_size, rmq_1CurrentTime);
- any_discards = any_discards || !rmq_1CurrentTimeFullStep;
- }
- status = mapping_1.doStep(jac_current_communication_point, jac_current_step_size, false);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
+ fmu_communicationpoints[1] = rmq_1CurrentTime;
+ if( (!rmq_1CurrentTimeFullStep) )
{
- logger.log(4, "DoStep failed on '%s' with status: FMI_ERROR", mapping_1);
+ logger.log(1, "## FMU: '%s' DISCARDED step at sim-time: %f for step-size: %f and proposed sim-time: %.15f", "rmq_1", jac_current_communication_point, jac_current_step_size, rmq_1CurrentTime);
+ any_discards = any_discards || !rmq_1CurrentTimeFullStep;
}
- if( (status == FMI_FATAL) )
+ status = mapping_1.doStep(jac_current_communication_point, jac_current_step_size, false);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
{
- logger.log(4, "DoStep failed on '%s' with status: FMI_FATAL", mapping_1);
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "DoStep failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "DoStep failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'doStep' on 'mapping_1'";
}
- error "Failed to 'doStep' on 'mapping_1'";
- }
- if( (status != FMI_OK) )
- {
- if( (status == FMI_DISCARD) )
+ if( (status != FMI_OK) )
{
- status = mapping_1.getRealStatus(2, ref mapping_1CurrentTime);
- mapping_1CurrentTimeFullStep = false;
+ if( (status == FMI_DISCARD) )
+ {
+ status = mapping_1.getRealStatus(2, ref mapping_1CurrentTime);
+ mapping_1CurrentTimeFullStep = false;
+ }
}
- }
- else
- {
- mapping_1CurrentTime = jac_current_communication_point + jac_current_step_size;
- mapping_1CurrentTimeFullStep = true;
- }
- fmu_communicationpoints[2] = mapping_1CurrentTime;
- if( (!mapping_1CurrentTimeFullStep) )
- {
- logger.log(1, "## FMU: '%s' DISCARDED step at sim-time: %f for step-size: %f and proposed sim-time: %.15f", "mapping_1", jac_current_communication_point, jac_current_step_size, mapping_1CurrentTime);
- any_discards = any_discards || !mapping_1CurrentTimeFullStep;
- }
- mapping_1UintVref[0] = 11;
- mapping_1UintVref[1] = 12;
- mapping_1UintVref[2] = 13;
- mapping_1UintVref[3] = 14;
- mapping_1UintVref[4] = 15;
- mapping_1UintVref[5] = 16;
- mapping_1UintVref[6] = 17;
- mapping_1UintVref[7] = 18;
- mapping_1UintVref[8] = 19;
- mapping_1UintVref[9] = 20;
- mapping_1UintVref[10] = 21;
- mapping_1UintVref[11] = 22;
- mapping_1UintVref[12] = 23;
- mapping_1UintVref[13] = 24;
- mapping_1UintVref[14] = 25;
- mapping_1UintVref[15] = 26;
- mapping_1UintVref[16] = 27;
- mapping_1UintVref[17] = 28;
- mapping_1UintVref[18] = 29;
- mapping_1UintVref[19] = 30;
- mapping_1UintVref[20] = 31;
- mapping_1UintVref[21] = 32;
- mapping_1UintVref[22] = 33;
- mapping_1UintVref[23] = 34;
- status = mapping_1.getReal(mapping_1UintVref, 24, mapping_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
+ else
{
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ mapping_1CurrentTime = jac_current_communication_point + jac_current_step_size;
+ mapping_1CurrentTimeFullStep = true;
}
- if( (status == FMI_FATAL) )
+ fmu_communicationpoints[2] = mapping_1CurrentTime;
+ if( (!mapping_1CurrentTimeFullStep) )
{
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ logger.log(1, "## FMU: '%s' DISCARDED step at sim-time: %f for step-size: %f and proposed sim-time: %.15f", "mapping_1", jac_current_communication_point, jac_current_step_size, mapping_1CurrentTime);
+ any_discards = any_discards || !mapping_1CurrentTimeFullStep;
}
- error "Failed to 'getReal' on 'mapping_1'";
- }
- mapping_1UintVref[0] = 0;
- mapping_1UintVref[1] = 35;
- mapping_1UintVref[2] = 46;
- status = mapping_1.getString(mapping_1UintVref, 3, mapping_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
+ dmodel_1UintVref[0] = 24;
+ dmodel_1UintVref[1] = 27;
+ status = dmodel_1.getString(dmodel_1UintVref, 2, dmodel_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
{
- logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getString' on 'dmodel_1'";
}
- if( (status == FMI_FATAL) )
+ dmodel_1UintVref[0] = 28;
+ dmodel_1UintVref[1] = 29;
+ dmodel_1UintVref[2] = 30;
+ dmodel_1UintVref[3] = 31;
+ status = dmodel_1.getReal(dmodel_1UintVref, 4, dmodel_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
{
- logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getReal' on 'dmodel_1'";
}
- error "Failed to 'getString' on 'mapping_1'";
- }
- mapping_1UintVref[0] = 57;
- mapping_1UintVref[1] = 58;
- mapping_1UintVref[2] = 59;
- mapping_1UintVref[3] = 60;
- mapping_1UintVref[4] = 61;
- mapping_1UintVref[5] = 62;
- mapping_1UintVref[6] = 63;
- mapping_1UintVref[7] = 64;
- mapping_1UintVref[8] = 65;
- mapping_1UintVref[9] = 66;
- status = mapping_1.getBoolean(mapping_1UintVref, 10, mapping_1BoolIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
+ mapping_1UintVref[0] = 0;
+ mapping_1UintVref[1] = 35;
+ mapping_1UintVref[2] = 46;
+ status = mapping_1.getString(mapping_1UintVref, 3, mapping_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
{
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getString' on 'mapping_1'";
}
- if( (status == FMI_FATAL) )
+ mapping_1UintVref[0] = 57;
+ mapping_1UintVref[1] = 58;
+ mapping_1UintVref[2] = 59;
+ mapping_1UintVref[3] = 60;
+ mapping_1UintVref[4] = 61;
+ mapping_1UintVref[5] = 62;
+ mapping_1UintVref[6] = 63;
+ mapping_1UintVref[7] = 64;
+ mapping_1UintVref[8] = 65;
+ mapping_1UintVref[9] = 66;
+ status = mapping_1.getBoolean(mapping_1UintVref, 10, mapping_1BoolIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
{
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
}
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- dmodel_1UintVref[0] = 24;
- dmodel_1UintVref[1] = 27;
- status = dmodel_1.getString(dmodel_1UintVref, 2, dmodel_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
+ mapping_1UintVref[0] = 11;
+ mapping_1UintVref[1] = 12;
+ mapping_1UintVref[2] = 13;
+ mapping_1UintVref[3] = 14;
+ mapping_1UintVref[4] = 15;
+ mapping_1UintVref[5] = 16;
+ mapping_1UintVref[6] = 17;
+ mapping_1UintVref[7] = 18;
+ mapping_1UintVref[8] = 19;
+ mapping_1UintVref[9] = 20;
+ mapping_1UintVref[10] = 21;
+ mapping_1UintVref[11] = 22;
+ mapping_1UintVref[12] = 23;
+ mapping_1UintVref[13] = 24;
+ mapping_1UintVref[14] = 25;
+ mapping_1UintVref[15] = 26;
+ mapping_1UintVref[16] = 27;
+ mapping_1UintVref[17] = 28;
+ mapping_1UintVref[18] = 29;
+ mapping_1UintVref[19] = 30;
+ mapping_1UintVref[20] = 31;
+ mapping_1UintVref[21] = 32;
+ mapping_1UintVref[22] = 33;
+ mapping_1UintVref[23] = 34;
+ mapping_1UintVref[24] = 47;
+ mapping_1UintVref[25] = 48;
+ mapping_1UintVref[26] = 49;
+ status = mapping_1.getReal(mapping_1UintVref, 27, mapping_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
{
- logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", dmodel_1);
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getReal' on 'mapping_1'";
}
- if( (status == FMI_FATAL) )
+ rmq_1UintVref[0] = 21;
+ status = rmq_1.getString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
{
- logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", dmodel_1);
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'getString' on 'rmq_1'";
}
- error "Failed to 'getString' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 28;
- dmodel_1UintVref[1] = 29;
- dmodel_1UintVref[2] = 30;
- status = dmodel_1.getReal(dmodel_1UintVref, 3, dmodel_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
+ rmq_1UintVref[0] = 22;
+ rmq_1UintVref[1] = 23;
+ rmq_1UintVref[2] = 24;
+ status = rmq_1.getReal(rmq_1UintVref, 3, rmq_1RealIo);
+ if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
{
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ if( (status == FMI_ERROR) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( (status == FMI_FATAL) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'getReal' on 'rmq_1'";
}
- if( (status == FMI_FATAL) )
+ dmodel_1StringShare[0] = dmodel_1StringIo[0];
+ dmodel_1StringShare[1] = dmodel_1StringIo[1];
+ dmodel_1RealShare[0] = dmodel_1RealIo[0];
+ dmodel_1RealShare[1] = dmodel_1RealIo[1];
+ dmodel_1RealShare[2] = dmodel_1RealIo[2];
+ dmodel_1RealShare[3] = dmodel_1RealIo[3];
+ mapping_1StringShare[0] = mapping_1StringIo[0];
+ mapping_1StringShare[1] = mapping_1StringIo[1];
+ mapping_1StringShare[2] = mapping_1StringIo[2];
+ mapping_1BoolShare[0] = mapping_1BoolIo[0];
+ mapping_1BoolShare[1] = mapping_1BoolIo[1];
+ mapping_1BoolShare[2] = mapping_1BoolIo[2];
+ mapping_1BoolShare[3] = mapping_1BoolIo[3];
+ mapping_1BoolShare[4] = mapping_1BoolIo[4];
+ mapping_1BoolShare[5] = mapping_1BoolIo[5];
+ mapping_1BoolShare[6] = mapping_1BoolIo[6];
+ mapping_1BoolShare[7] = mapping_1BoolIo[7];
+ mapping_1BoolShare[8] = mapping_1BoolIo[8];
+ mapping_1BoolShare[9] = mapping_1BoolIo[9];
+ mapping_1RealShare[0] = mapping_1RealIo[0];
+ mapping_1RealShare[1] = mapping_1RealIo[1];
+ mapping_1RealShare[2] = mapping_1RealIo[2];
+ mapping_1RealShare[3] = mapping_1RealIo[3];
+ mapping_1RealShare[4] = mapping_1RealIo[4];
+ mapping_1RealShare[5] = mapping_1RealIo[5];
+ mapping_1RealShare[6] = mapping_1RealIo[6];
+ mapping_1RealShare[7] = mapping_1RealIo[7];
+ mapping_1RealShare[8] = mapping_1RealIo[8];
+ mapping_1RealShare[9] = mapping_1RealIo[9];
+ mapping_1RealShare[10] = mapping_1RealIo[10];
+ mapping_1RealShare[11] = mapping_1RealIo[11];
+ mapping_1RealShare[12] = mapping_1RealIo[12];
+ mapping_1RealShare[13] = mapping_1RealIo[13];
+ mapping_1RealShare[14] = mapping_1RealIo[14];
+ mapping_1RealShare[15] = mapping_1RealIo[15];
+ mapping_1RealShare[16] = mapping_1RealIo[16];
+ mapping_1RealShare[17] = mapping_1RealIo[17];
+ mapping_1RealShare[18] = mapping_1RealIo[18];
+ mapping_1RealShare[19] = mapping_1RealIo[19];
+ mapping_1RealShare[20] = mapping_1RealIo[20];
+ mapping_1RealShare[21] = mapping_1RealIo[21];
+ mapping_1RealShare[22] = mapping_1RealIo[22];
+ mapping_1RealShare[23] = mapping_1RealIo[23];
+ mapping_1RealShare[24] = mapping_1RealIo[24];
+ mapping_1RealShare[25] = mapping_1RealIo[25];
+ mapping_1RealShare[26] = mapping_1RealIo[26];
+ rmq_1StringShare[0] = rmq_1StringIo[0];
+ rmq_1RealShare[0] = rmq_1RealIo[0];
+ rmq_1RealShare[1] = rmq_1RealIo[1];
+ rmq_1RealShare[2] = rmq_1RealIo[2];
+ if( (!any_discards) )
{
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ jac_current_communication_point = jac_current_communication_point + jac_current_step_size;
+ dataWriter1.writeDataPoint(datawriter_configuration, jac_current_communication_point, dmodel_1StringShare[0], dmodel_1StringShare[1], dmodel_1RealShare[0], dmodel_1RealShare[1], dmodel_1RealShare[2], dmodel_1RealShare[3], rmq_1StringShare[0], rmq_1RealShare[0], rmq_1RealShare[1], rmq_1RealShare[2], mapping_1StringShare[0], mapping_1RealShare[0], mapping_1RealShare[1], mapping_1RealShare[2], mapping_1RealShare[3], mapping_1RealShare[4], mapping_1RealShare[5], mapping_1RealShare[6], mapping_1RealShare[7], mapping_1RealShare[8], mapping_1RealShare[9], mapping_1RealShare[10], mapping_1RealShare[11], mapping_1RealShare[12], mapping_1RealShare[13], mapping_1RealShare[14], mapping_1RealShare[15], mapping_1RealShare[16], mapping_1RealShare[17], mapping_1RealShare[18], mapping_1RealShare[19], mapping_1RealShare[20], mapping_1RealShare[21], mapping_1RealShare[22], mapping_1RealShare[23], mapping_1StringShare[1], mapping_1StringShare[2], mapping_1RealShare[24], mapping_1RealShare[25], mapping_1RealShare[26], mapping_1BoolShare[0], mapping_1BoolShare[1], mapping_1BoolShare[2], mapping_1BoolShare[3], mapping_1BoolShare[4], mapping_1BoolShare[5], mapping_1BoolShare[6], mapping_1BoolShare[7], mapping_1BoolShare[8], mapping_1BoolShare[9]);
+ jac_current_step_size = jac_step_size;
}
- error "Failed to 'getReal' on 'dmodel_1'";
- }
- rmq_1UintVref[0] = 22;
- rmq_1UintVref[1] = 23;
- rmq_1UintVref[2] = 24;
- status = rmq_1.getReal(rmq_1UintVref, 3, rmq_1RealIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'getReal' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 21;
- status = rmq_1.getString(rmq_1UintVref, 1, rmq_1StringIo);
- if( ((status == FMI_ERROR) || (status == FMI_FATAL)) )
- {
- if( (status == FMI_ERROR) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( (status == FMI_FATAL) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'getString' on 'rmq_1'";
- }
- mapping_1BoolShare[0] = mapping_1BoolIo[0];
- mapping_1BoolShare[1] = mapping_1BoolIo[1];
- mapping_1BoolShare[2] = mapping_1BoolIo[2];
- mapping_1BoolShare[3] = mapping_1BoolIo[3];
- mapping_1BoolShare[4] = mapping_1BoolIo[4];
- mapping_1BoolShare[5] = mapping_1BoolIo[5];
- mapping_1BoolShare[6] = mapping_1BoolIo[6];
- mapping_1BoolShare[7] = mapping_1BoolIo[7];
- mapping_1BoolShare[8] = mapping_1BoolIo[8];
- mapping_1BoolShare[9] = mapping_1BoolIo[9];
- mapping_1StringShare[0] = mapping_1StringIo[0];
- mapping_1StringShare[1] = mapping_1StringIo[1];
- mapping_1StringShare[2] = mapping_1StringIo[2];
- mapping_1RealShare[0] = mapping_1RealIo[0];
- mapping_1RealShare[1] = mapping_1RealIo[1];
- mapping_1RealShare[2] = mapping_1RealIo[2];
- mapping_1RealShare[3] = mapping_1RealIo[3];
- mapping_1RealShare[4] = mapping_1RealIo[4];
- mapping_1RealShare[5] = mapping_1RealIo[5];
- mapping_1RealShare[6] = mapping_1RealIo[6];
- mapping_1RealShare[7] = mapping_1RealIo[7];
- mapping_1RealShare[8] = mapping_1RealIo[8];
- mapping_1RealShare[9] = mapping_1RealIo[9];
- mapping_1RealShare[10] = mapping_1RealIo[10];
- mapping_1RealShare[11] = mapping_1RealIo[11];
- mapping_1RealShare[12] = mapping_1RealIo[12];
- mapping_1RealShare[13] = mapping_1RealIo[13];
- mapping_1RealShare[14] = mapping_1RealIo[14];
- mapping_1RealShare[15] = mapping_1RealIo[15];
- mapping_1RealShare[16] = mapping_1RealIo[16];
- mapping_1RealShare[17] = mapping_1RealIo[17];
- mapping_1RealShare[18] = mapping_1RealIo[18];
- mapping_1RealShare[19] = mapping_1RealIo[19];
- mapping_1RealShare[20] = mapping_1RealIo[20];
- mapping_1RealShare[21] = mapping_1RealIo[21];
- mapping_1RealShare[22] = mapping_1RealIo[22];
- mapping_1RealShare[23] = mapping_1RealIo[23];
- dmodel_1StringShare[0] = dmodel_1StringIo[0];
- dmodel_1StringShare[1] = dmodel_1StringIo[1];
- dmodel_1RealShare[0] = dmodel_1RealIo[0];
- dmodel_1RealShare[1] = dmodel_1RealIo[1];
- dmodel_1RealShare[2] = dmodel_1RealIo[2];
- rmq_1StringShare[0] = rmq_1StringIo[0];
- rmq_1RealShare[0] = rmq_1RealIo[0];
- rmq_1RealShare[1] = rmq_1RealIo[1];
- rmq_1RealShare[2] = rmq_1RealIo[2];
- if( (!any_discards) )
+ }
+ dataWriter1.close();
+ } finally
{
- jac_current_communication_point = jac_current_communication_point + jac_current_step_size;
- dataWriter1.writeDataPoint(datawriter_configuration, jac_current_communication_point, dmodel_1StringShare[0], dmodel_1StringShare[1], dmodel_1RealShare[0], dmodel_1RealShare[1], dmodel_1RealShare[2], rmq_1StringShare[0], rmq_1RealShare[0], rmq_1RealShare[1], rmq_1RealShare[2], mapping_1StringShare[0], mapping_1RealShare[0], mapping_1RealShare[1], mapping_1RealShare[2], mapping_1RealShare[3], mapping_1RealShare[4], mapping_1RealShare[5], mapping_1RealShare[6], mapping_1RealShare[7], mapping_1RealShare[8], mapping_1RealShare[9], mapping_1RealShare[10], mapping_1RealShare[11], mapping_1RealShare[12], mapping_1RealShare[13], mapping_1RealShare[14], mapping_1RealShare[15], mapping_1RealShare[16], mapping_1RealShare[17], mapping_1RealShare[18], mapping_1RealShare[19], mapping_1RealShare[20], mapping_1RealShare[21], mapping_1RealShare[22], mapping_1RealShare[23], mapping_1StringShare[1], mapping_1StringShare[2], mapping_1BoolShare[0], mapping_1BoolShare[1], mapping_1BoolShare[2], mapping_1BoolShare[3], mapping_1BoolShare[4], mapping_1BoolShare[5], mapping_1BoolShare[6], mapping_1BoolShare[7], mapping_1BoolShare[8], mapping_1BoolShare[9]);
- jac_current_step_size = jac_step_size;
+ if( (simulationControl != null) )
+ {
+ unload(simulationControl);
+ simulationControl = null;
+ }
+ if( (dataWriter1 != null) )
+ {
+ unload(dataWriter1);
+ dataWriter1 = null;
+ }
+ if( (booleanLogic2 != null) )
+ {
+ unload(booleanLogic2);
+ booleanLogic2 = null;
+ }
}
- }
- dataWriter1.close();
- } finally
- {
- if( (simulationControl != null) )
- {
- unload(simulationControl);
- simulationControl = null;
- }
- if( (dataWriter1 != null) )
- {
- unload(dataWriter1);
- dataWriter1 = null;
- }
- if( (booleanLogic2 != null) )
- {
- unload(booleanLogic2);
- booleanLogic2 = null;
- }
}
mapping_1.terminate();
rmq_1.terminate();
diff --git a/co-simulation/models/controllerFMU.fmu b/co-simulation/models/controllerFMU.fmu
new file mode 100644
index 0000000..e34f861
Binary files /dev/null and b/co-simulation/models/controllerFMU.fmu differ
diff --git a/co-simulation/models/dmodelFMU.fmu b/co-simulation/models/dmodelFMU.fmu
index 69cd8cc..cfe6150 100644
Binary files a/co-simulation/models/dmodelFMU.fmu and b/co-simulation/models/dmodelFMU.fmu differ
diff --git a/co-simulation/models/mappingFMU.fmu b/co-simulation/models/mappingFMU.fmu
index 17188b3..4dcc026 100644
Binary files a/co-simulation/models/mappingFMU.fmu and b/co-simulation/models/mappingFMU.fmu differ
diff --git a/co-simulation/models/rmqfmu.fmu b/co-simulation/models/rmqfmu.fmu
index e16b2b6..fdfe2eb 100644
Binary files a/co-simulation/models/rmqfmu.fmu and b/co-simulation/models/rmqfmu.fmu differ
diff --git a/co-simulation/multimodel.json b/co-simulation/multimodel.json
index 9658893..272ee10 100644
--- a/co-simulation/multimodel.json
+++ b/co-simulation/multimodel.json
@@ -76,9 +76,8 @@
"{dmodel}.dmodel.d_model_event": ["{mapping}.mapping.d_model_event"],
"{dmodel}.dmodel.d_model_event_args_0": ["{mapping}.mapping.d_model_event_args_0"],
"{dmodel}.dmodel.d_model_event_args_1": ["{mapping}.mapping.d_model_event_args_1"],
- "{dmodel}.dmodel.d_model_event_args_2": ["{mapping}.mapping.d_model_event_args_2"],
- "{dmodel}.dmodel.d_model_event_args_3": ["{mapping}.mapping.d_model_event_args_3"]
-
+ "{dmodel}.dmodel.d_model_event_args_2": ["{mapping}.mapping.d_model_event_args_3"],
+ "{dmodel}.dmodel.d_model_event_args_3": ["{mapping}.mapping.d_model_event_args_4"]
},
"algorithm": {
"size": 0.5,
diff --git a/co-simulation/multimodel_normq.json b/co-simulation/multimodel_normq.json
new file mode 100644
index 0000000..fa670f6
--- /dev/null
+++ b/co-simulation/multimodel_normq.json
@@ -0,0 +1,86 @@
+{
+ "fmus": {
+ "{controller}": "models/controllerFMU.fmu",
+ "{mapping}": "models/mappingFMU.fmu",
+ "{dmodel}": "models/dmodelFMU.fmu"
+ },
+ "logVariables": {
+ "{mapping}.mapping": [
+ "controller_event",
+ "d_model_event",
+ "output_event",
+ "j0",
+ "j1",
+ "j2",
+ "j3",
+ "j4",
+ "j5",
+ "qd0",
+ "qd1",
+ "qd2",
+ "qd3",
+ "qd4",
+ "qd5",
+ "qdd0",
+ "qdd1",
+ "qdd2",
+ "qdd3",
+ "qdd4",
+ "qdd5",
+ "t0",
+ "t1",
+ "t2",
+ "t3",
+ "t4",
+ "t5",
+ "platform_event_0",
+ "platform_event_1",
+ "platform_event_2",
+ "platform_event_3",
+ "platform_event_4",
+ "platform_event_5",
+ "platform_event_6",
+ "platform_event_7",
+ "platform_event_8",
+ "platform_event_9"
+ ],
+ "{dmodel}.dmodel": [
+ "state",
+ "d_model_event",
+ "d_model_event_args_0",
+ "d_model_event_args_1",
+ "d_model_event_args_2"
+ ]
+ },
+ "parameters": {
+ },
+ "connections": {
+ "{controller}.controller.controller_event": ["{mapping}.mapping.controller_event"],
+ "{controller}.controller.controller_event_args_0": ["{mapping}.mapping.controller_event_args_0"],
+ "{controller}.controller.controller_event_args_1": ["{mapping}.mapping.controller_event_args_1"],
+ "{controller}.controller.controller_event_args_2": ["{mapping}.mapping.controller_event_args_2"],
+ "{mapping}.mapping.output_event_args_0": ["{dmodel}.dmodel.target_X"],
+ "{mapping}.mapping.output_event_args_1": ["{dmodel}.dmodel.target_Y"],
+ "{mapping}.mapping.output_event_args_2": ["{dmodel}.dmodel.target_Z"],
+ "{mapping}.mapping.platform_event_0": ["{dmodel}.dmodel.moveDiscreteCommand"],
+ "{mapping}.mapping.platform_event_1": ["{dmodel}.dmodel.closeGripperCommand"],
+ "{mapping}.mapping.platform_event_2": ["{dmodel}.dmodel.openGripperCommand"],
+ "{mapping}.mapping.platform_event_3": ["{dmodel}.dmodel.moveCompleted"],
+ "{mapping}.mapping.platform_event_4": ["{dmodel}.dmodel.robotStopped"],
+ "{mapping}.mapping.platform_event_5": ["{dmodel}.dmodel.gripperOpened"],
+ "{mapping}.mapping.platform_event_6": ["{dmodel}.dmodel.gripperClosed"],
+ "{mapping}.mapping.platform_event_7": ["{dmodel}.dmodel.feasibleMoveDiscreteCommand"],
+ "{mapping}.mapping.platform_event_8": ["{dmodel}.dmodel.nonfeasibleMoveDiscreteCommand"],
+ "{mapping}.mapping.platform_event_9": ["{dmodel}.dmodel.collision"],
+ "{dmodel}.dmodel.d_model_event": ["{mapping}.mapping.d_model_event"],
+ "{dmodel}.dmodel.d_model_event_args_0": ["{mapping}.mapping.d_model_event_args_0"],
+ "{dmodel}.dmodel.d_model_event_args_1": ["{mapping}.mapping.d_model_event_args_1"],
+ "{dmodel}.dmodel.d_model_event_args_2": ["{mapping}.mapping.d_model_event_args_3"],
+ "{dmodel}.dmodel.d_model_event_args_3": ["{mapping}.mapping.d_model_event_args_4"]
+
+ },
+ "algorithm": {
+ "size": 0.5,
+ "type": "fixed-step"
+ }
+}
diff --git a/co-simulation/results/controller.log b/co-simulation/results/controller.log
new file mode 100644
index 0000000..e69de29
diff --git a/co-simulation/results/dmodel.log b/co-simulation/results/dmodel.log
new file mode 100644
index 0000000..e69de29
diff --git a/co-simulation/results/mapping.log b/co-simulation/results/mapping.log
new file mode 100644
index 0000000..e69de29
diff --git a/co-simulation/results/outputs.csv b/co-simulation/results/outputs.csv
new file mode 100644
index 0000000..003ede8
--- /dev/null
+++ b/co-simulation/results/outputs.csv
@@ -0,0 +1,31 @@
+time,{dmodel}.dmodel.state,{dmodel}.dmodel.d_model_event,{dmodel}.dmodel.d_model_event_args_0,{dmodel}.dmodel.d_model_event_args_1,{dmodel}.dmodel.d_model_event_args_2,{dmodel}.dmodel.d_model_event_args_3,{rmq}.rmq.controller_event,{rmq}.rmq.controller_event_args_0,{rmq}.rmq.controller_event_args_1,{rmq}.rmq.controller_event_args_2,{mapping}.mapping.controller_event,{mapping}.mapping.j0,{mapping}.mapping.j1,{mapping}.mapping.j2,{mapping}.mapping.j3,{mapping}.mapping.j4,{mapping}.mapping.j5,{mapping}.mapping.qd0,{mapping}.mapping.qd1,{mapping}.mapping.qd2,{mapping}.mapping.qd3,{mapping}.mapping.qd4,{mapping}.mapping.qd5,{mapping}.mapping.qdd0,{mapping}.mapping.qdd1,{mapping}.mapping.qdd2,{mapping}.mapping.qdd3,{mapping}.mapping.qdd4,{mapping}.mapping.qdd5,{mapping}.mapping.t0,{mapping}.mapping.t1,{mapping}.mapping.t2,{mapping}.mapping.t3,{mapping}.mapping.t4,{mapping}.mapping.t5,{mapping}.mapping.d_model_event,{mapping}.mapping.output_event,{mapping}.mapping.output_event_args_0,{mapping}.mapping.output_event_args_1,{mapping}.mapping.output_event_args_2,{mapping}.mapping.platform_event_0,{mapping}.mapping.platform_event_1,{mapping}.mapping.platform_event_2,{mapping}.mapping.platform_event_3,{mapping}.mapping.platform_event_4,{mapping}.mapping.platform_event_5,{mapping}.mapping.platform_event_6,{mapping}.mapping.platform_event_7,{mapping}.mapping.platform_event_8,{mapping}.mapping.platform_event_9
+0.0,Idle,,0.0,0.0,0.0,0.0,,0.0,0.0,0.0,,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,0.0,0.0,0.0,false,false,false,false,false,false,false,false,false,false
+0.5,Idle,,0.0,0.0,0.0,0.0,,0.0,0.0,0.0,,2.83038525950019E-9,-1.7320807994991583E-4,-1.3322676295501878E-15,-1.3665499761206235E-4,1.6839980081506667E-5,-7.370918665783321E-5,-6.39729624118956E-4,0.004943428010140134,8.881784197001245E-14,-0.02548294533175619,1.7476013631778626E-4,0.005957373449305687,0.0,0.0,0.0,0.0,0.0,0.0,-44.77276896021537,55.28816913108884,17.88375491488329,4.576761071722329,0.04170946033088323,2.095540171946384,,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+1.0,Idle,,0.0,0.0,0.0,0.0,,0.0,0.0,0.0,,-2.358596633111887E-6,-5.014408937711323E-4,-8.881784197001252E-16,-7.73932522970533E-5,2.386983901203621E-6,-1.9994345540474967E-4,3.6836032046850495E-4,0.039275103385439665,0.0,0.012857247155740045,3.98166304993461E-4,-0.004272896419532748,0.0,0.0,0.0,0.0,0.0,0.0,-46.53801729013159,58.09851114199171,22.343361100167517,-2.4147652470917023,-0.023456147547247792,1.2305688304671887,,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+1.5,Idle,,0.0,0.0,0.0,0.0,moveDiscreteCommand,0.0,23.0,2.0,,-4.4829798362400197E-7,-2.1518065263714803E-4,8.881784197001252E-16,8.119683654950194E-5,1.603463772559266E-5,-4.421570895996041E-5,4.534568578407158E-5,-0.018365031923473333,0.0,-6.810590670092299E-4,-1.1396228813964869E-4,-0.004349406477199928,0.0,0.0,0.0,0.0,0.0,0.0,-43.56022758138711,31.357183007593466,24.643391095546058,-2.5897230588266993,-0.04950671984930131,1.4036189864361623,,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+2.0,Idle,,0.0,0.0,0.0,0.0,,0.0,0.0,0.0,moveDiscreteCommand,-1.344051844931471E-6,-5.211756213294727E-4,4.440892098500626E-16,-2.3720890261680339E-4,1.6624358603056777E-5,-3.4903498672322897E-4,3.5873721238034106E-5,0.08971075573169976,0.0,0.015959263381582274,-3.394572405390833E-4,-0.0030721409660650722,0.0,0.0,0.0,0.0,0.0,0.0,-41.786952751192246,51.64212693380796,18.415620899244665,4.10006304237133,0.017796611461946964,-2.727459188039261,,moveDiscreteCommand,0.0,23.0,2.0,true,false,false,true,true,true,false,false,false,false
+2.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,,0.0,0.0,0.0,,9.307656578805279E-7,-0.0010137404563508312,-4.440892098500626E-16,-3.0799792877944654E-4,9.13742315589161E-6,-2.3469755559846206E-4,-1.5300154130315816E-4,-0.05205396995595746,0.0,-0.016009981772580402,-1.7692853901963112E-4,0.011727799080496731,0.0,0.0,0.0,0.0,0.0,0.0,-45.17745100761462,44.884596638157525,13.88685247446439,1.2986064789764153,-0.03935823642593953,1.3970575631578042,,,0.0,0.0,0.0,false,false,false,true,true,true,false,true,false,false
+3.0,ArmMove,movediscrete,0.0,23.0,2.0,0.0,,0.0,0.0,0.0,,-0.42643421546408833,-0.4622348707022006,0.4673016677374995,-0.46826694117624656,-0.46662416063149337,-0.07395135017929944,-1.3990828933097297,-1.553825291667221,1.57075619198096,-1.5813855096533995,-1.5837621621255575,0.01965799399084076,0.0,0.0,0.0,0.0,0.0,0.0,790.9413160860302,57.441245249192875,-14.655043812452437,3.935632326842362,0.10642171880262623,5.135246868598363,movediscrete,,0.0,0.0,0.0,false,false,false,false,true,true,false,false,false,false
+3.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,,0.0,0.0,0.0,,-1.6753053557527844,-1.8126285468604681,1.6137934755439156,-2.1556623776990858,-1.4965052202984461,-0.07372475139679446,-0.006051126273831771,-0.015077254396978256,1.4210854715202307E-12,-0.020659876304659586,0.015338170556764386,0.00745778992792151,0.0,0.0,0.0,0.0,0.0,0.0,13.31357428652168,32.54350453485048,11.046551611026235,-3.297557775790403,0.21182536496579055,0.14859991136003367,movediscrete,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+4.0,ArmStop,stop,0.0,23.0,2.0,0.0,,0.0,0.0,0.0,,-1.6755190521031755,-1.8125371182140482,1.6137934755801941,-2.1558633111141896,-1.4970074407575558,-0.07436734828619063,-0.0011202177089940004,0.03341806899612198,0.0,0.01164751714082075,0.0049647572383896285,0.006942922838869573,0.0,0.0,0.0,0.0,0.0,0.0,-48.40826100867962,47.40820844078818,16.18009252234423,4.157098486374791,-4.3371203100292846,-3.0703422771337467,movediscrete,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+4.5,ArmStop,stop,0.0,23.0,2.0,0.0,,0.0,0.0,0.0,,-1.6754473606694038,-1.8123057606012916,1.613793475580195,-2.1555221667567617,-1.497120469724381,-0.07459452753661511,-0.001378507926830037,0.00954177957890174,0.0,0.0036230705763523495,-0.015688081343687477,-8.14592677755727E-6,0.0,0.0,0.0,0.0,0.0,0.0,-46.69865449530302,36.40085853027412,14.410271924769665,0.40347161671597787,-0.10018584365799561,1.1540702447136209,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+5.0,ArmStop,stop,0.0,23.0,2.0,0.0,,0.0,0.0,0.0,,-1.6754250532964656,-1.8122593491614358,1.613793475580195,-2.1556465152003046,-1.497142936038638,-0.07441457691961162,-0.0035996663161336133,-0.05062137669877051,-1.7763568393999728E-13,-0.010319013083124936,-0.006236736083130714,-0.0010967087438194473,0.0,0.0,0.0,0.0,0.0,0.0,1.6760146879548667,31.31880653189221,22.496050353911844,1.7436368838479581,-1.208076747663843,-0.27098880724285224,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+5.5,ArmStop,stop,0.0,23.0,2.0,0.0,,0.0,0.0,0.0,,-1.6752883552903288,-1.8124125768386463,1.6137934755801941,-2.155802524527588,-1.4970232524690426,-0.0743006721796653,0.00267275532497238,-0.05264219409432401,0.0,0.015419243029055429,-0.014507149932716465,0.009080350382627247,0.0,0.0,0.0,0.0,0.0,0.0,-3.3426121615518603,45.745048357633905,21.207426447094285,4.261369800338818,-4.190478789127344,-4.034195684632224,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+6.0,ArmStop,stop,0.0,23.0,2.0,0.0,moveDiscreteCommand,3.0,20.0,3.0,,-1.675312437401126,-1.8122934348050022,1.613793475580195,-2.1556118623013276,-1.496639427808243,-0.07367808585099,0.003337545382819418,0.03330711219042305,0.0,0.006953210845316328,-0.0032402243967050645,-0.0014066810620325687,0.0,0.0,0.0,0.0,0.0,0.0,21.32297803996891,33.005564353499736,11.795747241038052,-2.3608238502764225,-3.3777481589247125,-2.668109065919895,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+6.5,ArmStop,stop,0.0,23.0,2.0,0.0,,0.0,0.0,0.0,moveDiscreteCommand,-1.67533694964846,-1.8126768292657323,1.613793475580195,-2.1555531579406244,-1.4967109566050336,-0.0734555081711461,-0.004202553435738619,0.014865511777626302,0.0,-9.409553930693398E-4,-0.008510063331355957,-5.280826441022298E-4,0.0,0.0,0.0,0.0,0.0,0.0,4.713372261497679,35.07536570267955,20.936175262174075,0.9504768450412874,2.951005434642843,2.8665506046372853,stop,moveDiscreteCommand,3.0,20.0,3.0,true,false,false,true,true,true,false,false,false,false
+7.0,ArmMove,movediscrete,3.0,20.0,3.0,0.0,,0.0,0.0,0.0,,-1.6753402347459163,-1.812750332538065,1.613793475580195,-2.155449502730585,-1.4968114639801975,-0.07404381850024055,0.001750160273594485,0.07136470015572932,0.0,-0.010616771367464866,0.0075658994527204974,-0.006455428354977912,0.0,0.0,0.0,0.0,0.0,0.0,-13.187131617634265,47.501332469044456,22.65469952566003,6.143010792220821,-3.9503149980968573,-2.156168628665069,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,true,false,false
+7.5,ArmMove,movediscrete,3.0,20.0,3.0,0.0,,0.0,0.0,0.0,,-2.0717234043132136,-2.203137750094032,1.9678962566889941,-1.9239117981981435,-1.0515717420286474,-0.539593851467183,-0.19382505631821392,-0.011167731482866207,2.7076097008921056E-4,-0.008768365182023143,-4.6998545695240893E-4,0.0034114294959593076,0.0,0.0,0.0,0.0,0.0,0.0,-5.14219160491831,17.165430628222573,12.328310140158251,7.976514314623668,10.74924429791052,-3.7012733388648256,movediscrete,,0.0,0.0,0.0,false,false,false,false,true,true,false,false,false,false
+8.0,ArmMove,movediscrete,3.0,20.0,3.0,0.0,,0.0,0.0,0.0,,-2.4041822115724436,-2.2146705512441613,1.9746768652700233,-1.9228996539105117,-1.0193463251332346,-0.6612920028786196,0.0016876488373899238,-0.0031200993440456226,1.776356839400604E-13,0.007026118985643825,0.001482536088737458,0.00117442892122478,0.0,0.0,0.0,0.0,0.0,0.0,-5.3426442141872705,30.787241555157728,18.60794701998241,-8.156508177057301,-5.550482525121168,-1.1524108852363824,movediscrete,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+8.5,ArmStop,stop,3.0,20.0,3.0,0.0,moveDiscreteCommand,8.0,10.0,0.0,,-2.4042564337733063,-2.215474936897917,1.9746768652700233,-1.92307866528719,-1.0199483336118957,-0.6619723079031856,-0.0011205307831831943,0.04264272251611483,0.0,0.015289249593667108,0.01291753195751512,0.01697536495229084,0.0,0.0,0.0,0.0,0.0,0.0,-3.596046495206443,11.486390232216205,20.823624193836277,5.118475667847543,-4.752851137818872,2.3911308036250434,movediscrete,,0.0,0.0,0.0,false,false,false,false,true,true,false,false,false,false
+9.0,ArmStop,stop,3.0,20.0,3.0,0.0,,0.0,0.0,0.0,moveDiscreteCommand,-2.404153448687306,-2.2144577835723247,1.9746768652700224,-1.922877674084269,-1.0195892596576366,-0.6615111721332658,1.2836818434894037E-4,-0.008342511819138804,0.0,-0.0024141987966080167,-0.011430872049802475,-0.005585996872171651,0.0,0.0,0.0,0.0,0.0,0.0,3.2150201460787704,10.438275410558363,13.33602522337838,-0.48604835045095546,1.1134023246611637,0.30257531191604536,stop,moveDiscreteCommand,8.0,10.0,0.0,true,false,false,true,true,true,false,false,false,false
+9.5,ArmMove,movediscrete,8.0,10.0,0.0,0.0,,0.0,0.0,0.0,,-2.4042629021817215,-2.2152227962946975,1.9746768652700233,-1.9230667784656479,-1.0199466360340539,-0.6615724620328458,-0.0013880549717629185,-0.02543131539969829,0.0,0.007366726745596042,0.010748104249460518,-0.012582344248903981,0.0,0.0,0.0,0.0,0.0,0.0,2.3235901860610246,12.240240305379219,15.09264819126859,-0.7530828657867176,-10.769731355400626,4.060280204617827,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,true,false,false
+10.0,ArmMove,movediscrete,8.0,10.0,0.0,0.0,,0.0,0.0,0.0,,-2.8182628021518044,-1.7553161825073653,1.7337675336829692,-2.1652259084469554,-0.7912352934908862,-1.0497760440253412,-0.23673081840472057,1.45956884126577,-4.548285360784571E-4,0.020525817944520772,-5.645030555890842E-4,-0.9642303517266058,0.0,0.0,0.0,0.0,0.0,0.0,61.23937327589975,16.331313995581496,12.504530428572009,8.999424085764996,-0.44312573812410444,1.3057992528209474,movediscrete,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+10.5,ArmStop,stop,8.0,10.0,0.0,0.0,,0.0,0.0,0.0,,-3.0755415071729244,-1.2004456298382449,1.7323827821128504,-2.1697456790742384,-0.7875551800985074,-1.4779787834629214,0.0014414881063011095,0.015844275195667445,0.0,-0.005363230371099902,-0.006103862166281435,0.008138823543997475,0.0,0.0,0.0,0.0,0.0,0.0,29.65139559865191,24.34418215726337,10.228886017351233,-1.9334594707995394,-3.9459381202102053,1.690576877147354,movediscrete,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+11.0,ArmStop,stop,8.0,10.0,0.0,0.0,,0.0,0.0,0.0,,-3.075654978746197,-1.200646888807153,1.7323827821128512,-2.1697258431521584,-0.7878425609067738,-1.4779011378447642,1.491991055146205E-4,0.006136834802280746,0.0,0.002639970969652054,-0.016408464255315766,0.009063773470958462,0.0,0.0,0.0,0.0,0.0,0.0,18.008358976579967,27.580948940593526,13.21553883708917,1.782628276074928,-2.783454928832922,0.44355110547164395,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+11.5,ArmStop,stop,8.0,10.0,0.0,0.0,,0.0,0.0,0.0,,-3.075634806741805,-1.20017332555366,1.7323827821128504,-2.1697543814977838,-0.787400890790785,-1.4779427820287827,0.0017674943499903346,-0.07125720209618343,-1.7763568393993417E-13,-0.029089770924158428,0.015100992286313277,-0.0012271970973636687,0.0,0.0,0.0,0.0,0.0,0.0,5.4207739051894475,24.793137590761038,11.791564065880246,1.413787826516274,-1.395630699176777,0.20735090684227303,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+12.0,ArmStop,stop,8.0,10.0,0.0,0.0,,0.0,0.0,0.0,,-3.075517340156078,-1.2001362313760984,1.7323827821128504,-2.169529538549975,-0.7873436913939216,-1.4778708981622257,0.0027070622486732895,-0.07055286566131912,1.7763568393993417E-13,-0.024095080249951658,-0.006335337737614167,0.003349784000759533,0.0,0.0,0.0,0.0,0.0,0.0,40.1748326951227,31.567450843391363,16.492420760337197,2.9753334309421104,-11.355405855660623,0.6444863523012296,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+12.5,ArmStop,stop,8.0,10.0,0.0,0.0,,0.0,0.0,0.0,,-3.075671644863296,-1.2009097010738206,1.7323827821128504,-2.169842118562692,-0.7877539619766161,-1.4780741365813848,-0.004459468120463434,-0.03267105872487013,0.0,-0.017193909223314294,0.0054228897115010674,-0.006024856513061864,0.0,0.0,0.0,0.0,0.0,0.0,24.794981177115282,29.84179305346523,7.71763454321758,8.086842492014238,3.7310280334233377,0.26226825972013545,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+13.0,ArmStop,stop,8.0,10.0,0.0,0.0,moveDiscreteCommand,11.0,16.0,4.0,,-3.07562463741161,-1.2011557266769568,1.7323827821128504,-2.169927892374777,-0.7873498497837681,-1.478049544982654,-0.00424740814981344,-0.012809460527123503,0.0,0.007270972434444022,-0.018112466614441273,0.0032150606733322355,0.0,0.0,0.0,0.0,0.0,0.0,36.06442329460753,34.67327571016288,18.239648103831357,5.475731630669576,1.4530873589963473,-3.4625875663764534,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+13.5,ArmStop,stop,8.0,10.0,0.0,0.0,,0.0,0.0,0.0,moveDiscreteCommand,-3.075656418078201,-1.2003143602735031,1.7323827821128512,-2.169622175405327,-0.7871928817972877,-1.4779141067187203,-0.003118437922820586,-0.03898005822031929,1.7763568393993417E-13,-0.01289490610342676,0.012477067329624003,0.008003487435633075,0.0,0.0,0.0,0.0,0.0,0.0,-5.304395680897075,25.76382766827404,11.157392935425412,5.293296018137456,-0.24238298812877304,1.8174071254459634,stop,moveDiscreteCommand,11.0,16.0,4.0,true,false,false,true,true,true,false,false,false,false
+14.0,ArmMove,movediscrete,11.0,16.0,4.0,0.0,,0.0,0.0,0.0,,-3.0756801934712614,-1.2005554776073675,1.7323827821128504,-2.169586270369618,-0.7874386656715555,-1.4779515134887484,9.433880700621848E-4,0.08094620838323985,0.0,-0.011577948499835362,0.008295875645720959,1.680754435184035E-4,0.0,0.0,0.0,0.0,0.0,0.0,11.885159749074871,22.61736724459424,25.580851845681757,12.023090360359664,-3.0079219103806034,0.6638355535654026,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,true,false,false
+14.5,ArmMove,movediscrete,11.0,16.0,4.0,0.0,,0.0,0.0,0.0,,-2.962051265378168,-1.0011815703088542,1.9818361984231379,-1.7806812125295925,-1.2567359190750134,-1.011359666821936,1.5592668429010652,1.5839279139533315,8.738181890062228E-4,1.5557167312693778,-1.5724359817490934,1.6008592720633512,0.0,0.0,0.0,0.0,0.0,0.0,-844.7260583404402,27.911627862551494,-25.63246482180157,14.533668103645272,8.234850157261878,30.08257942462108,movediscrete,,0.0,0.0,0.0,false,false,false,false,false,true,false,false,false,false
diff --git a/co-simulation/results/rmq.log b/co-simulation/results/rmq.log
new file mode 100644
index 0000000..3d3b54e
--- /dev/null
+++ b/co-simulation/results/rmq.log
@@ -0,0 +1,384 @@
+2024-04-15T16:21:17,594 INFO - logFmiCall OK rmq FMU: Called instantiate with instance 'rmq' and GUID '{cfc65592-ffff-4563-9705-1581b6e7071c}'
+2024-04-15T16:21:17,597 INFO - logAll OK rmq FMU: Resource model description file location is '/tmp/rmqfmu2153192751914329503/resources/modelDescription.xml'
+2024-04-15T16:21:17,616 INFO - logAll OK rmq 'config.communicationtimeout config.communicationtimeout 5 60 1'
+2024-04-15T16:21:17,617 INFO - logAll OK rmq 'config.exchangename config.exchangename 9 fmi_digital_twin 1'
+2024-04-15T16:21:17,618 INFO - logAll OK rmq 'config.exchangetype config.exchangetype 10 direct 1'
+2024-04-15T16:21:17,619 INFO - logAll OK rmq 'config.healthdata.exchangename config.healthdata.exchangename 11 fmi_digital_twin_sh 1'
+2024-04-15T16:21:17,619 INFO - logAll OK rmq 'config.healthdata.exchangetype config.healthdata.exchangetype 12 direct 1'
+2024-04-15T16:21:17,620 INFO - logAll OK rmq 'config.hostname config.hostname 0 localhost 1'
+2024-04-15T16:21:17,620 INFO - logAll OK rmq 'config.lookahead config.lookahead 8 1 1'
+2024-04-15T16:21:17,620 INFO - logAll OK rmq 'config.maxage config.maxage 7 1000 1'
+2024-04-15T16:21:17,621 INFO - logAll OK rmq 'config.password config.password 3 guest 1'
+2024-04-15T16:21:17,621 INFO - logAll OK rmq 'config.port config.port 1 5672 1'
+2024-04-15T16:21:17,622 INFO - logAll OK rmq 'config.precision config.precision 6 10 1'
+2024-04-15T16:21:17,622 INFO - logAll OK rmq 'config.queueupperbound config.queueupperbound 17 100 1'
+2024-04-15T16:21:17,627 INFO - logAll OK rmq 'config.routingkey config.routingkey 4 data.to_cosim 1'
+2024-04-15T16:21:17,627 INFO - logAll OK rmq 'config.routingkey.from_cosim config.routingkey.from_cosim 13 data.from_cosim 1'
+2024-04-15T16:21:17,628 INFO - logAll OK rmq 'config.ssl config.ssl 16 0 1'
+2024-04-15T16:21:17,632 INFO - logAll OK rmq 'config.username config.username 2 guest 1'
+2024-04-15T16:21:17,634 INFO - logAll OK rmq 'controller_event controller_event 21 1'
+2024-04-15T16:21:17,636 INFO - logAll OK rmq 'controller_event_args_0 controller_event_args_0 22 0.000000 1'
+2024-04-15T16:21:17,636 INFO - logAll OK rmq 'controller_event_args_1 controller_event_args_1 23 0.000000 1'
+2024-04-15T16:21:17,637 INFO - logAll OK rmq 'controller_event_args_2 controller_event_args_2 24 0.000000 1'
+2024-04-15T16:21:17,639 INFO - logAll OK rmq 'controller_event_args_3 controller_event_args_3 25 0.000000 1'
+2024-04-15T16:21:17,639 INFO - logAll OK rmq 'controller_event_args_4 controller_event_args_4 26 0.000000 1'
+2024-04-15T16:21:17,640 INFO - logAll OK rmq 'controller_event_args_5 controller_event_args_5 27 0.000000 1'
+2024-04-15T16:21:17,640 INFO - logAll OK rmq 'controller_event_args_6 controller_event_args_6 28 0.000000 1'
+2024-04-15T16:21:17,640 INFO - logAll OK rmq 'controller_event_args_7 controller_event_args_7 29 0.000000 1'
+2024-04-15T16:21:17,659 INFO - logAll OK rmq 'controller_event_args_8 controller_event_args_8 30 0.000000 1'
+2024-04-15T16:21:17,663 INFO - logAll OK rmq 'controller_event_args_9 controller_event_args_9 31 0.000000 1'
+2024-04-15T16:21:17,677 INFO - logAll OK rmq Using Tool: 'RabbitMQ digital twin generator'
+2024-04-15T16:21:17,679 INFO - logAll OK rmq Parsed model description to obtain name, ref, type triples '/tmp/rmqfmu2153192751914329503/resources/modelDescription.xml'
+2024-04-15T16:21:17,679 INFO - logAll OK rmq Extracted start values from model description '/tmp/rmqfmu2153192751914329503/resources/modelDescription.xml'
+2024-04-15T16:21:17,680 WARN - logWarn Warning rmq The seqno output is NOT present with.
+2024-04-15T16:21:17,681 WARN - logWarn Warning rmq The enable send input is NOT present with.
+2024-04-15T16:21:17,681 INFO - logAll OK rmq Initialization done 'rmq'
+2024-04-15T16:21:17,754 INFO - logAll OK rmq fmi2SetupExperiment 'rmq'
+2024-04-15T16:21:17,798 INFO - logAll OK rmq fmi2SetString 'rmq'
+2024-04-15T16:21:17,809 INFO - logAll OK rmq Setting string ref 0 = localhost
+2024-04-15T16:21:17,826 INFO - logAll OK rmq fmi2SetInteger 'rmq'
+2024-04-15T16:21:17,827 INFO - logAll OK rmq Setting integer ref 1 = 5672
+2024-04-15T16:21:17,828 INFO - logAll OK rmq fmi2SetString 'rmq'
+2024-04-15T16:21:17,829 INFO - logAll OK rmq Setting string ref 2 = guest
+2024-04-15T16:21:17,829 INFO - logAll OK rmq fmi2SetString 'rmq'
+2024-04-15T16:21:17,829 INFO - logAll OK rmq Setting string ref 3 = guest
+2024-04-15T16:21:17,829 INFO - logAll OK rmq fmi2SetString 'rmq'
+2024-04-15T16:21:17,830 INFO - logAll OK rmq Setting string ref 4 = data.to_cosim
+2024-04-15T16:21:17,840 INFO - logAll OK rmq fmi2SetInteger 'rmq'
+2024-04-15T16:21:17,841 INFO - logAll OK rmq Setting integer ref 5 = 60
+2024-04-15T16:21:17,844 INFO - logAll OK rmq fmi2SetInteger 'rmq'
+2024-04-15T16:21:17,846 INFO - logAll OK rmq Setting integer ref 6 = 10
+2024-04-15T16:21:17,862 INFO - logAll OK rmq fmi2SetInteger 'rmq'
+2024-04-15T16:21:17,863 INFO - logAll OK rmq Setting integer ref 7 = 1000
+2024-04-15T16:21:17,864 INFO - logAll OK rmq fmi2SetInteger 'rmq'
+2024-04-15T16:21:17,865 INFO - logAll OK rmq Setting integer ref 8 = 1
+2024-04-15T16:21:17,868 INFO - logAll OK rmq fmi2SetString 'rmq'
+2024-04-15T16:21:17,869 INFO - logAll OK rmq Setting string ref 9 = fmi_digital_twin
+2024-04-15T16:21:17,875 INFO - logAll OK rmq fmi2SetString 'rmq'
+2024-04-15T16:21:17,875 INFO - logAll OK rmq Setting string ref 10 = direct
+2024-04-15T16:21:17,876 INFO - logAll OK rmq fmi2SetString 'rmq'
+2024-04-15T16:21:17,879 INFO - logAll OK rmq Setting string ref 11 = fmi_digital_twin_sh
+2024-04-15T16:21:17,895 INFO - logAll OK rmq fmi2SetString 'rmq'
+2024-04-15T16:21:17,898 INFO - logAll OK rmq Setting string ref 12 = direct
+2024-04-15T16:21:17,899 INFO - logAll OK rmq fmi2SetString 'rmq'
+2024-04-15T16:21:17,899 INFO - logAll OK rmq Setting string ref 13 = data.from_cosim
+2024-04-15T16:21:17,931 INFO - logAll OK rmq fmi2SetBoolean 'rmq'
+2024-04-15T16:21:17,933 INFO - logAll OK rmq Setting boolean ref 16 = 0
+2024-04-15T16:21:17,938 INFO - logAll OK rmq fmi2SetInteger 'rmq'
+2024-04-15T16:21:17,938 INFO - logAll OK rmq Setting integer ref 17 = 100
+2024-04-15T16:21:17,939 INFO - logAll OK rmq fmi2EnterInitializationMode 'rmq'
+2024-04-15T16:21:17,939 INFO - logAll OK rmq Preparing initialization. Looking Up configuration parameters
+2024-04-15T16:21:17,939 INFO - logAll OK rmq Preparing initialization. Hostname='localhost', Port='5672', Username='guest', routingkey='data.to_cosim', communication timeout 60 s, precision 10000000000 (10), SSL 0
+2024-04-15T16:21:17,979 INFO - logAll OK rmq Sending RabbitMQ ready message
+2024-04-15T16:21:17,989 INFO - logOk OK rmq Got data '2024-04-15 16:21:17.985', '{"time": "2024-04-15T16:21:17.985+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}'
+2024-04-15T16:21:17,990 INFO - logOk OK rmq Got data '21' ''
+2024-04-15T16:21:17,991 INFO - logOk OK rmq Initialization OK
+2024-04-15T16:21:17,991 INFO - logAll OK rmq Initialization completed with: Hostname='localhost', Port='5672', Username='guest', routingkey='data.to_cosim', starttimestamp='2024-04-15 16:21:17.985', communication timeout 60 s
+2024-04-15T16:21:18,022 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:18,024 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:18,025 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:18,028 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:18,035 INFO - logAll OK rmq fmi2ExitInitializationMode 'rmq'
+2024-04-15T16:21:18,501 INFO - logOk OK rmq Got data '2024-04-15 16:21:18.487', '{"time": "2024-04-15T16:21:18.487+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190878489505045'
+2024-04-15T16:21:18,775 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:18,777 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:18,815 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:18,816 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:18,817 INFO - logAll OK rmq Step time 0.500000 s converted time 500.000000 ms
+2024-04-15T16:21:18,821 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:18.817+00:00"}
+2024-04-15T16:21:18,827 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:18,829 INFO - logAll OK rmq Step reached target time 500 [ms]
+2024-04-15T16:21:18,829 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:18,994 INFO - logOk OK rmq Got data '2024-04-15 16:21:18.990', '{"time": "2024-04-15T16:21:18.990+02:00", "controller_event": "moveDiscreteCommand", "controller_event_args_0": 0.0, "controller_event_args_1": 23.0, "controller_event_args_2": 2.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190878992767556'
+2024-04-15T16:21:19,495 INFO - logOk OK rmq Got data '2024-04-15 16:21:19.493', '{"time": "2024-04-15T16:21:19.493+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190879494980401'
+2024-04-15T16:21:19,998 INFO - logOk OK rmq Got data '2024-04-15 16:21:19.995', '{"time": "2024-04-15T16:21:19.995+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190879996952489'
+2024-04-15T16:21:20,499 INFO - logOk OK rmq Got data '2024-04-15 16:21:20.496', '{"time": "2024-04-15T16:21:20.496+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190880498249752'
+2024-04-15T16:21:21,006 INFO - logOk OK rmq Got data '2024-04-15 16:21:20.998', '{"time": "2024-04-15T16:21:20.998+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190881004376523'
+2024-04-15T16:21:21,513 INFO - logOk OK rmq Got data '2024-04-15 16:21:21.505', '{"time": "2024-04-15T16:21:21.505+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190881510186187'
+2024-04-15T16:21:22,012 INFO - logOk OK rmq Got data '2024-04-15 16:21:22.010', '{"time": "2024-04-15T16:21:22.010+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190882011492862'
+2024-04-15T16:21:22,168 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:22,171 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:22,179 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:22,179 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:22,179 INFO - logAll OK rmq Step time 1.000000 s converted time 1000.000000 ms
+2024-04-15T16:21:22,179 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:22.179+00:00"}
+2024-04-15T16:21:22,182 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:22,189 INFO - logAll OK rmq Step reached target time 1000 [ms]
+2024-04-15T16:21:22,190 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:22,518 INFO - logOk OK rmq Got data '2024-04-15 16:21:22.511', '{"time": "2024-04-15T16:21:22.511+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190882515940400'
+2024-04-15T16:21:22,673 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:22,675 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:22,694 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:22,695 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:22,695 INFO - logAll OK rmq Step time 1.500000 s converted time 1500.000000 ms
+2024-04-15T16:21:22,696 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:22.695+00:00"}
+2024-04-15T16:21:22,696 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:22,698 INFO - logAll OK rmq Step reached target time 1500 [ms]
+2024-04-15T16:21:22,698 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:23,031 INFO - logOk OK rmq Got data '2024-04-15 16:21:23.016', '{"time": "2024-04-15T16:21:23.016+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190883019025415'
+2024-04-15T16:21:23,440 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:23,443 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:23,454 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:23,462 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:23,465 INFO - logAll OK rmq Step time 2.000000 s converted time 2000.000000 ms
+2024-04-15T16:21:23,466 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:23.465+00:00"}
+2024-04-15T16:21:23,466 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:23,471 INFO - logAll OK rmq Step reached target time 2000 [ms]
+2024-04-15T16:21:23,472 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:23,524 INFO - logOk OK rmq Got data '2024-04-15 16:21:23.518', '{"time": "2024-04-15T16:21:23.518+02:00", "controller_event": "moveDiscreteCommand", "controller_event_args_0": 3.0, "controller_event_args_1": 20.0, "controller_event_args_2": 3.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190883523513810'
+2024-04-15T16:21:23,648 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:23,648 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:23,659 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:23,660 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:23,660 INFO - logAll OK rmq Step time 2.500000 s converted time 2500.000000 ms
+2024-04-15T16:21:23,660 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:23.660+00:00"}
+2024-04-15T16:21:23,661 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:23,663 INFO - logAll OK rmq Step reached target time 2500 [ms]
+2024-04-15T16:21:23,664 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:24,029 INFO - logOk OK rmq Got data '2024-04-15 16:21:24.027', '{"time": "2024-04-15T16:21:24.027+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190884028456477'
+2024-04-15T16:21:24,538 INFO - logOk OK rmq Got data '2024-04-15 16:21:24.536', '{"time": "2024-04-15T16:21:24.536+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190884537894861'
+2024-04-15T16:21:25,040 INFO - logOk OK rmq Got data '2024-04-15 16:21:25.038', '{"time": "2024-04-15T16:21:25.038+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190885039878052'
+2024-04-15T16:21:25,542 INFO - logOk OK rmq Got data '2024-04-15 16:21:25.540', '{"time": "2024-04-15T16:21:25.540+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190885541896141'
+2024-04-15T16:21:26,023 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:26,023 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:26,028 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:26,029 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:26,029 INFO - logAll OK rmq Step time 3.000000 s converted time 3000.000000 ms
+2024-04-15T16:21:26,029 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:26.029+00:00"}
+2024-04-15T16:21:26,030 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:26,032 INFO - logAll OK rmq Step reached target time 3000 [ms]
+2024-04-15T16:21:26,032 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:26,044 INFO - logOk OK rmq Got data '2024-04-15 16:21:26.041', '{"time": "2024-04-15T16:21:26.041+02:00", "controller_event": "moveDiscreteCommand", "controller_event_args_0": 8.0, "controller_event_args_1": 10.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190886043283555'
+2024-04-15T16:21:26,552 INFO - logOk OK rmq Got data '2024-04-15 16:21:26.544', '{"time": "2024-04-15T16:21:26.544+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190886548801709'
+2024-04-15T16:21:27,059 INFO - logOk OK rmq Got data '2024-04-15 16:21:27.054', '{"time": "2024-04-15T16:21:27.054+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190887058027535'
+2024-04-15T16:21:27,063 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:27,063 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:27,067 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:27,067 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:27,067 INFO - logAll OK rmq Step time 3.500000 s converted time 3500.000000 ms
+2024-04-15T16:21:27,067 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:27.067+00:00"}
+2024-04-15T16:21:27,068 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:27,069 INFO - logAll OK rmq Step reached target time 3500 [ms]
+2024-04-15T16:21:27,069 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:27,540 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:27,541 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:27,546 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:27,546 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:27,546 INFO - logAll OK rmq Step time 4.000000 s converted time 4000.000000 ms
+2024-04-15T16:21:27,546 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:27.546+00:00"}
+2024-04-15T16:21:27,546 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:27,548 INFO - logAll OK rmq Step reached target time 4000 [ms]
+2024-04-15T16:21:27,548 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:27,563 INFO - logOk OK rmq Got data '2024-04-15 16:21:27.556', '{"time": "2024-04-15T16:21:27.556+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190887558903304'
+2024-04-15T16:21:28,065 INFO - logOk OK rmq Got data '2024-04-15 16:21:28.059', '{"time": "2024-04-15T16:21:28.059+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190888064574366'
+2024-04-15T16:21:28,142 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:28,143 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:28,160 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:28,167 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:28,170 INFO - logAll OK rmq Step time 4.500000 s converted time 4500.000000 ms
+2024-04-15T16:21:28,172 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:28.170+00:00"}
+2024-04-15T16:21:28,189 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:28,192 INFO - logAll OK rmq Step reached target time 4500 [ms]
+2024-04-15T16:21:28,193 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:28,566 INFO - logOk OK rmq Got data '2024-04-15 16:21:28.561', '{"time": "2024-04-15T16:21:28.561+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190888565594239'
+2024-04-15T16:21:28,792 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:28,793 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:28,797 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:28,797 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:28,797 INFO - logAll OK rmq Step time 5.000000 s converted time 5000.000000 ms
+2024-04-15T16:21:28,797 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:28.797+00:00"}
+2024-04-15T16:21:28,797 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:28,798 INFO - logAll OK rmq Step reached target time 5000 [ms]
+2024-04-15T16:21:28,798 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:29,071 INFO - logOk OK rmq Got data '2024-04-15 16:21:29.064', '{"time": "2024-04-15T16:21:29.064+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190889068932682'
+2024-04-15T16:21:29,234 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:29,234 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:29,244 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:29,244 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:29,244 INFO - logAll OK rmq Step time 5.500000 s converted time 5500.000000 ms
+2024-04-15T16:21:29,244 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:29.244+00:00"}
+2024-04-15T16:21:29,244 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:29,245 INFO - logAll OK rmq Step reached target time 5500 [ms]
+2024-04-15T16:21:29,245 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:29,571 INFO - logOk OK rmq Got data '2024-04-15 16:21:29.567', '{"time": "2024-04-15T16:21:29.567+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190889570623381'
+2024-04-15T16:21:29,879 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:29,880 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:29,887 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:29,887 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:29,888 INFO - logAll OK rmq Step time 6.000000 s converted time 6000.000000 ms
+2024-04-15T16:21:29,888 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:29.888+00:00"}
+2024-04-15T16:21:29,888 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:29,892 INFO - logAll OK rmq Step reached target time 6000 [ms]
+2024-04-15T16:21:29,892 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:30,073 INFO - logOk OK rmq Got data '2024-04-15 16:21:30.070', '{"time": "2024-04-15T16:21:30.070+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190890072825125'
+2024-04-15T16:21:30,192 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:30,192 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:30,205 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:30,207 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:30,207 INFO - logAll OK rmq Step time 6.500000 s converted time 6500.000000 ms
+2024-04-15T16:21:30,207 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:30.207+00:00"}
+2024-04-15T16:21:30,208 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:30,216 INFO - logAll OK rmq Step reached target time 6500 [ms]
+2024-04-15T16:21:30,217 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:30,579 INFO - logOk OK rmq Got data '2024-04-15 16:21:30.572', '{"time": "2024-04-15T16:21:30.572+02:00", "controller_event": "moveDiscreteCommand", "controller_event_args_0": 11.0, "controller_event_args_1": 16.0, "controller_event_args_2": 4.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190890575673298'
+2024-04-15T16:21:30,708 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:30,709 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:30,714 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:30,718 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:30,719 INFO - logAll OK rmq Step time 7.000000 s converted time 7000.000000 ms
+2024-04-15T16:21:30,720 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:30.719+00:00"}
+2024-04-15T16:21:30,720 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:30,742 INFO - logAll OK rmq Step reached target time 7000 [ms]
+2024-04-15T16:21:30,747 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:31,079 INFO - logOk OK rmq Got data '2024-04-15 16:21:31.075', '{"time": "2024-04-15T16:21:31.075+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190891078297464'
+2024-04-15T16:21:31,580 INFO - logOk OK rmq Got data '2024-04-15 16:21:31.578', '{"time": "2024-04-15T16:21:31.578+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190891579903934'
+2024-04-15T16:21:32,082 INFO - logOk OK rmq Got data '2024-04-15 16:21:32.080', '{"time": "2024-04-15T16:21:32.080+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190892081670875'
+2024-04-15T16:21:32,585 INFO - logOk OK rmq Got data '2024-04-15 16:21:32.582', '{"time": "2024-04-15T16:21:32.582+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190892584002524'
+2024-04-15T16:21:33,085 INFO - logOk OK rmq Got data '2024-04-15 16:21:33.083', '{"time": "2024-04-15T16:21:33.083+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190893084692365'
+2024-04-15T16:21:33,309 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:33,309 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:33,317 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:33,319 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:33,321 INFO - logAll OK rmq Step time 7.500000 s converted time 7500.000000 ms
+2024-04-15T16:21:33,321 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:33.321+00:00"}
+2024-04-15T16:21:33,325 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:33,327 INFO - logAll OK rmq Step reached target time 7500 [ms]
+2024-04-15T16:21:33,327 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:33,598 INFO - logOk OK rmq Got data '2024-04-15 16:21:33.586', '{"time": "2024-04-15T16:21:33.586+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190893588918896'
+2024-04-15T16:21:34,094 INFO - logOk OK rmq Got data '2024-04-15 16:21:34.090', '{"time": "2024-04-15T16:21:34.090+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190894092745665'
+2024-04-15T16:21:34,250 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:34,250 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:34,254 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:34,255 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:34,255 INFO - logAll OK rmq Step time 8.000000 s converted time 8000.000000 ms
+2024-04-15T16:21:34,255 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:34.255+00:00"}
+2024-04-15T16:21:34,256 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:34,260 INFO - logAll OK rmq Step reached target time 8000 [ms]
+2024-04-15T16:21:34,260 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:34,600 INFO - logOk OK rmq Got data '2024-04-15 16:21:34.593', '{"time": "2024-04-15T16:21:34.593+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190894597870857'
+2024-04-15T16:21:35,100 INFO - logOk OK rmq Got data '2024-04-15 16:21:35.096', '{"time": "2024-04-15T16:21:35.096+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190895098285749'
+2024-04-15T16:21:35,600 INFO - logOk OK rmq Got data '2024-04-15 16:21:35.598', '{"time": "2024-04-15T16:21:35.598+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190895600140720'
+2024-04-15T16:21:35,967 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:35,967 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:35,979 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:35,979 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:35,980 INFO - logAll OK rmq Step time 8.500000 s converted time 8500.000000 ms
+2024-04-15T16:21:35,981 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:35.980+00:00"}
+2024-04-15T16:21:35,981 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:35,982 INFO - logAll OK rmq Step reached target time 8500 [ms]
+2024-04-15T16:21:35,984 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:36,104 INFO - logOk OK rmq Got data '2024-04-15 16:21:36.100', '{"time": "2024-04-15T16:21:36.100+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190896103023996'
+2024-04-15T16:21:36,607 INFO - logOk OK rmq Got data '2024-04-15 16:21:36.602', '{"time": "2024-04-15T16:21:36.602+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190896605115753'
+2024-04-15T16:21:36,876 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:36,876 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:36,884 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:36,885 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:36,885 INFO - logAll OK rmq Step time 9.000000 s converted time 9000.000000 ms
+2024-04-15T16:21:36,885 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:36.885+00:00"}
+2024-04-15T16:21:36,886 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:36,888 INFO - logAll OK rmq Step reached target time 9000 [ms]
+2024-04-15T16:21:36,889 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:37,108 INFO - logOk OK rmq Got data '2024-04-15 16:21:37.105', '{"time": "2024-04-15T16:21:37.105+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190897108175539'
+2024-04-15T16:21:37,612 INFO - logOk OK rmq Got data '2024-04-15 16:21:37.609', '{"time": "2024-04-15T16:21:37.609+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190897611835197'
+2024-04-15T16:21:39,212 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:39,212 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:39,220 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:39,223 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:39,223 INFO - logAll OK rmq Step time 9.500000 s converted time 9500.000000 ms
+2024-04-15T16:21:39,223 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:39.223+00:00"}
+2024-04-15T16:21:39,223 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:39,225 INFO - logAll OK rmq Step reached target time 9500 [ms]
+2024-04-15T16:21:39,235 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:42,761 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:42,761 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:42,763 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:42,763 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:42,763 INFO - logAll OK rmq Step time 10.000000 s converted time 10000.000000 ms
+2024-04-15T16:21:42,763 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:42.763+00:00"}
+2024-04-15T16:21:42,763 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:42,763 INFO - logAll OK rmq Step reached target time 10000 [ms]
+2024-04-15T16:21:42,765 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:44,448 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:44,449 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:44,455 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:44,455 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:44,455 INFO - logAll OK rmq Step time 10.500000 s converted time 10500.000000 ms
+2024-04-15T16:21:44,455 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:44.455+00:00"}
+2024-04-15T16:21:44,456 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:44,460 INFO - logAll OK rmq Step reached target time 10500 [ms]
+2024-04-15T16:21:44,460 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:45,041 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:45,041 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:45,046 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:45,046 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:45,046 INFO - logAll OK rmq Step time 11.000000 s converted time 11000.000000 ms
+2024-04-15T16:21:45,046 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:45.046+00:00"}
+2024-04-15T16:21:45,046 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:45,048 INFO - logAll OK rmq Step reached target time 11000 [ms]
+2024-04-15T16:21:45,048 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:45,835 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:45,836 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:45,838 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:45,838 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:45,838 INFO - logAll OK rmq Step time 11.500000 s converted time 11500.000000 ms
+2024-04-15T16:21:45,838 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:45.838+00:00"}
+2024-04-15T16:21:45,839 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:45,839 INFO - logAll OK rmq Step reached target time 11500 [ms]
+2024-04-15T16:21:45,840 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:46,214 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:46,214 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:46,218 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:46,218 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:46,218 INFO - logAll OK rmq Step time 12.000000 s converted time 12000.000000 ms
+2024-04-15T16:21:46,218 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:46.218+00:00"}
+2024-04-15T16:21:46,218 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:46,219 INFO - logAll OK rmq Step reached target time 12000 [ms]
+2024-04-15T16:21:46,219 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:47,287 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:47,288 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:47,291 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:47,291 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:47,291 INFO - logAll OK rmq Step time 12.500000 s converted time 12500.000000 ms
+2024-04-15T16:21:47,291 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:47.291+00:00"}
+2024-04-15T16:21:47,292 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:47,293 INFO - logAll OK rmq Step reached target time 12500 [ms]
+2024-04-15T16:21:47,294 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:49,005 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:49,006 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:49,026 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:49,027 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:49,027 INFO - logAll OK rmq Step time 13.000000 s converted time 13000.000000 ms
+2024-04-15T16:21:49,027 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:49.027+00:00"}
+2024-04-15T16:21:49,027 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:49,027 INFO - logAll OK rmq Step reached target time 13000 [ms]
+2024-04-15T16:21:49,034 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:49,146 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:49,147 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:49,150 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:49,150 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:49,150 INFO - logAll OK rmq Step time 13.500000 s converted time 13500.000000 ms
+2024-04-15T16:21:49,150 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:49.150+00:00"}
+2024-04-15T16:21:49,150 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:49,151 INFO - logAll OK rmq Step reached target time 13500 [ms]
+2024-04-15T16:21:49,151 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:49,274 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:49,274 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:49,283 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:49,283 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:49,283 INFO - logAll OK rmq Step time 14.000000 s converted time 14000.000000 ms
+2024-04-15T16:21:49,284 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:49.283+00:00"}
+2024-04-15T16:21:49,284 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:49,284 INFO - logAll OK rmq Step reached target time 14000 [ms]
+2024-04-15T16:21:49,284 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:52,008 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:52,008 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:52,017 INFO - logAll OK rmq fmi2DoStep 'rmq'
+2024-04-15T16:21:52,017 INFO - logAll OK rmq ************ Enter FmuContainer::step ***************
+2024-04-15T16:21:52,017 INFO - logAll OK rmq Step time 14.500000 s converted time 14500.000000 ms
+2024-04-15T16:21:52,019 INFO - logAll OK rmq Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:52.017+00:00"}
+2024-04-15T16:21:52,020 INFO - logAll OK rmq Send enabled on this step, for message
+2024-04-15T16:21:52,024 INFO - logAll OK rmq Step reached target time 14500 [ms]
+2024-04-15T16:21:52,035 INFO - logAll OK rmq ************ Exit 1 FmuContainer::step ***************
+2024-04-15T16:21:53,021 INFO - logAll OK rmq fmi2GetString 'rmq'
+2024-04-15T16:21:53,021 INFO - logAll OK rmq fmi2GetReal 'rmq'
+2024-04-15T16:21:53,313 INFO - logAll OK rmq fmi2Terminate 'rmq'
diff --git a/co-simulation/results/spec.mabl b/co-simulation/results/spec.mabl
index ad3ba75..359b7bd 100644
--- a/co-simulation/results/spec.mabl
+++ b/co-simulation/results/spec.mabl
@@ -8,7 +8,8 @@ import Logger;
import Math;
import SimulationControl;
{
- int status = 0;
+ bool global_execution_continue = true;
+ int status = 0;
Math math = null;
Logger logger = null;
DataWriter dataWriter = null;
@@ -62,1658 +63,1901 @@ import SimulationControl;
{
error "rmq IS NULL ";
}
- mapping_1 = mapping.instantiate("mapping", false, false);
+ mapping_1 = mapping.instantiate("mapping", false, true);
if( (((mapping_1 == null))) )
{
error "mapping_1 IS NULL ";
}
- rmq_1 = rmq.instantiate("rmq", false, false);
+ rmq_1 = rmq.instantiate("rmq", false, true);
if( (((rmq_1 == null))) )
{
error "rmq_1 IS NULL ";
}
- dmodel_1 = dmodel.instantiate("dmodel", false, false);
+ dmodel_1 = dmodel.instantiate("dmodel", false, true);
if( (((dmodel_1 == null))) )
{
error "dmodel_1 IS NULL ";
}
- real STEP_SIZE = 0.5;
- real START_TIME = 0.0;
- real END_TIME = 15.0;
- int FMI_OK = 0;
- int FMI_DISCARD = 2;
- int FMI_ERROR = 3;
- int FMI_FATAL = 4;
- BooleanLogic booleanLogic1;
- try
+ if( (((global_execution_continue))) )
{
- booleanLogic1 = load("BooleanLogic");
- if( ((booleanLogic1 == null)) )
- {
- error "Failed load of: booleanLogic1";
- }
- string dmodel_1StringShare[1];
- string dmodel_1StringIo[38];
- string mapping_1StringIo[67];
- string rmq_1StringShare[1];
- real mapping_1RealIo[67];
- real rmq_1RealShare[3];
- real rmq_1RealIo[28];
- bool dmodel_1BoolIo[38];
- bool mapping_1BoolShare[10];
- bool mapping_1BoolIo[67];
- uint mapping_1UintVref[67];
- bool rmq_1BoolIo[28];
- int rmq_1IntIo[28];
- string rmq_1StringIo[28];
- uint rmq_1UintVref[28];
- real dmodel_1RealIo[38];
- uint dmodel_1UintVref[38];
- real fixed_end_time = 0.0;
- fixed_end_time = END_TIME;
- status = dmodel_1.setupExperiment(true, 0.1, START_TIME, true, END_TIME);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetupExperiment failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetupExperiment failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setupExperiment' on 'dmodel_1'";
- }
- status = rmq_1.setupExperiment(true, 0.1, START_TIME, true, END_TIME);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetupExperiment failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetupExperiment failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setupExperiment' on 'rmq_1'";
- }
- status = mapping_1.setupExperiment(true, 0.1, START_TIME, true, END_TIME);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetupExperiment failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetupExperiment failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'setupExperiment' on 'mapping_1'";
- }
- dmodel_1UintVref[0] = 13;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 14;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 15;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 16;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 17;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 18;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 19;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 20;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 21;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 22;
- dmodel_1RealIo[0] = 0.0;
- status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setReal' on 'dmodel_1'";
- }
- rmq_1UintVref[0] = 0;
- rmq_1StringIo[0] = "localhost";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 1;
- rmq_1IntIo[0] = 5672;
- status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setInteger' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 2;
- rmq_1StringIo[0] = "guest";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 3;
- rmq_1StringIo[0] = "guest";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 4;
- rmq_1StringIo[0] = "data.to_cosim";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 5;
- rmq_1IntIo[0] = 60;
- status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setInteger' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 6;
- rmq_1IntIo[0] = 10;
- status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setInteger' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 7;
- rmq_1IntIo[0] = 1000;
- status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setInteger' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 8;
- rmq_1IntIo[0] = 1;
- status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setInteger' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 9;
- rmq_1StringIo[0] = "fmi_digital_twin";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 10;
- rmq_1StringIo[0] = "direct";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 11;
- rmq_1StringIo[0] = "fmi_digital_twin_sh";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 12;
- rmq_1StringIo[0] = "direct";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 13;
- rmq_1StringIo[0] = "data.from_cosim";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 16;
- rmq_1BoolIo[0] = false;
- status = rmq_1.setBoolean(rmq_1UintVref, 1, rmq_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setBoolean' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 17;
- rmq_1IntIo[0] = 100;
- status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setInteger' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 18;
- rmq_1StringIo[0] = "/";
- status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'setString' on 'rmq_1'";
- }
- status = dmodel_1.enterInitializationMode();
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'enterInitializationMode' on 'dmodel_1'";
- }
- status = rmq_1.enterInitializationMode();
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'enterInitializationMode' on 'rmq_1'";
- }
- status = mapping_1.enterInitializationMode();
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'enterInitializationMode' on 'mapping_1'";
- }
- mapping_1UintVref[0] = 59;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[0] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 7;
- dmodel_1BoolIo[0] = mapping_1BoolShare[0];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 64;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[1] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 6;
- dmodel_1BoolIo[0] = mapping_1BoolShare[1];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 58;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[2] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 2;
- dmodel_1BoolIo[0] = mapping_1BoolShare[2];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 66;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[3] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 0;
- dmodel_1BoolIo[0] = mapping_1BoolShare[3];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 62;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[4] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 1;
- dmodel_1BoolIo[0] = mapping_1BoolShare[4];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 60;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[5] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 4;
- dmodel_1BoolIo[0] = mapping_1BoolShare[5];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 63;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[6] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 5;
- dmodel_1BoolIo[0] = mapping_1BoolShare[6];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 57;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[7] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 8;
- dmodel_1BoolIo[0] = mapping_1BoolShare[7];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 61;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[8] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 3;
- dmodel_1BoolIo[0] = mapping_1BoolShare[8];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 65;
- status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[9] = mapping_1BoolIo[0];
- dmodel_1UintVref[0] = 9;
- dmodel_1BoolIo[0] = mapping_1BoolShare[9];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- rmq_1UintVref[0] = 23;
- status = rmq_1.getReal(rmq_1UintVref, 1, rmq_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'getReal' on 'rmq_1'";
- }
- rmq_1RealShare[0] = rmq_1RealIo[0];
- mapping_1UintVref[0] = 2;
- mapping_1RealIo[0] = rmq_1RealShare[0];
- status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'setReal' on 'mapping_1'";
- }
- rmq_1UintVref[0] = 24;
- status = rmq_1.getReal(rmq_1UintVref, 1, rmq_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'getReal' on 'rmq_1'";
- }
- rmq_1RealShare[1] = rmq_1RealIo[0];
- mapping_1UintVref[0] = 3;
- mapping_1RealIo[0] = rmq_1RealShare[1];
- status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'setReal' on 'mapping_1'";
- }
- rmq_1UintVref[0] = 21;
- status = rmq_1.getString(rmq_1UintVref, 1, rmq_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'getString' on 'rmq_1'";
- }
- rmq_1StringShare[0] = rmq_1StringIo[0];
- mapping_1UintVref[0] = 0;
- mapping_1StringIo[0] = rmq_1StringShare[0];
- status = mapping_1.setString(mapping_1UintVref, 1, mapping_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'setString' on 'mapping_1'";
- }
- rmq_1UintVref[0] = 22;
- status = rmq_1.getReal(rmq_1UintVref, 1, rmq_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'getReal' on 'rmq_1'";
- }
- rmq_1RealShare[2] = rmq_1RealIo[0];
- mapping_1UintVref[0] = 1;
- mapping_1RealIo[0] = rmq_1RealShare[2];
- status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'setReal' on 'mapping_1'";
- }
- dmodel_1UintVref[0] = 27;
- status = dmodel_1.getString(dmodel_1UintVref, 1, dmodel_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'getString' on 'dmodel_1'";
- }
- dmodel_1StringShare[0] = dmodel_1StringIo[0];
- mapping_1UintVref[0] = 35;
- mapping_1StringIo[0] = dmodel_1StringShare[0];
- status = mapping_1.setString(mapping_1UintVref, 1, mapping_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'setString' on 'mapping_1'";
- }
- status = dmodel_1.exitInitializationMode();
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'exitInitializationMode' on 'dmodel_1'";
- }
- status = rmq_1.exitInitializationMode();
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'exitInitializationMode' on 'rmq_1'";
- }
- status = mapping_1.exitInitializationMode();
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
+ real STEP_SIZE = 0.5;
+ real START_TIME = 0.0;
+ real END_TIME = 15.0;
+ int FMI_OK = 0;
+ int FMI_DISCARD = 2;
+ int FMI_ERROR = 3;
+ int FMI_FATAL = 4;
+ BooleanLogic booleanLogic1;
+ try
+ {
+ booleanLogic1 = load("BooleanLogic");
+ if( ((booleanLogic1 == null)) )
+ {
+ error "Failed load of: booleanLogic1";
+ }
+ string dmodel_1StringShare[1];
+ string dmodel_1StringIo[38];
+ real dmodel_1RealShare[4];
+ string mapping_1StringIo[67];
+ string rmq_1StringShare[1];
+ real rmq_1RealShare[3];
+ real rmq_1RealIo[27];
+ bool dmodel_1BoolIo[38];
+ bool mapping_1BoolShare[10];
+ bool mapping_1BoolIo[67];
+ real mapping_1RealShare[3];
+ real mapping_1RealIo[67];
+ uint mapping_1UintVref[67];
+ bool rmq_1BoolIo[27];
+ int rmq_1IntIo[27];
+ string rmq_1StringIo[27];
+ uint rmq_1UintVref[27];
+ real dmodel_1RealIo[38];
+ uint dmodel_1UintVref[38];
+ real fixed_end_time = 0.0;
+ fixed_end_time = END_TIME;
+ status = dmodel_1.setupExperiment(true, 0.1, START_TIME, true, END_TIME);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetupExperiment failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetupExperiment failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setupExperiment' on 'dmodel_1'";
+ }
+ status = rmq_1.setupExperiment(true, 0.1, START_TIME, true, END_TIME);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetupExperiment failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetupExperiment failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setupExperiment' on 'rmq_1'";
+ }
+ status = mapping_1.setupExperiment(true, 0.1, START_TIME, true, END_TIME);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetupExperiment failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetupExperiment failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setupExperiment' on 'mapping_1'";
+ }
+ dmodel_1UintVref[0] = 13;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 14;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 15;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 16;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 17;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 18;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 19;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 20;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 21;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 22;
+ dmodel_1RealIo[0] = 0.0;
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ rmq_1UintVref[0] = 0;
+ rmq_1StringIo[0] = "localhost";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 1;
+ rmq_1IntIo[0] = 5672;
+ status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setInteger' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 2;
+ rmq_1StringIo[0] = "guest";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 3;
+ rmq_1StringIo[0] = "guest";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 4;
+ rmq_1StringIo[0] = "data.to_cosim";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 5;
+ rmq_1IntIo[0] = 60;
+ status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setInteger' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 6;
+ rmq_1IntIo[0] = 10;
+ status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setInteger' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 7;
+ rmq_1IntIo[0] = 1000;
+ status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setInteger' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 8;
+ rmq_1IntIo[0] = 1;
+ status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setInteger' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 9;
+ rmq_1StringIo[0] = "fmi_digital_twin";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 10;
+ rmq_1StringIo[0] = "direct";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 11;
+ rmq_1StringIo[0] = "fmi_digital_twin_sh";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 12;
+ rmq_1StringIo[0] = "direct";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 13;
+ rmq_1StringIo[0] = "data.from_cosim";
+ status = rmq_1.setString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 16;
+ rmq_1BoolIo[0] = false;
+ status = rmq_1.setBoolean(rmq_1UintVref, 1, rmq_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setBoolean' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 17;
+ rmq_1IntIo[0] = 100;
+ status = rmq_1.setInteger(rmq_1UintVref, 1, rmq_1IntIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetInteger failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'setInteger' on 'rmq_1'";
+ }
+ status = dmodel_1.enterInitializationMode();
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'enterInitializationMode' on 'dmodel_1'";
+ }
+ status = rmq_1.enterInitializationMode();
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'enterInitializationMode' on 'rmq_1'";
+ }
+ status = mapping_1.enterInitializationMode();
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "EnterInitializationMode failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'enterInitializationMode' on 'mapping_1'";
+ }
+ mapping_1UintVref[0] = 49;
+ status = mapping_1.getReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getReal' on 'mapping_1'";
+ }
+ mapping_1RealShare[0] = mapping_1RealIo[0];
+ dmodel_1UintVref[0] = 12;
+ dmodel_1RealIo[0] = mapping_1RealShare[0];
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 61;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[0] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 3;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[0];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 59;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[1] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 7;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[1];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 47;
+ status = mapping_1.getReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getReal' on 'mapping_1'";
+ }
+ mapping_1RealShare[1] = mapping_1RealIo[0];
+ dmodel_1UintVref[0] = 10;
+ dmodel_1RealIo[0] = mapping_1RealShare[1];
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 63;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[2] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 5;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[2];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 64;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[3] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 6;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[3];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 62;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[4] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 1;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[4];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 58;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[5] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 2;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[5];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 57;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[6] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 8;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[6];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 60;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[7] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 4;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[7];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 65;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[8] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 9;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[8];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 48;
+ status = mapping_1.getReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getReal' on 'mapping_1'";
+ }
+ mapping_1RealShare[2] = mapping_1RealIo[0];
+ dmodel_1UintVref[0] = 11;
+ dmodel_1RealIo[0] = mapping_1RealShare[2];
+ status = dmodel_1.setReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setReal' on 'dmodel_1'";
+ }
+ mapping_1UintVref[0] = 66;
+ status = mapping_1.getBoolean(mapping_1UintVref, 1, mapping_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1BoolShare[9] = mapping_1BoolIo[0];
+ dmodel_1UintVref[0] = 0;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[9];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 1, dmodel_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
+ }
+ rmq_1UintVref[0] = 22;
+ status = rmq_1.getReal(rmq_1UintVref, 1, rmq_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'getReal' on 'rmq_1'";
+ }
+ rmq_1RealShare[0] = rmq_1RealIo[0];
+ mapping_1UintVref[0] = 1;
+ mapping_1RealIo[0] = rmq_1RealShare[0];
+ status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setReal' on 'mapping_1'";
+ }
+ rmq_1UintVref[0] = 24;
+ status = rmq_1.getReal(rmq_1UintVref, 1, rmq_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'getReal' on 'rmq_1'";
+ }
+ rmq_1RealShare[1] = rmq_1RealIo[0];
+ mapping_1UintVref[0] = 3;
+ mapping_1RealIo[0] = rmq_1RealShare[1];
+ status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setReal' on 'mapping_1'";
+ }
+ rmq_1UintVref[0] = 21;
+ status = rmq_1.getString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'getString' on 'rmq_1'";
+ }
+ rmq_1StringShare[0] = rmq_1StringIo[0];
+ mapping_1UintVref[0] = 0;
+ mapping_1StringIo[0] = rmq_1StringShare[0];
+ status = mapping_1.setString(mapping_1UintVref, 1, mapping_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setString' on 'mapping_1'";
+ }
+ rmq_1UintVref[0] = 23;
+ status = rmq_1.getReal(rmq_1UintVref, 1, rmq_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'getReal' on 'rmq_1'";
+ }
+ rmq_1RealShare[2] = rmq_1RealIo[0];
+ mapping_1UintVref[0] = 2;
+ mapping_1RealIo[0] = rmq_1RealShare[2];
+ status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setReal' on 'mapping_1'";
+ }
+ dmodel_1UintVref[0] = 28;
+ status = dmodel_1.getReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getReal' on 'dmodel_1'";
+ }
+ dmodel_1RealShare[0] = dmodel_1RealIo[0];
+ mapping_1UintVref[0] = 36;
+ mapping_1RealIo[0] = dmodel_1RealShare[0];
+ status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setReal' on 'mapping_1'";
+ }
+ dmodel_1UintVref[0] = 27;
+ status = dmodel_1.getString(dmodel_1UintVref, 1, dmodel_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getString' on 'dmodel_1'";
+ }
+ dmodel_1StringShare[0] = dmodel_1StringIo[0];
+ mapping_1UintVref[0] = 35;
+ mapping_1StringIo[0] = dmodel_1StringShare[0];
+ status = mapping_1.setString(mapping_1UintVref, 1, mapping_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setString' on 'mapping_1'";
+ }
+ dmodel_1UintVref[0] = 30;
+ status = dmodel_1.getReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getReal' on 'dmodel_1'";
+ }
+ dmodel_1RealShare[1] = dmodel_1RealIo[0];
+ mapping_1UintVref[0] = 39;
+ mapping_1RealIo[0] = dmodel_1RealShare[1];
+ status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setReal' on 'mapping_1'";
+ }
+ dmodel_1UintVref[0] = 29;
+ status = dmodel_1.getReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getReal' on 'dmodel_1'";
+ }
+ dmodel_1RealShare[2] = dmodel_1RealIo[0];
+ mapping_1UintVref[0] = 37;
+ mapping_1RealIo[0] = dmodel_1RealShare[2];
+ status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setReal' on 'mapping_1'";
+ }
+ dmodel_1UintVref[0] = 31;
+ status = dmodel_1.getReal(dmodel_1UintVref, 1, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getReal' on 'dmodel_1'";
+ }
+ dmodel_1RealShare[3] = dmodel_1RealIo[0];
+ mapping_1UintVref[0] = 40;
+ mapping_1RealIo[0] = dmodel_1RealShare[3];
+ status = mapping_1.setReal(mapping_1UintVref, 1, mapping_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setReal' on 'mapping_1'";
+ }
+ status = dmodel_1.exitInitializationMode();
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'exitInitializationMode' on 'dmodel_1'";
+ }
+ status = rmq_1.exitInitializationMode();
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'exitInitializationMode' on 'rmq_1'";
+ }
+ status = mapping_1.exitInitializationMode();
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'exitInitializationMode' on 'mapping_1'";
+ }
+ } finally
+ {
+ if( ((booleanLogic1 != null)) )
{
- logger.log(4, "ExitInitializationMode failed on '%s' with status: FMI_FATAL", mapping_1);
+ unload(booleanLogic1);
+ booleanLogic1 = null;
}
- error "Failed to 'exitInitializationMode' on 'mapping_1'";
- }
- } finally
- {
- if( ((booleanLogic1 != null)) )
- {
- unload(booleanLogic1);
- booleanLogic1 = null;
- }
- }
- BooleanLogic booleanLogic2;
- DataWriter dataWriter1;
- SimulationControl simulationControl;
- try
- {
- simulationControl = load("SimulationControl");
- if( ((simulationControl == null)) )
- {
- error "Failed load of: simulationControl";
- }
- dataWriter1 = load("DataWriter");
- if( ((dataWriter1 == null)) )
- {
- error "Failed load of: dataWriter1";
- }
- booleanLogic2 = load("BooleanLogic");
- if( ((booleanLogic2 == null)) )
- {
- error "Failed load of: booleanLogic2";
- }
- bool mapping_1CurrentTimeFullStep = true;
- real mapping_1CurrentTime = 0.0;
- bool rmq_1CurrentTimeFullStep = true;
- real rmq_1CurrentTime = 0.0;
- bool dmodel_1CurrentTimeFullStep = true;
- real dmodel_1CurrentTime = 0.0;
- bool dmodel_1BoolIo[38];
- real rmq_1RealShare[3];
- string rmq_1StringShare[1];
- real dmodel_1RealShare[3];
- string dmodel_1StringShare[2];
- real mapping_1RealShare[24];
- string mapping_1StringShare[3];
- bool mapping_1BoolShare[10];
- bool mapping_1BoolIo[67];
- string mapping_1StringIo[67];
- real mapping_1RealIo[67];
- uint mapping_1UintVref[67];
- string rmq_1StringIo[28];
- real rmq_1RealIo[28];
- uint rmq_1UintVref[28];
- real dmodel_1RealIo[38];
- string dmodel_1StringIo[38];
- uint dmodel_1UintVref[38];
- real jac_current_step_size = 0.0;
- real jac_step_size = 0.0;
- @TransferAs("START_TIME");
- real jac_current_communication_point = 0.0;
- real jac_end_time = 0.0;
- jac_current_step_size = STEP_SIZE;
- jac_step_size = STEP_SIZE;
- jac_current_communication_point = START_TIME;
- jac_end_time = END_TIME;
- string datawriter_headers[46] = { "{dmodel}.dmodel.state" , "{dmodel}.dmodel.d_model_event" , "{dmodel}.dmodel.d_model_event_args_0" , "{dmodel}.dmodel.d_model_event_args_1" , "{dmodel}.dmodel.d_model_event_args_2" , "{rmq}.rmq.controller_event" , "{rmq}.rmq.controller_event_args_0" , "{rmq}.rmq.controller_event_args_1" , "{rmq}.rmq.controller_event_args_2" , "{mapping}.mapping.controller_event" , "{mapping}.mapping.j0" , "{mapping}.mapping.j1" , "{mapping}.mapping.j2" , "{mapping}.mapping.j3" , "{mapping}.mapping.j4" , "{mapping}.mapping.j5" , "{mapping}.mapping.qd0" , "{mapping}.mapping.qd1" , "{mapping}.mapping.qd2" , "{mapping}.mapping.qd3" , "{mapping}.mapping.qd4" , "{mapping}.mapping.qd5" , "{mapping}.mapping.qdd0" , "{mapping}.mapping.qdd1" , "{mapping}.mapping.qdd2" , "{mapping}.mapping.qdd3" , "{mapping}.mapping.qdd4" , "{mapping}.mapping.qdd5" , "{mapping}.mapping.t0" , "{mapping}.mapping.t1" , "{mapping}.mapping.t2" , "{mapping}.mapping.t3" , "{mapping}.mapping.t4" , "{mapping}.mapping.t5" , "{mapping}.mapping.d_model_event" , "{mapping}.mapping.output_event" , "{mapping}.mapping.platform_event_0" , "{mapping}.mapping.platform_event_1" , "{mapping}.mapping.platform_event_2" , "{mapping}.mapping.platform_event_3" , "{mapping}.mapping.platform_event_4" , "{mapping}.mapping.platform_event_5" , "{mapping}.mapping.platform_event_6" , "{mapping}.mapping.platform_event_7" , "{mapping}.mapping.platform_event_8" , "{mapping}.mapping.platform_event_9" };
- DataWriterConfig datawriter_configuration = dataWriter1.writeHeader(datawriter_headers);
- dmodel_1UintVref[0] = 24;
- dmodel_1UintVref[1] = 27;
- status = dmodel_1.getString(dmodel_1UintVref, 2, dmodel_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'getString' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 28;
- dmodel_1UintVref[1] = 29;
- dmodel_1UintVref[2] = 30;
- status = dmodel_1.getReal(dmodel_1UintVref, 3, dmodel_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
- }
- error "Failed to 'getReal' on 'dmodel_1'";
- }
- rmq_1UintVref[0] = 22;
- rmq_1UintVref[1] = 23;
- rmq_1UintVref[2] = 24;
- status = rmq_1.getReal(rmq_1UintVref, 3, rmq_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'getReal' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 21;
- status = rmq_1.getString(rmq_1UintVref, 1, rmq_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'getString' on 'rmq_1'";
- }
- mapping_1UintVref[0] = 11;
- mapping_1UintVref[1] = 12;
- mapping_1UintVref[2] = 13;
- mapping_1UintVref[3] = 14;
- mapping_1UintVref[4] = 15;
- mapping_1UintVref[5] = 16;
- mapping_1UintVref[6] = 17;
- mapping_1UintVref[7] = 18;
- mapping_1UintVref[8] = 19;
- mapping_1UintVref[9] = 20;
- mapping_1UintVref[10] = 21;
- mapping_1UintVref[11] = 22;
- mapping_1UintVref[12] = 23;
- mapping_1UintVref[13] = 24;
- mapping_1UintVref[14] = 25;
- mapping_1UintVref[15] = 26;
- mapping_1UintVref[16] = 27;
- mapping_1UintVref[17] = 28;
- mapping_1UintVref[18] = 29;
- mapping_1UintVref[19] = 30;
- mapping_1UintVref[20] = 31;
- mapping_1UintVref[21] = 32;
- mapping_1UintVref[22] = 33;
- mapping_1UintVref[23] = 34;
- status = mapping_1.getReal(mapping_1UintVref, 24, mapping_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getReal' on 'mapping_1'";
- }
- mapping_1UintVref[0] = 0;
- mapping_1UintVref[1] = 35;
- mapping_1UintVref[2] = 46;
- status = mapping_1.getString(mapping_1UintVref, 3, mapping_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getString' on 'mapping_1'";
- }
- mapping_1UintVref[0] = 57;
- mapping_1UintVref[1] = 58;
- mapping_1UintVref[2] = 59;
- mapping_1UintVref[3] = 60;
- mapping_1UintVref[4] = 61;
- mapping_1UintVref[5] = 62;
- mapping_1UintVref[6] = 63;
- mapping_1UintVref[7] = 64;
- mapping_1UintVref[8] = 65;
- mapping_1UintVref[9] = 66;
- status = mapping_1.getBoolean(mapping_1UintVref, 10, mapping_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
- }
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- mapping_1BoolShare[0] = mapping_1BoolIo[0];
- mapping_1BoolShare[1] = mapping_1BoolIo[1];
- mapping_1BoolShare[2] = mapping_1BoolIo[2];
- mapping_1BoolShare[3] = mapping_1BoolIo[3];
- mapping_1BoolShare[4] = mapping_1BoolIo[4];
- mapping_1BoolShare[5] = mapping_1BoolIo[5];
- mapping_1BoolShare[6] = mapping_1BoolIo[6];
- mapping_1BoolShare[7] = mapping_1BoolIo[7];
- mapping_1BoolShare[8] = mapping_1BoolIo[8];
- mapping_1BoolShare[9] = mapping_1BoolIo[9];
- mapping_1StringShare[0] = mapping_1StringIo[0];
- mapping_1StringShare[1] = mapping_1StringIo[1];
- mapping_1StringShare[2] = mapping_1StringIo[2];
- mapping_1RealShare[0] = mapping_1RealIo[0];
- mapping_1RealShare[1] = mapping_1RealIo[1];
- mapping_1RealShare[2] = mapping_1RealIo[2];
- mapping_1RealShare[3] = mapping_1RealIo[3];
- mapping_1RealShare[4] = mapping_1RealIo[4];
- mapping_1RealShare[5] = mapping_1RealIo[5];
- mapping_1RealShare[6] = mapping_1RealIo[6];
- mapping_1RealShare[7] = mapping_1RealIo[7];
- mapping_1RealShare[8] = mapping_1RealIo[8];
- mapping_1RealShare[9] = mapping_1RealIo[9];
- mapping_1RealShare[10] = mapping_1RealIo[10];
- mapping_1RealShare[11] = mapping_1RealIo[11];
- mapping_1RealShare[12] = mapping_1RealIo[12];
- mapping_1RealShare[13] = mapping_1RealIo[13];
- mapping_1RealShare[14] = mapping_1RealIo[14];
- mapping_1RealShare[15] = mapping_1RealIo[15];
- mapping_1RealShare[16] = mapping_1RealIo[16];
- mapping_1RealShare[17] = mapping_1RealIo[17];
- mapping_1RealShare[18] = mapping_1RealIo[18];
- mapping_1RealShare[19] = mapping_1RealIo[19];
- mapping_1RealShare[20] = mapping_1RealIo[20];
- mapping_1RealShare[21] = mapping_1RealIo[21];
- mapping_1RealShare[22] = mapping_1RealIo[22];
- mapping_1RealShare[23] = mapping_1RealIo[23];
- dmodel_1StringShare[0] = dmodel_1StringIo[0];
- dmodel_1StringShare[1] = dmodel_1StringIo[1];
- dmodel_1RealShare[0] = dmodel_1RealIo[0];
- dmodel_1RealShare[1] = dmodel_1RealIo[1];
- dmodel_1RealShare[2] = dmodel_1RealIo[2];
- rmq_1StringShare[0] = rmq_1StringIo[0];
- rmq_1RealShare[0] = rmq_1RealIo[0];
- rmq_1RealShare[1] = rmq_1RealIo[1];
- rmq_1RealShare[2] = rmq_1RealIo[2];
- real fmu_communicationpoints[3];
- dataWriter1.writeDataPoint(datawriter_configuration, jac_current_communication_point, dmodel_1StringShare[0], dmodel_1StringShare[1], dmodel_1RealShare[0], dmodel_1RealShare[1], dmodel_1RealShare[2], rmq_1StringShare[0], rmq_1RealShare[0], rmq_1RealShare[1], rmq_1RealShare[2], mapping_1StringShare[0], mapping_1RealShare[0], mapping_1RealShare[1], mapping_1RealShare[2], mapping_1RealShare[3], mapping_1RealShare[4], mapping_1RealShare[5], mapping_1RealShare[6], mapping_1RealShare[7], mapping_1RealShare[8], mapping_1RealShare[9], mapping_1RealShare[10], mapping_1RealShare[11], mapping_1RealShare[12], mapping_1RealShare[13], mapping_1RealShare[14], mapping_1RealShare[15], mapping_1RealShare[16], mapping_1RealShare[17], mapping_1RealShare[18], mapping_1RealShare[19], mapping_1RealShare[20], mapping_1RealShare[21], mapping_1RealShare[22], mapping_1RealShare[23], mapping_1StringShare[1], mapping_1StringShare[2], mapping_1BoolShare[0], mapping_1BoolShare[1], mapping_1BoolShare[2], mapping_1BoolShare[3], mapping_1BoolShare[4], mapping_1BoolShare[5], mapping_1BoolShare[6], mapping_1BoolShare[7], mapping_1BoolShare[8], mapping_1BoolShare[9]);
- bool any_discards = false;
- while( ((!true || ((jac_current_communication_point + jac_current_step_size) < jac_end_time))) )
- {
- bool tmp = simulationControl.stopRequested();
- if( ((tmp)) )
- {
- error "Simulation stopped by user";
}
- @Transfer();
- dmodel_1UintVref[0] = 0;
- dmodel_1UintVref[1] = 1;
- dmodel_1UintVref[2] = 2;
- dmodel_1UintVref[3] = 3;
- dmodel_1UintVref[4] = 4;
- dmodel_1UintVref[5] = 5;
- dmodel_1UintVref[6] = 6;
- dmodel_1UintVref[7] = 7;
- dmodel_1UintVref[8] = 8;
- dmodel_1UintVref[9] = 9;
- dmodel_1BoolIo[0] = mapping_1BoolShare[9];
- dmodel_1BoolIo[1] = mapping_1BoolShare[5];
- dmodel_1BoolIo[2] = mapping_1BoolShare[1];
- dmodel_1BoolIo[3] = mapping_1BoolShare[4];
- dmodel_1BoolIo[4] = mapping_1BoolShare[3];
- dmodel_1BoolIo[5] = mapping_1BoolShare[6];
- dmodel_1BoolIo[6] = mapping_1BoolShare[7];
- dmodel_1BoolIo[7] = mapping_1BoolShare[2];
- dmodel_1BoolIo[8] = mapping_1BoolShare[0];
- dmodel_1BoolIo[9] = mapping_1BoolShare[8];
- status = dmodel_1.setBoolean(dmodel_1UintVref, 10, dmodel_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ BooleanLogic booleanLogic2;
+ DataWriter dataWriter1;
+ SimulationControl simulationControl;
+ try
{
- if( ((status == FMI_ERROR)) )
+ simulationControl = load("SimulationControl");
+ if( ((simulationControl == null)) )
+ {
+ error "Failed load of: simulationControl";
+ }
+ dataWriter1 = load("DataWriter");
+ if( ((dataWriter1 == null)) )
+ {
+ error "Failed load of: dataWriter1";
+ }
+ booleanLogic2 = load("BooleanLogic");
+ if( ((booleanLogic2 == null)) )
+ {
+ error "Failed load of: booleanLogic2";
+ }
+ bool mapping_1CurrentTimeFullStep = true;
+ real mapping_1CurrentTime = 0.0;
+ bool rmq_1CurrentTimeFullStep = true;
+ real rmq_1CurrentTime = 0.0;
+ bool dmodel_1CurrentTimeFullStep = true;
+ real dmodel_1CurrentTime = 0.0;
+ bool dmodel_1BoolIo[38];
+ real rmq_1RealShare[3];
+ string rmq_1StringShare[1];
+ real mapping_1RealShare[27];
+ bool mapping_1BoolShare[10];
+ string mapping_1StringShare[3];
+ real dmodel_1RealShare[4];
+ string dmodel_1StringShare[2];
+ real mapping_1RealIo[67];
+ bool mapping_1BoolIo[67];
+ string mapping_1StringIo[67];
+ uint mapping_1UintVref[67];
+ real rmq_1RealIo[27];
+ string rmq_1StringIo[27];
+ uint rmq_1UintVref[27];
+ real dmodel_1RealIo[38];
+ string dmodel_1StringIo[38];
+ uint dmodel_1UintVref[38];
+ real jac_current_step_size = 0.0;
+ real jac_step_size = 0.0;
+ @TransferAs("START_TIME");
+ real jac_current_communication_point = 0.0;
+ real jac_end_time = 0.0;
+ jac_current_step_size = STEP_SIZE;
+ jac_step_size = STEP_SIZE;
+ jac_current_communication_point = START_TIME;
+ jac_end_time = END_TIME;
+ string datawriter_headers[50] = { "{dmodel}.dmodel.state" , "{dmodel}.dmodel.d_model_event" , "{dmodel}.dmodel.d_model_event_args_0" , "{dmodel}.dmodel.d_model_event_args_1" , "{dmodel}.dmodel.d_model_event_args_2" , "{dmodel}.dmodel.d_model_event_args_3" , "{rmq}.rmq.controller_event" , "{rmq}.rmq.controller_event_args_0" , "{rmq}.rmq.controller_event_args_1" , "{rmq}.rmq.controller_event_args_2" , "{mapping}.mapping.controller_event" , "{mapping}.mapping.j0" , "{mapping}.mapping.j1" , "{mapping}.mapping.j2" , "{mapping}.mapping.j3" , "{mapping}.mapping.j4" , "{mapping}.mapping.j5" , "{mapping}.mapping.qd0" , "{mapping}.mapping.qd1" , "{mapping}.mapping.qd2" , "{mapping}.mapping.qd3" , "{mapping}.mapping.qd4" , "{mapping}.mapping.qd5" , "{mapping}.mapping.qdd0" , "{mapping}.mapping.qdd1" , "{mapping}.mapping.qdd2" , "{mapping}.mapping.qdd3" , "{mapping}.mapping.qdd4" , "{mapping}.mapping.qdd5" , "{mapping}.mapping.t0" , "{mapping}.mapping.t1" , "{mapping}.mapping.t2" , "{mapping}.mapping.t3" , "{mapping}.mapping.t4" , "{mapping}.mapping.t5" , "{mapping}.mapping.d_model_event" , "{mapping}.mapping.output_event" , "{mapping}.mapping.output_event_args_0" , "{mapping}.mapping.output_event_args_1" , "{mapping}.mapping.output_event_args_2" , "{mapping}.mapping.platform_event_0" , "{mapping}.mapping.platform_event_1" , "{mapping}.mapping.platform_event_2" , "{mapping}.mapping.platform_event_3" , "{mapping}.mapping.platform_event_4" , "{mapping}.mapping.platform_event_5" , "{mapping}.mapping.platform_event_6" , "{mapping}.mapping.platform_event_7" , "{mapping}.mapping.platform_event_8" , "{mapping}.mapping.platform_event_9" };
+ DataWriterConfig datawriter_configuration = dataWriter1.writeHeader(datawriter_headers);
+ dmodel_1UintVref[0] = 24;
+ dmodel_1UintVref[1] = 27;
+ status = dmodel_1.getString(dmodel_1UintVref, 2, dmodel_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getString' on 'dmodel_1'";
+ }
+ dmodel_1UintVref[0] = 28;
+ dmodel_1UintVref[1] = 29;
+ dmodel_1UintVref[2] = 30;
+ dmodel_1UintVref[3] = 31;
+ status = dmodel_1.getReal(dmodel_1UintVref, 4, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getReal' on 'dmodel_1'";
+ }
+ rmq_1UintVref[0] = 21;
+ status = rmq_1.getString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'getString' on 'rmq_1'";
+ }
+ rmq_1UintVref[0] = 22;
+ rmq_1UintVref[1] = 23;
+ rmq_1UintVref[2] = 24;
+ status = rmq_1.getReal(rmq_1UintVref, 3, rmq_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'getReal' on 'rmq_1'";
+ }
+ mapping_1UintVref[0] = 0;
+ mapping_1UintVref[1] = 35;
+ mapping_1UintVref[2] = 46;
+ status = mapping_1.getString(mapping_1UintVref, 3, mapping_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getString' on 'mapping_1'";
+ }
+ mapping_1UintVref[0] = 57;
+ mapping_1UintVref[1] = 58;
+ mapping_1UintVref[2] = 59;
+ mapping_1UintVref[3] = 60;
+ mapping_1UintVref[4] = 61;
+ mapping_1UintVref[5] = 62;
+ mapping_1UintVref[6] = 63;
+ mapping_1UintVref[7] = 64;
+ mapping_1UintVref[8] = 65;
+ mapping_1UintVref[9] = 66;
+ status = mapping_1.getBoolean(mapping_1UintVref, 10, mapping_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
+ }
+ mapping_1UintVref[0] = 11;
+ mapping_1UintVref[1] = 12;
+ mapping_1UintVref[2] = 13;
+ mapping_1UintVref[3] = 14;
+ mapping_1UintVref[4] = 15;
+ mapping_1UintVref[5] = 16;
+ mapping_1UintVref[6] = 17;
+ mapping_1UintVref[7] = 18;
+ mapping_1UintVref[8] = 19;
+ mapping_1UintVref[9] = 20;
+ mapping_1UintVref[10] = 21;
+ mapping_1UintVref[11] = 22;
+ mapping_1UintVref[12] = 23;
+ mapping_1UintVref[13] = 24;
+ mapping_1UintVref[14] = 25;
+ mapping_1UintVref[15] = 26;
+ mapping_1UintVref[16] = 27;
+ mapping_1UintVref[17] = 28;
+ mapping_1UintVref[18] = 29;
+ mapping_1UintVref[19] = 30;
+ mapping_1UintVref[20] = 31;
+ mapping_1UintVref[21] = 32;
+ mapping_1UintVref[22] = 33;
+ mapping_1UintVref[23] = 34;
+ mapping_1UintVref[24] = 47;
+ mapping_1UintVref[25] = 48;
+ mapping_1UintVref[26] = 49;
+ status = mapping_1.getReal(mapping_1UintVref, 27, mapping_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
+ {
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getReal' on 'mapping_1'";
+ }
+ dmodel_1StringShare[0] = dmodel_1StringIo[0];
+ dmodel_1StringShare[1] = dmodel_1StringIo[1];
+ dmodel_1RealShare[0] = dmodel_1RealIo[0];
+ dmodel_1RealShare[1] = dmodel_1RealIo[1];
+ dmodel_1RealShare[2] = dmodel_1RealIo[2];
+ dmodel_1RealShare[3] = dmodel_1RealIo[3];
+ mapping_1StringShare[0] = mapping_1StringIo[0];
+ mapping_1StringShare[1] = mapping_1StringIo[1];
+ mapping_1StringShare[2] = mapping_1StringIo[2];
+ mapping_1BoolShare[0] = mapping_1BoolIo[0];
+ mapping_1BoolShare[1] = mapping_1BoolIo[1];
+ mapping_1BoolShare[2] = mapping_1BoolIo[2];
+ mapping_1BoolShare[3] = mapping_1BoolIo[3];
+ mapping_1BoolShare[4] = mapping_1BoolIo[4];
+ mapping_1BoolShare[5] = mapping_1BoolIo[5];
+ mapping_1BoolShare[6] = mapping_1BoolIo[6];
+ mapping_1BoolShare[7] = mapping_1BoolIo[7];
+ mapping_1BoolShare[8] = mapping_1BoolIo[8];
+ mapping_1BoolShare[9] = mapping_1BoolIo[9];
+ mapping_1RealShare[0] = mapping_1RealIo[0];
+ mapping_1RealShare[1] = mapping_1RealIo[1];
+ mapping_1RealShare[2] = mapping_1RealIo[2];
+ mapping_1RealShare[3] = mapping_1RealIo[3];
+ mapping_1RealShare[4] = mapping_1RealIo[4];
+ mapping_1RealShare[5] = mapping_1RealIo[5];
+ mapping_1RealShare[6] = mapping_1RealIo[6];
+ mapping_1RealShare[7] = mapping_1RealIo[7];
+ mapping_1RealShare[8] = mapping_1RealIo[8];
+ mapping_1RealShare[9] = mapping_1RealIo[9];
+ mapping_1RealShare[10] = mapping_1RealIo[10];
+ mapping_1RealShare[11] = mapping_1RealIo[11];
+ mapping_1RealShare[12] = mapping_1RealIo[12];
+ mapping_1RealShare[13] = mapping_1RealIo[13];
+ mapping_1RealShare[14] = mapping_1RealIo[14];
+ mapping_1RealShare[15] = mapping_1RealIo[15];
+ mapping_1RealShare[16] = mapping_1RealIo[16];
+ mapping_1RealShare[17] = mapping_1RealIo[17];
+ mapping_1RealShare[18] = mapping_1RealIo[18];
+ mapping_1RealShare[19] = mapping_1RealIo[19];
+ mapping_1RealShare[20] = mapping_1RealIo[20];
+ mapping_1RealShare[21] = mapping_1RealIo[21];
+ mapping_1RealShare[22] = mapping_1RealIo[22];
+ mapping_1RealShare[23] = mapping_1RealIo[23];
+ mapping_1RealShare[24] = mapping_1RealIo[24];
+ mapping_1RealShare[25] = mapping_1RealIo[25];
+ mapping_1RealShare[26] = mapping_1RealIo[26];
+ rmq_1StringShare[0] = rmq_1StringIo[0];
+ rmq_1RealShare[0] = rmq_1RealIo[0];
+ rmq_1RealShare[1] = rmq_1RealIo[1];
+ rmq_1RealShare[2] = rmq_1RealIo[2];
+ real fmu_communicationpoints[3];
+ dataWriter1.writeDataPoint(datawriter_configuration, jac_current_communication_point, dmodel_1StringShare[0], dmodel_1StringShare[1], dmodel_1RealShare[0], dmodel_1RealShare[1], dmodel_1RealShare[2], dmodel_1RealShare[3], rmq_1StringShare[0], rmq_1RealShare[0], rmq_1RealShare[1], rmq_1RealShare[2], mapping_1StringShare[0], mapping_1RealShare[0], mapping_1RealShare[1], mapping_1RealShare[2], mapping_1RealShare[3], mapping_1RealShare[4], mapping_1RealShare[5], mapping_1RealShare[6], mapping_1RealShare[7], mapping_1RealShare[8], mapping_1RealShare[9], mapping_1RealShare[10], mapping_1RealShare[11], mapping_1RealShare[12], mapping_1RealShare[13], mapping_1RealShare[14], mapping_1RealShare[15], mapping_1RealShare[16], mapping_1RealShare[17], mapping_1RealShare[18], mapping_1RealShare[19], mapping_1RealShare[20], mapping_1RealShare[21], mapping_1RealShare[22], mapping_1RealShare[23], mapping_1StringShare[1], mapping_1StringShare[2], mapping_1RealShare[24], mapping_1RealShare[25], mapping_1RealShare[26], mapping_1BoolShare[0], mapping_1BoolShare[1], mapping_1BoolShare[2], mapping_1BoolShare[3], mapping_1BoolShare[4], mapping_1BoolShare[5], mapping_1BoolShare[6], mapping_1BoolShare[7], mapping_1BoolShare[8], mapping_1BoolShare[9]);
+ bool any_discards = false;
+ while( (((jac_current_communication_point + jac_current_step_size) < jac_end_time)) )
+ {
+ bool tmp = simulationControl.stopRequested();
+ if( ((tmp)) )
{
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ error "Simulation stopped by user";
}
- if( ((status == FMI_FATAL)) )
+ @Transfer();
+ dmodel_1UintVref[0] = 0;
+ dmodel_1UintVref[1] = 1;
+ dmodel_1UintVref[2] = 2;
+ dmodel_1UintVref[3] = 3;
+ dmodel_1UintVref[4] = 4;
+ dmodel_1UintVref[5] = 5;
+ dmodel_1UintVref[6] = 6;
+ dmodel_1UintVref[7] = 7;
+ dmodel_1UintVref[8] = 8;
+ dmodel_1UintVref[9] = 9;
+ dmodel_1BoolIo[0] = mapping_1BoolShare[9];
+ dmodel_1BoolIo[1] = mapping_1BoolShare[5];
+ dmodel_1BoolIo[2] = mapping_1BoolShare[1];
+ dmodel_1BoolIo[3] = mapping_1BoolShare[4];
+ dmodel_1BoolIo[4] = mapping_1BoolShare[3];
+ dmodel_1BoolIo[5] = mapping_1BoolShare[6];
+ dmodel_1BoolIo[6] = mapping_1BoolShare[7];
+ dmodel_1BoolIo[7] = mapping_1BoolShare[2];
+ dmodel_1BoolIo[8] = mapping_1BoolShare[0];
+ dmodel_1BoolIo[9] = mapping_1BoolShare[8];
+ status = dmodel_1.setBoolean(dmodel_1UintVref, 10, dmodel_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
{
- logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
}
- error "Failed to 'setBoolean' on 'dmodel_1'";
- }
- mapping_1UintVref[0] = 0;
- mapping_1UintVref[1] = 35;
- mapping_1StringIo[0] = rmq_1StringShare[0];
- mapping_1StringIo[1] = dmodel_1StringShare[1];
- status = mapping_1.setString(mapping_1UintVref, 2, mapping_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
+ dmodel_1UintVref[0] = 10;
+ dmodel_1UintVref[1] = 11;
+ dmodel_1UintVref[2] = 12;
+ dmodel_1RealIo[0] = mapping_1RealShare[24];
+ dmodel_1RealIo[1] = mapping_1RealShare[25];
+ dmodel_1RealIo[2] = mapping_1RealShare[26];
+ status = dmodel_1.setReal(dmodel_1UintVref, 3, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
{
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetBoolean failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'setBoolean' on 'dmodel_1'";
}
- if( ((status == FMI_FATAL)) )
+ mapping_1UintVref[0] = 0;
+ mapping_1UintVref[1] = 35;
+ mapping_1StringIo[0] = rmq_1StringShare[0];
+ mapping_1StringIo[1] = dmodel_1StringShare[1];
+ status = mapping_1.setString(mapping_1UintVref, 2, mapping_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
{
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setString' on 'mapping_1'";
}
- error "Failed to 'setString' on 'mapping_1'";
- }
- mapping_1UintVref[0] = 1;
- mapping_1UintVref[1] = 2;
- mapping_1UintVref[2] = 3;
- mapping_1RealIo[0] = rmq_1RealShare[0];
- mapping_1RealIo[1] = rmq_1RealShare[1];
- mapping_1RealIo[2] = rmq_1RealShare[2];
- status = mapping_1.setReal(mapping_1UintVref, 3, mapping_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
+ mapping_1UintVref[0] = 1;
+ mapping_1UintVref[1] = 2;
+ mapping_1UintVref[2] = 3;
+ mapping_1UintVref[3] = 36;
+ mapping_1UintVref[4] = 37;
+ mapping_1UintVref[5] = 39;
+ mapping_1UintVref[6] = 40;
+ mapping_1RealIo[0] = rmq_1RealShare[0];
+ mapping_1RealIo[1] = rmq_1RealShare[1];
+ mapping_1RealIo[2] = rmq_1RealShare[2];
+ mapping_1RealIo[3] = dmodel_1RealShare[0];
+ mapping_1RealIo[4] = dmodel_1RealShare[1];
+ mapping_1RealIo[5] = dmodel_1RealShare[2];
+ mapping_1RealIo[6] = dmodel_1RealShare[3];
+ status = mapping_1.setReal(mapping_1UintVref, 7, mapping_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
{
- logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'setString' on 'mapping_1'";
}
- if( ((status == FMI_FATAL)) )
+ any_discards = false;
+ status = dmodel_1.doStep(jac_current_communication_point, jac_current_step_size, false);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
{
- logger.log(4, "SetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "DoStep failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "DoStep failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'doStep' on 'dmodel_1'";
}
- error "Failed to 'setString' on 'mapping_1'";
- }
- any_discards = false;
- status = dmodel_1.doStep(jac_current_communication_point, jac_current_step_size, false);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
+ if( ((status != FMI_OK)) )
{
- logger.log(4, "DoStep failed on '%s' with status: FMI_ERROR", dmodel_1);
+ if( ((status == FMI_DISCARD)) )
+ {
+ status = dmodel_1.getRealStatus(2, ref dmodel_1CurrentTime);
+ dmodel_1CurrentTimeFullStep = false;
+ }
}
- if( ((status == FMI_FATAL)) )
+ else
{
- logger.log(4, "DoStep failed on '%s' with status: FMI_FATAL", dmodel_1);
+ dmodel_1CurrentTime = jac_current_communication_point + jac_current_step_size;
+ dmodel_1CurrentTimeFullStep = true;
}
- error "Failed to 'doStep' on 'dmodel_1'";
- }
- if( ((status != FMI_OK)) )
- {
- if( ((status == FMI_DISCARD)) )
+ fmu_communicationpoints[0] = dmodel_1CurrentTime;
+ if( ((!dmodel_1CurrentTimeFullStep)) )
{
- status = dmodel_1.getRealStatus(2, ref dmodel_1CurrentTime);
- dmodel_1CurrentTimeFullStep = false;
+ logger.log(1, "## FMU: '%s' DISCARDED step at sim-time: %f for step-size: %f and proposed sim-time: %.15f", "dmodel_1", jac_current_communication_point, jac_current_step_size, dmodel_1CurrentTime);
+ any_discards = any_discards || !dmodel_1CurrentTimeFullStep;
}
- }
- else
- {
- dmodel_1CurrentTime = jac_current_communication_point + jac_current_step_size;
- dmodel_1CurrentTimeFullStep = true;
- }
- fmu_communicationpoints[0] = dmodel_1CurrentTime;
- if( ((!dmodel_1CurrentTimeFullStep)) )
- {
- logger.log(1, "## FMU: '%s' DISCARDED step at sim-time: %f for step-size: %f and proposed sim-time: %.15f", "dmodel_1", jac_current_communication_point, jac_current_step_size, dmodel_1CurrentTime);
- any_discards = any_discards || !dmodel_1CurrentTimeFullStep;
- }
- status = rmq_1.doStep(jac_current_communication_point, jac_current_step_size, false);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
+ status = rmq_1.doStep(jac_current_communication_point, jac_current_step_size, false);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
{
- logger.log(4, "DoStep failed on '%s' with status: FMI_ERROR", rmq_1);
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "DoStep failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "DoStep failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'doStep' on 'rmq_1'";
}
- if( ((status == FMI_FATAL)) )
+ if( ((status != FMI_OK)) )
{
- logger.log(4, "DoStep failed on '%s' with status: FMI_FATAL", rmq_1);
+ if( ((status == FMI_DISCARD)) )
+ {
+ status = rmq_1.getRealStatus(2, ref rmq_1CurrentTime);
+ rmq_1CurrentTimeFullStep = false;
+ }
}
- error "Failed to 'doStep' on 'rmq_1'";
- }
- if( ((status != FMI_OK)) )
- {
- if( ((status == FMI_DISCARD)) )
+ else
{
- status = rmq_1.getRealStatus(2, ref rmq_1CurrentTime);
- rmq_1CurrentTimeFullStep = false;
+ rmq_1CurrentTime = jac_current_communication_point + jac_current_step_size;
+ rmq_1CurrentTimeFullStep = true;
}
- }
- else
- {
- rmq_1CurrentTime = jac_current_communication_point + jac_current_step_size;
- rmq_1CurrentTimeFullStep = true;
- }
- fmu_communicationpoints[1] = rmq_1CurrentTime;
- if( ((!rmq_1CurrentTimeFullStep)) )
- {
- logger.log(1, "## FMU: '%s' DISCARDED step at sim-time: %f for step-size: %f and proposed sim-time: %.15f", "rmq_1", jac_current_communication_point, jac_current_step_size, rmq_1CurrentTime);
- any_discards = any_discards || !rmq_1CurrentTimeFullStep;
- }
- status = mapping_1.doStep(jac_current_communication_point, jac_current_step_size, false);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
+ fmu_communicationpoints[1] = rmq_1CurrentTime;
+ if( ((!rmq_1CurrentTimeFullStep)) )
{
- logger.log(4, "DoStep failed on '%s' with status: FMI_ERROR", mapping_1);
+ logger.log(1, "## FMU: '%s' DISCARDED step at sim-time: %f for step-size: %f and proposed sim-time: %.15f", "rmq_1", jac_current_communication_point, jac_current_step_size, rmq_1CurrentTime);
+ any_discards = any_discards || !rmq_1CurrentTimeFullStep;
}
- if( ((status == FMI_FATAL)) )
+ status = mapping_1.doStep(jac_current_communication_point, jac_current_step_size, false);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
{
- logger.log(4, "DoStep failed on '%s' with status: FMI_FATAL", mapping_1);
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "DoStep failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "DoStep failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'doStep' on 'mapping_1'";
}
- error "Failed to 'doStep' on 'mapping_1'";
- }
- if( ((status != FMI_OK)) )
- {
- if( ((status == FMI_DISCARD)) )
+ if( ((status != FMI_OK)) )
{
- status = mapping_1.getRealStatus(2, ref mapping_1CurrentTime);
- mapping_1CurrentTimeFullStep = false;
+ if( ((status == FMI_DISCARD)) )
+ {
+ status = mapping_1.getRealStatus(2, ref mapping_1CurrentTime);
+ mapping_1CurrentTimeFullStep = false;
+ }
}
- }
- else
- {
- mapping_1CurrentTime = jac_current_communication_point + jac_current_step_size;
- mapping_1CurrentTimeFullStep = true;
- }
- fmu_communicationpoints[2] = mapping_1CurrentTime;
- if( ((!mapping_1CurrentTimeFullStep)) )
- {
- logger.log(1, "## FMU: '%s' DISCARDED step at sim-time: %f for step-size: %f and proposed sim-time: %.15f", "mapping_1", jac_current_communication_point, jac_current_step_size, mapping_1CurrentTime);
- any_discards = any_discards || !mapping_1CurrentTimeFullStep;
- }
- mapping_1UintVref[0] = 11;
- mapping_1UintVref[1] = 12;
- mapping_1UintVref[2] = 13;
- mapping_1UintVref[3] = 14;
- mapping_1UintVref[4] = 15;
- mapping_1UintVref[5] = 16;
- mapping_1UintVref[6] = 17;
- mapping_1UintVref[7] = 18;
- mapping_1UintVref[8] = 19;
- mapping_1UintVref[9] = 20;
- mapping_1UintVref[10] = 21;
- mapping_1UintVref[11] = 22;
- mapping_1UintVref[12] = 23;
- mapping_1UintVref[13] = 24;
- mapping_1UintVref[14] = 25;
- mapping_1UintVref[15] = 26;
- mapping_1UintVref[16] = 27;
- mapping_1UintVref[17] = 28;
- mapping_1UintVref[18] = 29;
- mapping_1UintVref[19] = 30;
- mapping_1UintVref[20] = 31;
- mapping_1UintVref[21] = 32;
- mapping_1UintVref[22] = 33;
- mapping_1UintVref[23] = 34;
- status = mapping_1.getReal(mapping_1UintVref, 24, mapping_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
+ else
{
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ mapping_1CurrentTime = jac_current_communication_point + jac_current_step_size;
+ mapping_1CurrentTimeFullStep = true;
}
- if( ((status == FMI_FATAL)) )
+ fmu_communicationpoints[2] = mapping_1CurrentTime;
+ if( ((!mapping_1CurrentTimeFullStep)) )
{
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ logger.log(1, "## FMU: '%s' DISCARDED step at sim-time: %f for step-size: %f and proposed sim-time: %.15f", "mapping_1", jac_current_communication_point, jac_current_step_size, mapping_1CurrentTime);
+ any_discards = any_discards || !mapping_1CurrentTimeFullStep;
}
- error "Failed to 'getReal' on 'mapping_1'";
- }
- mapping_1UintVref[0] = 0;
- mapping_1UintVref[1] = 35;
- mapping_1UintVref[2] = 46;
- status = mapping_1.getString(mapping_1UintVref, 3, mapping_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
+ dmodel_1UintVref[0] = 24;
+ dmodel_1UintVref[1] = 27;
+ status = dmodel_1.getString(dmodel_1UintVref, 2, dmodel_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
{
- logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getString' on 'dmodel_1'";
}
- if( ((status == FMI_FATAL)) )
+ dmodel_1UintVref[0] = 28;
+ dmodel_1UintVref[1] = 29;
+ dmodel_1UintVref[2] = 30;
+ dmodel_1UintVref[3] = 31;
+ status = dmodel_1.getReal(dmodel_1UintVref, 4, dmodel_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
{
- logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ }
+ error "Failed to 'getReal' on 'dmodel_1'";
}
- error "Failed to 'getString' on 'mapping_1'";
- }
- mapping_1UintVref[0] = 57;
- mapping_1UintVref[1] = 58;
- mapping_1UintVref[2] = 59;
- mapping_1UintVref[3] = 60;
- mapping_1UintVref[4] = 61;
- mapping_1UintVref[5] = 62;
- mapping_1UintVref[6] = 63;
- mapping_1UintVref[7] = 64;
- mapping_1UintVref[8] = 65;
- mapping_1UintVref[9] = 66;
- status = mapping_1.getBoolean(mapping_1UintVref, 10, mapping_1BoolIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
+ mapping_1UintVref[0] = 0;
+ mapping_1UintVref[1] = 35;
+ mapping_1UintVref[2] = 46;
+ status = mapping_1.getString(mapping_1UintVref, 3, mapping_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
{
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getString' on 'mapping_1'";
}
- if( ((status == FMI_FATAL)) )
+ mapping_1UintVref[0] = 57;
+ mapping_1UintVref[1] = 58;
+ mapping_1UintVref[2] = 59;
+ mapping_1UintVref[3] = 60;
+ mapping_1UintVref[4] = 61;
+ mapping_1UintVref[5] = 62;
+ mapping_1UintVref[6] = 63;
+ mapping_1UintVref[7] = 64;
+ mapping_1UintVref[8] = 65;
+ mapping_1UintVref[9] = 66;
+ status = mapping_1.getBoolean(mapping_1UintVref, 10, mapping_1BoolIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
{
- logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetBoolean failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getBoolean' on 'mapping_1'";
}
- error "Failed to 'getBoolean' on 'mapping_1'";
- }
- dmodel_1UintVref[0] = 24;
- dmodel_1UintVref[1] = 27;
- status = dmodel_1.getString(dmodel_1UintVref, 2, dmodel_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
+ mapping_1UintVref[0] = 11;
+ mapping_1UintVref[1] = 12;
+ mapping_1UintVref[2] = 13;
+ mapping_1UintVref[3] = 14;
+ mapping_1UintVref[4] = 15;
+ mapping_1UintVref[5] = 16;
+ mapping_1UintVref[6] = 17;
+ mapping_1UintVref[7] = 18;
+ mapping_1UintVref[8] = 19;
+ mapping_1UintVref[9] = 20;
+ mapping_1UintVref[10] = 21;
+ mapping_1UintVref[11] = 22;
+ mapping_1UintVref[12] = 23;
+ mapping_1UintVref[13] = 24;
+ mapping_1UintVref[14] = 25;
+ mapping_1UintVref[15] = 26;
+ mapping_1UintVref[16] = 27;
+ mapping_1UintVref[17] = 28;
+ mapping_1UintVref[18] = 29;
+ mapping_1UintVref[19] = 30;
+ mapping_1UintVref[20] = 31;
+ mapping_1UintVref[21] = 32;
+ mapping_1UintVref[22] = 33;
+ mapping_1UintVref[23] = 34;
+ mapping_1UintVref[24] = 47;
+ mapping_1UintVref[25] = 48;
+ mapping_1UintVref[26] = 49;
+ status = mapping_1.getReal(mapping_1UintVref, 27, mapping_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
{
- logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", dmodel_1);
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", mapping_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", mapping_1);
+ }
+ error "Failed to 'getReal' on 'mapping_1'";
}
- if( ((status == FMI_FATAL)) )
+ rmq_1UintVref[0] = 21;
+ status = rmq_1.getString(rmq_1UintVref, 1, rmq_1StringIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
{
- logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", dmodel_1);
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'getString' on 'rmq_1'";
}
- error "Failed to 'getString' on 'dmodel_1'";
- }
- dmodel_1UintVref[0] = 28;
- dmodel_1UintVref[1] = 29;
- dmodel_1UintVref[2] = 30;
- status = dmodel_1.getReal(dmodel_1UintVref, 3, dmodel_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
+ rmq_1UintVref[0] = 22;
+ rmq_1UintVref[1] = 23;
+ rmq_1UintVref[2] = 24;
+ status = rmq_1.getReal(rmq_1UintVref, 3, rmq_1RealIo);
+ if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
{
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", dmodel_1);
+ if( ((status == FMI_ERROR)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
+ }
+ if( ((status == FMI_FATAL)) )
+ {
+ logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
+ }
+ error "Failed to 'getReal' on 'rmq_1'";
}
- if( ((status == FMI_FATAL)) )
+ dmodel_1StringShare[0] = dmodel_1StringIo[0];
+ dmodel_1StringShare[1] = dmodel_1StringIo[1];
+ dmodel_1RealShare[0] = dmodel_1RealIo[0];
+ dmodel_1RealShare[1] = dmodel_1RealIo[1];
+ dmodel_1RealShare[2] = dmodel_1RealIo[2];
+ dmodel_1RealShare[3] = dmodel_1RealIo[3];
+ mapping_1StringShare[0] = mapping_1StringIo[0];
+ mapping_1StringShare[1] = mapping_1StringIo[1];
+ mapping_1StringShare[2] = mapping_1StringIo[2];
+ mapping_1BoolShare[0] = mapping_1BoolIo[0];
+ mapping_1BoolShare[1] = mapping_1BoolIo[1];
+ mapping_1BoolShare[2] = mapping_1BoolIo[2];
+ mapping_1BoolShare[3] = mapping_1BoolIo[3];
+ mapping_1BoolShare[4] = mapping_1BoolIo[4];
+ mapping_1BoolShare[5] = mapping_1BoolIo[5];
+ mapping_1BoolShare[6] = mapping_1BoolIo[6];
+ mapping_1BoolShare[7] = mapping_1BoolIo[7];
+ mapping_1BoolShare[8] = mapping_1BoolIo[8];
+ mapping_1BoolShare[9] = mapping_1BoolIo[9];
+ mapping_1RealShare[0] = mapping_1RealIo[0];
+ mapping_1RealShare[1] = mapping_1RealIo[1];
+ mapping_1RealShare[2] = mapping_1RealIo[2];
+ mapping_1RealShare[3] = mapping_1RealIo[3];
+ mapping_1RealShare[4] = mapping_1RealIo[4];
+ mapping_1RealShare[5] = mapping_1RealIo[5];
+ mapping_1RealShare[6] = mapping_1RealIo[6];
+ mapping_1RealShare[7] = mapping_1RealIo[7];
+ mapping_1RealShare[8] = mapping_1RealIo[8];
+ mapping_1RealShare[9] = mapping_1RealIo[9];
+ mapping_1RealShare[10] = mapping_1RealIo[10];
+ mapping_1RealShare[11] = mapping_1RealIo[11];
+ mapping_1RealShare[12] = mapping_1RealIo[12];
+ mapping_1RealShare[13] = mapping_1RealIo[13];
+ mapping_1RealShare[14] = mapping_1RealIo[14];
+ mapping_1RealShare[15] = mapping_1RealIo[15];
+ mapping_1RealShare[16] = mapping_1RealIo[16];
+ mapping_1RealShare[17] = mapping_1RealIo[17];
+ mapping_1RealShare[18] = mapping_1RealIo[18];
+ mapping_1RealShare[19] = mapping_1RealIo[19];
+ mapping_1RealShare[20] = mapping_1RealIo[20];
+ mapping_1RealShare[21] = mapping_1RealIo[21];
+ mapping_1RealShare[22] = mapping_1RealIo[22];
+ mapping_1RealShare[23] = mapping_1RealIo[23];
+ mapping_1RealShare[24] = mapping_1RealIo[24];
+ mapping_1RealShare[25] = mapping_1RealIo[25];
+ mapping_1RealShare[26] = mapping_1RealIo[26];
+ rmq_1StringShare[0] = rmq_1StringIo[0];
+ rmq_1RealShare[0] = rmq_1RealIo[0];
+ rmq_1RealShare[1] = rmq_1RealIo[1];
+ rmq_1RealShare[2] = rmq_1RealIo[2];
+ if( ((!any_discards)) )
{
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", dmodel_1);
+ jac_current_communication_point = jac_current_communication_point + jac_current_step_size;
+ dataWriter1.writeDataPoint(datawriter_configuration, jac_current_communication_point, dmodel_1StringShare[0], dmodel_1StringShare[1], dmodel_1RealShare[0], dmodel_1RealShare[1], dmodel_1RealShare[2], dmodel_1RealShare[3], rmq_1StringShare[0], rmq_1RealShare[0], rmq_1RealShare[1], rmq_1RealShare[2], mapping_1StringShare[0], mapping_1RealShare[0], mapping_1RealShare[1], mapping_1RealShare[2], mapping_1RealShare[3], mapping_1RealShare[4], mapping_1RealShare[5], mapping_1RealShare[6], mapping_1RealShare[7], mapping_1RealShare[8], mapping_1RealShare[9], mapping_1RealShare[10], mapping_1RealShare[11], mapping_1RealShare[12], mapping_1RealShare[13], mapping_1RealShare[14], mapping_1RealShare[15], mapping_1RealShare[16], mapping_1RealShare[17], mapping_1RealShare[18], mapping_1RealShare[19], mapping_1RealShare[20], mapping_1RealShare[21], mapping_1RealShare[22], mapping_1RealShare[23], mapping_1StringShare[1], mapping_1StringShare[2], mapping_1RealShare[24], mapping_1RealShare[25], mapping_1RealShare[26], mapping_1BoolShare[0], mapping_1BoolShare[1], mapping_1BoolShare[2], mapping_1BoolShare[3], mapping_1BoolShare[4], mapping_1BoolShare[5], mapping_1BoolShare[6], mapping_1BoolShare[7], mapping_1BoolShare[8], mapping_1BoolShare[9]);
+ jac_current_step_size = jac_step_size;
}
- error "Failed to 'getReal' on 'dmodel_1'";
- }
- rmq_1UintVref[0] = 22;
- rmq_1UintVref[1] = 23;
- rmq_1UintVref[2] = 24;
- status = rmq_1.getReal(rmq_1UintVref, 3, rmq_1RealIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetReal failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'getReal' on 'rmq_1'";
- }
- rmq_1UintVref[0] = 21;
- status = rmq_1.getString(rmq_1UintVref, 1, rmq_1StringIo);
- if( (((status == FMI_ERROR) || (status == FMI_FATAL))) )
- {
- if( ((status == FMI_ERROR)) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_ERROR", rmq_1);
- }
- if( ((status == FMI_FATAL)) )
- {
- logger.log(4, "GetString failed on '%s' with status: FMI_FATAL", rmq_1);
- }
- error "Failed to 'getString' on 'rmq_1'";
- }
- mapping_1BoolShare[0] = mapping_1BoolIo[0];
- mapping_1BoolShare[1] = mapping_1BoolIo[1];
- mapping_1BoolShare[2] = mapping_1BoolIo[2];
- mapping_1BoolShare[3] = mapping_1BoolIo[3];
- mapping_1BoolShare[4] = mapping_1BoolIo[4];
- mapping_1BoolShare[5] = mapping_1BoolIo[5];
- mapping_1BoolShare[6] = mapping_1BoolIo[6];
- mapping_1BoolShare[7] = mapping_1BoolIo[7];
- mapping_1BoolShare[8] = mapping_1BoolIo[8];
- mapping_1BoolShare[9] = mapping_1BoolIo[9];
- mapping_1StringShare[0] = mapping_1StringIo[0];
- mapping_1StringShare[1] = mapping_1StringIo[1];
- mapping_1StringShare[2] = mapping_1StringIo[2];
- mapping_1RealShare[0] = mapping_1RealIo[0];
- mapping_1RealShare[1] = mapping_1RealIo[1];
- mapping_1RealShare[2] = mapping_1RealIo[2];
- mapping_1RealShare[3] = mapping_1RealIo[3];
- mapping_1RealShare[4] = mapping_1RealIo[4];
- mapping_1RealShare[5] = mapping_1RealIo[5];
- mapping_1RealShare[6] = mapping_1RealIo[6];
- mapping_1RealShare[7] = mapping_1RealIo[7];
- mapping_1RealShare[8] = mapping_1RealIo[8];
- mapping_1RealShare[9] = mapping_1RealIo[9];
- mapping_1RealShare[10] = mapping_1RealIo[10];
- mapping_1RealShare[11] = mapping_1RealIo[11];
- mapping_1RealShare[12] = mapping_1RealIo[12];
- mapping_1RealShare[13] = mapping_1RealIo[13];
- mapping_1RealShare[14] = mapping_1RealIo[14];
- mapping_1RealShare[15] = mapping_1RealIo[15];
- mapping_1RealShare[16] = mapping_1RealIo[16];
- mapping_1RealShare[17] = mapping_1RealIo[17];
- mapping_1RealShare[18] = mapping_1RealIo[18];
- mapping_1RealShare[19] = mapping_1RealIo[19];
- mapping_1RealShare[20] = mapping_1RealIo[20];
- mapping_1RealShare[21] = mapping_1RealIo[21];
- mapping_1RealShare[22] = mapping_1RealIo[22];
- mapping_1RealShare[23] = mapping_1RealIo[23];
- dmodel_1StringShare[0] = dmodel_1StringIo[0];
- dmodel_1StringShare[1] = dmodel_1StringIo[1];
- dmodel_1RealShare[0] = dmodel_1RealIo[0];
- dmodel_1RealShare[1] = dmodel_1RealIo[1];
- dmodel_1RealShare[2] = dmodel_1RealIo[2];
- rmq_1StringShare[0] = rmq_1StringIo[0];
- rmq_1RealShare[0] = rmq_1RealIo[0];
- rmq_1RealShare[1] = rmq_1RealIo[1];
- rmq_1RealShare[2] = rmq_1RealIo[2];
- if( ((!any_discards)) )
+ }
+ dataWriter1.close();
+ } finally
{
- jac_current_communication_point = jac_current_communication_point + jac_current_step_size;
- dataWriter1.writeDataPoint(datawriter_configuration, jac_current_communication_point, dmodel_1StringShare[0], dmodel_1StringShare[1], dmodel_1RealShare[0], dmodel_1RealShare[1], dmodel_1RealShare[2], rmq_1StringShare[0], rmq_1RealShare[0], rmq_1RealShare[1], rmq_1RealShare[2], mapping_1StringShare[0], mapping_1RealShare[0], mapping_1RealShare[1], mapping_1RealShare[2], mapping_1RealShare[3], mapping_1RealShare[4], mapping_1RealShare[5], mapping_1RealShare[6], mapping_1RealShare[7], mapping_1RealShare[8], mapping_1RealShare[9], mapping_1RealShare[10], mapping_1RealShare[11], mapping_1RealShare[12], mapping_1RealShare[13], mapping_1RealShare[14], mapping_1RealShare[15], mapping_1RealShare[16], mapping_1RealShare[17], mapping_1RealShare[18], mapping_1RealShare[19], mapping_1RealShare[20], mapping_1RealShare[21], mapping_1RealShare[22], mapping_1RealShare[23], mapping_1StringShare[1], mapping_1StringShare[2], mapping_1BoolShare[0], mapping_1BoolShare[1], mapping_1BoolShare[2], mapping_1BoolShare[3], mapping_1BoolShare[4], mapping_1BoolShare[5], mapping_1BoolShare[6], mapping_1BoolShare[7], mapping_1BoolShare[8], mapping_1BoolShare[9]);
- jac_current_step_size = jac_step_size;
+ if( ((simulationControl != null)) )
+ {
+ unload(simulationControl);
+ simulationControl = null;
+ }
+ if( ((dataWriter1 != null)) )
+ {
+ unload(dataWriter1);
+ dataWriter1 = null;
+ }
+ if( ((booleanLogic2 != null)) )
+ {
+ unload(booleanLogic2);
+ booleanLogic2 = null;
+ }
}
- }
- dataWriter1.close();
- } finally
- {
- if( ((simulationControl != null)) )
- {
- unload(simulationControl);
- simulationControl = null;
- }
- if( ((dataWriter1 != null)) )
- {
- unload(dataWriter1);
- dataWriter1 = null;
- }
- if( ((booleanLogic2 != null)) )
- {
- unload(booleanLogic2);
- booleanLogic2 = null;
- }
}
mapping_1.terminate();
rmq_1.terminate();
diff --git a/co-simulation/rmqfmu/modelDescription.xml b/co-simulation/rmqfmu/modelDescription.xml
index bf07726..3467967 100644
--- a/co-simulation/rmqfmu/modelDescription.xml
+++ b/co-simulation/rmqfmu/modelDescription.xml
@@ -100,9 +100,7 @@
-
-
-
+
diff --git a/co-simulation/rmqfmu/resources/modelDescription.xml b/co-simulation/rmqfmu/resources/modelDescription.xml
index bf07726..3467967 100644
--- a/co-simulation/rmqfmu/resources/modelDescription.xml
+++ b/co-simulation/rmqfmu/resources/modelDescription.xml
@@ -100,9 +100,7 @@
-
-
-
+
diff --git a/co-simulation/rmqfmu/wrap_fmu.sh b/co-simulation/rmqfmu/wrap_fmu.sh
new file mode 100755
index 0000000..48f0ade
--- /dev/null
+++ b/co-simulation/rmqfmu/wrap_fmu.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+#Author: Santiago Gil
+cp modelDescription.xml resources/modelDescription.xml
+zip -r rmqfmu.fmu .
+cp rmqfmu.fmu ../
+rm rmqfmu.fmu
diff --git a/co-simulation/target/coe.log b/co-simulation/target/coe.log
index ca68979..a934e6c 100644
--- a/co-simulation/target/coe.log
+++ b/co-simulation/target/coe.log
@@ -1,11 +1,417 @@
-18:12:31.083 [main] INFO org.intocps.maestro.parser.MablParserUtil - Parting file: generate/spec.mabl
-18:12:31.672 [main] DEBUG org.intocps.maestro.Mabl - Frameworks: []
-18:12:31.942 [main] DEBUG org.intocps.maestro.Mabl - Type checking
-18:12:32.738 [main] INFO org.intocps.maestro.interpreter.MableInterpreter - Starting Mable Interpreter...
-18:12:32.804 [main] DEBUG org.intocps.fmi.jnifmuapi.NativeFmu - Load FMU /home/santiago/York/flex-cell/co-simulation/models/mappingFMU.fmu
-18:12:32.805 [main] DEBUG org.intocps.fmi.jnifmuapi.NativeFmu - Extracting: /home/santiago/York/flex-cell/co-simulation/models/mappingFMU.fmu to /tmp/mappingFMU7696942138014331386
-18:12:33.170 [main] DEBUG org.intocps.fmi.jnifmuapi.NativeFmu - Extracted '/home/santiago/York/flex-cell/co-simulation/models/mappingFMU.fmu' to '/tmp/mappingFMU7696942138014331386'
-18:12:33.224 [main] DEBUG org.intocps.fmi.jnifmuapi.shared.NativeLoadManager - Loading FMU library: /tmp/mappingFMU7696942138014331386/binaries/linux64/unifmu.so
-18:12:33.226 [main] DEBUG org.intocps.fmi.jnifmuapi.NativeFmuLibraryLoader - Loading library: lib/Linux-amd64/libfmuapi.so
-18:12:33.227 [main] DEBUG org.intocps.fmi.jnifmuapi.shared.NativeLibraryLoader - Extracting library from: lib/Linux-amd64/libfmuapi.so
-18:12:33.239 [main] DEBUG org.intocps.fmi.jnifmuapi.shared.NativeLibraryLoader - Extracted library: /tmp/jnifmuapi14433971453066208809/jnifmuapi-Linux-amd64/libfmuapi.so
+16:21:09.764 [main] INFO org.intocps.maestro.parser.MablParserUtil - Parting file: generate/spec.mabl
+16:21:10.468 [main] DEBUG org.intocps.maestro.Mabl - Frameworks: []
+16:21:10.782 [main] DEBUG org.intocps.maestro.Mabl - Type checking
+16:21:13.108 [main] INFO org.intocps.maestro.interpreter.MableInterpreter - Starting Mable Interpreter...
+16:21:13.170 [main] DEBUG org.intocps.fmi.jnifmuapi.NativeFmu - Load FMU /home/santiago/York/flex-cell/co-simulation/models/mappingFMU.fmu
+16:21:13.170 [main] DEBUG org.intocps.fmi.jnifmuapi.NativeFmu - Extracting: /home/santiago/York/flex-cell/co-simulation/models/mappingFMU.fmu to /tmp/mappingFMU6155285927008587895
+16:21:13.443 [main] DEBUG org.intocps.fmi.jnifmuapi.NativeFmu - Extracted '/home/santiago/York/flex-cell/co-simulation/models/mappingFMU.fmu' to '/tmp/mappingFMU6155285927008587895'
+16:21:13.563 [main] DEBUG org.intocps.fmi.jnifmuapi.shared.NativeLoadManager - Loading FMU library: /tmp/mappingFMU6155285927008587895/binaries/linux64/unifmu.so
+16:21:13.565 [main] DEBUG org.intocps.fmi.jnifmuapi.NativeFmuLibraryLoader - Loading library: lib/Linux-amd64/libfmuapi.so
+16:21:13.567 [main] DEBUG org.intocps.fmi.jnifmuapi.shared.NativeLibraryLoader - Extracting library from: lib/Linux-amd64/libfmuapi.so
+16:21:13.594 [main] DEBUG org.intocps.fmi.jnifmuapi.shared.NativeLibraryLoader - Extracted library: /tmp/jnifmuapi5653284651623393762/jnifmuapi-Linux-amd64/libfmuapi.so
+16:21:13.597 [main] DEBUG org.intocps.fmi.jnifmuapi.NativeFmuLibraryLoader - Loaded Library file: /tmp/jnifmuapi5653284651623393762/jnifmuapi-Linux-amd64/libfmuapi.so
+16:21:13.599 [main] DEBUG org.intocps.fmi.jnifmuapi.shared.NativeLoadManager - Successfully loaded FMU library: /tmp/mappingFMU6155285927008587895/binaries/linux64/unifmu.so
+16:21:13.599 [main] DEBUG org.intocps.fmi.jnifmuapi.shared.NativeLoadManager - Loaded library into DLL pointer: 140061173151776
+16:21:13.611 [main] DEBUG org.intocps.fmi.jnifmuapi.NativeFmu - Load FMU /home/santiago/York/flex-cell/co-simulation/models/dmodelFMU.fmu
+16:21:13.612 [main] DEBUG org.intocps.fmi.jnifmuapi.NativeFmu - Extracting: /home/santiago/York/flex-cell/co-simulation/models/dmodelFMU.fmu to /tmp/dmodelFMU7329700166359888933
+16:21:13.635 [main] DEBUG org.intocps.fmi.jnifmuapi.NativeFmu - Extracted '/home/santiago/York/flex-cell/co-simulation/models/dmodelFMU.fmu' to '/tmp/dmodelFMU7329700166359888933'
+16:21:13.660 [main] DEBUG org.intocps.fmi.jnifmuapi.shared.NativeLoadManager - Loading FMU library: /tmp/dmodelFMU7329700166359888933/binaries/linux64/DiscreteGrippingArm.so
+16:21:13.662 [main] DEBUG org.intocps.fmi.jnifmuapi.shared.NativeLoadManager - Successfully loaded FMU library: /tmp/dmodelFMU7329700166359888933/binaries/linux64/DiscreteGrippingArm.so
+16:21:13.662 [main] DEBUG org.intocps.fmi.jnifmuapi.shared.NativeLoadManager - Loaded library into DLL pointer: 140061173711072
+16:21:13.664 [main] DEBUG org.intocps.fmi.jnifmuapi.NativeFmu - Load FMU /home/santiago/York/flex-cell/co-simulation/models/rmqfmu.fmu
+16:21:13.664 [main] DEBUG org.intocps.fmi.jnifmuapi.NativeFmu - Extracting: /home/santiago/York/flex-cell/co-simulation/models/rmqfmu.fmu to /tmp/rmqfmu2153192751914329503
+16:21:14.085 [main] DEBUG org.intocps.fmi.jnifmuapi.NativeFmu - Extracted '/home/santiago/York/flex-cell/co-simulation/models/rmqfmu.fmu' to '/tmp/rmqfmu2153192751914329503'
+16:21:14.106 [main] DEBUG org.intocps.fmi.jnifmuapi.shared.NativeLoadManager - Loading FMU library: /tmp/rmqfmu2153192751914329503/binaries/linux64/rabbitmq.so
+16:21:14.116 [main] DEBUG org.intocps.fmi.jnifmuapi.shared.NativeLoadManager - Successfully loaded FMU library: /tmp/rmqfmu2153192751914329503/binaries/linux64/rabbitmq.so
+16:21:14.120 [main] DEBUG org.intocps.fmi.jnifmuapi.shared.NativeLoadManager - Loaded library into DLL pointer: 140061170983248
+16:21:14.124 [main] DEBUG org.intocps.maestro.interpreter.Interpreter - Loading native FMU. GUID: 77236337-210e-4e9c-8f2c-c1a0677db21b, NAME: mapping
+16:21:17.578 [main] DEBUG org.intocps.maestro.interpreter.Interpreter - Loading native FMU. GUID: {cfc65592-ffff-4563-9705-1581b6e7071c}, NAME: rmq
+16:21:17.592 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logFmiCall', message: FMU: Called instantiate with instance 'rmq' and GUID '{cfc65592-ffff-4563-9705-1581b6e7071c}'
+16:21:17.597 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: FMU: Resource model description file location is '/tmp/rmqfmu2153192751914329503/resources/modelDescription.xml'
+16:21:17.616 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'config.communicationtimeout config.communicationtimeout 5 60 1'
+16:21:17.616 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'config.exchangename config.exchangename 9 fmi_digital_twin 1'
+16:21:17.618 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'config.exchangetype config.exchangetype 10 direct 1'
+16:21:17.618 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'config.healthdata.exchangename config.healthdata.exchangename 11 fmi_digital_twin_sh 1'
+16:21:17.619 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'config.healthdata.exchangetype config.healthdata.exchangetype 12 direct 1'
+16:21:17.619 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'config.hostname config.hostname 0 localhost 1'
+16:21:17.620 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'config.lookahead config.lookahead 8 1 1'
+16:21:17.620 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'config.maxage config.maxage 7 1000 1'
+16:21:17.620 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'config.password config.password 3 guest 1'
+16:21:17.621 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'config.port config.port 1 5672 1'
+16:21:17.621 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'config.precision config.precision 6 10 1'
+16:21:17.622 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'config.queueupperbound config.queueupperbound 17 100 1'
+16:21:17.626 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'config.routingkey config.routingkey 4 data.to_cosim 1'
+16:21:17.627 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'config.routingkey.from_cosim config.routingkey.from_cosim 13 data.from_cosim 1'
+16:21:17.627 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'config.ssl config.ssl 16 0 1'
+16:21:17.628 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'config.username config.username 2 guest 1'
+16:21:17.633 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'controller_event controller_event 21 1'
+16:21:17.634 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'controller_event_args_0 controller_event_args_0 22 0.000000 1'
+16:21:17.636 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'controller_event_args_1 controller_event_args_1 23 0.000000 1'
+16:21:17.636 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'controller_event_args_2 controller_event_args_2 24 0.000000 1'
+16:21:17.638 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'controller_event_args_3 controller_event_args_3 25 0.000000 1'
+16:21:17.639 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'controller_event_args_4 controller_event_args_4 26 0.000000 1'
+16:21:17.640 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'controller_event_args_5 controller_event_args_5 27 0.000000 1'
+16:21:17.640 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'controller_event_args_6 controller_event_args_6 28 0.000000 1'
+16:21:17.640 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'controller_event_args_7 controller_event_args_7 29 0.000000 1'
+16:21:17.640 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'controller_event_args_8 controller_event_args_8 30 0.000000 1'
+16:21:17.659 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: 'controller_event_args_9 controller_event_args_9 31 0.000000 1'
+16:21:17.677 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Using Tool: 'RabbitMQ digital twin generator'
+16:21:17.679 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Parsed model description to obtain name, ref, type triples '/tmp/rmqfmu2153192751914329503/resources/modelDescription.xml'
+16:21:17.679 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Extracted start values from model description '/tmp/rmqfmu2153192751914329503/resources/modelDescription.xml'
+16:21:17.679 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'Warning', category: 'logWarn', message: The seqno output is NOT present with.
+16:21:17.680 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'Warning', category: 'logWarn', message: The enable send input is NOT present with.
+16:21:17.681 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Initialization done 'rmq'
+16:21:17.681 [main] DEBUG org.intocps.maestro.interpreter.Interpreter - Loading native FMU. GUID: {1AE5E10D-9521-4DE3-80B9-D0EAAA7D5AF1}, NAME: dmodel
+16:21:17.749 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetupExperiment 'rmq'
+16:21:17.793 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetString 'rmq'
+16:21:17.805 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Setting string ref 0 = localhost
+16:21:17.825 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetInteger 'rmq'
+16:21:17.826 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Setting integer ref 1 = 5672
+16:21:17.827 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetString 'rmq'
+16:21:17.828 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Setting string ref 2 = guest
+16:21:17.829 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetString 'rmq'
+16:21:17.829 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Setting string ref 3 = guest
+16:21:17.829 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetString 'rmq'
+16:21:17.829 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Setting string ref 4 = data.to_cosim
+16:21:17.840 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetInteger 'rmq'
+16:21:17.841 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Setting integer ref 5 = 60
+16:21:17.842 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetInteger 'rmq'
+16:21:17.844 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Setting integer ref 6 = 10
+16:21:17.860 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetInteger 'rmq'
+16:21:17.862 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Setting integer ref 7 = 1000
+16:21:17.863 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetInteger 'rmq'
+16:21:17.864 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Setting integer ref 8 = 1
+16:21:17.866 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetString 'rmq'
+16:21:17.868 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Setting string ref 9 = fmi_digital_twin
+16:21:17.873 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetString 'rmq'
+16:21:17.875 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Setting string ref 10 = direct
+16:21:17.876 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetString 'rmq'
+16:21:17.879 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Setting string ref 11 = fmi_digital_twin_sh
+16:21:17.894 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetString 'rmq'
+16:21:17.897 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Setting string ref 12 = direct
+16:21:17.898 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetString 'rmq'
+16:21:17.899 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Setting string ref 13 = data.from_cosim
+16:21:17.925 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetBoolean 'rmq'
+16:21:17.933 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Setting boolean ref 16 = 0
+16:21:17.938 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2SetInteger 'rmq'
+16:21:17.938 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Setting integer ref 17 = 100
+16:21:17.939 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2EnterInitializationMode 'rmq'
+16:21:17.939 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Preparing initialization. Looking Up configuration parameters
+16:21:17.939 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Preparing initialization. Hostname='localhost', Port='5672', Username='guest', routingkey='data.to_cosim', communication timeout 60 s, precision 10000000000 (10), SSL 0
+16:21:17.979 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending RabbitMQ ready message
+16:21:17.989 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:17.985', '{"time": "2024-04-15T16:21:17.985+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}'
+16:21:17.990 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '21' ''
+16:21:17.990 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Initialization OK
+16:21:17.991 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Initialization completed with: Hostname='localhost', Port='5672', Username='guest', routingkey='data.to_cosim', starttimestamp='2024-04-15 16:21:17.985', communication timeout 60 s
+16:21:18.017 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:18.023 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:18.025 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:18.027 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:18.035 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2ExitInitializationMode 'rmq'
+16:21:18.490 [Thread-4] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:18.487', '{"time": "2024-04-15T16:21:18.487+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190878489505045'
+16:21:18.772 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:18.776 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:18.814 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:18.815 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:18.816 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 0.500000 s converted time 500.000000 ms
+16:21:18.817 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:18.817+00:00"}
+16:21:18.827 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:18.828 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 500 [ms]
+16:21:18.829 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:18.993 [Thread-5] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:18.990', '{"time": "2024-04-15T16:21:18.990+02:00", "controller_event": "moveDiscreteCommand", "controller_event_args_0": 0.0, "controller_event_args_1": 23.0, "controller_event_args_2": 2.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190878992767556'
+16:21:19.495 [Thread-6] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:19.493', '{"time": "2024-04-15T16:21:19.493+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190879494980401'
+16:21:19.997 [Thread-7] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:19.995', '{"time": "2024-04-15T16:21:19.995+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190879996952489'
+16:21:20.498 [Thread-8] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:20.496', '{"time": "2024-04-15T16:21:20.496+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190880498249752'
+16:21:21.004 [Thread-9] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:20.998', '{"time": "2024-04-15T16:21:20.998+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190881004376523'
+16:21:21.511 [Thread-10] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:21.505', '{"time": "2024-04-15T16:21:21.505+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190881510186187'
+16:21:22.011 [Thread-11] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:22.010', '{"time": "2024-04-15T16:21:22.010+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190882011492862'
+16:21:22.167 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:22.169 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:22.178 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:22.179 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:22.179 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 1.000000 s converted time 1000.000000 ms
+16:21:22.179 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:22.179+00:00"}
+16:21:22.180 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:22.182 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 1000 [ms]
+16:21:22.190 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:22.516 [Thread-12] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:22.511', '{"time": "2024-04-15T16:21:22.511+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190882515940400'
+16:21:22.672 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:22.673 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:22.694 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:22.695 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:22.695 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 1.500000 s converted time 1500.000000 ms
+16:21:22.695 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:22.695+00:00"}
+16:21:22.696 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:22.697 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 1500 [ms]
+16:21:22.698 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:23.019 [Thread-13] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:23.016', '{"time": "2024-04-15T16:21:23.016+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190883019025415'
+16:21:23.440 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:23.441 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:23.453 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:23.454 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:23.465 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 2.000000 s converted time 2000.000000 ms
+16:21:23.465 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:23.465+00:00"}
+16:21:23.466 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:23.469 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 2000 [ms]
+16:21:23.472 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:23.523 [Thread-14] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:23.518', '{"time": "2024-04-15T16:21:23.518+02:00", "controller_event": "moveDiscreteCommand", "controller_event_args_0": 3.0, "controller_event_args_1": 20.0, "controller_event_args_2": 3.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190883523513810'
+16:21:23.647 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:23.648 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:23.659 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:23.659 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:23.660 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 2.500000 s converted time 2500.000000 ms
+16:21:23.660 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:23.660+00:00"}
+16:21:23.660 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:23.662 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 2500 [ms]
+16:21:23.664 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:24.028 [Thread-15] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:24.027', '{"time": "2024-04-15T16:21:24.027+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190884028456477'
+16:21:24.538 [Thread-16] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:24.536', '{"time": "2024-04-15T16:21:24.536+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190884537894861'
+16:21:25.040 [Thread-17] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:25.038', '{"time": "2024-04-15T16:21:25.038+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190885039878052'
+16:21:25.542 [Thread-18] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:25.540', '{"time": "2024-04-15T16:21:25.540+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190885541896141'
+16:21:26.022 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:26.023 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:26.028 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:26.028 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:26.029 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 3.000000 s converted time 3000.000000 ms
+16:21:26.029 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:26.029+00:00"}
+16:21:26.030 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:26.031 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 3000 [ms]
+16:21:26.032 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:26.043 [Thread-19] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:26.041', '{"time": "2024-04-15T16:21:26.041+02:00", "controller_event": "moveDiscreteCommand", "controller_event_args_0": 8.0, "controller_event_args_1": 10.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190886043283555'
+16:21:26.549 [Thread-20] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:26.544', '{"time": "2024-04-15T16:21:26.544+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190886548801709'
+16:21:27.058 [Thread-21] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:27.054', '{"time": "2024-04-15T16:21:27.054+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190887058027535'
+16:21:27.063 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:27.063 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:27.066 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:27.067 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:27.067 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 3.500000 s converted time 3500.000000 ms
+16:21:27.067 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:27.067+00:00"}
+16:21:27.068 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:27.068 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 3500 [ms]
+16:21:27.069 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:27.540 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:27.540 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:27.545 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:27.546 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:27.546 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 4.000000 s converted time 4000.000000 ms
+16:21:27.546 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:27.546+00:00"}
+16:21:27.546 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:27.547 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 4000 [ms]
+16:21:27.548 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:27.559 [Thread-22] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:27.556', '{"time": "2024-04-15T16:21:27.556+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190887558903304'
+16:21:28.065 [Thread-23] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:28.059', '{"time": "2024-04-15T16:21:28.059+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190888064574366'
+16:21:28.140 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:28.142 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:28.159 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:28.162 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:28.167 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 4.500000 s converted time 4500.000000 ms
+16:21:28.170 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:28.170+00:00"}
+16:21:28.185 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:28.190 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 4500 [ms]
+16:21:28.192 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:28.565 [Thread-24] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:28.561', '{"time": "2024-04-15T16:21:28.561+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190888565594239'
+16:21:28.792 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:28.792 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:28.797 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:28.797 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:28.797 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 5.000000 s converted time 5000.000000 ms
+16:21:28.797 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:28.797+00:00"}
+16:21:28.797 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:28.798 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 5000 [ms]
+16:21:28.798 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:29.069 [Thread-25] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:29.064', '{"time": "2024-04-15T16:21:29.064+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190889068932682'
+16:21:29.234 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:29.234 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:29.242 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:29.244 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:29.244 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 5.500000 s converted time 5500.000000 ms
+16:21:29.244 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:29.244+00:00"}
+16:21:29.244 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:29.245 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 5500 [ms]
+16:21:29.245 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:29.570 [Thread-26] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:29.567', '{"time": "2024-04-15T16:21:29.567+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190889570623381'
+16:21:29.878 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:29.880 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:29.886 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:29.887 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:29.887 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 6.000000 s converted time 6000.000000 ms
+16:21:29.888 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:29.888+00:00"}
+16:21:29.888 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:29.888 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 6000 [ms]
+16:21:29.892 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:30.073 [Thread-27] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:30.070', '{"time": "2024-04-15T16:21:30.070+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190890072825125'
+16:21:30.192 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:30.192 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:30.204 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:30.205 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:30.207 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 6.500000 s converted time 6500.000000 ms
+16:21:30.207 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:30.207+00:00"}
+16:21:30.207 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:30.208 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 6500 [ms]
+16:21:30.216 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:30.578 [Thread-28] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:30.572', '{"time": "2024-04-15T16:21:30.572+02:00", "controller_event": "moveDiscreteCommand", "controller_event_args_0": 11.0, "controller_event_args_1": 16.0, "controller_event_args_2": 4.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190890575673298'
+16:21:30.707 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:30.708 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:30.713 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:30.714 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:30.718 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 7.000000 s converted time 7000.000000 ms
+16:21:30.720 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:30.719+00:00"}
+16:21:30.720 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:30.731 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 7000 [ms]
+16:21:30.742 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:31.078 [Thread-29] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:31.075', '{"time": "2024-04-15T16:21:31.075+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190891078297464'
+16:21:31.580 [Thread-30] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:31.578', '{"time": "2024-04-15T16:21:31.578+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190891579903934'
+16:21:32.081 [Thread-31] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:32.080', '{"time": "2024-04-15T16:21:32.080+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190892081670875'
+16:21:32.584 [Thread-32] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:32.582', '{"time": "2024-04-15T16:21:32.582+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190892584002524'
+16:21:33.084 [Thread-33] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:33.083', '{"time": "2024-04-15T16:21:33.083+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190893084692365'
+16:21:33.308 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:33.309 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:33.314 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:33.318 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:33.319 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 7.500000 s converted time 7500.000000 ms
+16:21:33.321 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:33.321+00:00"}
+16:21:33.323 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:33.327 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 7500 [ms]
+16:21:33.327 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:33.595 [Thread-34] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:33.586', '{"time": "2024-04-15T16:21:33.586+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190893588918896'
+16:21:34.093 [Thread-35] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:34.090', '{"time": "2024-04-15T16:21:34.090+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190894092745665'
+16:21:34.249 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:34.250 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:34.253 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:34.254 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:34.255 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 8.000000 s converted time 8000.000000 ms
+16:21:34.255 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:34.255+00:00"}
+16:21:34.255 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:34.257 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 8000 [ms]
+16:21:34.260 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:34.598 [Thread-36] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:34.593', '{"time": "2024-04-15T16:21:34.593+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190894597870857'
+16:21:35.100 [Thread-37] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:35.096', '{"time": "2024-04-15T16:21:35.096+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190895098285749'
+16:21:35.600 [Thread-38] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:35.598', '{"time": "2024-04-15T16:21:35.598+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190895600140720'
+16:21:35.966 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:35.967 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:35.978 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:35.979 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:35.980 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 8.500000 s converted time 8500.000000 ms
+16:21:35.980 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:35.980+00:00"}
+16:21:35.981 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:35.981 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 8500 [ms]
+16:21:35.982 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:36.103 [Thread-39] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:36.100', '{"time": "2024-04-15T16:21:36.100+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190896103023996'
+16:21:36.606 [Thread-40] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:36.602', '{"time": "2024-04-15T16:21:36.602+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190896605115753'
+16:21:36.875 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:36.876 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:36.882 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:36.884 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:36.885 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 9.000000 s converted time 9000.000000 ms
+16:21:36.885 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:36.885+00:00"}
+16:21:36.885 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:36.886 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 9000 [ms]
+16:21:36.889 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:37.108 [Thread-41] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:37.105', '{"time": "2024-04-15T16:21:37.105+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190897108175539'
+16:21:37.612 [Thread-42] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logOk', message: Got data '2024-04-15 16:21:37.609', '{"time": "2024-04-15T16:21:37.609+02:00", "controller_event": "", "controller_event_args_0": 0.0, "controller_event_args_1": 0.0, "controller_event_args_2": 0.0, "controller_event_args_3": 0.0, "controller_event_args_4": 0.0, "controller_event_args_5": 0.0, "controller_event_args_6": 0.0, "controller_event_args_7": 0.0, "controller_event_args_8": 0.0, "controller_event_args_9": 0.0}', '1713190897611835197'
+16:21:39.211 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:39.212 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:39.219 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:39.220 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:39.223 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 9.500000 s converted time 9500.000000 ms
+16:21:39.223 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:39.223+00:00"}
+16:21:39.223 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:39.224 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 9500 [ms]
+16:21:39.225 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:42.761 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:42.761 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:42.763 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:42.763 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:42.763 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 10.000000 s converted time 10000.000000 ms
+16:21:42.763 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:42.763+00:00"}
+16:21:42.763 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:42.763 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 10000 [ms]
+16:21:42.764 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:44.447 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:44.448 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:44.455 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:44.455 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:44.455 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 10.500000 s converted time 10500.000000 ms
+16:21:44.455 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:44.455+00:00"}
+16:21:44.456 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:44.456 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 10500 [ms]
+16:21:44.460 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:45.041 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:45.041 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:45.046 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:45.046 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:45.046 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 11.000000 s converted time 11000.000000 ms
+16:21:45.046 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:45.046+00:00"}
+16:21:45.046 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:45.046 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 11000 [ms]
+16:21:45.048 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:45.835 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:45.835 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:45.838 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:45.838 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:45.838 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 11.500000 s converted time 11500.000000 ms
+16:21:45.838 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:45.838+00:00"}
+16:21:45.838 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:45.839 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 11500 [ms]
+16:21:45.839 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:46.214 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:46.214 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:46.218 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:46.218 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:46.218 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 12.000000 s converted time 12000.000000 ms
+16:21:46.218 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:46.218+00:00"}
+16:21:46.218 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:46.218 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 12000 [ms]
+16:21:46.219 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:47.285 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:47.288 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:47.291 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:47.291 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:47.291 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 12.500000 s converted time 12500.000000 ms
+16:21:47.291 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:47.291+00:00"}
+16:21:47.291 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:47.293 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 12500 [ms]
+16:21:47.293 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:49.005 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:49.005 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:49.023 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:49.027 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:49.027 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 13.000000 s converted time 13000.000000 ms
+16:21:49.027 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:49.027+00:00"}
+16:21:49.027 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:49.027 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 13000 [ms]
+16:21:49.031 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:49.145 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:49.146 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:49.150 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:49.150 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:49.150 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 13.500000 s converted time 13500.000000 ms
+16:21:49.150 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:49.150+00:00"}
+16:21:49.150 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:49.150 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 13500 [ms]
+16:21:49.151 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:49.273 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:49.274 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:49.283 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:49.283 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:49.283 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 14.000000 s converted time 14000.000000 ms
+16:21:49.283 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:49.283+00:00"}
+16:21:49.284 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:49.284 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 14000 [ms]
+16:21:49.284 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:52.007 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:52.008 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:52.016 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2DoStep 'rmq'
+16:21:52.017 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Enter FmuContainer::step ***************
+16:21:52.017 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step time 14.500000 s converted time 14500.000000 ms
+16:21:52.017 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Sending to rabbitmq: COSIM TIME: {"simAtTime":"2024-04-15T14:21:52.017+00:00"}
+16:21:52.020 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Send enabled on this step, for message
+16:21:52.020 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: Step reached target time 14500 [ms]
+16:21:52.025 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: ************ Exit 1 FmuContainer::step ***************
+16:21:53.020 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetString 'rmq'
+16:21:53.021 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2GetReal 'rmq'
+16:21:53.313 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2Terminate 'rmq'
+16:21:53.314 [main] DEBUG org.intocps.maestro.interpreter.Interpreter - freeInstance
+16:21:53.614 [main] DEBUG org.intocps.maestro.interpreter.Interpreter - freeInstance
+16:21:53.615 [main] INFO org.intocps.maestro.interpreter.Interpreter - NATIVE: instance: 'rmq', status: 'OK', category: 'logAll', message: fmi2FreeInstance 'rmq'
+16:21:53.707 [main] DEBUG org.intocps.maestro.interpreter.Interpreter - freeInstance
diff --git a/co-simulation/terminate.sh b/co-simulation/terminate.sh
new file mode 100755
index 0000000..c6e8eea
--- /dev/null
+++ b/co-simulation/terminate.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+echo "Terminating background services..."
+pkill -9 -f controller.py
diff --git a/co-simulation/test.log b/co-simulation/test.log
new file mode 100644
index 0000000..c0f5d8a
--- /dev/null
+++ b/co-simulation/test.log
@@ -0,0 +1,1481 @@
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: NONE (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing initial junction of SimDiscreteGrippingArmMovement
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: ArmMove (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMove
+DEBUG: ArmMove (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMove
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmMove (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMove
+DEBUG: ArmMove (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMove
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: ArmMove (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMove
+DEBUG: ArmMove (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMove
+DEBUG: ArmMove (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMove
+DEBUG: ArmMove (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMove
+DEBUG: ArmMoving (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMoving
+DEBUG: ArmMoving (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMoving
+DEBUG: ArmMoving (EXECUTE_STATE5)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMoving
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmMoving (EXIT_CHILDREN5)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMoving
+DEBUG: ArmMoving (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMoving
+DEBUG: ArmMoving (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMoving
+DEBUG: ArmMoving (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMoving
+DEBUG: ArmMoving (EXECUTE_STATE5)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMoving
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmMoving (EXIT_CHILDREN5)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMoving
+DEBUG: ArmMoving (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMoving
+DEBUG: ArmStop (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmStop
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmStop.
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: ArmStop (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmStop
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmStop.
+DEBUG: ArmStop (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmStop
+DEBUG: ArmStop (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmStop
+DEBUG: ArmStop (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmStop
+DEBUG: ArmStop (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmStop
+DEBUG: ArmStop (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmStop
+DEBUG: ArmStopping (ENTER_STATE5)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmStopping
+DEBUG: ArmStopping (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmStopping
+DEBUG: ArmStopping (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmStopping
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmStopping (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmStopping
+DEBUG: ArmStopping (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmStopping
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: ArmMove (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMove
+DEBUG: ArmMove (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMove
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmMove (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMove
+DEBUG: ArmMove (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMove
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: ArmMove (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMove
+DEBUG: ArmMove (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMove
+DEBUG: ArmMove (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMove
+DEBUG: ArmMove (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMove
+DEBUG: ArmMoving (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMoving
+DEBUG: ArmMoving (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMoving
+DEBUG: ArmMoving (EXECUTE_STATE5)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMoving
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmMoving (EXIT_CHILDREN5)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMoving
+DEBUG: ArmMoving (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMoving
+DEBUG: ArmMoving (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMoving
+DEBUG: ArmMoving (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMoving
+DEBUG: ArmMoving (EXECUTE_STATE5)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMoving
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmMoving (EXIT_CHILDREN5)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMoving
+DEBUG: ArmMoving (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMoving
+DEBUG: ArmStop (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmStop
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmStop.
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: ArmStop (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmStop
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmStop.
+DEBUG: ArmStop (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmStop
+DEBUG: ArmStop (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmStop
+DEBUG: ArmStop (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmStop
+DEBUG: ArmStop (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmStop
+DEBUG: ArmStop (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmStop
+DEBUG: ArmStopping (ENTER_STATE5)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmStopping
+DEBUG: ArmStopping (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmStopping
+DEBUG: ArmStopping (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmStopping
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmStopping (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmStopping
+DEBUG: ArmStopping (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmStopping
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: ArmMove (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMove
+DEBUG: ArmMove (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMove
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmMove (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMove
+DEBUG: ArmMove (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMove
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: ArmMove (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMove
+DEBUG: ArmMove (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMove
+DEBUG: ArmMove (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMove
+DEBUG: ArmMove (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMove
+DEBUG: ArmMoving (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMoving
+DEBUG: ArmMoving (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMoving
+DEBUG: ArmMoving (EXECUTE_STATE5)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMoving
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmMoving (EXIT_CHILDREN5)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMoving
+DEBUG: ArmMoving (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMoving
+DEBUG: ArmStop (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmStop
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmStop.
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: ArmStop (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmStop
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmStop.
+DEBUG: ArmStop (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmStop
+DEBUG: ArmStop (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmStop
+DEBUG: ArmStop (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmStop
+DEBUG: ArmStop (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmStop
+DEBUG: ArmStop (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmStop
+DEBUG: ArmStopping (ENTER_STATE5)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmStopping
+DEBUG: ArmStopping (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmStopping
+DEBUG: ArmStopping (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmStopping
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmStopping (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmStopping
+DEBUG: ArmStopping (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmStopping
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state Idle
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: ArmMove (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMove
+DEBUG: ArmMove (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMove
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmMove (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMove
+DEBUG: ArmMove (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMove
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: ArmMove (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMove
+DEBUG: ArmMove (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMove
+DEBUG: ArmMove (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMove
+DEBUG: ArmMove (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMove
+DEBUG: ArmMoving (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMoving
+DEBUG: ArmMoving (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMoving
+DEBUG: ArmMoving (EXECUTE_STATE5)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMoving
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
diff --git a/fmus/d-model_v6/UR5e_code_v6/UR5e/C/test.log b/fmus/d-model_v6/UR5e_code_v6/UR5e/C/test.log
index db81dd3..089bcb0 100644
--- a/fmus/d-model_v6/UR5e_code_v6/UR5e/C/test.log
+++ b/fmus/d-model_v6/UR5e_code_v6/UR5e/C/test.log
@@ -1,5 +1,5 @@
-DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_sm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
@@ -9,6 +9,14 @@ DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_sm
DEBUG: NONE (ENTER_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Executing initial junction of SimDiscreteGrippingArmMovement
@@ -33,6 +41,43 @@ DEBUG: Entering state ArmMove
DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: ArmMove (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMove
+DEBUG: ArmMove (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMove
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmMove (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMove
+DEBUG: ArmMove (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMove
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
DEBUG: Finished reading inputs of module DiscreteGrippingArm
DEBUG: Started step of module DiscreteGrippingArm
DEBUG: Finished step of module DiscreteGrippingArm
@@ -56,8 +101,43 @@ DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmMove (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMove
+DEBUG: ArmMove (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMove
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: ArmMove (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMove
+DEBUG: ArmMove (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMove
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
@@ -71,9 +151,41 @@ DEBUG: ArmMove (ENTER_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Entering state ArmMove
DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: ArmMove (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMove
+DEBUG: ArmMove (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMove
DEBUG: Finished reading inputs of module DiscreteGrippingArm
DEBUG: Started step of module DiscreteGrippingArm
DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmMove (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMove
+DEBUG: ArmMove (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMove
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
DEBUG: ArmMove (ENTER_STATE)
@@ -82,4 +194,147 @@ DEBUG: Entering state ArmMove
DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
DEBUG: ArmMove (ENTER_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
-DEBUG: Entering state
\ No newline at end of file
+DEBUG: Entering state ArmMove
+DEBUG: ArmMove (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMove
+DEBUG: ArmMove (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMove
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmMove (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMove
+DEBUG: ArmMove (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMove
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: ArmMove (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMove
+DEBUG: ArmMove (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMove
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmMove (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMove
+DEBUG: ArmMove (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMove
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: ArmMove (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMove
+DEBUG: ArmMove (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMove
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: ArmMove (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMove
+DEBUG: ArmMove (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMove
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: Finished reading inputs of controller cm
+DEBUG: Started step of controller cm
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: Running entry action 1 of state SimDiscreteGrippingArmMovement_ArmMove.
+DEBUG: ArmMove (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state ArmMove
+DEBUG: ArmMove (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state ArmMove
+DEBUG: ArmMove (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state ArmMove
+DEBUG: ArmMove (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting children of state ArmMove
+DEBUG: ArmMove (EXIT_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Exiting state ArmMove
+DEBUG: Idle (ENTER_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
+DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
+DEBUG: Executing state Idle
+DEBUG: Sent output _done_ on channel end_sm
+DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
+DEBUG: Running step of state machine SimDiscreteGrippi
\ No newline at end of file
diff --git a/fmus/d-model_v6/dmodelFMU.fmu b/fmus/d-model_v6/dmodelFMU.fmu
index 69cd8cc..cfe6150 100644
Binary files a/fmus/d-model_v6/dmodelFMU.fmu and b/fmus/d-model_v6/dmodelFMU.fmu differ
diff --git a/fmus/d-model_v6/misraC/DiscreteGrippingArm.c b/fmus/d-model_v6/misraC/DiscreteGrippingArm.c
index 7006854..bd126c4 100644
--- a/fmus/d-model_v6/misraC/DiscreteGrippingArm.c
+++ b/fmus/d-model_v6/misraC/DiscreteGrippingArm.c
@@ -120,12 +120,18 @@ void __clean__(__Infrastructure__* state) {
bool __step__(__Infrastructure__* state) {
bool terminate__ = false;
{
+ bool eventdone = false;
bool inputdone = false;
while (!inputdone) {
+ inputdone = eventdone;
M_DiscreteGrippingArm_input_Enum aux = read_input();
if (aux.type == M_DiscreteGrippingArm_input__done_) {
inputdone = true;
- } else if (aux.type == M_DiscreteGrippingArm_input__terminate_) {
+ }
+ /*else if ((aux.type == M_DiscreteGrippingArm_input_moveCompleted) || (aux.type == M_DiscreteGrippingArm_input_moveDiscreteCommand) || (aux.type == M_DiscreteGrippingArm_input_openGripperCommand) || (aux.type == M_DiscreteGrippingArm_input_nonfeasibleMoveDiscreteCommand) || (aux.type == M_DiscreteGrippingArm_input_gripperOpened) || (aux.type == M_DiscreteGrippingArm_input_feasibleMoveDiscreteCommand) || (aux.type == M_DiscreteGrippingArm_input_collision) || (aux.type == M_DiscreteGrippingArm_input_robotStopped) || (aux.type == M_DiscreteGrippingArm_input_gripperClosed) || (aux.type == M_DiscreteGrippingArm_input_closeGripperCommand)) {
+ eventdone = true;
+ }*/
+ else if (aux.type == M_DiscreteGrippingArm_input__terminate_) {
inputdone = true;
terminate__ = true;
}
diff --git a/fmus/d-model_v6/misraC/defs_fmi.h b/fmus/d-model_v6/misraC/defs_fmi.h
index 412b419..bfd3796 100644
--- a/fmus/d-model_v6/misraC/defs_fmi.h
+++ b/fmus/d-model_v6/misraC/defs_fmi.h
@@ -18,9 +18,12 @@ typedef struct {
float opening_force;
// Arguments (inputs)
- int target_X;
- int target_Y;
- int target_Z;
+ //int target_X;
+ //int target_Y;
+ //int target_Z;
+ float target_X;
+ float target_Y;
+ float target_Z;
// Input events
bool gripperOpened;
diff --git a/fmus/d-model_v6/modelDescription.xml b/fmus/d-model_v6/modelDescription.xml
index bcb342a..00461f6 100644
--- a/fmus/d-model_v6/modelDescription.xml
+++ b/fmus/d-model_v6/modelDescription.xml
@@ -58,14 +58,14 @@
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/fmus/d-model_v6/skeleton.c b/fmus/d-model_v6/skeleton.c
index 4bd562a..5f3bc1e 100644
--- a/fmus/d-model_v6/skeleton.c
+++ b/fmus/d-model_v6/skeleton.c
@@ -88,9 +88,12 @@ void initialize(ModelInstance* comp, const char* location) {
comp->fmiBuffer.booleanBuffer[8] = comp->modelData.moveDiscreteCommand;
comp->fmiBuffer.booleanBuffer[9] = comp->modelData.nonfeasibleMoveDiscreteCommand;
// arguments(inputs)
- comp->fmiBuffer.intBuffer[10] = comp->modelData.target_X;
- comp->fmiBuffer.intBuffer[11] = comp->modelData.target_Y;
- comp->fmiBuffer.intBuffer[12] = comp->modelData.target_Z;
+ //comp->fmiBuffer.intBuffer[10] = comp->modelData.target_X;
+ //comp->fmiBuffer.intBuffer[11] = comp->modelData.target_Y;
+ //comp->fmiBuffer.intBuffer[12] = comp->modelData.target_Z;
+ comp->fmiBuffer.realBuffer[10] = comp->modelData.target_X;
+ comp->fmiBuffer.realBuffer[11] = comp->modelData.target_Y;
+ comp->fmiBuffer.realBuffer[12] = comp->modelData.target_Z;
// parameters (i.e. memory)
comp->fmiBuffer.realBuffer[13] = comp->modelData.MOTION_VEL;
comp->fmiBuffer.realBuffer[14] = comp->modelData.opening_diameter;
@@ -159,9 +162,9 @@ void doStep(ModelInstance* comp, const char* action) {
comp->modelData.openGripperCommand = comp->fmiBuffer.booleanBuffer[7];
comp->modelData.moveDiscreteCommand = comp->fmiBuffer.booleanBuffer[8];
comp->modelData.nonfeasibleMoveDiscreteCommand = comp->fmiBuffer.booleanBuffer[9];
- comp->modelData.target_X = comp->fmiBuffer.intBuffer[10];
- comp->modelData.target_Y = comp->fmiBuffer.intBuffer[11];
- comp->modelData.target_Z = comp->fmiBuffer.intBuffer[12];
+ comp->modelData.target_X = comp->fmiBuffer.realBuffer[10];
+ comp->modelData.target_Y = comp->fmiBuffer.realBuffer[11];
+ comp->modelData.target_Z = comp->fmiBuffer.realBuffer[12];
//step in the module
tick(&comp->modelData);
diff --git a/fmus/d-model_v6/test.log b/fmus/d-model_v6/test.log
index 0303b81..d87f6be 100644
--- a/fmus/d-model_v6/test.log
+++ b/fmus/d-model_v6/test.log
@@ -1,11 +1,21 @@
DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
DEBUG: Finished reading inputs of module DiscreteGrippingArm
DEBUG: Started step of module DiscreteGrippingArm
DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
DEBUG: NONE (ENTER_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
@@ -24,10 +34,23 @@ DEBUG: Started step of controller cm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: Idle (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Exiting children of state Idle
@@ -47,9 +70,13 @@ DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
@@ -59,9 +86,12 @@ DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
DEBUG: Finished reading inputs of module DiscreteGrippingArm
DEBUG: Started step of module DiscreteGrippingArm
DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
DEBUG: Idle (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
@@ -105,6 +135,8 @@ DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Executing state ArmMove
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
@@ -115,6 +147,17 @@ DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: ArmMove (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Exiting children of state ArmMove
@@ -155,11 +198,15 @@ DEBUG: Entering children of state ArmMoving
DEBUG: ArmMoving (EXECUTE_STATE5)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Executing state ArmMoving
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
@@ -170,6 +217,12 @@ DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: ArmMoving (EXIT_CHILDREN5)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Exiting children of state ArmMoving
@@ -210,11 +263,10 @@ DEBUG: Entering children of state ArmStopping
DEBUG: ArmStopping (EXECUTE_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Executing state ArmStopping
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
@@ -225,28 +277,38 @@ DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: ArmStopping (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Exiting children of state ArmStopping
DEBUG: ArmStopping (EXIT_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Exiting state ArmStopping
-DEBUG: ArmStopping (ENTER_STATE5)
+DEBUG: Idle (ENTER_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
-DEBUG: Entering state ArmStopping
-DEBUG: ArmStopping (ENTER_CHILDREN)
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
-DEBUG: Entering children of state ArmStopping
-DEBUG: ArmStopping (EXECUTE_STATE)
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
-DEBUG: Executing state ArmStopping
+DEBUG: Executing state Idle
DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
@@ -257,28 +319,38 @@ DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
-DEBUG: ArmStopping (EXIT_CHILDREN)
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
-DEBUG: Exiting children of state ArmStopping
-DEBUG: ArmStopping (EXIT_STATE)
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
-DEBUG: Exiting state ArmStopping
-DEBUG: ArmStopping (ENTER_STATE5)
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
-DEBUG: Entering state ArmStopping
-DEBUG: ArmStopping (ENTER_CHILDREN)
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
-DEBUG: Entering children of state ArmStopping
-DEBUG: ArmStopping (EXECUTE_STATE)
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
-DEBUG: Executing state ArmStopping
+DEBUG: Executing state Idle
DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
@@ -289,28 +361,38 @@ DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
-DEBUG: ArmStopping (EXIT_CHILDREN)
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
-DEBUG: Exiting children of state ArmStopping
-DEBUG: ArmStopping (EXIT_STATE)
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
-DEBUG: Exiting state ArmStopping
-DEBUG: ArmStopping (ENTER_STATE5)
+DEBUG: Exiting state Idle
+DEBUG: Idle (ENTER_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
-DEBUG: Entering state ArmStopping
-DEBUG: ArmStopping (ENTER_CHILDREN)
+DEBUG: Entering state Idle
+DEBUG: Idle (ENTER_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
-DEBUG: Entering children of state ArmStopping
-DEBUG: ArmStopping (EXECUTE_STATE)
+DEBUG: Entering children of state Idle
+DEBUG: Idle (EXECUTE_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
-DEBUG: Executing state ArmStopping
+DEBUG: Executing state Idle
DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
@@ -321,12 +403,18 @@ DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
-DEBUG: ArmStopping (EXIT_CHILDREN)
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: Idle (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
-DEBUG: Exiting children of state ArmStopping
-DEBUG: ArmStopping (EXIT_STATE)
+DEBUG: Exiting children of state Idle
+DEBUG: Idle (EXIT_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
-DEBUG: Exiting state ArmStopping
+DEBUG: Exiting state Idle
DEBUG: Idle (ENTER_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Entering state Idle
@@ -340,9 +428,8 @@ DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
@@ -353,6 +440,12 @@ DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: Idle (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Exiting children of state Idle
@@ -372,9 +465,8 @@ DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
@@ -385,6 +477,12 @@ DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: Idle (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Exiting children of state Idle
@@ -404,9 +502,8 @@ DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
@@ -417,6 +514,12 @@ DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: Idle (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Exiting children of state Idle
@@ -472,11 +575,10 @@ DEBUG: Entering children of state GripperClosing
DEBUG: GripperClosing (EXECUTE_STATE)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Executing state GripperClosing
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
@@ -487,6 +589,17 @@ DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: GripperClosing (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Exiting children of state GripperClosing
@@ -506,9 +619,13 @@ DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
@@ -519,6 +636,12 @@ DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: GripperClosing (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Exiting children of state GripperClosing
@@ -538,9 +661,8 @@ DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
@@ -551,6 +673,17 @@ DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: GripperClosing (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Exiting children of state GripperClosing
@@ -570,9 +703,13 @@ DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
@@ -583,6 +720,12 @@ DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: Idle (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Exiting children of state Idle
@@ -602,14 +745,24 @@ DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: Idle (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Exiting children of state Idle
@@ -629,14 +782,24 @@ DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: Idle (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Exiting children of state Idle
@@ -656,14 +819,24 @@ DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: Idle (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Exiting children of state Idle
@@ -683,14 +856,24 @@ DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Waiting for input on channel start_cm
DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_DiscreteGrippingArm
DEBUG: - Read input on channel start_cm
DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
+DEBUG: - Waiting for input on channel start_cm
+DEBUG: Finished reading inputs of module DiscreteGrippingArm
+DEBUG: Started step of module DiscreteGrippingArm
+DEBUG: Finished step of module DiscreteGrippingArm
+DEBUG: - Read input on channel start_cm
+DEBUG: - Read input on channel start_sm
DEBUG: Idle (EXIT_CHILDREN)
DEBUG: Running step of state machine SimDiscreteGrippingArmMovement
DEBUG: Exiting children of state Idle
@@ -710,8 +893,3 @@ DEBUG: Finished reading inputs of controller cm
DEBUG: Started step of controller cm
DEBUG: Sent output _done_ on channel end_sm
DEBUG: - Waiting for input on channel start_sm
-DEBUG: Finished reading inputs of module DiscreteGrippingArm
-DEBUG: Started step of module DiscreteGrippingArm
-DEBUG: Finished step of module DiscreteGrippingArm
-DEBUG: - Waiting for input on channel start_cm
-DEBUG: - Waiting for input on channel start_DiscreteGrippingArm
diff --git a/fmus/d-model_v6/test_fmu.py b/fmus/d-model_v6/test_fmu.py
index c3bcd76..40c28d8 100644
--- a/fmus/d-model_v6/test_fmu.py
+++ b/fmus/d-model_v6/test_fmu.py
@@ -54,6 +54,8 @@ def signal_handler(sig, frame):
while time < stop_time:
# NOTE: the FMU.get*() and FMU.set*() functions take lists of
# value references as arguments and return lists of values
+ fmu.setBoolean([vrs["robotStopped"]],[True]) # moveDiscreteCommand event
+ fmu.setBoolean([vrs["gripperOpened"]],[True]) # moveDiscreteCommand event
print("Before FMI DoStep idx " + str(idx))
if idx == 2:
fmu.setInteger([vrs["target_X"],vrs["target_Y"],vrs["target_Z"]],[4,18,4]) #Update of target_x y and z
diff --git a/mapping/execute.py b/mapping/execute.py
index b8c083e..49325b8 100644
--- a/mapping/execute.py
+++ b/mapping/execute.py
@@ -12,7 +12,7 @@ def check_for_events():
args = {
"equation_0": ["flexcellAngularPosition[completed]"]
}
- result = mapping.get_event("moveCompleted",args=args)
+ result = mapping.get_event("moveCompleted",args=None)
print("moveCompleted platform event (timer): " + str(result))
checking_timer.run()
@@ -38,13 +38,13 @@ def check_for_events():
args = {
"equation_0": ["flexcellAngularPosition[completed]"]
}
- result = mapping.get_event("moveCompleted",args=args)
+ result = mapping.get_event("moveCompleted",args=None)
print("moveCompleted platform event: " + str(result))
args = {
"equation_0": ["flexcellAngularPosition[completed]"],
}
- result = mapping.get_event("robotStopped",args=args)
+ result = mapping.get_event("robotStopped",args=None)
print("robotStopped platform event: " + str(result))
args = {
diff --git a/mapping/executeFMU.py b/mapping/executeFMU.py
index 0f2efef..1e68b7c 100644
--- a/mapping/executeFMU.py
+++ b/mapping/executeFMU.py
@@ -54,16 +54,18 @@ def signal_handler(sig, frame):
if idx == 2:
fmu.setReal([vrs["controller_event_args_0"],vrs["controller_event_args_1"],vrs["controller_event_args_2"]],[4,18,4]) #Update of target_x y and z
fmu.setString([vrs["controller_event"]],["moveDiscreteCommand"]) # moveDiscreteCommand event
-
+ fmu.setReal([vrs["d_model_event_args_0"],vrs["d_model_event_args_1"],vrs["d_model_event_args_3"]],[4,18,4]) #Update of target_x y and z
+ fmu.setString([vrs["d_model_event"]],["movediscrete"])
if idx == 11:
fmu.setString([vrs["controller_event"]],["closeGripperCommand"]) # closeGripperCommand event
-
+ fmu.setString([vrs["d_model_event"]],["pick"])
if idx == 16:
fmu.setString([vrs["controller_event"]],["openGripperCommand"]) # openGripperCommand event
+ fmu.setString([vrs["d_model_event"]],["place"])
fmu.doStep(currentCommunicationPoint=time, communicationStepSize=step_size)
diff --git a/mapping/mapping/__pycache__/mapping.cpython-38.pyc b/mapping/mapping/__pycache__/mapping.cpython-38.pyc
index 059a0ee..1636c27 100644
Binary files a/mapping/mapping/__pycache__/mapping.cpython-38.pyc and b/mapping/mapping/__pycache__/mapping.cpython-38.pyc differ
diff --git a/mapping/mapping/mapping.py b/mapping/mapping/mapping.py
index 748519c..c004558 100644
--- a/mapping/mapping/mapping.py
+++ b/mapping/mapping/mapping.py
@@ -273,9 +273,9 @@ def execute_operation(self,operation_name,args=None):
exec_op = op
if args != None:
exec_op.update_args(args)
- print("Executing operation")
+ #print("Executing operation")
result = exec_op.execute(exec_op.arguments)
- print("Operation executed")
+ #print("Operation executed")
return result
def get_event(self,input_event_name,args=None):
@@ -285,9 +285,9 @@ def get_event(self,input_event_name,args=None):
event = ev
if args != None:
event.update_args(args)
- print("Reading event")
+ #print("Reading event")
result = event.get_event_result(event.arguments)
- print("Event read")
+ #print("Event read")
return result
def get_joint_position(self,joint_name):
diff --git a/mapping/mappingFMU.fmu b/mapping/mappingFMU.fmu
index 17188b3..4dcc026 100644
Binary files a/mapping/mappingFMU.fmu and b/mapping/mappingFMU.fmu differ
diff --git a/mapping/mappingFMU/modelDescription.xml b/mapping/mappingFMU/modelDescription.xml
index 4e81b65..dccdb99 100644
--- a/mapping/mappingFMU/modelDescription.xml
+++ b/mapping/mappingFMU/modelDescription.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/mapping/mappingFMU/resources/mapping/mapping.py b/mapping/mappingFMU/resources/mapping/mapping.py
index 748519c..c004558 100644
--- a/mapping/mappingFMU/resources/mapping/mapping.py
+++ b/mapping/mappingFMU/resources/mapping/mapping.py
@@ -273,9 +273,9 @@ def execute_operation(self,operation_name,args=None):
exec_op = op
if args != None:
exec_op.update_args(args)
- print("Executing operation")
+ #print("Executing operation")
result = exec_op.execute(exec_op.arguments)
- print("Operation executed")
+ #print("Operation executed")
return result
def get_event(self,input_event_name,args=None):
@@ -285,9 +285,9 @@ def get_event(self,input_event_name,args=None):
event = ev
if args != None:
event.update_args(args)
- print("Reading event")
+ #print("Reading event")
result = event.get_event_result(event.arguments)
- print("Event read")
+ #print("Event read")
return result
def get_joint_position(self,joint_name):
diff --git a/mapping/mappingFMU/resources/model.py b/mapping/mappingFMU/resources/model.py
index 0859277..9716663 100644
--- a/mapping/mappingFMU/resources/model.py
+++ b/mapping/mappingFMU/resources/model.py
@@ -186,16 +186,16 @@ def fmi2DoStep(self, current_time, step_size, no_step_prior):
self._nonfeasibleMoveDiscreteCommand = False
self._collision = False
self.output_event = ""
- self.output_event_args_0 = ""
- self.output_event_args_1 = ""
- self.output_event_args_2 = ""
- self.output_event_args_3 = ""
- self.output_event_args_4 = ""
- self.output_event_args_5 = ""
- self.output_event_args_6 = ""
- self.output_event_args_7 = ""
- self.output_event_args_8 = ""
- self.output_event_args_9 = ""
+ self.output_event_args_0 = 0.0
+ self.output_event_args_1 = 0.0
+ self.output_event_args_2 = 0.0
+ self.output_event_args_3 = 0.0
+ self.output_event_args_4 = 0.0
+ self.output_event_args_5 = 0.0
+ self.output_event_args_6 = 0.0
+ self.output_event_args_7 = 0.0
+ self.output_event_args_8 = 0.0
+ self.output_event_args_9 = 0.0
''' Input coming from the controller'''
@@ -240,9 +240,9 @@ def fmi2DoStep(self, current_time, step_size, no_step_prior):
self._openGripperCommand = True
else:
self.output_event = ""
- self.output_event_args_0 = ""
- self.output_event_args_1 = ""
- self.output_event_args_2 = ""
+ self.output_event_args_0 = 0.0
+ self.output_event_args_1 = 0.0
+ self.output_event_args_2 = 0.0
''' Inputs from the d-model software '''
print("d-model Event: " + self.d_model_event)
@@ -261,13 +261,15 @@ def fmi2DoStep(self, current_time, step_size, no_step_prior):
if (self.d_model_event == "movediscrete"):
# IK already inside the mapping module
args = {
- "action_0":[self.d_model_event_args_0, self.d_model_event_args_1, self.d_model_event_args_2]
+ #"action_0":[self.d_model_event_args_0, self.d_model_event_args_1, self.d_model_event_args_2]
+ "action_0":[self.d_model_event_args_0, self.d_model_event_args_1, self.d_model_event_args_3]
}
self.mapping.execute_operation("movediscrete",args=args)
elif (self.d_model_event == "movejoint"):
args = {
- "action_0":[self.d_model_event_args_0,self.d_model_event_args_1,self.d_model_event_args_2,self.d_model_event_args_3,self.d_model_event_args_4,self.d_model_event_args_5]
+ #"action_0":[self.d_model_event_args_0,self.d_model_event_args_1,self.d_model_event_args_2,self.d_model_event_args_3,self.d_model_event_args_4,self.d_model_event_args_5]
+ "action_0":[self.d_model_event_args_0,self.d_model_event_args_1,self.d_model_event_args_3,self.d_model_event_args_4,self.d_model_event_args_5,self.d_model_event_args_6]
}
self.mapping.execute_operation("movejoint",args=args)
@@ -352,7 +354,8 @@ def fmi2DoStep(self, current_time, step_size, no_step_prior):
"equation_0": [self._target_X,self._target_Y,self._target_Z],
}
result = self.mapping.get_event("feasibleMoveDiscreteCommand",args=args)
- self._feasibleMoveDiscreteCommand = all(it == True for it in result)
+ #self._feasibleMoveDiscreteCommand = all(it == True for it in result)
+ self._feasibleMoveDiscreteCommand = True
print("feasibleMoveDiscreteCommand platform event: " + str(self._feasibleMoveDiscreteCommand))
@@ -360,9 +363,12 @@ def fmi2DoStep(self, current_time, step_size, no_step_prior):
"equation_0": [self._target_X,self._target_Y,self._target_Z],
}
result = self.mapping.get_event("nonfeasibleMoveDiscreteCommand",args=args)
- self._nonfeasibleMoveDiscreteCommand = all(it == True for it in result)
+ #self._nonfeasibleMoveDiscreteCommand = all(it == True for it in result)
+ self._nonfeasibleMoveDiscreteCommand = False
print("nonfeasibleMoveDiscreteCommand platform event: " + str(self._nonfeasibleMoveDiscreteCommand))
+ #self._moveDiscreteCommand = False
+
# To be characterized first
args = {
"equation_0": [self.qd0,self.t0,0.05,50],
@@ -394,7 +400,6 @@ def fmi2DoStep(self, current_time, step_size, no_step_prior):
# Storing the last event to avoid repetition
self._last_event = self.output_event
-
return Fmi2Status.ok
def fmi2EnterInitializationMode(self):
@@ -676,8 +681,11 @@ def fmi2Terminate(self):
self.mapping.stop_simulation()
return Fmi2Status.ok
- def _set_value(self, references, values):
+ def fmi2FreeInstance(self):
+ self.mapping.stop_simulation()
+ return Fmi2Status.ok
+ def _set_value(self, references, values):
for r, v in zip(references, values):
setattr(self, self.reference_to_attribute[r], v)
diff --git a/mapping/wrap_fmu.sh b/mapping/wrap_fmu.sh
new file mode 100755
index 0000000..1a77eb9
--- /dev/null
+++ b/mapping/wrap_fmu.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+#Author: Santiago Gil
+(cd mappingFMU && zip -r mappingFMU.fmu .)
+cp mappingFMU/mappingFMU.fmu .
+rm mappingFMU/mappingFMU.fmu
diff --git a/tests/.~lock.outputs_cosim.csv# b/tests/.~lock.outputs_cosim.csv#
new file mode 100644
index 0000000..55b29aa
--- /dev/null
+++ b/tests/.~lock.outputs_cosim.csv#
@@ -0,0 +1 @@
+,santiago,ubuntu,15.04.2024 16:23,file:///home/santiago/.config/libreoffice/4;
\ No newline at end of file
diff --git a/tests/experiment_plot.pdf b/tests/experiment_plot.pdf
new file mode 100644
index 0000000..2b45e1b
Binary files /dev/null and b/tests/experiment_plot.pdf differ
diff --git a/tests/experiment_plot.png b/tests/experiment_plot.png
new file mode 100644
index 0000000..b2f0a66
Binary files /dev/null and b/tests/experiment_plot.png differ
diff --git a/tests/outputs_cosim.csv b/tests/outputs_cosim.csv
new file mode 100644
index 0000000..003ede8
--- /dev/null
+++ b/tests/outputs_cosim.csv
@@ -0,0 +1,31 @@
+time,{dmodel}.dmodel.state,{dmodel}.dmodel.d_model_event,{dmodel}.dmodel.d_model_event_args_0,{dmodel}.dmodel.d_model_event_args_1,{dmodel}.dmodel.d_model_event_args_2,{dmodel}.dmodel.d_model_event_args_3,{rmq}.rmq.controller_event,{rmq}.rmq.controller_event_args_0,{rmq}.rmq.controller_event_args_1,{rmq}.rmq.controller_event_args_2,{mapping}.mapping.controller_event,{mapping}.mapping.j0,{mapping}.mapping.j1,{mapping}.mapping.j2,{mapping}.mapping.j3,{mapping}.mapping.j4,{mapping}.mapping.j5,{mapping}.mapping.qd0,{mapping}.mapping.qd1,{mapping}.mapping.qd2,{mapping}.mapping.qd3,{mapping}.mapping.qd4,{mapping}.mapping.qd5,{mapping}.mapping.qdd0,{mapping}.mapping.qdd1,{mapping}.mapping.qdd2,{mapping}.mapping.qdd3,{mapping}.mapping.qdd4,{mapping}.mapping.qdd5,{mapping}.mapping.t0,{mapping}.mapping.t1,{mapping}.mapping.t2,{mapping}.mapping.t3,{mapping}.mapping.t4,{mapping}.mapping.t5,{mapping}.mapping.d_model_event,{mapping}.mapping.output_event,{mapping}.mapping.output_event_args_0,{mapping}.mapping.output_event_args_1,{mapping}.mapping.output_event_args_2,{mapping}.mapping.platform_event_0,{mapping}.mapping.platform_event_1,{mapping}.mapping.platform_event_2,{mapping}.mapping.platform_event_3,{mapping}.mapping.platform_event_4,{mapping}.mapping.platform_event_5,{mapping}.mapping.platform_event_6,{mapping}.mapping.platform_event_7,{mapping}.mapping.platform_event_8,{mapping}.mapping.platform_event_9
+0.0,Idle,,0.0,0.0,0.0,0.0,,0.0,0.0,0.0,,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,0.0,0.0,0.0,false,false,false,false,false,false,false,false,false,false
+0.5,Idle,,0.0,0.0,0.0,0.0,,0.0,0.0,0.0,,2.83038525950019E-9,-1.7320807994991583E-4,-1.3322676295501878E-15,-1.3665499761206235E-4,1.6839980081506667E-5,-7.370918665783321E-5,-6.39729624118956E-4,0.004943428010140134,8.881784197001245E-14,-0.02548294533175619,1.7476013631778626E-4,0.005957373449305687,0.0,0.0,0.0,0.0,0.0,0.0,-44.77276896021537,55.28816913108884,17.88375491488329,4.576761071722329,0.04170946033088323,2.095540171946384,,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+1.0,Idle,,0.0,0.0,0.0,0.0,,0.0,0.0,0.0,,-2.358596633111887E-6,-5.014408937711323E-4,-8.881784197001252E-16,-7.73932522970533E-5,2.386983901203621E-6,-1.9994345540474967E-4,3.6836032046850495E-4,0.039275103385439665,0.0,0.012857247155740045,3.98166304993461E-4,-0.004272896419532748,0.0,0.0,0.0,0.0,0.0,0.0,-46.53801729013159,58.09851114199171,22.343361100167517,-2.4147652470917023,-0.023456147547247792,1.2305688304671887,,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+1.5,Idle,,0.0,0.0,0.0,0.0,moveDiscreteCommand,0.0,23.0,2.0,,-4.4829798362400197E-7,-2.1518065263714803E-4,8.881784197001252E-16,8.119683654950194E-5,1.603463772559266E-5,-4.421570895996041E-5,4.534568578407158E-5,-0.018365031923473333,0.0,-6.810590670092299E-4,-1.1396228813964869E-4,-0.004349406477199928,0.0,0.0,0.0,0.0,0.0,0.0,-43.56022758138711,31.357183007593466,24.643391095546058,-2.5897230588266993,-0.04950671984930131,1.4036189864361623,,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+2.0,Idle,,0.0,0.0,0.0,0.0,,0.0,0.0,0.0,moveDiscreteCommand,-1.344051844931471E-6,-5.211756213294727E-4,4.440892098500626E-16,-2.3720890261680339E-4,1.6624358603056777E-5,-3.4903498672322897E-4,3.5873721238034106E-5,0.08971075573169976,0.0,0.015959263381582274,-3.394572405390833E-4,-0.0030721409660650722,0.0,0.0,0.0,0.0,0.0,0.0,-41.786952751192246,51.64212693380796,18.415620899244665,4.10006304237133,0.017796611461946964,-2.727459188039261,,moveDiscreteCommand,0.0,23.0,2.0,true,false,false,true,true,true,false,false,false,false
+2.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,,0.0,0.0,0.0,,9.307656578805279E-7,-0.0010137404563508312,-4.440892098500626E-16,-3.0799792877944654E-4,9.13742315589161E-6,-2.3469755559846206E-4,-1.5300154130315816E-4,-0.05205396995595746,0.0,-0.016009981772580402,-1.7692853901963112E-4,0.011727799080496731,0.0,0.0,0.0,0.0,0.0,0.0,-45.17745100761462,44.884596638157525,13.88685247446439,1.2986064789764153,-0.03935823642593953,1.3970575631578042,,,0.0,0.0,0.0,false,false,false,true,true,true,false,true,false,false
+3.0,ArmMove,movediscrete,0.0,23.0,2.0,0.0,,0.0,0.0,0.0,,-0.42643421546408833,-0.4622348707022006,0.4673016677374995,-0.46826694117624656,-0.46662416063149337,-0.07395135017929944,-1.3990828933097297,-1.553825291667221,1.57075619198096,-1.5813855096533995,-1.5837621621255575,0.01965799399084076,0.0,0.0,0.0,0.0,0.0,0.0,790.9413160860302,57.441245249192875,-14.655043812452437,3.935632326842362,0.10642171880262623,5.135246868598363,movediscrete,,0.0,0.0,0.0,false,false,false,false,true,true,false,false,false,false
+3.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,,0.0,0.0,0.0,,-1.6753053557527844,-1.8126285468604681,1.6137934755439156,-2.1556623776990858,-1.4965052202984461,-0.07372475139679446,-0.006051126273831771,-0.015077254396978256,1.4210854715202307E-12,-0.020659876304659586,0.015338170556764386,0.00745778992792151,0.0,0.0,0.0,0.0,0.0,0.0,13.31357428652168,32.54350453485048,11.046551611026235,-3.297557775790403,0.21182536496579055,0.14859991136003367,movediscrete,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+4.0,ArmStop,stop,0.0,23.0,2.0,0.0,,0.0,0.0,0.0,,-1.6755190521031755,-1.8125371182140482,1.6137934755801941,-2.1558633111141896,-1.4970074407575558,-0.07436734828619063,-0.0011202177089940004,0.03341806899612198,0.0,0.01164751714082075,0.0049647572383896285,0.006942922838869573,0.0,0.0,0.0,0.0,0.0,0.0,-48.40826100867962,47.40820844078818,16.18009252234423,4.157098486374791,-4.3371203100292846,-3.0703422771337467,movediscrete,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+4.5,ArmStop,stop,0.0,23.0,2.0,0.0,,0.0,0.0,0.0,,-1.6754473606694038,-1.8123057606012916,1.613793475580195,-2.1555221667567617,-1.497120469724381,-0.07459452753661511,-0.001378507926830037,0.00954177957890174,0.0,0.0036230705763523495,-0.015688081343687477,-8.14592677755727E-6,0.0,0.0,0.0,0.0,0.0,0.0,-46.69865449530302,36.40085853027412,14.410271924769665,0.40347161671597787,-0.10018584365799561,1.1540702447136209,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+5.0,ArmStop,stop,0.0,23.0,2.0,0.0,,0.0,0.0,0.0,,-1.6754250532964656,-1.8122593491614358,1.613793475580195,-2.1556465152003046,-1.497142936038638,-0.07441457691961162,-0.0035996663161336133,-0.05062137669877051,-1.7763568393999728E-13,-0.010319013083124936,-0.006236736083130714,-0.0010967087438194473,0.0,0.0,0.0,0.0,0.0,0.0,1.6760146879548667,31.31880653189221,22.496050353911844,1.7436368838479581,-1.208076747663843,-0.27098880724285224,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+5.5,ArmStop,stop,0.0,23.0,2.0,0.0,,0.0,0.0,0.0,,-1.6752883552903288,-1.8124125768386463,1.6137934755801941,-2.155802524527588,-1.4970232524690426,-0.0743006721796653,0.00267275532497238,-0.05264219409432401,0.0,0.015419243029055429,-0.014507149932716465,0.009080350382627247,0.0,0.0,0.0,0.0,0.0,0.0,-3.3426121615518603,45.745048357633905,21.207426447094285,4.261369800338818,-4.190478789127344,-4.034195684632224,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+6.0,ArmStop,stop,0.0,23.0,2.0,0.0,moveDiscreteCommand,3.0,20.0,3.0,,-1.675312437401126,-1.8122934348050022,1.613793475580195,-2.1556118623013276,-1.496639427808243,-0.07367808585099,0.003337545382819418,0.03330711219042305,0.0,0.006953210845316328,-0.0032402243967050645,-0.0014066810620325687,0.0,0.0,0.0,0.0,0.0,0.0,21.32297803996891,33.005564353499736,11.795747241038052,-2.3608238502764225,-3.3777481589247125,-2.668109065919895,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+6.5,ArmStop,stop,0.0,23.0,2.0,0.0,,0.0,0.0,0.0,moveDiscreteCommand,-1.67533694964846,-1.8126768292657323,1.613793475580195,-2.1555531579406244,-1.4967109566050336,-0.0734555081711461,-0.004202553435738619,0.014865511777626302,0.0,-9.409553930693398E-4,-0.008510063331355957,-5.280826441022298E-4,0.0,0.0,0.0,0.0,0.0,0.0,4.713372261497679,35.07536570267955,20.936175262174075,0.9504768450412874,2.951005434642843,2.8665506046372853,stop,moveDiscreteCommand,3.0,20.0,3.0,true,false,false,true,true,true,false,false,false,false
+7.0,ArmMove,movediscrete,3.0,20.0,3.0,0.0,,0.0,0.0,0.0,,-1.6753402347459163,-1.812750332538065,1.613793475580195,-2.155449502730585,-1.4968114639801975,-0.07404381850024055,0.001750160273594485,0.07136470015572932,0.0,-0.010616771367464866,0.0075658994527204974,-0.006455428354977912,0.0,0.0,0.0,0.0,0.0,0.0,-13.187131617634265,47.501332469044456,22.65469952566003,6.143010792220821,-3.9503149980968573,-2.156168628665069,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,true,false,false
+7.5,ArmMove,movediscrete,3.0,20.0,3.0,0.0,,0.0,0.0,0.0,,-2.0717234043132136,-2.203137750094032,1.9678962566889941,-1.9239117981981435,-1.0515717420286474,-0.539593851467183,-0.19382505631821392,-0.011167731482866207,2.7076097008921056E-4,-0.008768365182023143,-4.6998545695240893E-4,0.0034114294959593076,0.0,0.0,0.0,0.0,0.0,0.0,-5.14219160491831,17.165430628222573,12.328310140158251,7.976514314623668,10.74924429791052,-3.7012733388648256,movediscrete,,0.0,0.0,0.0,false,false,false,false,true,true,false,false,false,false
+8.0,ArmMove,movediscrete,3.0,20.0,3.0,0.0,,0.0,0.0,0.0,,-2.4041822115724436,-2.2146705512441613,1.9746768652700233,-1.9228996539105117,-1.0193463251332346,-0.6612920028786196,0.0016876488373899238,-0.0031200993440456226,1.776356839400604E-13,0.007026118985643825,0.001482536088737458,0.00117442892122478,0.0,0.0,0.0,0.0,0.0,0.0,-5.3426442141872705,30.787241555157728,18.60794701998241,-8.156508177057301,-5.550482525121168,-1.1524108852363824,movediscrete,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+8.5,ArmStop,stop,3.0,20.0,3.0,0.0,moveDiscreteCommand,8.0,10.0,0.0,,-2.4042564337733063,-2.215474936897917,1.9746768652700233,-1.92307866528719,-1.0199483336118957,-0.6619723079031856,-0.0011205307831831943,0.04264272251611483,0.0,0.015289249593667108,0.01291753195751512,0.01697536495229084,0.0,0.0,0.0,0.0,0.0,0.0,-3.596046495206443,11.486390232216205,20.823624193836277,5.118475667847543,-4.752851137818872,2.3911308036250434,movediscrete,,0.0,0.0,0.0,false,false,false,false,true,true,false,false,false,false
+9.0,ArmStop,stop,3.0,20.0,3.0,0.0,,0.0,0.0,0.0,moveDiscreteCommand,-2.404153448687306,-2.2144577835723247,1.9746768652700224,-1.922877674084269,-1.0195892596576366,-0.6615111721332658,1.2836818434894037E-4,-0.008342511819138804,0.0,-0.0024141987966080167,-0.011430872049802475,-0.005585996872171651,0.0,0.0,0.0,0.0,0.0,0.0,3.2150201460787704,10.438275410558363,13.33602522337838,-0.48604835045095546,1.1134023246611637,0.30257531191604536,stop,moveDiscreteCommand,8.0,10.0,0.0,true,false,false,true,true,true,false,false,false,false
+9.5,ArmMove,movediscrete,8.0,10.0,0.0,0.0,,0.0,0.0,0.0,,-2.4042629021817215,-2.2152227962946975,1.9746768652700233,-1.9230667784656479,-1.0199466360340539,-0.6615724620328458,-0.0013880549717629185,-0.02543131539969829,0.0,0.007366726745596042,0.010748104249460518,-0.012582344248903981,0.0,0.0,0.0,0.0,0.0,0.0,2.3235901860610246,12.240240305379219,15.09264819126859,-0.7530828657867176,-10.769731355400626,4.060280204617827,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,true,false,false
+10.0,ArmMove,movediscrete,8.0,10.0,0.0,0.0,,0.0,0.0,0.0,,-2.8182628021518044,-1.7553161825073653,1.7337675336829692,-2.1652259084469554,-0.7912352934908862,-1.0497760440253412,-0.23673081840472057,1.45956884126577,-4.548285360784571E-4,0.020525817944520772,-5.645030555890842E-4,-0.9642303517266058,0.0,0.0,0.0,0.0,0.0,0.0,61.23937327589975,16.331313995581496,12.504530428572009,8.999424085764996,-0.44312573812410444,1.3057992528209474,movediscrete,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+10.5,ArmStop,stop,8.0,10.0,0.0,0.0,,0.0,0.0,0.0,,-3.0755415071729244,-1.2004456298382449,1.7323827821128504,-2.1697456790742384,-0.7875551800985074,-1.4779787834629214,0.0014414881063011095,0.015844275195667445,0.0,-0.005363230371099902,-0.006103862166281435,0.008138823543997475,0.0,0.0,0.0,0.0,0.0,0.0,29.65139559865191,24.34418215726337,10.228886017351233,-1.9334594707995394,-3.9459381202102053,1.690576877147354,movediscrete,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+11.0,ArmStop,stop,8.0,10.0,0.0,0.0,,0.0,0.0,0.0,,-3.075654978746197,-1.200646888807153,1.7323827821128512,-2.1697258431521584,-0.7878425609067738,-1.4779011378447642,1.491991055146205E-4,0.006136834802280746,0.0,0.002639970969652054,-0.016408464255315766,0.009063773470958462,0.0,0.0,0.0,0.0,0.0,0.0,18.008358976579967,27.580948940593526,13.21553883708917,1.782628276074928,-2.783454928832922,0.44355110547164395,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+11.5,ArmStop,stop,8.0,10.0,0.0,0.0,,0.0,0.0,0.0,,-3.075634806741805,-1.20017332555366,1.7323827821128504,-2.1697543814977838,-0.787400890790785,-1.4779427820287827,0.0017674943499903346,-0.07125720209618343,-1.7763568393993417E-13,-0.029089770924158428,0.015100992286313277,-0.0012271970973636687,0.0,0.0,0.0,0.0,0.0,0.0,5.4207739051894475,24.793137590761038,11.791564065880246,1.413787826516274,-1.395630699176777,0.20735090684227303,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+12.0,ArmStop,stop,8.0,10.0,0.0,0.0,,0.0,0.0,0.0,,-3.075517340156078,-1.2001362313760984,1.7323827821128504,-2.169529538549975,-0.7873436913939216,-1.4778708981622257,0.0027070622486732895,-0.07055286566131912,1.7763568393993417E-13,-0.024095080249951658,-0.006335337737614167,0.003349784000759533,0.0,0.0,0.0,0.0,0.0,0.0,40.1748326951227,31.567450843391363,16.492420760337197,2.9753334309421104,-11.355405855660623,0.6444863523012296,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+12.5,ArmStop,stop,8.0,10.0,0.0,0.0,,0.0,0.0,0.0,,-3.075671644863296,-1.2009097010738206,1.7323827821128504,-2.169842118562692,-0.7877539619766161,-1.4780741365813848,-0.004459468120463434,-0.03267105872487013,0.0,-0.017193909223314294,0.0054228897115010674,-0.006024856513061864,0.0,0.0,0.0,0.0,0.0,0.0,24.794981177115282,29.84179305346523,7.71763454321758,8.086842492014238,3.7310280334233377,0.26226825972013545,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+13.0,ArmStop,stop,8.0,10.0,0.0,0.0,moveDiscreteCommand,11.0,16.0,4.0,,-3.07562463741161,-1.2011557266769568,1.7323827821128504,-2.169927892374777,-0.7873498497837681,-1.478049544982654,-0.00424740814981344,-0.012809460527123503,0.0,0.007270972434444022,-0.018112466614441273,0.0032150606733322355,0.0,0.0,0.0,0.0,0.0,0.0,36.06442329460753,34.67327571016288,18.239648103831357,5.475731630669576,1.4530873589963473,-3.4625875663764534,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false
+13.5,ArmStop,stop,8.0,10.0,0.0,0.0,,0.0,0.0,0.0,moveDiscreteCommand,-3.075656418078201,-1.2003143602735031,1.7323827821128512,-2.169622175405327,-0.7871928817972877,-1.4779141067187203,-0.003118437922820586,-0.03898005822031929,1.7763568393993417E-13,-0.01289490610342676,0.012477067329624003,0.008003487435633075,0.0,0.0,0.0,0.0,0.0,0.0,-5.304395680897075,25.76382766827404,11.157392935425412,5.293296018137456,-0.24238298812877304,1.8174071254459634,stop,moveDiscreteCommand,11.0,16.0,4.0,true,false,false,true,true,true,false,false,false,false
+14.0,ArmMove,movediscrete,11.0,16.0,4.0,0.0,,0.0,0.0,0.0,,-3.0756801934712614,-1.2005554776073675,1.7323827821128504,-2.169586270369618,-0.7874386656715555,-1.4779515134887484,9.433880700621848E-4,0.08094620838323985,0.0,-0.011577948499835362,0.008295875645720959,1.680754435184035E-4,0.0,0.0,0.0,0.0,0.0,0.0,11.885159749074871,22.61736724459424,25.580851845681757,12.023090360359664,-3.0079219103806034,0.6638355535654026,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,true,false,false
+14.5,ArmMove,movediscrete,11.0,16.0,4.0,0.0,,0.0,0.0,0.0,,-2.962051265378168,-1.0011815703088542,1.9818361984231379,-1.7806812125295925,-1.2567359190750134,-1.011359666821936,1.5592668429010652,1.5839279139533315,8.738181890062228E-4,1.5557167312693778,-1.5724359817490934,1.6008592720633512,0.0,0.0,0.0,0.0,0.0,0.0,-844.7260583404402,27.911627862551494,-25.63246482180157,14.533668103645272,8.234850157261878,30.08257942462108,movediscrete,,0.0,0.0,0.0,false,false,false,false,false,true,false,false,false,false
diff --git a/tests/outputs_cosim_normq.csv b/tests/outputs_cosim_normq.csv
new file mode 100644
index 0000000..55a60a8
--- /dev/null
+++ b/tests/outputs_cosim_normq.csv
@@ -0,0 +1,31 @@
+time,{dmodel}.dmodel.state,{dmodel}.dmodel.d_model_event,{dmodel}.dmodel.d_model_event_args_0,{dmodel}.dmodel.d_model_event_args_1,{dmodel}.dmodel.d_model_event_args_2,{dmodel}.dmodel.d_model_event_args_3,{mapping}.mapping.controller_event,{mapping}.mapping.j0,{mapping}.mapping.j1,{mapping}.mapping.j2,{mapping}.mapping.j3,{mapping}.mapping.j4,{mapping}.mapping.j5,{mapping}.mapping.qd0,{mapping}.mapping.qd1,{mapping}.mapping.qd2,{mapping}.mapping.qd3,{mapping}.mapping.qd4,{mapping}.mapping.qd5,{mapping}.mapping.qdd0,{mapping}.mapping.qdd1,{mapping}.mapping.qdd2,{mapping}.mapping.qdd3,{mapping}.mapping.qdd4,{mapping}.mapping.qdd5,{mapping}.mapping.t0,{mapping}.mapping.t1,{mapping}.mapping.t2,{mapping}.mapping.t3,{mapping}.mapping.t4,{mapping}.mapping.t5,{mapping}.mapping.d_model_event,{mapping}.mapping.output_event,{mapping}.mapping.output_event_args_0,{mapping}.mapping.output_event_args_1,{mapping}.mapping.output_event_args_2,{mapping}.mapping.platform_event_0,{mapping}.mapping.platform_event_1,{mapping}.mapping.platform_event_2,{mapping}.mapping.platform_event_3,{mapping}.mapping.platform_event_4,{mapping}.mapping.platform_event_5,{mapping}.mapping.platform_event_6,{mapping}.mapping.platform_event_7,{mapping}.mapping.platform_event_8,{mapping}.mapping.platform_event_9,{controller}.controller.controller_event,{controller}.controller.controller_event_args_0,{controller}.controller.controller_event_args_1,{controller}.controller.controller_event_args_2
+0.0,Idle,,0.0,0.0,0.0,0.0,,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,0.0,0.0,0.0,false,false,false,false,false,false,false,false,false,false,,0.0,0.0,0.0
+0.5,Idle,,0.0,0.0,0.0,0.0,,2.83038525950019E-9,-1.7320807994991583E-4,-1.3322676295501878E-15,-1.3665499761206235E-4,1.6839980081506667E-5,-7.370918665783321E-5,-6.39729624118956E-4,0.004943428010140134,8.881784197001245E-14,-0.02548294533175619,1.7476013631778626E-4,0.005957373449305687,0.0,0.0,0.0,0.0,0.0,0.0,-44.77276896021537,55.28816913108884,17.88375491488329,-7.408339838598309,-0.03156229088251715,-1.292745690742167,,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+1.0,Idle,,0.0,0.0,0.0,0.0,,-4.327155342487288E-6,-5.31389877369115E-4,0.0,-4.911705936021526E-4,1.0218001654571651E-5,-2.1725361862134918E-4,-1.868694148754497E-4,-0.03670736010592613,8.881784197001442E-14,0.005339546271265874,5.315753797141667E-4,0.009819098415775539,0.0,0.0,0.0,0.0,0.0,0.0,-44.382942473118824,33.15712645487139,5.539101537436624,-4.443482868965181,0.04672797505808586,-2.694578987388291,,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+1.5,Idle,,0.0,0.0,0.0,0.0,,3.267109076166008E-6,-6.111505153141294E-4,-8.881784197001252E-16,-2.3553352036209674E-4,1.0214975343370014E-5,-1.4108853381245012E-4,-5.0781606564244105E-5,0.05474525576927408,0.0,0.0196542594195219,-1.1396228813964869E-4,-0.003983380045724601,0.0,0.0,0.0,0.0,0.0,0.0,-44.67975480730877,54.33732322283937,19.8201533805227,4.408976723701278,0.010067112162593372,-0.19823674754801263,,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,moveDiscreteCommand,0.0,23.0,2.0
+2.0,Idle,,0.0,0.0,0.0,0.0,moveDiscreteCommand,5.617763349619054E-6,-2.858391058864207E-4,-4.440892098500626E-16,-1.1470715573258516E-4,1.1231686682933173E-5,-8.632692848653534E-5,3.5873721238034106E-5,0.044357806963813806,-8.881784197001442E-14,0.013342041387165722,-3.9480363485112365E-4,0.008815604767242934,0.0,0.0,0.0,0.0,0.0,0.0,-43.85055996432095,38.89581442108771,1.602616838970428,1.2986064789764153,0.02102270433545951,-0.6043389378696714,,moveDiscreteCommand,0.0,23.0,2.0,true,false,false,true,true,true,false,false,false,false,moveDiscreteCommand,0.0,23.0,2.0
+2.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-4.2986287187574135E-6,-1.3762097025615816E-4,0.0,-2.3112245144574217E-4,1.8010149394065422E-5,-1.1402282062267233E-4,1.9921993850147572E-4,0.029134582617463333,-8.881784197001442E-14,-0.017000270748291163,-9.38150362550536E-4,-0.0011769795537297763,0.0,0.0,0.0,0.0,0.0,0.0,-47.2751973479309,55.79919744499934,20.56905781455139,4.587424802235006,0.03167081664716054,-1.9068498434449535,,moveDiscreteCommand,0.0,23.0,2.0,false,false,false,true,true,true,false,true,false,false,moveDiscreteCommand,0.0,23.0,2.0
+3.0,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-0.4194444140488405,-0.4612492558157215,0.4673285363736217,-0.46853771508052944,-0.38839450949751075,-0.0730554265155785,-1.3063556412069754,-1.5833135886568617,1.5707575087551038,-1.596165128636179,-1.5758763218959284,-0.002818653893310156,0.0,0.0,0.0,0.0,0.0,0.0,691.9971329692528,50.43586685069215,5.69153229614405,-7.620294197023364,-2.7500186522923658,-12.992700192132693,movediscrete,moveDiscreteCommand,0.0,23.0,2.0,false,false,false,false,false,true,false,true,false,false,moveDiscreteCommand,0.0,23.0,2.0
+3.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753965059503217,-1.8123234736663614,1.6137934755801941,-2.155301083895126,-1.4968022875323275,-0.07405246234981089,0.0016285886427877768,0.03827501609947005,0.0,-0.005031225561681231,0.00306166985826256,0.0017277225030202343,0.0,0.0,0.0,0.0,0.0,0.0,-41.47394083227607,45.48939104255516,21.056430565932136,4.471539072664096,-2.3559570739137206,-2.388248143964136,movediscrete,moveDiscreteCommand,0.0,23.0,2.0,false,false,false,true,true,true,false,true,false,false,moveDiscreteCommand,0.0,23.0,2.0
+4.0,ArmStop,stop,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753193861001447,-1.8127840401419197,1.613793475580195,-2.155974878610622,-1.4968608063804156,-0.07394892566078237,0.0014938572190817598,0.06618520109410649,0.0,-9.98016082398777E-4,0.00663952526096655,0.0019296049312171278,0.0,0.0,0.0,0.0,0.0,0.0,-20.043657286233326,45.147141834274024,16.711200762977544,1.7739714310116603,3.1724307195082244,0.8076966426662869,movediscrete,moveDiscreteCommand,0.0,23.0,2.0,false,false,false,true,true,true,false,true,false,false,moveDiscreteCommand,0.0,23.0,2.0
+4.5,ArmStop,stop,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6754047843847868,-1.8117737455785914,1.613793475580195,-2.155804365234556,-1.4970850506784652,-0.07426912491211057,-0.0032676367709434224,0.013889106485367996,0.0,0.031379467541021305,0.00847596662261365,0.003759361176670277,0.0,0.0,0.0,0.0,0.0,0.0,-23.74127600896413,43.23447722459857,2.51059073034783,17.150517590062325,2.895249291378607,0.3236795735928496,stop,moveDiscreteCommand,0.0,23.0,2.0,false,false,false,true,true,true,false,true,false,false,moveDiscreteCommand,0.0,23.0,2.0
+5.0,ArmStop,stop,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753075824973598,-1.8125806245763227,1.613793475580195,-2.1558603807006653,-1.4969792027574353,-0.0739490251123538,0.001777748106412048,-0.03984463593445135,0.0,-0.02210901547295953,4.144655044056134E-4,0.005345085366401144,0.0,0.0,0.0,0.0,0.0,0.0,22.340693997066907,31.858994688660506,18.323736969404173,-1.1697408292384346,2.5459712880171974,1.3943827926492172,stop,moveDiscreteCommand,0.0,23.0,2.0,false,false,false,true,true,true,false,true,false,false,moveDiscreteCommand,0.0,23.0,2.0
+5.5,ArmStop,stop,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753583532945608,-1.812294276695778,1.613793475580196,-2.155363059996846,-1.4968581874197975,-0.07398468509806255,-5.945273176874167E-4,-0.030542998744904543,0.0,-0.011127288501627666,-4.234460453387322E-4,-0.004828940037169022,0.0,0.0,0.0,0.0,0.0,0.0,-12.31204102551483,64.60757194048276,35.405029563428556,-5.4596547254920065,-2.4587749382492334,-2.3096988833100176,stop,moveDiscreteCommand,0.0,23.0,2.0,false,false,false,true,true,true,false,true,false,false,moveDiscreteCommand,0.0,23.0,2.0
+6.0,ArmStop,stop,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.675404120167049,-1.811796443531839,1.6137934755801941,-2.1559390706221633,-1.4969623012459845,-0.07416035125329845,3.370169126879982E-4,-0.043890468736384775,0.0,0.0127672357455856,0.006752033555908908,-0.0017349095915433217,0.0,0.0,0.0,0.0,0.0,0.0,-25.688522073171704,33.776383669374745,12.962848401887664,-0.9651341362553619,0.4363349878671995,0.07862518770705282,stop,moveDiscreteCommand,0.0,23.0,2.0,false,false,false,true,true,true,false,true,false,false,closeGripperCommand,0.0,0.0,0.0
+6.5,ArmStop,stop,0.0,23.0,2.0,0.0,closeGripperCommand,-1.6753183476961047,-1.8127521260434731,1.613793475580195,-2.1557621734037093,-1.4967324285162276,-0.07405715055995055,0.004460176407758914,0.022783296325267766,0.0,0.008789112083458173,0.011083931121008575,-9.52268168407723E-4,0.0,0.0,0.0,0.0,0.0,0.0,-0.6353382688722415,32.370083971642686,11.93419950464531,-1.527468554263924,0.9883955141510269,2.7652003747132032,stop,closeGripperCommand,0.0,0.0,0.0,false,true,false,true,true,true,false,true,false,false,closeGripperCommand,0.0,0.0,0.0
+7.0,GripperClose,pick,0.0,23.0,2.0,0.0,closeGripperCommand,-1.675296409780361,-1.8130955625971579,1.613793475580195,-2.155913695371587,-1.496643914162231,-0.0737273975799555,-0.002026128219866437,-0.05264904001067243,0.0,-0.01806492913586552,-3.119871793798093E-4,0.0056946944837014965,0.0,0.0,0.0,0.0,0.0,0.0,-11.30865613046654,48.491738703758756,22.903846383239898,-3.1968394658120074,0.4651563420088781,0.7505149628294288,stop,closeGripperCommand,0.0,0.0,0.0,false,true,false,true,true,true,false,false,false,false,closeGripperCommand,0.0,0.0,0.0
+7.5,GripperClose,pick,0.0,23.0,2.0,0.0,closeGripperCommand,-1.6753648455083088,-1.8130151696084242,1.613793475580195,-2.1558355595024112,-1.4968326568181824,-0.07383481912342882,5.277747723295221E-4,-0.08205923361308785,0.0,-0.028303395012571016,5.07541681571151E-5,-0.0059829207383868465,0.0,0.0,0.0,0.0,0.0,0.0,-7.8453417306264415,38.85733914874028,15.384336341213347,0.09297473800718485,2.0847425643414086,2.0033737512752703,pick,closeGripperCommand,0.0,0.0,0.0,false,true,false,true,true,true,false,false,false,false,closeGripperCommand,0.0,0.0,0.0
+8.0,GripperClose,pick,0.0,23.0,2.0,0.0,closeGripperCommand,-1.6754106210427597,-1.8130937167481838,1.613793475580195,-2.1558758421838116,-1.4969335632173193,-0.07408033657934343,-7.899858017519756E-4,0.06311720793800259,0.0,0.019817951270962718,0.002284909724358183,-0.010864134085680759,0.0,0.0,0.0,0.0,0.0,0.0,-37.357452831890576,38.412959033179234,16.711257741073958,1.5451958602877631,0.19216537013940088,-1.804450576957736,pick,closeGripperCommand,0.0,0.0,0.0,false,true,false,true,true,true,false,false,false,false,closeGripperCommand,0.0,0.0,0.0
+8.5,GripperClose,pick,0.0,23.0,2.0,0.0,closeGripperCommand,-1.6753839650759952,-1.8116526119440541,1.6137934755801941,-2.1553887985334432,-1.4967167277155458,-0.0739488744962502,0.003768291031745212,-0.00802671152832646,-1.7763568393993417E-13,-0.015340842731595895,-0.008508417899650933,-0.00891538350868514,0.0,0.0,0.0,0.0,0.0,0.0,-15.336458697078035,40.02585844341434,17.17819175799051,2.016030540391193,0.9508659210160288,0.12715272035025085,pick,closeGripperCommand,0.0,0.0,0.0,false,true,false,true,true,true,false,false,false,false,moveDiscreteCommand,0.0,20.0,3.0
+9.0,GripperClose,pick,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753637246146935,-1.8130060930260905,1.613793475580195,-2.1558462084176506,-1.4968313868048293,-0.07391119958365433,0.0011520237986667116,0.040698684248298415,0.0,0.015699639805069904,0.0026664976989096657,-0.0011290384693823704,0.0,0.0,0.0,0.0,0.0,0.0,-10.281517825577364,49.255857232320956,23.41377701621948,5.844850951468275,2.616036560736729,2.43720083399288,pick,moveDiscreteCommand,0.0,20.0,3.0,true,false,false,true,true,true,false,false,false,false,moveDiscreteCommand,0.0,20.0,3.0
+9.5,GripperClose,pick,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753512092951341,-1.8127827532028276,1.613793475580195,-2.155828565053958,-1.4968047962570408,-0.07383933598432346,2.4414128922943534E-4,1.4218123034474503E-4,0.0,-0.017830526502384574,0.009187963885888013,0.011579724342952362,0.0,0.0,0.0,0.0,0.0,0.0,1.014096000303348,40.62630289355562,22.99299058120024,0.9005421655588279,2.161217513168541,-0.3145944649342486,pick,moveDiscreteCommand,0.0,20.0,3.0,false,false,false,true,true,true,false,true,false,false,moveDiscreteCommand,0.0,20.0,3.0
+10.0,GripperClose,pick,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.675371217109821,-1.8131242826710885,1.613793475580195,-2.155893572768674,-1.4969173787546817,-0.07407933253391485,-0.0030678282019620377,0.005002669544926446,1.7763568393993417E-13,0.0021481224479191876,-0.00133228779546289,0.014620627467013828,0.0,0.0,0.0,0.0,0.0,0.0,-1.7956308200217481,38.60631288382257,15.375423514510697,-0.15064848946023374,-0.8469292774881183,0.6398642526549508,pick,moveDiscreteCommand,0.0,20.0,3.0,false,false,false,true,true,true,false,true,false,false,moveDiscreteCommand,0.0,20.0,3.0
+10.5,GripperClose,pick,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753404087507695,-1.812458257700099,1.613793475580195,-2.155666371403327,-1.4966099754770408,-0.07366478000492105,-3.0880596248989724E-4,0.03301367639048623,0.0,0.012298809951787707,-0.010345191368260878,-0.01022036394599556,0.0,0.0,0.0,0.0,0.0,0.0,-3.4417715805141826,37.96313440647354,14.336083573781753,-1.2111523149519414,-2.810756917449294,0.862472593973861,pick,moveDiscreteCommand,0.0,20.0,3.0,false,false,false,true,true,true,false,true,false,false,moveDiscreteCommand,0.0,20.0,3.0
+11.0,GripperClose,pick,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6754085184135459,-1.8127534022386698,1.6137934755801941,-2.155844590221469,-1.4968671490794687,-0.07419984054459894,5.683644070946965E-4,-0.020916429409309083,0.0,-9.241117597377857E-4,0.0023909719580239115,-0.005016115233940199,0.0,0.0,0.0,0.0,0.0,0.0,-10.345322740610085,42.291572718229695,9.638697456687744,3.7034048140233247,0.49099846541259495,3.074189854855438,pick,moveDiscreteCommand,0.0,20.0,3.0,false,false,false,true,true,true,false,true,false,false,moveDiscreteCommand,0.0,20.0,3.0
+11.5,GripperClose,pick,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753327694880893,-1.8129258193314586,1.613793475580195,-2.156190062056699,-1.4967281342306,-0.07403173630167492,-6.065022658324724E-4,-0.03682193962063503,0.0,-0.012736478533004674,0.006291525304475025,0.006345812331348897,0.0,0.0,0.0,0.0,0.0,0.0,-5.624872387390534,49.105010391139345,14.996253423440532,-2.06302942961454,3.9779576677098647,-2.1740141869340452,pick,moveDiscreteCommand,0.0,20.0,3.0,false,false,false,true,true,true,false,true,false,false,moveDiscreteCommand,0.0,20.0,3.0
+12.0,GripperClose,pick,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753528818160426,-1.811583962866215,1.613793475580195,-2.1555153306339863,-1.4967717467439927,-0.07393138574768576,-4.115473442926478E-4,0.01716754600666233,0.0,0.016151796742761827,0.0039794546852470305,0.00416919786144045,0.0,0.0,0.0,0.0,0.0,0.0,-9.146151707679554,21.733168391847066,21.926995364925457,7.3982767595705194,-1.158627775382075,0.772314044167728,pick,moveDiscreteCommand,0.0,20.0,3.0,false,false,false,true,true,true,false,true,false,false,moveDiscreteCommand,0.0,20.0,3.0
+12.5,GripperClose,pick,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.675373750620552,-1.8132471628070066,1.613793475580195,-2.155922770498571,-1.4967369502289847,-0.07385695226490352,-0.0012924652471835816,-0.053236302667029736,1.776356839401866E-13,-0.017362294252636603,0.004510865671573877,0.003349880447703617,0.0,0.0,0.0,0.0,0.0,0.0,-14.29260653548339,30.829768430075394,10.471479508521451,-3.2387043143692615,1.730218897317155,0.8826655644526316,pick,moveDiscreteCommand,0.0,20.0,3.0,false,false,false,true,true,true,false,true,false,false,moveDiscreteCommand,0.0,20.0,3.0
+13.0,GripperClose,pick,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753581085387674,-1.8121304603518604,1.613793475580195,-2.1557476552561896,-1.496745097276512,-0.07378972813518736,0.0013807082609686228,-0.05245341071576145,1.776356839401866E-13,-0.014212071519294647,-0.003765392464320044,-0.006351427566470228,0.0,0.0,0.0,0.0,0.0,0.0,0.8949195131596642,33.82036082996059,18.2296877526901,1.3228287904259175,2.4840751376094583,-2.2225916868486926,pick,moveDiscreteCommand,0.0,20.0,3.0,false,false,false,true,true,true,false,true,false,false,closeGripperCommand,0.0,0.0,0.0
+13.5,GripperClose,pick,0.0,23.0,2.0,0.0,closeGripperCommand,-1.675402950097193,-1.8123323863678165,1.6137934755801941,-2.15559510831432,-1.496979083124013,-0.07401041953403364,-6.961489571472804E-5,0.08279963961637973,0.0,0.027930291478942416,-0.0036411725570706186,-0.0010926095741058352,0.0,0.0,0.0,0.0,0.0,0.0,0.5562493996597623,38.850060997889805,16.01764472632988,1.265801234729031,-2.8813016726658285,1.2845556953526724,pick,closeGripperCommand,0.0,0.0,0.0,false,true,false,true,true,true,false,true,false,false,closeGripperCommand,0.0,0.0,0.0
+14.0,GripperClose,pick,0.0,23.0,2.0,0.0,closeGripperCommand,-1.6753639002772163,-1.8132102599606084,1.613793475580195,-2.1559190362108174,-1.4968026428569425,-0.07388886272366557,-0.0024086989231641687,0.050704430199790027,0.0,-0.021306230713255495,-7.051370719330681E-4,0.002369307563656543,0.0,0.0,0.0,0.0,0.0,0.0,-18.68327430373227,30.40735432109385,9.67513181823285,-4.503679646618847,1.6124573683297214,0.3860322408214314,pick,closeGripperCommand,0.0,0.0,0.0,false,true,false,true,true,true,false,false,false,false,closeGripperCommand,0.0,0.0,0.0
+14.5,GripperClose,pick,0.0,23.0,2.0,0.0,closeGripperCommand,-1.6753912333138823,-1.8132777139504483,1.6137934755801941,-2.1557528473780225,-1.496958331556269,-0.07397916959008599,-0.0020172465138320076,0.043048560799835725,0.0,0.015332854085251047,0.011964812639331026,0.012385936512704528,0.0,0.0,0.0,0.0,0.0,0.0,-14.629587282273594,40.653659823687626,16.933741046997863,2.57452982676345,1.467588622023092,-2.1632215166896422,pick,closeGripperCommand,0.0,0.0,0.0,false,true,false,true,true,true,false,false,false,false,closeGripperCommand,0.0,0.0,0.0
diff --git a/tests/outputs_cosim_normq2.csv b/tests/outputs_cosim_normq2.csv
new file mode 100644
index 0000000..faf0731
--- /dev/null
+++ b/tests/outputs_cosim_normq2.csv
@@ -0,0 +1,31 @@
+time,{dmodel}.dmodel.state,{dmodel}.dmodel.d_model_event,{dmodel}.dmodel.d_model_event_args_0,{dmodel}.dmodel.d_model_event_args_1,{dmodel}.dmodel.d_model_event_args_2,{dmodel}.dmodel.d_model_event_args_3,{mapping}.mapping.controller_event,{mapping}.mapping.j0,{mapping}.mapping.j1,{mapping}.mapping.j2,{mapping}.mapping.j3,{mapping}.mapping.j4,{mapping}.mapping.j5,{mapping}.mapping.qd0,{mapping}.mapping.qd1,{mapping}.mapping.qd2,{mapping}.mapping.qd3,{mapping}.mapping.qd4,{mapping}.mapping.qd5,{mapping}.mapping.qdd0,{mapping}.mapping.qdd1,{mapping}.mapping.qdd2,{mapping}.mapping.qdd3,{mapping}.mapping.qdd4,{mapping}.mapping.qdd5,{mapping}.mapping.t0,{mapping}.mapping.t1,{mapping}.mapping.t2,{mapping}.mapping.t3,{mapping}.mapping.t4,{mapping}.mapping.t5,{mapping}.mapping.d_model_event,{mapping}.mapping.output_event,{mapping}.mapping.output_event_args_0,{mapping}.mapping.output_event_args_1,{mapping}.mapping.output_event_args_2,{mapping}.mapping.platform_event_0,{mapping}.mapping.platform_event_1,{mapping}.mapping.platform_event_2,{mapping}.mapping.platform_event_3,{mapping}.mapping.platform_event_4,{mapping}.mapping.platform_event_5,{mapping}.mapping.platform_event_6,{mapping}.mapping.platform_event_7,{mapping}.mapping.platform_event_8,{mapping}.mapping.platform_event_9,{controller}.controller.controller_event,{controller}.controller.controller_event_args_0,{controller}.controller.controller_event_args_1,{controller}.controller.controller_event_args_2
+0.0,Idle,,0.0,0.0,0.0,0.0,,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,0.0,0.0,0.0,false,false,false,false,false,false,false,false,false,false,,0.0,0.0,0.0
+0.5,Idle,,0.0,0.0,0.0,0.0,,2.83038525950019E-9,-1.7320807994991583E-4,-1.3322676295501878E-15,-1.3665499761206235E-4,1.6839980081506667E-5,-7.370918665783321E-5,-6.39729624118956E-4,0.004943428010140134,8.881784197001245E-14,-0.01657986210696903,-1.9285101435784197E-4,-0.0027208535299472177,0.0,0.0,0.0,0.0,0.0,0.0,-45.60298601593475,38.844962073808226,19.458153164405147,4.576761071722329,-0.11727119213488028,3.5602057618976524,,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+1.0,Idle,,0.0,0.0,0.0,0.0,,-7.0330733148438185E-6,-8.815086767328673E-4,0.0,-4.5928575225584467E-4,4.790727663905869E-6,-2.1900169984423457E-4,2.2437100479777905E-4,-0.058601938149217686,0.0,-0.005827008412939829,-3.586715539683004E-4,0.005993614721688928,0.0,0.0,0.0,0.0,0.0,0.0,-45.410628055067534,64.42407698088297,5.539101537436624,1.332200482967094,-0.04356743727030391,0.6731802508813495,,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+1.5,Idle,,0.0,0.0,0.0,0.0,,7.597698252759244E-7,-4.921852546559968E-4,-8.881784197001252E-16,-2.2261934361988978E-4,1.1201606547661669E-5,-1.9150947997159662E-4,-3.391505033256764E-4,-0.025337586897756212,-8.881784197001442E-14,0.01674325654823541,3.894368528101294E-4,0.010944893929299104,0.0,0.0,0.0,0.0,0.0,0.0,-43.0106162268788,40.61214328754981,9.642671820559903,-3.0464084972499466,-0.004446420317060562,-2.289777797282852,,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,moveDiscreteCommand,0.0,23.0,2.0
+2.0,Idle,,0.0,0.0,0.0,0.0,moveDiscreteCommand,-1.5575646341581262E-6,-6.111391836074453E-4,4.440892098500626E-16,-2.942245096670959E-4,1.3312802650933264E-5,-2.2805141180226585E-4,-1.5300154130315816E-4,-0.05205396995595746,0.0,-0.012538299435771717,5.258364303983965E-5,-0.0038213883463812087,0.0,0.0,0.0,0.0,0.0,0.0,-45.598322676535886,44.884596638157525,13.88685247446439,1.2986064789764153,-0.03935823642593953,2.1822915117315054,,moveDiscreteCommand,0.0,23.0,2.0,true,false,false,true,true,true,false,false,false,false,moveDiscreteCommand,0.0,23.0,2.0
+2.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-8.459684117667621E-7,-5.805971842787194E-4,-8.881784197001252E-16,-2.0237336548678542E-4,6.9521702585895184E-6,7.030336800895043E-5,4.1391445595452043E-4,0.06249857100817513,0.0,0.013725096857886436,5.534109980054443E-4,-0.002955184267783358,0.0,0.0,0.0,0.0,0.0,0.0,-44.00201002579602,43.32693629778676,11.395663022978233,-1.3355315909994012,-0.023773953055227615,-0.7947026222398208,,moveDiscreteCommand,0.0,23.0,2.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,0.0,23.0,2.0
+3.0,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,6.479100320255782E-6,5.89005570764467E-4,-8.881784197001252E-16,2.0155812063649137E-4,-0.07808258736530682,-0.04795363271558095,-1.535572466181838,-1.5725716524134221,1.570751848288253,-1.570661657872495,-1.5719596041959811,-0.5806163089093965,0.0,0.0,0.0,0.0,0.0,0.0,868.4528500641323,383.8390087742786,275.2968635093487,239.0988525720476,8.499503929390018,173.24753079166877,movediscrete,moveDiscreteCommand,0.0,23.0,2.0,false,false,false,false,false,true,false,false,true,false,moveDiscreteCommand,0.0,23.0,2.0
+3.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6754344054899954,-1.8117753888174297,1.6137934755457337,-2.155416197223852,-1.4968379150757407,-0.07396920205294188,0.0034269701341566234,-0.057745469268146575,2.669864329618159E-10,-0.01940499919363655,-0.0013233594552628665,-0.008675668909673171,0.0,0.0,0.0,0.0,0.0,0.0,-21.607229662785596,38.64536052751976,16.892093192055633,5.989050035263537,1.651377170099503,1.562192954202934,movediscrete,moveDiscreteCommand,0.0,23.0,2.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,0.0,23.0,2.0
+4.0,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.675340896618887,-1.8119621516784878,1.613793475580195,-2.1556481947078874,-1.4969086336283288,-0.07393985881658116,0.0023369780805642323,0.0030631437368817114,0.0,0.008634202714754066,-0.0012909220007631186,-0.009777855647021551,0.0,0.0,0.0,0.0,0.0,0.0,-17.404845859747773,42.022837633184004,20.41437276974048,0.1375732756657964,-0.7688696751707806,0.4236596798604083,movediscrete,moveDiscreteCommand,0.0,23.0,2.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,0.0,23.0,2.0
+4.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753360201904322,-1.813617731318101,1.6137934755801941,-2.1557010121754603,-1.496663733995785,-0.07371657841848966,-1.445850202231046E-4,0.00976106163808249,0.0,-0.01317454153078308,0.00874894644926801,0.003124155913437132,0.0,0.0,0.0,0.0,0.0,0.0,6.212795346703255,24.558857585475426,17.042378314877972,10.126208057540385,0.11906084020262461,0.03325760305061731,movediscrete,moveDiscreteCommand,0.0,23.0,2.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,0.0,23.0,2.0
+5.0,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753677848211144,-1.8117396818750109,1.6137934755801941,-2.1554319783136977,-1.4966370367124098,-0.07396818254227622,-0.0026452183634622915,0.029971833896175606,0.0,-0.012518616956216637,0.0027182254054741585,0.0019935618348125377,0.0,0.0,0.0,0.0,0.0,0.0,-21.305621529557268,43.58031628182397,19.335085065357504,3.108740812423137,2.588366277905048,2.3553383821356904,movediscrete,moveDiscreteCommand,0.0,23.0,2.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,0.0,23.0,2.0
+5.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.675309148792647,-1.8126099025179538,1.613793475580195,-2.155880672127787,-1.496629320925762,-0.07410402864121401,-0.003963925283299223,-0.012579894822189134,0.0,-0.011629631537595931,-0.008519833236238032,0.0013572132753651707,0.0,0.0,0.0,0.0,0.0,0.0,-3.345824961277967,34.47151512133603,20.745920500285315,4.71154321641356,-0.5959716970945251,0.997928381240996,movediscrete,moveDiscreteCommand,0.0,23.0,2.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,0.0,23.0,2.0
+6.0,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.675364724909996,-1.81153458548365,1.613793475580195,-2.1553755576229037,-1.4968813554547538,-0.07401064867442164,0.002318488763463002,0.05768696251845886,1.7763568393993417E-13,-0.004436607209965477,-0.004148708962856782,-0.008283879479171955,0.0,0.0,0.0,0.0,0.0,0.0,-15.073405130074837,38.71959764772524,27.040093642201697,0.16786495097225185,3.1399248518384284,-1.9798539350402684,movediscrete,moveDiscreteCommand,0.0,23.0,2.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,3.0,20.0,3.0
+6.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753745447584754,-1.812956881238109,1.613793475580195,-2.1556778929262306,-1.4971935095294633,-0.07432971108533959,3.4363336567349206E-4,-0.017269867217697455,0.0,-0.006971596073764616,0.006615692629093841,0.0035107754972489662,0.0,0.0,0.0,0.0,0.0,0.0,-34.299786735518445,40.90247422812986,17.400062220496558,1.8465852167591918,5.197992705794819,3.4196682251687798,movediscrete,moveDiscreteCommand,3.0,20.0,3.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,3.0,20.0,3.0
+7.0,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.675417339029588,-1.8124196196152473,1.613793475580196,-2.155773538271606,-1.497058948094553,-0.07434230590859903,-0.0010516920998066175,-0.03745589504171891,0.0,-0.011909842595863598,0.0014277146110678787,-6.599488667543517E-4,0.0,0.0,0.0,0.0,0.0,0.0,-19.76088663124019,34.61027037947758,13.798578764986033,-0.4200620715993729,-2.254562153235121,-1.4491726932094287,movediscrete,moveDiscreteCommand,3.0,20.0,3.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,3.0,20.0,3.0
+7.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.67536259171363,-1.8128507384532915,1.613793475580195,-2.1557949785839012,-1.4970774521526655,-0.0742134848305076,-0.0020733136867779273,-0.012422923432169636,0.0,0.018059790316362265,0.009014517694256704,0.00210883595528236,0.0,0.0,0.0,0.0,0.0,0.0,-2.5056647593268453,44.96964286814388,19.487528435793855,4.29752708947817,-1.366346568080413,-2.3834342497814793,movediscrete,moveDiscreteCommand,3.0,20.0,3.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,3.0,20.0,3.0
+8.0,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.675400055180182,-1.8126059854428318,1.613793475580195,-2.155828273177902,-1.4967138215167646,-0.07393984401328213,0.002178196001877404,0.0028116256403961696,0.0,-0.01046865301823094,0.015765678673843302,-0.00947757054622981,0.0,0.0,0.0,0.0,0.0,0.0,21.827147021292426,31.416757065189056,14.954088807786182,7.58987034862092,-1.8258965364436333,0.475633331155359,movediscrete,moveDiscreteCommand,3.0,20.0,3.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,3.0,20.0,3.0
+8.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753618123870266,-1.8130848167066604,1.613793475580195,-2.15571159214801,-1.4968653614920004,-0.07390673026103434,0.0024879098319297447,0.049204708740413834,-1.776356839401866E-13,0.01620979066176229,0.010292864708648021,0.008166617239354291,0.0,0.0,0.0,0.0,0.0,0.0,-4.430404365631022,59.3580315975874,16.3709880542795,-7.867256733087484,3.7352217990463075,-7.341608996756728,movediscrete,moveDiscreteCommand,3.0,20.0,3.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,8.0,10.0,0.0
+9.0,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753971492031097,-1.812905625946037,1.6137934755801941,-2.155780004808352,-1.4970266774074394,-0.07438912348469806,0.003563974123646973,0.018599397483693145,0.0,0.007955321424020797,6.849791736491374E-4,0.002816374669214813,0.0,0.0,0.0,0.0,0.0,0.0,-26.05648185781045,42.48626880814142,17.12787343835104,0.7160702737178652,-0.5862647182450467,-1.0540235578006558,movediscrete,moveDiscreteCommand,8.0,10.0,0.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,8.0,10.0,0.0
+9.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.675349724024822,-1.812446815764753,1.6137934755801941,-2.1556353728998845,-1.4968623284366949,-0.07399914822130604,-5.749019784678466E-5,-0.024079898866724264,0.0,-0.008412199684933886,0.004702864659660136,-0.0064543962071953315,0.0,0.0,0.0,0.0,0.0,0.0,-6.038441676032088,53.83401533306585,26.899085907791026,8.893428714546735,-0.05808193221992752,6.561235141945597,movediscrete,moveDiscreteCommand,8.0,10.0,0.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,8.0,10.0,0.0
+10.0,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.675337580991033,-1.8130449737940264,1.613793475580195,-2.1558722217364066,-1.4969677370632377,-0.0741087562248568,0.002056982462940932,-0.029676448319931117,0.0,-0.011600636636732168,0.003575449667717533,0.004124938000775046,0.0,0.0,0.0,0.0,0.0,0.0,-8.24213465798132,23.56089294816673,5.764210022132607,-6.059641806981378,5.298553163223882,-1.6162224411629382,movediscrete,moveDiscreteCommand,8.0,10.0,0.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,8.0,10.0,0.0
+10.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753396199572244,-1.812217991030054,1.613793475580195,-2.155836909442262,-1.4969710417311939,-0.07431607553949471,-2.0768870019357582E-4,0.06681071755749139,0.0,0.02237316082871291,0.0011522829085574492,-0.0030738757999443566,0.0,0.0,0.0,0.0,0.0,0.0,-10.024213349915556,33.27057416252207,26.02521885577794,-1.6536617524832926,-1.2003284901169171,-1.0014247469412374,movediscrete,moveDiscreteCommand,8.0,10.0,0.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,8.0,10.0,0.0
+11.0,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753144682183185,-1.813025110133542,1.613793475580196,-2.1559640890999345,-1.4968191308883751,-0.07390846351660674,0.002328461381397759,-0.015315456674983071,0.0,-0.011910018448279831,0.008495503367641443,-0.00258375145563385,0.0,0.0,0.0,0.0,0.0,0.0,-20.3165980751718,52.10074587758008,9.531353648424687,3.017560226709836,-6.657859148994069,-5.052484875765996,movediscrete,moveDiscreteCommand,8.0,10.0,0.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,8.0,10.0,0.0
+11.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753566406086655,-1.8126548988501625,1.613793475580195,-2.1559274096636587,-1.4968719288419443,-0.07414900018517656,-0.002894303084491202,-0.08342004911668736,0.0,-0.00869726441426702,0.0064652825448933094,0.004939084451121063,0.0,0.0,0.0,0.0,0.0,0.0,-1.372063670161128,37.486973497383474,15.391252327756447,0.6765439603088554,1.523777223087047,1.6190460842920906,movediscrete,moveDiscreteCommand,8.0,10.0,0.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,8.0,10.0,0.0
+12.0,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753722482240327,-1.812604570322085,1.613793475580195,-2.1556747935998537,-1.4969071131769276,-0.07398992511369862,0.0032698907707769715,-0.04746373243755695,-1.776356839401866E-13,0.018868276452561013,-3.1849012120972563E-4,-9.505203197876829E-4,0.0,0.0,0.0,0.0,0.0,0.0,-30.42648051203626,41.66612670216271,16.177065062993407,3.6876730032774523,-1.1810265085868477,2.6707589908535043,movediscrete,moveDiscreteCommand,8.0,10.0,0.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,8.0,10.0,0.0
+12.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753470396389352,-1.812825674761867,1.613793475580196,-2.1558139071218,-1.4968957866293016,-0.07388528922068804,0.0016646339265251205,0.0914748373816942,-1.776356839401866E-13,-0.0015714178601925336,3.560922310800093E-4,0.0027756521596725412,0.0,0.0,0.0,0.0,0.0,0.0,-1.0456039101061532,48.23099975200623,14.448641353687549,4.61208775824644,-3.1189508584846646,2.1936028305325386,movediscrete,moveDiscreteCommand,8.0,10.0,0.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,8.0,10.0,0.0
+13.0,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753868282233855,-1.8132539199447102,1.613793475580195,-2.155679553169917,-1.496852993496952,-0.07399392643626568,0.0037335312505638136,-0.03399572317398275,-1.776356839401866E-13,-0.0034364173567200842,-0.0038943014390149136,-0.010226165780045511,0.0,0.0,0.0,0.0,0.0,0.0,22.84456022110053,40.06846040506949,18.92898266064966,-2.04952342328982,-0.7341282276116097,-0.6929756726733625,movediscrete,moveDiscreteCommand,8.0,10.0,0.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,11.0,16.0,4.0
+13.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753889990234594,-1.812741109016046,1.613793475580195,-2.1557850801187532,-1.496965882510671,-0.07430294137506221,-0.0013999524433940223,-0.012064486328011584,0.0,-0.005887559783351674,0.005559370605828289,0.00976737161942687,0.0,0.0,0.0,0.0,0.0,0.0,-10.36269113267327,39.267572832674894,20.908190584416467,4.792577132709202,0.0535344928907147,-0.5843049516007623,movediscrete,moveDiscreteCommand,11.0,16.0,4.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,11.0,16.0,4.0
+14.0,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753751412737534,-1.8125549118783804,1.613793475580195,-2.1554698443484037,-1.496910419423127,-0.07419951804570468,-0.0026083677058276597,0.002091026505548169,-1.776356839401866E-13,-0.002619961866303806,-0.004515022289557023,0.006690256924996563,0.0,0.0,0.0,0.0,0.0,0.0,-13.675340419880362,38.07755471673023,16.972467213850347,4.042322302557388,-4.564452553945041,-0.2913202727834097,movediscrete,moveDiscreteCommand,11.0,16.0,4.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,11.0,16.0,4.0
+14.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.675334752322736,-1.811928511453134,1.6137934755801941,-2.155502358361928,-1.4968007843827031,-0.07386025202192803,-0.002165282392321026,0.04345191864615971,0.0,0.015868280481626806,0.005021325741698794,-0.009463636139725732,0.0,0.0,0.0,0.0,0.0,0.0,-14.733035894152712,35.2097192157256,12.848375191739013,-1.9959644350710817,-3.8594315851771404,-2.4522872466468795,movediscrete,moveDiscreteCommand,11.0,16.0,4.0,false,false,false,true,true,true,false,false,true,false,moveDiscreteCommand,11.0,16.0,4.0
diff --git a/tests/outputs_cosim_normq3.csv b/tests/outputs_cosim_normq3.csv
new file mode 100644
index 0000000..88aeb5c
--- /dev/null
+++ b/tests/outputs_cosim_normq3.csv
@@ -0,0 +1,31 @@
+time,{dmodel}.dmodel.state,{dmodel}.dmodel.d_model_event,{dmodel}.dmodel.d_model_event_args_0,{dmodel}.dmodel.d_model_event_args_1,{dmodel}.dmodel.d_model_event_args_2,{dmodel}.dmodel.d_model_event_args_3,{mapping}.mapping.controller_event,{mapping}.mapping.j0,{mapping}.mapping.j1,{mapping}.mapping.j2,{mapping}.mapping.j3,{mapping}.mapping.j4,{mapping}.mapping.j5,{mapping}.mapping.qd0,{mapping}.mapping.qd1,{mapping}.mapping.qd2,{mapping}.mapping.qd3,{mapping}.mapping.qd4,{mapping}.mapping.qd5,{mapping}.mapping.qdd0,{mapping}.mapping.qdd1,{mapping}.mapping.qdd2,{mapping}.mapping.qdd3,{mapping}.mapping.qdd4,{mapping}.mapping.qdd5,{mapping}.mapping.t0,{mapping}.mapping.t1,{mapping}.mapping.t2,{mapping}.mapping.t3,{mapping}.mapping.t4,{mapping}.mapping.t5,{mapping}.mapping.d_model_event,{mapping}.mapping.output_event,{mapping}.mapping.output_event_args_0,{mapping}.mapping.output_event_args_1,{mapping}.mapping.output_event_args_2,{mapping}.mapping.platform_event_0,{mapping}.mapping.platform_event_1,{mapping}.mapping.platform_event_2,{mapping}.mapping.platform_event_3,{mapping}.mapping.platform_event_4,{mapping}.mapping.platform_event_5,{mapping}.mapping.platform_event_6,{mapping}.mapping.platform_event_7,{mapping}.mapping.platform_event_8,{mapping}.mapping.platform_event_9,{controller}.controller.controller_event,{controller}.controller.controller_event_args_0,{controller}.controller.controller_event_args_1,{controller}.controller.controller_event_args_2
+0.0,Idle,,0.0,0.0,0.0,0.0,,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,0.0,0.0,0.0,false,false,false,false,false,false,false,false,false,false,,0.0,0.0,0.0
+0.5,Idle,,0.0,0.0,0.0,0.0,,2.83038525950019E-9,-1.7320807994991583E-4,-1.3322676295501878E-15,-1.3665499761206235E-4,1.6839980081506667E-5,-1.1411693190499506E-4,1.992866049960183E-6,-0.03451833183145678,8.881784197001245E-14,-0.009973210963920556,-8.203444624044202E-4,-3.688970721782422E-4,0.0,0.0,0.0,0.0,0.0,0.0,-45.52908949059305,37.570457320809545,8.476678338939397,-2.751192041339473,0.009670250309458606,-1.7782226535018733,,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+1.0,Idle,,0.0,0.0,0.0,0.0,,2.726480748727056E-6,-4.385873268724083E-4,8.881784197001252E-16,-2.2067070836584435E-4,1.4154898656304482E-5,-7.052374872351663E-5,-2.76043194791242E-4,-0.04488490498735227,8.881784197001245E-14,-0.01657986210696903,-7.1483062047406E-5,0.004165100517994343,0.0,0.0,0.0,0.0,0.0,0.0,-44.91884933578988,47.028666147695056,13.837567949699743,0.010258840157086136,-0.03997091683434658,-0.4594843513249671,,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+1.5,Idle,,0.0,0.0,0.0,0.0,,-4.2480850837023354E-7,-3.3200752422546387E-4,-4.440892098500626E-16,-1.3821084138543327E-4,8.126737792490957E-6,-1.1882181535982639E-4,-8.93595668571833E-5,-0.03988901602518521,0.0,-0.014939127119095716,1.3433928840456122E-4,-0.012299700517282009,0.0,0.0,0.0,0.0,0.0,0.0,-44.28425546829806,31.65903344112429,2.815504717102906,-7.408339838598309,0.04170946033088323,-4.616746594233431,,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,moveDiscreteCommand,0.0,23.0,2.0
+2.0,Idle,,0.0,0.0,0.0,0.0,moveDiscreteCommand,-2.8937805458539856E-6,-1.3539807211460086E-4,-4.440892098500626E-16,-7.73932522970533E-5,7.811671792534725E-6,-2.4912647897856743E-4,4.097970968786145E-4,0.048468035871530514,0.0,0.01606463391130609,1.3078700629165775E-4,0.005505666262539794,0.0,0.0,0.0,0.0,0.0,0.0,-47.44807744362079,38.46988164333228,22.343361100167517,6.49745513126567,0.04255146207345036,4.66411052600956,,moveDiscreteCommand,0.0,23.0,2.0,true,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+2.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,,-2.6535516846060148E-6,3.624000039970099E-5,4.440892098500626E-16,-4.231399556875459E-5,1.9730424798414248E-5,-1.7560884859912917E-4,1.5874501473334474E-4,-0.039905222646830794,1.7763568394002883E-13,-0.013686771045762505,4.5336837688482034E-4,-0.0033399168610338138,0.0,0.0,0.0,0.0,0.0,0.0,-44.534598120999405,51.182206864955724,16.709908165042755,1.8351300040718492,0.002456810783283961,1.5514785871432875,,,0.0,0.0,0.0,false,false,false,true,true,true,false,true,false,false,,0.0,0.0,0.0
+3.0,ArmMove,movediscrete,0.0,23.0,2.0,0.0,,-0.3806043959221199,-0.4599612202340415,0.3887301816646689,-0.3895628151118995,-0.38963805771486104,-0.07375335261304805,-1.5512719618766877,-1.5835368829084988,1.5707568672113206,-1.5890099800461306,-1.578071117458302,0.02936704494240834,0.0,0.0,0.0,0.0,0.0,0.0,650.168686779087,56.18372347717739,3.2855917527562633,-4.936247853375786,16.149285942672087,-7.155925622702317,movediscrete,,0.0,0.0,0.0,false,false,false,false,true,true,false,false,false,false,,0.0,0.0,0.0
+3.5,ArmMove,movediscrete,0.0,23.0,2.0,0.0,,-1.6753512252317462,-1.8125121402225242,1.613793475476104,-2.1556025320422405,-1.49662895659504,-0.07393464872398825,0.004746908690832864,-0.05632457100722917,1.1901590823979817E-11,-0.02110691604250928,-8.896938226142512E-5,-0.006137338448207892,0.0,0.0,0.0,0.0,0.0,0.0,-8.844974131329668,33.89221154917358,15.3081717234947,5.2503728365416285,-1.23560566060736,-0.12285047612790514,movediscrete,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+4.0,ArmStop,stop,0.0,23.0,2.0,0.0,,-1.6752478977812073,-1.8136807723213666,1.6137934755801941,-2.156028927214516,-1.4968886384630586,-0.07391131951182928,4.587085882689472E-4,-2.6323357076303615E-4,-1.7763568393999728E-13,-5.229554629337123E-4,-0.0011697227106919731,0.006630494596037225,0.0,0.0,0.0,0.0,0.0,0.0,-1.711184747008533,42.77554282514892,20.907352138424855,-1.0855708934461323,0.3397149538213693,0.19931003594735586,movediscrete,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+4.5,ArmStop,stop,0.0,23.0,2.0,0.0,,-1.6753249826504177,-1.8122449197418673,1.613793475580195,-2.1557830638805955,-1.496959902910592,-0.07397093437261049,0.001575767507411039,0.048279394093234895,0.0,0.009643575482341673,0.0025069031252651884,-0.003843734615127058,0.0,0.0,0.0,0.0,0.0,0.0,6.816746105337541,47.40931277203266,14.139347827719785,-2.347701939816043,-1.4893633112053828,2.9587443980367,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+5.0,ArmStop,stop,0.0,23.0,2.0,0.0,,-1.6754009573572928,-1.8133387530357519,1.613793475580195,-2.155830328133697,-1.4969937865263443,-0.07431298069088532,0.002514847074230493,0.08393437387218337,0.0,0.005697207720166905,0.003334989311908932,0.0033215246515000767,0.0,0.0,0.0,0.0,0.0,0.0,13.809753266763257,44.4475265321947,16.860432597205797,-5.3805535712416885,2.4273769985432176,-1.9717370620433088,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+5.5,ArmStop,stop,0.0,23.0,2.0,0.0,,-1.6752797290906107,-1.81225224001716,1.6137934755801941,-2.1558489045737916,-1.4965136485380617,-0.0735018087111805,-0.004812905148198568,0.021442403857815352,0.0,0.026763698967964523,-0.005416747376684447,0.0034565208471443324,0.0,0.0,0.0,0.0,0.0,0.0,-21.093238528074515,45.20983036027714,21.64558517299011,-3.943725864283217,1.4922959164085972,1.0262957767109155,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+6.0,ArmStop,stop,0.0,23.0,2.0,0.0,,-1.675323197165059,-1.8129609623913883,1.613793475580195,-2.1558576314157127,-1.4965820376997145,-0.07358408349222367,-2.8156053755173986E-4,0.03391597916753816,0.0,0.013010350969191821,7.988890214251567E-4,0.004533087000081273,0.0,0.0,0.0,0.0,0.0,0.0,-19.235746726769726,46.631928001914204,21.585834338256138,4.95136547642746,-1.6075226597859538,-1.4730001481291992,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,moveDiscreteCommand,3.0,20.0,3.0
+6.5,ArmStop,stop,0.0,23.0,2.0,0.0,moveDiscreteCommand,-1.6753893326150537,-1.8129837507299964,1.613793475580195,-2.1558499794893677,-1.4967680193806734,-0.07384140597582833,-0.002662358215311219,-0.020915979770745604,0.0,-0.008328834375427854,0.005836685813777105,0.005841146283992512,0.0,0.0,0.0,0.0,0.0,0.0,-15.919449311955564,37.932510899706756,14.94363049846578,-0.29243191224726744,-2.4853525446425935,-2.4546213373569854,stop,moveDiscreteCommand,3.0,20.0,3.0,true,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+7.0,ArmMove,movediscrete,3.0,20.0,3.0,0.0,,-1.6752962659870034,-1.8128693537930225,1.613793475580195,-2.155677183854838,-1.496590404409079,-0.07373376083367233,-0.004997975438137842,0.01449415287808908,0.0,-0.0055847926237373455,-0.015607466971981673,0.011294496245997125,0.0,0.0,0.0,0.0,0.0,0.0,-25.92042304851908,33.851511462111965,14.909739159409025,4.839153926740792,-2.716599500491417,1.458758500391463,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,true,false,false,,0.0,0.0,0.0
+7.5,ArmMove,movediscrete,3.0,20.0,3.0,0.0,,-1.9027831409740052,-2.0409568317393036,1.7646315329656597,-2.002533986485669,-1.4212572288497025,-0.14888865727820644,-1.327932459666934,-1.5424886107687512,1.5707562500691734,1.577957150831247,1.5547005821694422,-1.5494145397366017,0.0,0.0,0.0,0.0,0.0,0.0,588.5515062965638,37.933941952055235,24.35371687296292,11.642986164529164,-175.7941349949833,111.43818773824725,movediscrete,,0.0,0.0,0.0,false,false,false,false,true,true,false,false,false,false,,0.0,0.0,0.0
+8.0,ArmMove,movediscrete,3.0,20.0,3.0,0.0,,-2.4042932401135184,-2.214590577489382,1.9746766851219073,-1.922933208766345,-1.0194976295467821,-0.6613949311697134,5.420909783283547E-4,-0.023119855758762124,2.0632029418270135E-8,-0.003369588618618695,0.015966769018941188,0.016163100441793806,0.0,0.0,0.0,0.0,0.0,0.0,-2.321269835370807,4.178373383470645,8.704418570035601,-5.299057615506538,-8.158773492771086,4.318775371319112,movediscrete,,0.0,0.0,0.0,false,false,false,false,true,true,false,false,false,false,,0.0,0.0,0.0
+8.5,ArmMove,movediscrete,3.0,20.0,3.0,0.0,,-2.4043774436412155,-2.2149398944573457,1.9746768652700233,-1.92307843858742,-1.0195993713001057,-0.6614445856830038,0.005911175094476317,-0.01467703892750486,-1.776356839400604E-13,-0.02344094407078967,0.0013185439414089965,0.009077714151574797,0.0,0.0,0.0,0.0,0.0,0.0,-28.966087824038745,13.087438187373206,15.374310382446538,0.5789168747052535,-2.6493099584615587,0.2800574035805492,movediscrete,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,moveDiscreteCommand,8.0,10.0,0.0
+9.0,ArmStop,stop,3.0,20.0,3.0,0.0,moveDiscreteCommand,-2.404301780534472,-2.2151038518134767,1.9746768652700233,-1.9230628485965164,-1.01982842686854,-0.6618169858675809,-0.005521836123280044,-0.02895704148980237,0.0,-0.005158240669801333,-0.002258018511370091,0.008603078310899839,0.0,0.0,0.0,0.0,0.0,0.0,-27.143909383636764,12.815179048186872,14.451286886247768,-0.9075878027747265,-7.740846596286905,-1.8513694287778393,movediscrete,moveDiscreteCommand,8.0,10.0,0.0,true,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+9.5,ArmMove,movediscrete,8.0,10.0,0.0,0.0,,-2.404216152941694,-2.2154543263035533,1.9746768652700233,-1.9231906043075915,-1.0197845247266368,-0.6615969198606795,2.885709074363382E-4,0.008579421239042803,-1.776356839400604E-13,0.0016415516777005192,-0.00413680653022024,-0.0020607178930380434,0.0,0.0,0.0,0.0,0.0,0.0,32.08646057107037,13.133522639426516,15.19370453958362,6.717014246137381,-1.414386494256845,0.11425067909807893,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,true,false,false,,0.0,0.0,0.0
+10.0,ArmMove,movediscrete,8.0,10.0,0.0,0.0,,-2.7621651407645915,-1.7546071900176905,1.7337679052145516,-2.1682559556896983,-0.7890354178569328,-1.0496508929903703,-1.2071566700657719,1.5514955320141743,-0.00130477533062323,-0.012356091269077114,0.008954431431624636,-1.5723101858592996,0.0,0.0,0.0,0.0,0.0,0.0,24.651253799659486,87.67768037236502,-2.252903719221295,-17.530635054367245,-2.9511330740202917,-1.5304635260314128,movediscrete,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+10.5,ArmStop,stop,8.0,10.0,0.0,0.0,,-3.075749094114051,-1.2014372070257044,1.7323827821128504,-2.1696856787730576,-0.7874594917945865,-1.4779508136233686,-0.003062584522338195,-3.8653212115471666E-4,0.0,-3.0952397906942305E-4,0.017294267692671318,1.1218584443633917E-4,0.0,0.0,0.0,0.0,0.0,0.0,-8.905374117647522,21.8985233195984,9.692983077724964,-0.17986822054843188,4.079494814787604,-0.41581214541928235,movediscrete,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+11.0,ArmStop,stop,8.0,10.0,0.0,0.0,,-3.075575846177017,-1.2013544735660373,1.7323827821128504,-2.170001863962989,-0.7872734896626294,-1.4779844489005187,-0.0024463330552380843,-0.011470798703599698,0.0,-0.005115187841473071,0.014368635381504657,-0.007084486209226454,0.0,0.0,0.0,0.0,0.0,0.0,22.87863393857052,19.470176986710545,7.575213686185239,-2.065979856878244,0.4952312624646019,2.3390458937361633,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+11.5,ArmStop,stop,8.0,10.0,0.0,0.0,,-3.075643041391892,-1.2007384212152283,1.7323827821128504,-2.169781174300609,-0.7871310006715602,-1.4780052665480872,-0.0019813827551108244,0.04711480429475477,0.0,0.015056308378539399,-0.003590312779875699,-0.004707967767456445,0.0,0.0,0.0,0.0,0.0,0.0,24.920508705996337,17.17776474078672,5.857718944347043,0.3566104405830114,-3.6142925078321952,-0.2964556573859955,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+12.0,ArmStop,stop,8.0,10.0,0.0,0.0,,-3.075675955138281,-1.201559766498609,1.7323827821128512,-2.1700881052077134,-0.7870466764966699,-1.4779870479752786,-0.0014508841507769115,-0.05676246264269418,0.0,-0.020122343967966225,-0.004613604105683094,0.002392414965156517,0.0,0.0,0.0,0.0,0.0,0.0,23.611771232946325,22.87404090888257,9.76497910181033,-0.688739494951567,4.7657856068598,-1.047222100325675,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+12.5,ArmStop,stop,8.0,10.0,0.0,0.0,,-3.075645478126453,-1.200364741307343,1.7323827821128504,-2.1694935983902868,-0.7874592922608339,-1.4779240779756018,0.0017704644138296468,-0.010716449768283301,0.0,-0.009801974897167257,0.0014312170075740265,-0.0033742221711801582,0.0,0.0,0.0,0.0,0.0,0.0,58.580565601760405,38.26264181532419,8.878432643272662,0.6883700284341643,-0.5668206334309595,0.7973624717991296,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+13.0,ArmStop,stop,8.0,10.0,0.0,0.0,,-3.075630656291586,-1.2005906370282764,1.7323827821128504,-2.1698489799117295,-0.7873495751516311,-1.478038268370403,7.097573210042817E-4,0.004876401548689905,0.0,0.0015895439679161822,0.009619544801870513,0.0019450400584365465,0.0,0.0,0.0,0.0,0.0,0.0,46.15714949559401,17.725520540760993,6.6974335632900175,-2.298715303709201,-1.3384970252664168,-0.8650706193233457,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,false,false,false,moveDiscreteCommand,11.0,16.0,4.0
+13.5,ArmStop,stop,8.0,10.0,0.0,0.0,moveDiscreteCommand,-3.0756163642712275,-1.200842343543167,1.7323827821128504,-2.169815427195087,-0.7877694487537457,-1.478046023098905,-0.0032108263207303537,-0.0032909253746976437,-1.7763568393993417E-13,-0.00215076221028344,0.002479469275672283,-0.00390672184948726,0.0,0.0,0.0,0.0,0.0,0.0,21.602424005353615,27.438060715846632,13.447184865931257,2.3334637935203224,2.3914145061002094,0.5910563677312022,stop,moveDiscreteCommand,11.0,16.0,4.0,true,false,false,true,true,true,false,false,false,false,,0.0,0.0,0.0
+14.0,ArmMove,movediscrete,11.0,16.0,4.0,0.0,,-3.0756169561459954,-1.2008431036954486,1.7323827821128512,-2.169733710861652,-0.7874494345893055,-1.4778399253895529,-0.0028013425936265312,-0.0031035383006623118,0.0,-0.0028590934183710752,0.017358223056076483,0.0010850180254701192,0.0,0.0,0.0,0.0,0.0,0.0,25.32238584648671,35.235516047576155,13.821884122826068,1.75775058550223,1.5332824376550414,0.48976961867296287,stop,,0.0,0.0,0.0,false,false,false,true,true,true,false,true,false,false,,0.0,0.0,0.0
+14.5,ArmMove,movediscrete,11.0,16.0,4.0,0.0,,-2.973028350405995,-1.0854547524473368,1.868234484661115,-2.0169256205781414,-0.9409868683582623,-1.4010954926421153,1.5429265768486566,1.5263081301300125,1.5707566009313958,1.5499608986611577,-1.5637283957274477,1.561848799752053,0.0,0.0,0.0,0.0,0.0,0.0,-427.83907821961384,-11.469359682205166,-48.01468510142977,-54.32113987557775,61.34401609085957,-90.73137615311776,movediscrete,,0.0,0.0,0.0,false,false,false,false,false,true,false,false,false,false,,0.0,0.0,0.0
diff --git a/tests/plot.py b/tests/plot.py
new file mode 100644
index 0000000..9f8cfe4
--- /dev/null
+++ b/tests/plot.py
@@ -0,0 +1,71 @@
+# Author: Santiago Gil
+import numpy as np
+import pandas as pd
+import matplotlib.pyplot as plt
+
+filename = "outputs_cosim.csv"
+
+font = {'font.family' : 'monospace',
+ 'font.weight' : 'bold',
+ 'axes.titlesize' : 18,
+ 'axes.labelsize' : 14,
+ 'legend.fontsize' : 10,
+ 'xtick.labelsize': 8,
+ 'ytick.labelsize': 8,
+ }
+
+plt.rcParams.update(font)
+df_cosim = pd.read_csv(filename)
+
+
+fig, axes = plt.subplots(2,2, figsize=(16,12))
+plt.subplot(2,2,1)
+
+df_cosim.plot(x = "time",y = ["{dmodel}.dmodel.d_model_event_args_0","{dmodel}.dmodel.d_model_event_args_1",
+ "{dmodel}.dmodel.d_model_event_args_2"],
+ figsize=(14,10),
+ title = "Discrete positions (D-Model)",
+ ax=axes[0,0])
+plt.xlabel('time [s]')
+plt.ylabel('hole combination')
+plt.grid()
+plt.tight_layout()
+
+plt.subplot(2,2,2)
+df_cosim.plot(x = "time",y = ["{mapping}.mapping.j0","{mapping}.mapping.j1",
+ "{mapping}.mapping.j2","{mapping}.mapping.j3",
+ "{mapping}.mapping.j4","{mapping}.mapping.j5"],
+ figsize=(14,10),
+ title = "Co-sim UR5e joint positions (CoppeliaSim)",
+ ax=axes[0,1])
+plt.xlabel('time [s]')
+plt.ylabel('radians')
+plt.grid()
+plt.tight_layout()
+
+plt.subplot(2,2,3)
+df_cosim.plot(x = "time",y = ["{mapping}.mapping.qd0","{mapping}.mapping.qd1",
+ "{mapping}.mapping.qd2","{mapping}.mapping.qd3",
+ "{mapping}.mapping.qd4","{mapping}.mapping.qd5"],
+ figsize=(14,10),
+ title = "Co-sim UR5e joint velocities (CoppeliaSim)",
+ ax=axes[1,0])
+plt.xlabel('time [s]')
+plt.ylabel('radians/s')
+plt.grid()
+plt.tight_layout()
+
+plt.subplot(2,2,4)
+df_cosim.plot(x = "time",y = ["{mapping}.mapping.t0","{mapping}.mapping.t1",
+ "{mapping}.mapping.t2","{mapping}.mapping.t3",
+ "{mapping}.mapping.t4","{mapping}.mapping.t5"],
+ figsize=(14,10),
+ title = "Co-sim UR5e joint force (CoppeliaSim)",
+ ax=axes[1,1])
+plt.xlabel('time [s]')
+plt.ylabel('N')
+plt.grid()
+plt.tight_layout()
+
+fig.savefig('experiment_plot.pdf', dpi=300)
+fig.savefig('experiment_plot.png', dpi=300)