Probleme mit Rezepten - MP370

CrazyCat

Level-1
Beiträge
683
Reaktionspunkte
9
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe ein mittelschweres Problem mit dem MP370.

Ich erhalte ständig die Fehlermeldungen "Rezeptbearbeitung nicht möglich, da gerade eine Rezepturaktion läuft" und "Übertragung zur Steuerung nicht möglich, da Datenfach belegt - bitte Datenfach rücksetzen"


Wie kann ich über Skripte verhindern das 2 Rezeptaktionen gleichzeitig ausgeführt werden?

Wie setze ich das Datenfach zurück und was bewirkt dies?
 
Skripte?!?

Startest du den Auftrag mittels Skrip? Das ist mir auch schon passiert!!! Oder auf eine Variablenänderung? Um das Datenfach brauchst du dich normalerweise nicht zu kümmern.
Füg in deine Applikation das Systemmeldefenster ein und gib die Systemmeldungen frei. Dann weisst du was dein WinCc treibt...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
CrazyCat schrieb:
Wie setze ich das Datenfach zurück und was bewirkt dies?

Im Bereichszeiger Datenfach werden folgende Daten eingetragen
Wort 1: Aktuelle Rezeptnummer
Wort 2: Aktueller Datensatznummer
Wort 3: Reserviert
Wort 4: Status- Steuerwort
Wort 5:
Das Panel setzt beim Laden im Wort 4 Bit 2 oder 3 bin mir gerade nicht sicher welches. Wenn man beide Bits im Programm rücksetzt kann man immer senden.
Mit den beiden Bits kann man gezielt das Laden von Rezepten via SPS steuern.

Gruss
Guenni
 
Es gibt mir nur die beiden oben genannten Meldungen aus.

Das Problem scheint vorwiegend beim Wechsel zwischen 2 bestimmten Bildern aufzutreten.

Beim ersten Bild wird über das Skript der Datensatz gespeichert, sobald das Bild abgebaut wurde, beim 2. Bild wird ebenfalls über ein Skript der Datensatz nochmals gespeichert.

Die Frage ist: Wie kann ich sicherstellen, das beim Wechseln zwischen diesen beiden Bildern der Datensatz nicht 2x hintereinander gespeichert wird?

€dit: Ich werde die beiden Bits vor dem Laden von neuen Rezepten rücksetzen. Können dadurch unerwünschte "Nebenwirkungen" auftreten?
 
CrazyCat schrieb:
. Können dadurch unerwünschte "Nebenwirkungen" auftreten?

Kommt darauf an, was die Rezeptparameter für Funktionen haben.
Man kann halt immer andere Daten senden. Ob das gut ist hängt von der Aufgabe ab.

Guenni
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ganz einfach.

Baue dein Skript in etwa so um dann wird eins nach dem anderen gemacht!!! DatensatzLadenStatus ist eine Variable

'Datensatz laden
'
'Bearbeitungsstatus der Lade und Schreibfunktionen
'2 = Systemfunktion wird gerade ausgeführt.
'4 = Systemfunktion wurde erfolgreich beendet.
'12 = Systemfunktion wurde nicht ausgeführt, weil ein Fehler aufgetreten ist.
LoadDataRecord "Bearbeitungsprogramm", SmartTags("BpHmiCpuKommunikation.CpuAktuellerDatensatz"), SmartTags("DatensatzLadenStatus")
Do While SmartTags("DatensatzLadenStatus") = 2
'Nichts'
Loop
If SmartTags("DatensatzLadenStatus") = 4 Then
ResetBit SmartTags("BpHmiCpuKommunikation.HmiDatenGeandert")
ResetBit SmartTags("BpHmiCpuKommunikation.HmiDatenEcm1Geaendert")
ResetBit SmartTags("BpHmiCpuKommunikation.HmiDatenEcm2Geaendert")
ShowSystemAlarm "Datensatz geladen"
End If
If SmartTags("DatensatzLadenStatus") = 12 Then
ShowSystemAlarm "Datensatz laden fehlgeschlagen"
End If
 
Eine Schleife die abwartet bis die Aktion fertig ist, keine schlechte Idee!

Das sollte funktionieren.


Die Bits werde ich beim aktivieren der Rezeptauswahl rücksetzen, denn dort will ich auf jeden Fall und jederzeit neue Daten senden können.
 
Zurück
Oben