Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 8 von 8

Thema: Rezept aus HMI in Steuerung laden?

  1. #1
    Registriert seit
    17.04.2009
    Beiträge
    38
    Danke
    10
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> 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
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Rezept aus HMI in Steuerung laden?  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.964
    Danke
    958
    Erhielt 3.531 Danke für 2.860 Beiträge

    Standard

    Hallo,
    eventuell sind folgende Themen für Dich hilfreich:
    TP700 Comfort lädt nicht alle Rezepturdaten runter / Datensatz Befehl 70 wird genullt
    Datensatz aus HMI zur PLC laden, anhand des Datensatznamens und NICHT nach der Nummer
    Rezept per Steuerauftag aus HMI auslesen

    (gefunden mit der Forumssuche mit den Suchbegriffen: "rezeptur bereichszeiger" und Benutzername: "PN/DP")

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Geisterkarle (14.05.2018)

  4. #3
    Registriert seit
    29.08.2008
    Beiträge
    70
    Danke
    1
    Erhielt 8 Danke für 7 Beiträge

    Standard

    Hallo,

    schon mal versucht, den LoadDataRecord in der do...while-Schleife aufzurufen?

    Warum ruft du "rezept_laden_func = Smarttags..." auf ?

    Ich würde der Variable INT_Rezept_laden am Anfang den Wert 0 geben

    Dann schleife solange wert < 1 loaddatarecord aufrufen und am Ende hast du 2, 4, 12 in der Variable.

  5. #4
    Registriert seit
    17.04.2009
    Beiträge
    38
    Danke
    10
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ist halt viel herumgespielt!
    Aktuell bin ich von LoadDataRecord auf SetDataRecordToPLC umgestiegen.
    Schleife lasse ich leer.
    Zudem kommt es mir so vor, dass wenn ich einfach das Panel neu einspiele nach einer Änderung es erstmal gar nicht geht; ich muss erstmal bisle herumklicken, dann geht es besser...
    Desweiteren habe ich mal die Erfassungszeit der Daten von der Standard 1s auf 500ms geändert und auch mal mein Signal verzögert. Auch hier scheint es sich verbessert zu haben! Davor kam irgendwas von wegen "Rezept 0 unbekannt" (ist mir aber auch erst jetzt aufgefallen, dass das Rezeptladen tatsächlich eine Systemmeldung im Panel ist und angezeigt wird!)
    Bekomme inzwischen gefühlt weniger bis sehr selten Fall 1.
    Fall 2 kommt aber immer noch vor. Aber wenn ich da diesen Verlinkten Thread durchlese, dann weiss ich auch warum...
    Das wird mich noch beschäftigen!

  6. #5
    Registriert seit
    21.10.2010
    Beiträge
    612
    Danke
    64
    Erhielt 52 Danke für 50 Beiträge

    Standard

    Hi
    Also bei mir läuft es gemäss angehängtem Bild.
    Nicht vergessen, am Anfang immer schön alles auf Null und FALSE stellen.
    Ich kopiere mir die Rezeptur in ein DB und wenn ich das gemacht habe (Info von Skript an SPS), dann kopiere ich den DB in ein anderer DB (von der SPS aus). Ich arbeite dann im Programm nur mit dem zweiten DB. Ist auch eine WinCC Adv. Runtime auf einem PC. Läuft auf Win10 und Win7 PC's.


    Skript_Rezeptur.JPG

  7. #6
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.964
    Danke
    958
    Erhielt 3.531 Danke für 2.860 Beiträge

    Standard

    btw.
    Zitat Zitat von blimaa Beitrag anzeigen
    Code:
    'Endif damit nur bei positiver Flanke das Skript gestartet wird
    'MUSS AM SCHLUSS STEHEN!!!
    End If
    Das kann man auch ganz ohne die große If-Klammer lösen:
    Code:
    'Skript nur bei "kommen" ausführen
    If TriggerVariable = 0 Then Exit Sub
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  8. #7
    Registriert seit
    21.10.2010
    Beiträge
    612
    Danke
    64
    Erhielt 52 Danke für 50 Beiträge

    Standard

    Rezept aus HMI in Steuerung laden? gute Idee
    Danke dir

    Gesendet von meinem BLN-L21 mit Tapatalk

  9. #8
    Registriert seit
    17.04.2009
    Beiträge
    38
    Danke
    10
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ok, ich habe glaube nun eine Version, die funktioniert... Falls jemand die Testhistorie interessiert, hier die Wall of Text Geschichte!

    Folgende Dinge sind "passiert":
    Ich habe Datensätze von zwei verschiedenen Rezepten mehr oder weniger abwechselnd geladen.
    Mir ist aufgefallen, dass hin und wieder das Skript gesagt hat, dass das Rezept 0 ist, obwohl ich den Wert setze. Scheint noch nicht im Panel angekommen zu sein.
    Daher fange ich erstmal mit einer Schleife im Skript an, die prüft, ob das Rezept <>0 ist.
    Dann habe ich gesehen, dass manchmal "erfolgreich geladen" kam, aber dann die Daten im falschen Rezept ankamen (beide Rezepte beinhalten identische Datensatznamen).
    Daraufhin habe ich angefangen am Ende des Ablaufs die Rezeptnummer abzulöschen/0 zu setzen, damit bei Neuaufruf auch wirklich die neue Nummer drin steht.
    Das hat funktioniert.
    Dann wollte ich mal sehen, wie es läuft, wenn ich direkt hintereinander die verschiedenen Rezepte lade (mache ich ja nicht aus Spaß; zwei Stationen können "gleichzeitig" Rezept anfordern)
    Hier ist öfters erstmal meine SPS ausgestiegen, die warumauchimmer keinen Wert im Rezept eingetragen hat, das Skript hat also wieder mit 0 gearbeitet und ist hängen geblieben.
    Daraufhin frage ich vor dem Start die Nummer auf <>0 ab.
    Hat aber immer noch nicht funktioniert, irgendwie hat das Skript nichts mehr geladen.
    Also habe ich einen Timer von 1s in der SPS eingebaut, bevor ich das nächste Rezept lade.
    Geht.

    Und hier bin ich jetzt erstmal und hab keine Lust mehr auf den Quatsch!

    Letzteres ist noch nicht wirklich gelöst und das Skript noch sehr wild. Wenn ihr wollt, zeige ich es, aber eigentlich gehört dieses Ungetüm in die Hölle und nicht in ein Panel

Ähnliche Themen

  1. TIA Rezept per Steuerauftag aus HMI auslesen
    Von magus111 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 23.09.2015, 09:45
  2. Steuerungsauftrag Rezept laden - Rückmeldung?
    Von Geisterkarle im Forum HMI
    Antworten: 0
    Letzter Beitrag: 13.10.2014, 14:38
  3. Rezept automatisch bei Programmstart laden
    Von atp_member im Forum HMI
    Antworten: 2
    Letzter Beitrag: 25.08.2011, 23:32
  4. SPS Programm aus Steuerung laden BX9000
    Von Codesys_123 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 08.06.2011, 13:13
  5. Laden aus Steuerung (Wago)
    Von deepack im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 16.03.2010, 12:46

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •