14.11.2008, 14:05
(Dieser Beitrag wurde zuletzt bearbeitet: 14.11.2008 14:06 von pete3000.)
Beitrag #1
|
pete3000
LVF-Grünschnabel
Beiträge: 46
Registriert seit: Nov 2008
8.5
2008
de
23456
Deutschland
|
Neu erstellte EXE funktioniert nicht auf Entwicklungssystem
Hallo,
arbeite zur Zeit mit einem LV-Programm, das nach meinem Kenntnisstand ursprünglich in LV 7.1 geschrieben wurde. Eine der Hauptaufgaben dieses Programms ist die Ansteuerung eines Mikrocontrollers über die serielle Schnittstelle.
Die ursprüngliche Kommunikation über die serielle Schnittstelle habe ich durch eine VISA-Ansteuerung ersetzt, weil hiermit auf einem anderen System (LV 8.5, Windows XP Professional, SP3) offenbar Probleme auftraten, die ich auf meinem derzeitigen System (LV 8.5, Windows Vista Business, SP1) so von vorne herein vermeiden wollte. Die ursprüngliche "nicht-VISA"-Ansteuerung der seriellen Schnittstelle funktioniert jedoch in LabVIEW ohne Probleme.
Das Programm funktioniert so weit gut, allerdings hat sich nun ein Problem mit der EXE ergeben. Die Erstellung der EXE funktioniert ohne Fehlermeldungen, aber wenn ich die Anwendung aus LabVIEW heraus ausführe, dann funktioniert die Ansteuerung der seriellen Schnittstelle nicht mehr. Eine Fehlermeldung wird nicht ausgegeben.
Ich hoffe, dass ihr mir trotz meiner vielleicht etwas umständlichen Formulierung weiter helfen könnt. (Arbeite erst seit 2 Monaten mit LV... )
Falls es weiterhilft, lade ich gern auch das komplette Programm hoch, allerdings ist dies sehr umfangreich und leider auch etwas unübersichtlich, weil nicht sonderlich "formvollendet" programmiert...
Vielen Dank schonmal!
MfG
Pete
|
|
|
14.11.2008, 14:19
Beitrag #2
|
|
|
16.11.2008, 19:03
Beitrag #3
|
pete3000
LVF-Grünschnabel
Beiträge: 46
Registriert seit: Nov 2008
8.5
2008
de
23456
Deutschland
|
Neu erstellte EXE funktioniert nicht auf Entwicklungssystem
Sorry, war das WE über unterwegs, deswegen jetzt erst die Rückmeldung...
' schrieb:Wenn du VISA jetzt verwendest, musst du auch VISA-RunTime installieren.
Hab eben nachgesehen: VISA-Runtime 4.4.1 ist installiert!
' schrieb:Wenn du nicht VISA verwendest, was dann ?
ev. musst du da noch eine DLL mitgeben.
Im Projekt unter "Abhängigkeiten" werden noch einige weitere VIs angegeben, von denen einige zur Kommunikation über die serielle Schnittstelle verwendet werden (z.B. Serial Port Write.vi, Serial Port Read.vi). Die VIs befinden sich im LV-Programmverzeichnis und verwenden dann doch wieder VISA für die Kommunikation. Das war mir als Anfänger leider bisher nicht klar und wurde mir auch anders erzählt... Danke für den Hinweis!
Hier das Programm:
Messrobotersteuerung.rar (Größe: 1,3 MB / Downloads: 276)
Wie bereits erwähnt, ist der der Programmierstil nicht schön, aber selten und nur geringfügig auf meinem Mist gewachsen...
|
|
|
16.11.2008, 21:40
Beitrag #4
|
IchSelbst
LVF-Guru
Beiträge: 3.697
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Neu erstellte EXE funktioniert nicht auf Entwicklungssystem
' schrieb:Wie bereits erwähnt, ist der der Programmierstil nicht schön, aber selten und nur geringfügig auf meinem Mist gewachsen...
Das dumme ist nur, dass dieser "seltene Programmierstil" nicht gerade dazu einläd zu helfen. Alles was über zwei Bildschirmseiten groß ist, schaut ich mir nicht an.
Ich hab da nur kurz rein geschaut und 3 Lokale Variablen Y-Counter gesehen - und alle auf einer Ebene parallel. Das ist per se schlecht. Wo sonst noch "parallele Ungereimtheiten" sind, sehe ich nicht - wie auch bei einem BD größer als 5x5 Bildschirme.
Ich empfehle das Programm zuerst mal auf lesbar umzuschreiben.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
16.11.2008, 22:00
Beitrag #5
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Neu erstellte EXE funktioniert nicht auf Entwicklungssystem
, stimme IchSelbst zu, das MainVI analysiere ich auch nicht...
Trotzdem ein Tip: Mach doch mal bei all deinen SubVI's den Haken bei Automatic Error Handling wieder rein. (zu finden unter den VI-Properties, Seite Execution). Falls eine LV-Fehler-Meldung auftaucht, dann sollte sie dir wieder angezeigt werden.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
17.11.2008, 00:40
Beitrag #6
|
pete3000
LVF-Grünschnabel
Beiträge: 46
Registriert seit: Nov 2008
8.5
2008
de
23456
Deutschland
|
Neu erstellte EXE funktioniert nicht auf Entwicklungssystem
Hab schon mit diesen (völlig berechtigten) Reaktionen gerechnet! :blush:Deswegen habe ich auch erstmal ganz vorsichtig angefragt, ob es evtl. an einem bekannten Problem liegen könnte und bin nicht direkt mit diesem "Schmuckstück" angekommen.
Mein Problem ist, das das Programm an sich seinen Zweck erfüllt und jemand lange dran geschrieben hat. Ich bin nun quasi gezwungen dieses Programm als Grundlage verwenden, da ich für die eigentlich notwendige Neuprogrammierung keine Zeit erhalte und meine Zeit eigentlich in ein etwas andere Themen investieren soll...
Stellt euch jetzt dieses Programm mal mit nur einem Viertel der Sub-VIs vor, die hab ich dort nämlich mühsam erstellt, um überhaupt einigermaßen Struktur reinzubekommen. Als Anfänger hab ich auch ewig gebraucht um überhaupt einigermaßen zu verstehen, was dort überhaupt gespielt wird. Ich werd wohl nicht drum herum kommen das Programm noch weiter in SubVIs zu zerbröseln.
Werd dann trotzdem mal parallel dazu dem Tipp mit dem "Automatic Error Handling" von Jens nachgehen. Vielleicht bringt mich das ja weiter...
Nochmal danke an alle wagemutigen Helfer, die sich das Programm angetan haben!
|
|
|
17.11.2008, 08:51
Beitrag #7
|
toaran_
LVF-Gelegenheitsschreiber
Beiträge: 237
Registriert seit: Feb 2007
2012
2006
EN
90763
Deutschland
|
Neu erstellte EXE funktioniert nicht auf Entwicklungssystem
' schrieb:...
Das Programm funktioniert so weit gut, allerdings hat sich nun ein Problem mit der EXE ergeben. Die Erstellung der EXE funktioniert ohne Fehlermeldungen, aber wenn ich die Anwendung aus LabVIEW heraus ausführe, dann funktioniert die Ansteuerung der seriellen Schnittstelle nicht mehr. Eine Fehlermeldung wird nicht ausgegeben.
...
Hallo
wenn ich das richtig verstehe führst du die EXE aus während die LabVIEW IDE läuft? ... wenn ja dann blockiert die IDE warscheinlich die VISA Ressourcen ...
bei mir (7.1) ist das zumindest so ....
wenn du die EXE ohne IDE im Hintergrund startes dann weis ich auhc grad nicht weiter .. dein VI kann ich mir nicht anguggen da ich nur 7.1 habe ...
T
|
|
|
17.11.2008, 10:32
(Dieser Beitrag wurde zuletzt bearbeitet: 17.11.2008 10:32 von pete3000.)
Beitrag #8
|
pete3000
LVF-Grünschnabel
Beiträge: 46
Registriert seit: Nov 2008
8.5
2008
de
23456
Deutschland
|
Neu erstellte EXE funktioniert nicht auf Entwicklungssystem
' schrieb:wenn ich das richtig verstehe führst du die EXE aus während die LabVIEW IDE läuft? ... wenn ja dann blockiert die IDE warscheinlich die VISA Ressourcen ...
bei mir (7.1) ist das zumindest so ....
Danke für den Tipp! Ich würde das gern überprüfen, weiß als Anfänger leider mit "IDE" nichts anzufangen und konnte darüber auch über die Forumssuche, Dr. Google und meine LV-Literatur nichts finden.
' schrieb:wenn du die EXE ohne IDE im Hintergrund startes dann weis ich auhc grad nicht weiter .. dein VI kann ich mir nicht anguggen da ich nur 7.1 habe ...
Da ich mich hier mit diesem "Superprogramm" eh schon zum Klops gemacht hab , werd ich nachher nochmal die ursprüngliche Version hochladen, die der Legende nach in LV 7.1 geschrieben wurde (bin momentan gerade aufm Sprung). Die solltest Du dann öffnen können...
|
|
|
17.11.2008, 10:36
Beitrag #9
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Neu erstellte EXE funktioniert nicht auf Entwicklungssystem
' schrieb:Danke für den Tipp! Ich würde das gern überprüfen, weiß als Anfänger leider mit "IDE" nichts anzufangen und konnte darüber auch über die Forumssuche, Dr. Google und meine LV-Literatur nichts finden.
Also bei mir spuckt Google gleich als erstes aus:
http://de.wikipedia.org/wiki/Integrierte_E...cklungsumgebung
also deine LabVIEW-Entwicklungsumgebung.
Frage lautet vereinfacht: Hast du gleichzeitg LabVIEW-IDE und deine Exe laufen? Das könnte das Problem sein, wenn LabVIEW noch die serielle Schnittstelle offen hält, dann kann deine Exe nicht darauf zugreifen.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
| |