A download zip file which contains all files to reproduce the content in the videos and have own experience is contained in

A documentation can be viewed or downloaded in

1. First example, goal of graphic in Libre/Open office

CopyTplFirstModule
Figure 1. CopyTplFirstModule

This first video (12 min) shows how to copy and use the template in LibreOffice for a first simple own UFBgl-diagram. It shows the general approach drawing UFBgl diagrams.


UFBgl 2 CodeGenerationFirst
Figure 2. UFBgl-2-CodeGenerationFirst

This second video (16 min) shows the code generation for this first example,

Also handling with "load tools"


2. Comprehensive example: Bandpass Filter for 50 Hz electrical grid

BandpassFilter FBgl srcC en
Figure 3. BandpassFilter_FBgl_srcC-en

This video (8 min) explains a more comprehensive module or graphical model. It is the first video for that example and shows the approach how to deal really with graphical modelling.


BandpassFilter Test Scope en
Figure 4. BandpassFilter_Test_Scope-en

This video (13 min) shows how test results are output in a curve view, and how the functionality can be designed, tested and improved in the graphic module, with help of execution the generated code.


CodeGeneration Scope en
Figure 5. CodeGeneration_Scope-en

In this video (10 min) it is shown how the code generation for this specific scope program is done, with preparing of an ethernet telegram to the scope "Curve View" application, inclusively generation of the configuration of the code generation script


3. Details about running mode

UFBgl 3 VisitDebugTheCode
Figure 6. UFBgl-3-VisitDebugTheCode

In this third video (6 min) it is shown in single step in the generated code how the initialization works. It is also the concept of ../../emC/index.html[emC] for the phases constructor, initialization and run.


UFBgl 4.AggregationInCtor
Figure 7. UFBgl-4.AggregationInCtor

This video (8 min) enhances the example in the video above with the possibility to assign the aggregation between the classes in the constructor instead in the init…​() routine. Both is possible.

Also the possibility of vice-versa aggregations are explained. But not full completely. The topic is, vise-versa aggregations in the constructor are not possible if allocated memory is used. Because the other instance does not exists if it is necessary for referencing in the constructor. That’s why aggregations can also be assigned in the init, after construction of all instances. This topic should be explained in an extra video, yet todo