Releases: INTO-CPS-Association/fmu-rabbitmq
RMQFMU v2.1.6
This is the new Release for the fmu-rabbitmq (RMQFMU).
Release Notes
- Correct operation of the RMQFMU requires locales set to US or GB English, or any other where the
.
is used for the decimal point. - Support for OpenSSL has been upgraded for OpenSSL 3.
- Additionally, OpenSSL comes prepackaged, and does not require any installation.
- Dependencies on external packages (like OpenSSL, or PThread) have been removed.
- RMQFMU is built for Ubuntu 22.04, Macos 13 (Intel), and the latest Windows image at the time from github actions (Windows Server 2022).
- If the capability for sending messages is enabled, empty messages will also be sent.
- RMQFMU can be configured to either send data on change (input value changed from the last time step), or always.
RMQFMU v2.1.5
This release was made to target the following bug:
- The send functionality was guarded by the send enable param, even when not needed.
For an overview of features see v2.1.4.
RMQFMU v2.1.4
In this Release of the RMQFMU, the following features haven been added, in addition to bug fixes:
- Enable SSL configuration to the rabbitMQ server
- Add control for enabling/disabling the send functionality of the RMQFMU
- Allow the specification for an upper bound for the size of the incoming queue
Bug fixes:
- Fixed issue with
FmuContainer::getString
, producing jibberish on long strings - Synchronized thread access to librabbitmq socket
RMQFMU v2.1.3
Fixed bugs affecting windows users:
- issue with running binary
- issue with the time string in the message sent by the fmu.
Release v2.1.2
In this release traceability issues are fixed, as well as minor issues in the fmu configuration script.
RabbitMQ FMU
In this release, the RabbitMQ FMU can be configured with a threaded option (default ON) which continuously consumes data from the RabbitMQ server, if such data is available.
Additionally, the FMU can be configured through the exchange name and types parameters directly in the modelDescription.xml
file.
Finally, the FMU provides an output, that allows tracking the messages that are outputted based on a sequence number.
2.0.0 Release
RabbitMQ FMU: an fmu that subscribes and publishes data to the rabbitmq server.
1.0.0 Release
TBD
v0.0.1 Initial release
Rabbitmq FMU
FMU which uses a rabbitmq server feed live or log data into a simulation.
The FMU is configured using a script TBD for the output variables that are model specific or manually by:
- adding all model outputs as:
<ModelVariables>
<ScalarVariable name="level" valueReference="20" variability="continuous" causality="output">
<Real />
</ScalarVariable>
</ModelVariables>
<ModelStructure>
<Outputs>
<Unknown index="1"/>
</Outputs>
</ModelStructure>
remember to add the outputs before the configuration variables
- add the
modelDescription.xml
file to the zip at both the root andresources
folder.
It can be configured by setting the following parameters:
<ScalarVariable name="config.hostname" valueReference="0" variability="fixed" causality="parameter">
<String start="localhost"/>
</ScalarVariable>
<ScalarVariable name="config.port" valueReference="1" variability="fixed" causality="parameter">
<Integer start="5672"/>
</ScalarVariable>
<ScalarVariable name="config.username" valueReference="2" variability="fixed" causality="parameter">
<String start="guest"/>
</ScalarVariable>
<ScalarVariable name="config.password" valueReference="3" variability="fixed" causality="parameter">
<String start="guest"/>
</ScalarVariable>
<ScalarVariable name="config.routingkey" valueReference="4" variability="fixed" causality="parameter">
<String start="linefollower"/>
</ScalarVariable>
<ScalarVariable name="config.communicationtimeout" valueReference="5" variability="fixed" causality="parameter" description="Network read time out in seconds" initial="exact">
<Integer start="60"/>
</ScalarVariable>
<ScalarVariable name="config.precision" valueReference="6" variability="fixed" causality="parameter" description="Communication step comparison precision. Number of decimals to consider" initial="exact">
<Integer start="10"/>
</ScalarVariable>