um eine C++ Anwendung in ein LogiCad3 Projekt (RevPi) einzubinden, bin ich nach folgendem Tutorial vorgegangen.
{extern_cxx}
{Supported_Platforms := RevolutionPi}
FUNCTION_BLOCK MyCFun // Die Funktion 'MyCFun' besitzt 2 Eingänge und 2 Ausgänge.
VAR_INPUT
In1, In2: INT;
END_VAR
VAR_OUTPUT
Out : INT;
END_VAR
END_FUNCTION_BLOCK
Funktioniert soweit auch alles.#ifndef LC_PROT_LCFU___MYCFUN__C
#define LC_PROT_LCFU___MYCFUN__C
#include <lcfu___mycfun.h>
void lcfu___MYCFUN(LC_TD_FunctionBlock_MYCFUN* LC_this, struct _lcoplck_epdb_1_impl* pEPDB)
{
/* Vendor Code */
#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 */
}
#endif
Mein eigentliches C++ Programm benötigt einige zusätzliche "#include"`s wie bspw.:
Code: Select all
#include <stdio.h>
#include <linux/can.h>
#include <linux/can/error.h>
#include <linux/can/raw.h>
Allerdings bei den C++ Librarys wie bspw.
Code: Select all
#include <algorithm>
#include <chrono>
#include <ctime>
#include <errno.h>
#include <fstream>
#include <iomanip>
#include <iostream>
Im Verzeichnis:
sind alle Dateien vorhanden....\logiCAD3\logiCAD3_V1.115.0_Windows_64bit\LC3c\plugins\com.logicals.compiler.gcc.raspbian.win32_7.1.0.2\bin\armv6-logicals-linux-gnueabihf\armv6-logicals-linux-gnueabihf\include\c++\7.1.0
Habe nun schon einiges ausprobiert, z.B Pfad bei "Einstellungen für C-Bausteine" etc. hinzugefügt. Hat aber alles nichts geholfen.
Was mache ich falsch?
Danke.