Forum: PC Hard- und Software PIC Board mit Labview Steuern


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Niko (Gast)


Angehängte Dateien:

Lesenswert?

Hallo alle Zusammen,


ich habe es folgenden vor:

Pic Board mit Labview zu steuern (seh Anhang).

Das PIC Board wird eigentlich mit (Visual Studio + QT Plugin) gesteuert.
Nun möchte ich eine Schnittstelle zu Labview realisieren.
Das ganze System ohne Labview funktioniert einwandfrei.
Meine Frage: Ist meine Vorhaben machbar?
Wie soll das PIC Board mit Labview komunizieren?
Einen Protocoll ist bestimmt nötig?

in der Anhang habe ich versucht grob meine Vorhaben zu schildern
Die Linke Blockschaltung ist der Ist_Zustand
Die rechte Blockschaltung ist der Soll_zustand

Für jede Idee bin ich dankbar

von Marius S. (lupin) Benutzerseite


Lesenswert?

Du hast in deinem Bild schon dargestellt, was zu tun ist. Du musst die 
DLL Funktionen in LabView importieren und aus LabView aufrufen.

LabView hat auch einige Funktionen um Schnittstellen direkt zu bedienen, 
aber wenn es schon DLLs gibt würde ich das lassen...

Wo genau ist noch was unklar?

von Niko (Gast)


Lesenswert?

Hallo Marius und danke für die Antwort.

Marius S. schrieb:
> Wo genau ist noch was unklar?


1) DLL ist in c++ geschrieben (Klassen, Struct,.....)
2) Beim Importieren werden nicht alle Funktionen importiert
3)Machbarkeit?

von Niko (Gast)


Lesenswert?

Noch eine Frage:
Spiel eine Rolle, ob es das DLL in C++ so in der Form geschrieben:
1
#include <iostream>
2
#ifdef MATHFUNCSDLL_EXPORTS
3
#define MATHFUNCSDLL_API __declspec(dllexport) 
4
#else
5
#define MATHFUNCSDLL_API __declspec(dllimport) 
6
#endif
7
8
     //This class is exported from the MathFuncsDll.dll
9
    class MyMathFuncs
10
    {
11
    public: 
12
        // Returns a + b
13
         __declspec(dllexport)double Addi(double a, double b); 
14
15
        // Returns a - b
16
         __declspec(dllexport)double Subtract(double a, double b); 
17
18
        // Returns a * b
19
         __declspec(dllexport)double Multiply(double a, double b); 
20
21
        // Returns a / b
22
        // Throws const std::invalid_argument& if b is 0
23
         __declspec(dllexport)double Divide(double a, double b); 
24
    };

oder mit QT so in der Form:
1
#ifndef EFILIBRARY_GLOBAL_H
2
#define EFILIBRARY_GLOBAL_H
3
4
#include <Qt/qglobal.h>
5
6
#ifdef EFILIBRARY_LIB
7
# define EFILIBRARY_EXPORT Q_DECL_EXPORT
8
#else
9
# define EFILIBRARY_EXPORT Q_DECL_IMPORT
10
#endif
11
12
#endif // EFILIBRARY_GLOBAL_H

bei Labview Import?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.