VILLASframework
Modular co-simulation framework
|
Source code: http://git.rwth-aachen.de/acs/public/villas/node/tree/master/clients/opal
Follow the steps below to add AsyncIP to the existing OPAL-RT project:
Copy the following files to the models folder of the RT-LAB project:
include/
src/
Makefile.mk
The .llm
file should contain the following lines:
In RT-Lab under Files tab, we should see the files listed above for .llm file
In RT-LAB model settings: Development tab -> Compiler -> Compiler Command (makefile) add the following command
Maximum number of values in UDP packets:
There is a #define
inside the implementation which must be changed accordingly. The #define is in file: model_directory/include/config.h
There you will find a directive called MAX_VALUES.
It is recommended to keep this value below 300 to ensure that all values are transferred within a single UDP packet.
After the simulation stop AsyncIP
may still stay alive after the simulation stop. You have to stop it manually because the next simulation start will not be able to start AsyncIP.
Kill running AsyncIP on OPAL:
$ killall AsyncIP
.$ exit
.See also:
Even there is no OpAsyncIPCtrl
in every subsystem, RT-Lab wants to build a AsyncIP executable during building process, if there is no OpAsyncIPCtrl it shows error.
Workaround for now: place fake OpAsyncIPCtrl in each subsystem.
Additional problem: After Load, only AsyncIP in master subsystem (sm_
) is started.
Actually: this helps that you do not need fake blocks:
.llm file should contain the following:
Note: The path of libOpalAsyncApiCore.a
depends on your version of RT-LAB.
but it seems that still you can you it only in SM_...
See also: OPAL-RT KB Article AA-00491