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)