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:
- Installieren Sie das Developer-Package mit dem Befehl
doas pkg install os-generic-userland-devtools
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 Dateiadstest.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.