https://www.efmi-standard.org/tools/ diagram details

13 views
Skip to first unread message

Garron Fish

unread,
Jul 11, 2023, 1:28:55 AM7/11/23
to efmi...@googlegroups.com
Dear Sir/Madam,

I'm trying to make sense of the diagram on the https://www.efmi-standard.org/tools/ page i.e.:

Could you please help me understand the TargetLink step. It appears that Dymola generates the Algorithm Code and then TargetLink uses this code to produce Production Code.  When I read the section about TargetLink below it states:

My question is how is the Algorithm Code imported into Simulink so that TargetLink can be used?  Also if the Algorithm Code is imported into Simulink could the Simulink Coder also be used (https://www.mathworks.com/products/simulink-coder.html) to give access to other target embedded systems?

Thanks,
Garron
Simulink Coder (formerly Real-Time Workshop) generates and executes C and C++ code from Simulink diagrams, Stateflow charts, and MATLAB functions. Use generated source code for real-time applications. Tune and monitor generated code using Simulink.



Garron Fish

Chief Engineer

Office: +44 (0) 1926 885900 
Email: garro...@claytex.com | Web:
www.claytex.com 

CLAYTEX Services Ltd Edmund House | Rugby Road | Leamington Spa | CV32 6EL | United Kingdom

Registered in England, No. 03539836

Dymola_Email Signature.jpg


This email and any attachments are confidential, may be legally privileged, and are for the intended recipient only. If you are not the intended recipient, any use, disclosure or copying of this email is unauthorised. If you have received this email in error, please notify the sender immediately.

P Please consider the environment before printing this email

Christoff Bürger

unread,
Jul 25, 2023, 11:12:55 AM7/25/23
to Public MAP eFMI mailing list
Dear Garron,

First of all, sorry for the late answer. I am just back from holiday.

Regarding your questions:

> It appears that Dymola generates the Algorithm Code and then TargetLink uses this code to produce Production Code.

That is correct. TargetLink is what we call a eFMI Production Code generator; it can import an eFMU, read its Algorithm Code container (the GALEC code and manifest) and generate a Production Code container (C code and manifest) for any of the target platforms the "ordinary" (i.e., without eFMI stuff) TargetLink supports.

Since the "ordinary" TargetLink code generation supports Simulink as target, the eFMI enhanced TargetLink 22.1 does so too. Anything you can do with the "ordinary" TargetLink you can do now also with its new eFMI facilities, for example targeting a dSPACE hardware-in-the-loop (HiL) environment. eFMU Algorithm Code containers are just a new kind of source for TargetLink 22.1 (that can be translated to any of its supported target platforms).

Thus, your question

> My question is how is the Algorithm Code imported into Simulink so that TargetLink can be used?

is somehow missing the point. The Algorithm Code container is imported by TargetLink; then TargetLink can be used to target the Simulink environment or any other of its targets. It is TargetLink that supports eFMI import/export, not Simulink.

> Also if the Algorithm Code is imported into Simulink could the Simulink Coder also be used (https://www.mathworks.com/products/simulink-coder.html) to give access to other target embedded systems?

I am not sure about this. If "ordinary" TargetLink supports this, the answer is yes I guess. But you have to ask Jörg Niere of dSPACE about it.

As a side note, we (Dassault Systèmes, Torsten Sommer) are working on eFMU import in Simulink by means of FMPy (https://github.com/CATIA-Systems/FMPy). This should provide the same functionality as FMIKit-Simulink (https://github.com/CATIA-Systems/FMIKit-Simulink) does for FMI, only that it are eFMUs with production source code. Torsten will give a short demonstartion next Tuesday, 16:00 CET; please let me know if you are interested and I can invite you.

Best Regards,
Christoff
Reply all
Reply to author
Forward
0 new messages