Unter TwinCAT/BSD kompilieren

In diesem Schritt wird gezeigt, wie Sie ausführbaren Code direkt unter TwinCAT/BSD mit dem Compiler LLVM generieren. Dazu wird beispielhaft ein C/C++ Projekt erstellt, welches die ADS-Schnittstelle nutzten soll. Um die Funktionen der TcAdsDll in Ihrem C/C++ Projekt zu nutzen, müssen Sie die Headerdatei TcAdsAPI.h in Ihr Projekt einbinden.

Die ADS-Headerdatei befindet sich im folgenden Verzeichnis:
usr/local/include/TcAdsAPI.h

Beispiel C/C++ Projekt adstest.c

#include <stdio.h>
#include <stdint.h>
#include "TcAdsAPI.h"

int main(){
    printf("ADS Test Sample\n");

    long nTemp;
    AdsVersion* pDLLVersion;
    nTemp = AdsGetDllVersion();
    pDLLVersion = (AdsVersion *)&nTemp;
    printf("Version: %d\n", (int)pDLLVersion->version);
    printf("Revision: %d\n", (int)pDLLVersion->revision);
    printf("Build: %d\n", (int)pDLLVersion->build);
    //printf("Ads DLL Version: %d\n", version);
    
    long l_port;
    l_port = AdsPortOpen();
    printf("Port opened: %ld\n", l_port);
    AdsPortClose();
    printf("Port closed\n");
    return 0;
}

Voraussetzungen:

Generieren Sie ausführbaren Code wie folgt unter TwinCAT/BSD:

1. Kopieren Sie die Datei adstest.c in ein beliebiges TwinCAT/BSD-Verzeichnis. Zum Beispiel: /usr/local/ADSinterface
2. Navigieren Sie in das Verzeichnis mit der Beispieldatei adstest.c
3. Mit dem Befehl doas cc -c -I /usr/local/include/ -D POSIX adstest.c -o adstest.o wird die Datei adstest.c kompiliert.
4. Linken Sie die kompilierte Datei mit der ADS-Library mit dem Befehl cc -lpthread adstest.o /usr/local/lib/libTcAdsDll.so -o adstest
5. Führen Sie die Datei mit ./adstest aus.