C-Module integrieren
Mit der CODESYS C-Code-Integration können in C entwickelte Module in ein CODESYS-Projekt als Bibliothek eingebunden werden. Das Modul wird als dynamisches Runtime-Modul zusammen mit der darin implementierten IEC-Schnittstelle in einer Bibliothek gespeichert. Dabei dürfen in einer Bibliothek mehrere Varianten eines Moduls für unterschiedliche Zielsysteme hinterlegt werden.
Die Bibliothek stellt sich für den Anwender wie jede andere IEC 61131-3 Bibliothek dar. Wenn die Bibliothek in einer Applikation verwendet wird, dann wird von CODESYS automatisch das passende Modul aus der Bibliothek auf die Steuerung geladen und vom CODESYS Control Laufzeitsystem ausgeführt.
Anwendungsbeispiele:
Wiederverwendung von verfügbarem C-Code
Einbindung von durch Modellierungstools generiertem Code, wie zum Beispiel Matlab®/Simulink®
Dynamische Einbindung von gerätespezifischen Funktionen, die mit C-Code realisiert wurden
Alle dynamischen Module einer Applikation werden beim Download auf das Laufzeitsystem übertragen und geladen. Hierfür muss das Laufzeitsystem dynamisches Linken unterstützen.
Lizenz für das Laufzeitsystem
Das Laufzeitsystem benötigt eine Lizenz, die das Laden von C-Modulen erlaubt. Ohne diese Lizenz können dynamische Module beim Download nicht gelinkt werden und der Download wird abgebrochen.
Die dynamischen Module sind Bestandteil der Bootapplikation und werden beim Neustart der Steuerung wieder geladen und aktiviert. Der Befehl Rest Ursprung entlädt alle C-Code-Module der Applikation. Die Befehle Reset kalt und Reset warm führen nicht zu einer erneuten Initialisierung der C-Code-Module.
CODESYS unterstützt nicht das Monitoring von Variablen in C-Code-Dateien und nicht das Setzen von Haltepunkten in C-Quellcode.
Vorkompiliertes Laufzeitmodul einem Gerät zuweisen und in einer Bibliothek speichern
Voraussetzung: Ein Bibliothek (*.library
) ist in CODESYS geöffnet.
Wählen Sie den Befehl
.Die Ansicht POUs öffnet sich und zeigt das Bibliotheksprojekt und seine Objekte an.
Selektieren Sie das Bibliotheksprojekt und wählen Sie den Befehl
.Klicken Sie im Dialog C-implementierte Bibliothek hinzufügen auf Hinzufügen.
CODESYS fügt das Objekt
C-implementierte Bibliothek in der Ansicht POUs ein.
Doppelklicken Sie das Objekt
C-implementierte Bibliothek.
Das Objekt öffnet sich in seinem Editor
Klicken Sie in diesem Editor auf Hinzufügen.
Der Dialog Gerät auswählen öffnet sich.
Geben Sie im Eingabefeld Objektdatei den Namen eines dynamisch ladbaren Moduls des Formats:
*.dll
oder*.so
ein.Wichtig
Die Datei
*.dll
muss im Namen den Titel des Bibliotheksprojekts enthalten. Beispiel: Wenn das Bibliotheksprojekt den NamenXYlib
hat, dann muss die Objektdatei heißen:<Name>_XYlib.dll
Wählen Sie im Fenster Gerät ein Gerät, dem Sie die Objektdatei zuweisen wollen.
Klicken Sie auf Gerät auswählen.
CODESYS zeigt die erstellte Zuweisung Gerät-Datei im Editor in der Registerkarte Kompilierte Komponenten an.
Speichern Sie das Bibliotheksprojekt.
Für weitere Informationen siehe: C-implementierte Bibliothek