Geisterkarle
Level-2
- Beiträge
- 135
- Reaktionspunkte
- 9
-> Hier kostenlos registrieren
Hallo SPS-Experten!
Ich versuche aktuell zu lösen, ein Rezept, dass ich in einem Siemens HMI (hier: HMI-Runtime; also Software-HMI) angelegt habe, automatisch aus der SPS zu laden.
Leider scheitere ich bzw. habe ich eine Lösung, die ... hin und wieder... funktioniert. Und "hin und wieder" ist in der Automatisierungsbranche leider nicht ausreichend
Meine Variante ist etwas komplex...
Über eine Bitmeldung rufe ich bei "kommend" ein Skript auf (s. Bild), dass einen LoadDataRecord ausführt. In der SPS überwache ich den Rückgabewert und die Daten, die geschrieben werden.
Mein "hin und wieder" ist nun, dass es drei verschiedene Szenarien gibt:
1. Das Rezept wird nicht gefunden/geladen (Rückgabewert 12)
2. Das Rezept wird angeblich gefunden und geladen (Rückgabewert 4), in meiner SPS sind aber keine Daten (DB bleibt leer)
3. Rezept wird gefunden und geladen und Daten sind in der SPS!
3. ist natürlich die einzig korrekte Variante.
Ich habe leider noch nicht herausgefunden, was die Gründe für eines der Ergebnisse ist...
Habe hier und allgemein herumgesucht, aber nichts hilfreiches gefunden, denn ganz oft wird da auf "Bereichszeiger" verwiesen. Was bestimmt ne tolle Lösung ist, aber falls ihr das Bild richtig angeschaut habt: Ich lade mit "Rezeptname" und nicht "Datensatznummer"! Denn die Datensatznummer ist unbekannt, da Rezepte "beliebig" angelegt werden können und ich nur den Name weiss, aber nicht die Datensatznummer. Und im Befehlsaufruf kann ich keinen String übergeben...
Hat jemand sowas schonmal gemacht und kann mir nen Tipp geben, wie ich das Lösen kann oder woran diese "unberechenbarkeit" des Ergebnisses liegt?
Würde mich freuen!
Danke!
grüßle
Ich versuche aktuell zu lösen, ein Rezept, dass ich in einem Siemens HMI (hier: HMI-Runtime; also Software-HMI) angelegt habe, automatisch aus der SPS zu laden.
Leider scheitere ich bzw. habe ich eine Lösung, die ... hin und wieder... funktioniert. Und "hin und wieder" ist in der Automatisierungsbranche leider nicht ausreichend

Meine Variante ist etwas komplex...
Über eine Bitmeldung rufe ich bei "kommend" ein Skript auf (s. Bild), dass einen LoadDataRecord ausführt. In der SPS überwache ich den Rückgabewert und die Daten, die geschrieben werden.
Mein "hin und wieder" ist nun, dass es drei verschiedene Szenarien gibt:
1. Das Rezept wird nicht gefunden/geladen (Rückgabewert 12)
2. Das Rezept wird angeblich gefunden und geladen (Rückgabewert 4), in meiner SPS sind aber keine Daten (DB bleibt leer)
3. Rezept wird gefunden und geladen und Daten sind in der SPS!
3. ist natürlich die einzig korrekte Variante.
Ich habe leider noch nicht herausgefunden, was die Gründe für eines der Ergebnisse ist...
Habe hier und allgemein herumgesucht, aber nichts hilfreiches gefunden, denn ganz oft wird da auf "Bereichszeiger" verwiesen. Was bestimmt ne tolle Lösung ist, aber falls ihr das Bild richtig angeschaut habt: Ich lade mit "Rezeptname" und nicht "Datensatznummer"! Denn die Datensatznummer ist unbekannt, da Rezepte "beliebig" angelegt werden können und ich nur den Name weiss, aber nicht die Datensatznummer. Und im Befehlsaufruf kann ich keinen String übergeben...
Hat jemand sowas schonmal gemacht und kann mir nen Tipp geben, wie ich das Lösen kann oder woran diese "unberechenbarkeit" des Ergebnisses liegt?
Würde mich freuen!
Danke!
grüßle