Probleme mit VBS und ProTool

RMA

Level-1
Beiträge
400
Reaktionspunkte
24
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich wollte meine erste Versuche mit VBS machen und habe Volker's FAQ als Basis benutzt, aber schon beim ersten Versuch mit den Fehlerbehandlung gab es Probleme.

Die beiden Variablen "wert" und "fehler" wurden nicht erkannt und mussten zuerst mit "Dim" definiert werden. Bei der Übersetzung kam es dann weiter zum nächsten Fehler: "Dieser VBS Skript-Befehl ist in ProTool nicht erlaubt - MsgBox." In der VBS-Script Hilfe ist der Funktion sehr wohl definiert!

Ich benutze ProTool V6.0 SP2 und weil ich meine Sache in dieser Woche lösen muss, wäre ich sehr dankbar wenn jemand mir ein Vorschlag machen könnte, warum es diese Probleme gibt.
 
Hallo,
die Version VB-Script in ProTool unterstützt nicht alle VB-Funktionen. MsgBox gehört meines Wissens nicht dazu. Die Einschränkungen werden aber in der VB-Script-Hilfe von ProTool genannt ...

Das du eine verwendete Variable irgendwo definieren mußt versteht sich doch wohl von selbst. Entweder du nimmst DIM und hasr damit eine Variable, die nur in dem Script Gültigkeit hat oder du nimmst eine Variable aus der ProTool-Variablenliste ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Stimmt, MsgBox kann man nicht in ProTool nutzen, ich hatte vergessen, dass die VBS-Hilfe von Microsoft war, nicht Siemens.

Das mit den Variablen verstehe ich eigentlich, aber ganz am Anfang des FAQs sagt Völker:

"----- grundsätzliches ------------------------------------------------------------------------------------------
alle variablen in den scripten die nicht durch die DIM anweisung dimensioniert sind, sind in protool/winccflex definierte variablen (können interne oder aber auch an die steuerung gebunden sein (je nach zweck))
"

deswegen war ich etwas irritiert.

Gibt es einen einfachen Weg um die Fehlermeldung auszugeben, außer MsgBox?
 
Das verstehe ich jetzt nicht ...
Es gibt doch in ProTool auch einen Bereich für Bit-Meldungen (Projekt-Meldungen-Störmeldungen). Diese können dann in einem eigenen Fenster (Meldeanzeige) ausgegeben werden ...

Gruß
LL
 
Sorry, hab' mich nicht klar ausgedruckt, ich meinte die VBS Skript Fehlermeldungen, nicht die Prozessmeldungen.

Aber mitlerweile bin ich etwas weiter gekommen und das Program scheint mehr oder weniger zu funktionieren. Es wäre trotzdem nicht schlecht wenn ich ein VBS Fehlermeldung ausgeben könnte, für den Fall das der Laufwerk voll ist oder jemand hat der Datei schon im Editor geöffnet.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... tut mir leid. Da gibt es m.W. keine direkte Funktion. Du könntest nur in Abhängigkeit eines solchen Error-Codes z.B. ein Bit setzen und damit eine Anzeige auf sichtbar schalten ...

Gruß
LL
 
lasse on error resume next weg
tritt nun ein fehler im script auf, wird dies als systemmeldung ausgegeben.

tritt ein ereignis auf, welches das script zwar nicht unterbricht du das aber melden willst bleibt eigenlich nur die fehlermeldung in eine variable zu schreiben und diese dann anzuzeigen.
 
Dass mit der Systemmeldung wurde eigentlich reichen.

Ich habe fast alles so wie ich es haben möchte, das letzte was ich noch nicht geschafft habe ist die Spannung, die als INT vorhanden ist, als String in die Datei auszugeben. Das VBS Editor erkennt keiner der Varianten von String() die ich bislang probiert habe.
 
Ein INT als String umzuwandeln:
stringVar = CStr(intVar)

Und, anstatt MsgBox, der Systemfunktion Display_System_Message_Text verwenden.
Auszug aus der online hilfe: "This function is extremely useful for debugging scripts."
 
Mittlerweile habe ich entdeckt, dass ich den INT gar nicht umwandeln muss, das passiert automatisch. Das Problem (was ich noch suche) war was anderes.

Das mit Display_System_Message_Text werde ich morgen ausprobieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin moin Jesper!

Wo finde ich das Display_System_Message_Text Function? Ich habe die SFBs/SFCs im Standard Library durchsucht, aber nichts gefunden. Auch in der Hilfe Step7 und ProTool ist unter diesem Thema nichts zu finden.
 
in Flexible ist das so



Code:
ShowSystemAlarm "Fehler-Text"

Das kannst du dann in deinen Script einpflegen.

Ich weiß aber nicht ob das jetzt bei ProTool auch past.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich nehme an, dass sich der Beitrag von Jesper auf Flex bezog. Für ProTool kenne ich das auch nicht. Etwas, dass aber Ähnliches bewirken sollte wäre : "Zielsystem - Meldungen - Systemmeldungen " und dort Simatic-HMI anklicken ...
Das bringt dir dann im Meldefenster alle Dinge, die im Script schief gelaufen sind (u.A.) und die nicht abgefangen worden sind (On Error resume Next).

Gruß
LL
 
Im online hilfe steht es unter Display_system_message_text.
Aber es muss Display_system_message heissen, ohne"_text".
Diese linie in ein Skript kompiliert ohne fehler:
Display_system_message
"Error text"
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei mir doch.

Das Display_system_message im Skript editor mit grau angezeigt wird, bedeutet das der Funktion erkannt wird.

Habe es getestet, Skript wird über ein Taster ausgelöst:
 

Anhänge

  • protool_display_system_message.GIF
    protool_display_system_message.GIF
    3,9 KB · Aufrufe: 16
Verstehe ich nicht - interessiert mich aber ...
Bei mir steht dann unter dem Script wenn ich auf Übersetzen klicke "Fehler: Unbekannter Bezeichner , Display_system_message"
Ich finde dazu aber auch keinen Bezug in der VB-Script-Hilfe ...

Poste doch bitte mal deinen Script-Auszug ...
 
OK, hier ist das Skript, nach kompilieren kein Fehler.
Ich habe Protool/Pro CS 6.0 SP2
 

Anhänge

  • Protool_compile_script.GIF
    Protool_compile_script.GIF
    10,3 KB · Aufrufe: 14
Zurück
Oben