OP
markus.dietschi
Level-2
- Beiträge
- 21
- Reaktionspunkte
- 2
-> Hier kostenlos registrieren
Soooooo....jetzt kann mich das Ding dann mal langsam. Das ist ja wie Lotto-Spielen
Aufgrund eures Feedback habe ich (obwohl IMHO nicht Auslöser) alle Skripts gelöscht und alle Button's.
Es gibt nur noch den E/A-Button "Aufwärts blättern" und "Abwärts blättern" um die Einträge in der Rezepturdatenbank durchzugehen.
Hinter jedem E/A-Button steckt ein eigenes Skript. "Aufwärts blättern" ist nun wie im bereits vorgestellten Code ausgeführt:
Wenn ich die Simulation ganz neu starte, überlebt das Skript tatsächlich volle 500 Durchläufe. Wenn ich den Button ein Zweites Mal drücke ,dann stirbt es irgendwo im 150. Durchlauf mit der Fehlermeldung
- $190010 : "DB600_HMI_StateWord_DataName": Überlast, Werte gehen verloren
- $190010 : ""DB600_HMI_StateWord_wHMILoopFail": Überlast, Werte gehen verloren
- $20010 : Fehler 'Überlauf' in Skript <VB_DatabaseNextEntry()> in Zeile 31
Das klingt ja langsam ganz nach einem Problem während der Speicherauslesung oder beim Beschreiben der Variablen.....????
Aufgrund eures Feedback habe ich (obwohl IMHO nicht Auslöser) alle Skripts gelöscht und alle Button's.
Es gibt nur noch den E/A-Button "Aufwärts blättern" und "Abwärts blättern" um die Einträge in der Rezepturdatenbank durchzugehen.
Hinter jedem E/A-Button steckt ein eigenes Skript. "Aufwärts blättern" ist nun wie im bereits vorgestellten Code ausgeführt:
Code:
Sub VB_DatabaseNextEntry()
'Ermittelt den naechst hoeheren vorhandenen Datensatz um diesen anzuwaehlen (um Luecken im Datenspeicher zu ueberspringen)
' -> Funktion wird mittels des Statuswertes der Abfrage gesteuert
'
'
Const TRANSFER_CLEAR = 0, TRANSFER_RUN = 2, TRANSFER_FINISHED = 4, TRANSFER_ERROR = 12 'Statusvariablen: Uebertragung; "Bereit" / "Laeuft" / "Beendet" / "Fehlerhaft"
Dim startNumber, loopNumber
startNumber = SmartTags("DB820_RezeptHMI_strRecept.Rezeptinfo.iDatanumber") + 1 'Wertuebergabe an die Variable
For loopNumber = startNumber To 500
Database_ScriptStatus = TRANSFER_CLEAR
GetDataRecordName _
1, _
loopNumber, _
"DB600_HMI_StateWord_ReceptName", _
"DB600_HMI_StateWord_DataName", _
"Database_ScriptStatus" 'Ausfuehrungsbefehl "LeseDatensatzname"
' wait for execution
Do
Loop Until Database_ScriptStatus > TRANSFER_RUN
' evaluation
If Database_ScriptStatus = TRANSFER_FINISHED Then
SmartTags("DB820_RezeptHMI_strRecept.Rezeptinfo.iDatanumber") = loopNumber
Exit For
End If
SmartTags("DB600_HMI_StateWord_wHMILoopFail") = loopNumber
Next
End Sub
- $190010 : "DB600_HMI_StateWord_DataName": Überlast, Werte gehen verloren
- $190010 : ""DB600_HMI_StateWord_wHMILoopFail": Überlast, Werte gehen verloren
- $20010 : Fehler 'Überlauf' in Skript <VB_DatabaseNextEntry()> in Zeile 31
Das klingt ja langsam ganz nach einem Problem während der Speicherauslesung oder beim Beschreiben der Variablen.....????