Code im C-Baustein oder C++-Baustein erstellen

Vorausgehend: Schnittstelle für C-Baustein oder C++-Baustein erstellen


So erstellen Sie den C-Code oder den C++-Code in Ihren →Bausteinen und verwenden Sie diese in →ST:

  1. Als Vorbereitung setzen Sie die korrekte Build-Konfiguration so: Kontextmenü des Projekts, Befehl Build Configurations, Set Active und den Befehl für die entsprechende Plattform wählen
    (info) Ohne diese Vorbereitung können Sie nicht in den zu verwendenen Bibliotheken mit den logi.CAD 3-Funktionen navigieren.

  2. Doppelklicken Sie auf die Datei LCfu___name.c oder LCfu___name.cpp im Projektexplorer.
    Diese Datei wurde automatisch von logi.CAD 3 erstellt, als Sie die Schnittstelle für den C- oder C++-Baustein erstellt haben.

  3. Erstellen Sie in der geöffneten Datei den benötigten C-Code oder C++-Code.
    Verwenden Sie einen This Pointer für den Zugriff auf Variablen als auch Ein-/Ausgänge (für Funktionsbausteine) bzw. Ausgänge (für Funktionen), die Sie für die Schnittstelle deklariert haben. Geben Sie dabei alle Namen in Großbuchstaben ein.
    Bei Funktionen erfolgt der Zugriff auf Eingänge ohne Verwendung eines This Pointer.

    Beispiel für Zugriff auf Eingang/Ausgang des Funktionsbausteins
    #define V(VAR) (LC_this->LC_VD_##VAR)  /* C-Makro für den vereinfachten Zugriff auf Parameter */
       /* ... */
    V(OUT) = V(IN1) + V(IN2);              /* Ihr C-Code in der C-Datei für den Funktionsbaustein */
    Beispiel für Zugriff auf Eingang/Ausgang der Funktion
    #define V(VAR) (LC_this->LC_VD_##VAR)  /* C-Makro für den vereinfachten Zugriff auf Parameter */
       /* ... */
    V(OUT) = LC_VD_IN1 + LC_VD_IN2;        /* Ihr C-Code in der C-Datei für die Funktion */
    V(MYCFUN) = LC_VD_IN1 + 1;

    Einschränkung für C-Bausteine

    Geben Sie keine Kommentare im C++-Stil für C-Bausteine ein. Mehr Informationen finden Sie im FAQ-Artikel "Darf ich meinen C-Code kommentieren?".

  4. Speichern Sie die Datei mit Ihrem C-Code oder C++-Code.

  5. Wiederholen Sie diese Schritte für jede Datei, in der Sie C-Code oder C++-Code erzeugen wollen. 

  6. Verwenden Sie die Funktionsbausteine und Funktionen in Ihrer Anwendung (z.B. im →Programm, das in einem ST-Objekt ohne {extern_c} oder {extern_cxx} deklariert ist):

    1. Nur für Funktionsbausteine erforderlich: Deklarieren Sie die benötigten →Funktionsbaustein-Instanzen. Informationen über die erforderliche Syntax finden Sie unter: "Deklaration von internen Variablen und Funktionsbaustein-Instanzen in ST"

    2. Für Funktionsbausteine und Funktionen erforderlich: Erstellen Sie die Aufrufe des Bausteins. Informationen über die erforderliche Syntax finden Sie unter: "Aufrufe von Bausteinen in ST"

  7. Speichern Sie das ST-Objekt mit der Anwendung. 

Wenn Sie nun die Anwendung auf die SPS laden, wird der definierte Code des C-Bausteins oder C++-Bausteins inkludiert.


Weiter mit: Externe Bibliotheken in C-Bausteinen oder C++-Bausteinen einbinden – nur erforderlich, sofern Sie externe C- oder C++-Bibliotheken verwenden wollen
Beispiel für C-Code: siehe "Beispiel für einen C-Baustein"