WinCC Flex Rückgabewert von externen Programm auswerten

Hausen

Level-1
Beiträge
77
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich möchte gerne in einem Script ein externes Programm ausführen und von diesem Programm den Rückgabewert auswerten.

Das starten des Programms ist nicht das Problem, aber wie kann ich den Rückgabewert wieder einlesen bzw. abfragen?
Hatte gehoft das es wie folgt gehen würde:

Code:
Rückgabe = StartProgram "e:/RawMatCheck.exe", "/RawMatId=ENDEX 155 /Barcode=1000658549", hmiShowNormal, hmiYes

Der Rückgabewert sieht wie folgt aus:

Rückgabewerte:

0 Richtiger Rohstoff, Bestand vorhanden
1 Richtiger Rohstoff, KEIN Bestand vorhanden
2 Falscher Rohstoff
3 Barcode nicht gefunden (falscher Barcode oder Rohstoff noch nicht gebucht)
4 Datenbank konnte nicht erreicht werden
5 Fehler im Programmablauf - keine Info verfügbar

Muss bzw. kann ich das über das Errorlevel vielleicht auswerten?

Das ganz soll auf einem IPC477D mit einer WinCC Flexible Runtime bzw. Runtime Advanced laufen.

Wäre nett wenn Ihr mir da vielleicht auf die Sprünge helfen könntet.

Danke und Gruß

Hausen
 
Meines Wissens kann "StartProgram" keine Rückgaben des externen Programmes an das Skript zurückgeben.
Kann das externe Programm das Ergebnis in eine Datei schreiben? Wenn nicht, dann müsstest Du eine Batchdatei aufrufen, welche das externe Programm startet und dessen errorlevel in eine Datei schreibt.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Harald,

das habe ich mir schon fast gedacht.
Das Programm ist nicht von mir, sondern von unserem Kunden. Ich werde mal fragen ob er es so programmieren kann, das er den Error Level in eine Datei schreibt.

Falls noch jemand eine andere Idee hat, immer gerne...

Gruß Hausen
 
Versuche mal, beim Programmaufruf in Flexible einen Parameter zum Umleiten der Ausgaben (mit ">") in eine Datei mit an zu geben. Das könnte direkt aus Flexible funktionieren, falls nicht dann eventuell über eine Batchdatei.
 
Versuche mal, beim Programmaufruf in Flexible einen Parameter zum Umleiten der Ausgaben (mit ">") in eine Datei mit an zu geben. Das könnte direkt aus Flexible funktionieren, falls nicht dann eventuell über eine Batchdatei.

Hallo Onkel,

das verstehe ich nicht genau. Kannst Du mir mal kurz eine Beispielzeile schreiben?

Wäre nett.

Gruß Hausen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde es mal wie folgt versuchen. Mit dem Parameter ">" werden die Bildschirmausgaben in die angegebene Textdatei geschrieben. So würde es zumindest auf der Kommandozeilenebene bzw. aus eine Batch-Datei heraus funktionieren. Falls dein Programm überhaupt so tickt?

Starte Programm 1.png
oder
Starte Programm 2.png
 
Ok, so meintest Du das. Werde das mal in der nächsten Woche probieren und mich dann zurück melden.

Danke Euch schon mal für Eure Hilfe.

Gruß Hausen
 
@Onkel:
Das könnte ich mich tatsächlich auch so vorstellen ...

@Hausen:
Falls es doch nicht funktionieren sollte könntest du das auch noch in ein Batchfile packen und nach der Programmausführung den Errorlevel mit dem gleichen Pipe in eine Datei schreiben.
Naja ... und StarteProgramm würde dann die Batchdatei aufrufen ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Umlenken der Programmausgaben geht aber nur, wenn das Programm auch Ausgaben erzeugt - darüber gab es hier aber noch keine Informationen. Der Rückgabewert eines Programms (errorlevel) läßt sich nicht umleiten, dies müsste ein zusätzliches Programm (z.B. Batchdatei) tun.

Harald
 
Hallo zusammen,

um das Thema mal abzuschließen. Ich habe alle möglichen Varianten ausprobiert und getestet, leider ohne Erfolg!

Ich lassen den Rückgabewert des Programms jetzt in eine Textdatei schreiben, die ich dann nach dem Programmaufruf einlese.

Danke für Eure Ideen und Unterstützung.

Gruß Hausen
 
Zurück
Oben