INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Welche Möglichkeit um C-Code einzubinden?



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

07.02.2006, 18:02
Beitrag #1

StinkyWinky Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Feb 2006



kA



Welche Möglichkeit um C-Code einzubinden?
Hallöchen

In unserer Firma wird die Hardware durch LabVIEW-Applikationen getestet. Da ich SW-Entwickler bin (C auf HC11), frage ich mich, ob es möglich und sinnvoll ist, eine LabVIEW-Applikation zu entwickeln, um meinen C-Code zu testen.

Ist es möglich, C-Files und H-Files in LabVIEW zu benützen und gezielt Funktionen mit verschiedenen Argumenten aufzurufen und die Rückgabewerte zu analysieren?
Wie gesagt läuft mein C-Code auf einem HC11er. Es gibt also keine DLL oder EXE, welche ich einbinden könnte.

Meine Vorstellung: den C-Code in ein Verzeichnis kopieren, LabVIEW-Applikation starten, Knopf drücken: Grüne Lampe bedeutet, dass der Code sich so verhält wie er soll, rote Lampe zeigt ein Fehlverhalten des Codes an, mit Kennung des aktuellen Test-Schrittes.

Danke für Hinweise.

StinkyWinky
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.02.2006, 13:30
Beitrag #2

didierj Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 69
Registriert seit: Apr 2005

LV6.1 & LV7.1.1
1997
kA


Schweiz
Welche Möglichkeit um C-Code einzubinden?
[quote=StinkyWinky]Hallöchen
Ist es möglich, C-Files und H-Files in LabVIEW zu benützen und gezielt Funktionen mit verschiedenen Argumenten aufzurufen und die Rückgabewerte zu analysieren?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.02.2006, 14:03
Beitrag #3

StinkyWinky Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Feb 2006



kA



Welche Möglichkeit um C-Code einzubinden?
didierj schrieb:Woher soll LV wissen, ob dein Code auch das ist was er bewirken soll, du bist ja der einzige, der weiss, was das Ziel ist.

Ja genau! Natürlich muss ich meiner LV-App auch sagen, was für ein Verhalten mein Prüfling (= die C-Funktion) haben soll. Konkret z.B. welcher Return-Wert bei einem bestimmten Argument zu erwarten ist. Dieses simple Beispiel könnte man natürlich auch mit einer DLL abdecken.

didierj schrieb:Um ein HC11-Programm zu testen würde ich eher dort drin Zusatzcode einfügen, der bestimmte I/O-Ports ansteuert und diese Prots dann mit LED's bestücken.

Das geht eben nicht, da der Speicher des HC11s praktisch voll ist und Test-Code in der Regel einiges grösser ist als der Nutz-Code (oder sein sollte Wink )

Muss ich mich wohl nach einer anderen Lösung umsehen Sad
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.02.2006, 14:15
Beitrag #4

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Welche Möglichkeit um C-Code einzubinden?
Ich würde sagen es geht mit einer DLL.
Du könntest deinen C-Code in eine DLL packen und von LV aus aufrufen. Eine universelle Eingangs-Ausgangsfunktion zu definieren wird aber für mehrere Quellcodes schwer sein.

Wie stellst du dir das in C++ vor, was würdest du dort machen?
Vielleicht ist es leichter die Logik in C++ zu machen und LV nur als Anzeige und zur Parametrisierung zu benutzen.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.02.2006, 09:17
Beitrag #5

StinkyWinky Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Feb 2006



kA



Welche Möglichkeit um C-Code einzubinden?
eugen graf schrieb:Wie stellst du dir das in C++ vor, was würdest du dort machen?
Ich würde vermutlich in VC++ eine Applikation mit dem gewünschten GUI erstellen und den Code des Prüflings gleich dazu compilierennken. Der Test-Code könnte dann direkt Konstanten z.B. Min/Max-Limiten, Default-Werte, Strings etc. aus den h-Files (des Prüflings) verwenden um die Rückgabewerte der Funktionen des Prüflings zu vergleichen.
Zusätlich könnte mein Test-Code die globalen Variablen auslesen. Kurz gesagt: Der Test-Code könnte alles mit dem Prüfling anstellen, was dort "public" ist. Das nennt sich Unit-Testing:
http://de.wikipedia.org/wiki/Unit-Test

eugen graf schrieb:Ich würde sagen es geht mit einer DLL.

Ok. Ich müsste also den Code meines Prüflings in eine DLL packen und könnte die in eine LV-Applikation einbinden. Dann könnte ich auf alle Funktionenn in der DLL zugreifen.

Könnte ich denn auch auf Konstanen aus h-Files zugreifen? Müsste ich die Werte doppelt halten (im LV und h-File)? Müsste ich das h-File selber parsen?

Die Variante DLL hat noch einen Nachteil: Es ist ein zusätzlicher Zwischenschritt (mit VC++) nötig. Zudem könnte ich das recht simple GUI auch gleich dort implementieren.

ABER: In unserer Firma gibt es Stimmen die kein neues, zusätzliches Tool einführen möchten, da ja bereits alle (HW)-Tests einheitlich mit LV gemacht werden. Daher meine vielleicht etwas "abartige" Frage.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: