Skip to main content

Befehl: Laufzeitsystemdateien erzeugen

Funktion: Der Befehl generiert aus dem aktuellen Bibliotheksprojekt eine C-Rahmendatei und eine Schnittstellendatei im M4-Dateiformat. Diese Dateien dienen als Basis für die Erstellung einer externen Bibliotheksdatei.

Aufruf: Menü Erstellen

Voraussetzung: Ein Bibliotheksprojekt ist geöffnet.

Der Befehl öffnet den Dialog Laufzeitsystemdateien erzeugen.

Ausgabeverzeichnis

Verzeichnis, in dem CODESYS die Laufzeitsystem-Dateien anlegt

Über Schaltfläche _cds_icon_button_threedots.png können Sie den Standarddialog zum Browsen im Dateisystem öffnen.

Komponentenname

Name des Bibliotheksprojekts

Welche Dateien möchten Sie erzeugen

M4 Interface-Datei

_cds_icon_checked.png: Schnittstellendatei <projectname>Itf.m4 mit Definitionen

Sehen Sie dazu auch unten die Tabelle mit den für M4-Export unterstützten IEC-Code-Konstrukten.

Beispiel M4-Datei:

m4_interface_file_example.png

C Stub-Datei

_cds_icon_checked.png: Rahmendatei für die Ausprogrammierung der Bibliothek in C

Beispiel Stub-Datei:

c_stub_file_example.png

Optionen

In Bibliotheken enthaltene referenzierte Typen exportieren

_cds_icon_checked.png: Die referenzierten Typen werden mit exportiert

Originale Typnamen verwenden

_cds_icon_checked.png: Die Typnamen aus dem Bibliotheksprojekt werden verwendet

IEC-Konstrukte, die für den M4-Export unterstützt werden

Wichtig

Alle Typen, die nicht explizit in der Tabelle aufgelistet sind, werden nicht unterstützt. Ihr Verhalten kann sich unbemerkt verändern..

IEC-Konstrukt/ -Sprachmittel

Export in M4-Datei

Anmerkung

PROGRAM

nicht unterstützt

FUNCTION_BLOCK

struct mit allen Eingabe-/Ausgabe-/Ein- und Ausgabe-/lokalen Variablen

Zusätzlich wird eine Methode mit Name <fb_name>__main für die Implementierung des FUNCTION_BLOCK erzeugt

FUNCTION

STRUCT mit allen Eingabe-/Ausgabe-/Ein- und Ausgabe-Variablen und einem DEF_API-Makro

INTERFACE

struct mit einem einzigen Instanzzeiger

METHOD

Wie FUNCTION, benannt mit <fb_name>__<method_name>, die den Pointer auf <fb_name> als zusätzlichen Eingang verwendet

ACTION

gleich wie METHOD

TRANSITION

Wie METHOD, benannt mit get<transition_name>

PROPERTY

Methodenpaar mit den Namen, benannt mit get<prop_name> und set<prop_name>

GVL

nicht unterstützt

UNION

C-union

ENUM

#define für jede Enumerationskomponente

ALIAS

nicht unterstützt

STRUCT

C-struct

Vererbung wird unterstützt. Die Komponenten werden (ohne Struktur) "flach" exportiert

CONSTANT

#define für jede Konstante

Konstanten können nicht explizit exportiert werden, aber wenn sie in den anderen Objekten verwendet werden, werden sie automatisch exportiert.

Kommentare

C-Kommentar

Kommentare mit drei Schrägstrichen werden ebenfalls exportiert.

Vordefinierte Datentypen (INT, BOOL, REAL, etc.)

Entsprechender C-Datentyp derselben Größe

Typen, die mit RTS_IEC beginnen

Werden nicht separat exportiert, weil sie an anderer Stelle im Laufzeitsystem deklariert sind

ANY-Typen

struct __SYSTEM.AnyType

Alle ANY-Typen (beispielsweise ANY_INT, ANY_BIT, etc.) werden in den C-Typ struct __SYSTEM.AnyType exportiert

Arrays

C-Array mit fester Größe

  • Zufällige Anzahl von Dimensionen

  • Arraybereiche können negativ sein

ARRAY[*]

Ein Pointer und eine Größe

Strings

C-Array von Zeichen mit fester Größe