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!
ich habe folgendes Problem ich habe ein Programm in Java welches vorgibt wann die Messungen vorgenommen werden sollen. Die Messungen werden mit einem LavView Programm vorgenommen. Wie kann ich dem LabVIEW Programm von Java aus sagen, dass es jetzt messen soll. Nach der Messung müsste ich noch Bescheid bekommen, dass die Messung fertig ist. Messergebnisse müssen nicht übergeben werden.
Ich hab mir überlegt dass beide über übers Netzwerk kommunizieren(geht ja auch an einem Rechner). Würde das evtl auch über den Std In/Out gehen? Oder weiß noch jemand eine Möglichkeit?
du könntest das LabVIEW programm so programmieren, dass es sich nach einer messung beendet. in java startest du dann das externe LabVIEW programm und wartest, bis es abgearbeitet ist. das wäre so mein ansatz. wofür man da jetzt ne netzwerkkommunikation brauchen sollte, kann ich nicht nachvollziehen.
LG
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
' schrieb:Es ist ja auch keine "Netzwerkkommunikation", sondern eine "Datenübertragung über TCP/IP" zwischen zwei Applikationen auf dem selben Rechner.
Warum ist es keine Netzwerkkommunikation? Es ist eine Netzwerkkommunikation (weil es über die Netzwerkkarte läuft), nur halt im Localhost (also auf dem selben Rechner).
' schrieb:du könntest das LabVIEW programm so programmieren, dass es sich nach einer messung beendet. in java startest du dann das externe LabVIEW programm und wartest, bis es abgearbeitet ist. das wäre so mein ansatz.
Das mit dem Starten und Beenden geht spitze. Um das ganze flexibler zu gestalten Lese ich vor dem Messen eine Config-Datei ein die die Parameter meiner
Messung enthält.
Jetzt müsste ich nur noch wissen wie ich aus dem LabVIEW Programm eine exe mach und wie man einen übergebenen Parameter (wo er das Ergebniss hin speichern soll) ausliest.
Ich will das LabVIEW Programm also z.b. mit "myProg.exe c:messung1.txt" starten. Und das Programm soll die Messergebnisse dann in c:messung1.txt speichern.
' schrieb:Warum ist es keine Netzwerkkommunikation?
Erstens, weil ich's in Anführungszeichen geschrieben habe.
Zweitens: Weil für die Funktion, die der Anwender haben will (DÜ Punkt-zu-Punkt, Master-Slave) kein Netzwerk im allgemeinen Sinne (Verbund mehrerer Komponenten) notwendig ist. Er hat viele Möglichkeiten: Die von TSchAC, oder SharedMemory/SharedFile, DDE gab es glaub ich auch mal. Ich selbst würde aber das mit dem Localhost vorziehen.
Nachtrag:
Ich sehe gerade, der Anwender hat sich für TSchAC mit DÜ per File entschieden. Naja, geht natürlich auch.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
' schrieb:Jetzt müsste ich nur noch wissen wie ich aus dem LabVIEW Programm eine exe mach und wie man einen übergebenen Parameter (wo er das Ergebniss hin speichern soll) ausliest.
Ich will das LabVIEW Programm also z.b. mit "myProg.exe c:messung1.txt" starten. Und das Programm soll die Messergebnisse dann in c:messung1.txt speichern.
Die Kommandozeilenargumente erhältst du durch Aufruf der gleichnamigen Eigenschaft. Wenn du die Exe erstellst musst du allerdings angeben, dass Argumente beim Start übergeben werden sollen.
Um eine EXE zu erstellen musst du den Appliaktion-Builder installiert haben. Dieser ist allerdings nicht in allen LabVIEW-Paketen enthalten. Wenn du ihn hast, musst du zunächst ein Projekt erstellen. Innerhalb des Projektes legst du dann deine VIs wie benötigt an und kannst dann eine Build-Spezifikation (Regeln für die Erstellung der EXE-Datei) erstellen.
LG
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)