WinCC Unified Zeitgesteuerter Ablauf via Parametersatzanzeige?

joachim93

Level-2
Beiträge
48
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich bin leider ziemlich am verzweifeln. Bin ein ziemlicher SPS-Neuling und glaube mein Problem ist wahrscheinlich gar nicht so komplex aber ich komme einfach nicht weiter...
Ich würde gerne eine Synthese aus mehreren Schritten ablaufen lassen. Alle Schritte weisen die gleichen Variablen auf und sollen je nach Benutzer individuell am HMI erstellt werden können. Da liegt natürlich das Control "Parametersatzanzeige" nahe... (Schritt = Parametersatz)
Bei jedem Schritt soll auch festgelegt werden mit welcher Zeitdauer er ablaufen soll und über einen Button "Run" sollen dann alle erstellten Schritte (also alle Parametersätze) automatisch nacheinander ablaufen mit eben jeweils der Zeit die bei jedem Schritt eingetragen wurde.

Wie kann ich das denn machen? Mit dem Button "Lade in PLC" wird ja jeweils nur ein Parametersatz in die PLC geschrieben, ich möchte aber dass alle automatisch nacheinander ablaufen...

Ich denke eine Schaltfläche mit Ereignis -> Skript?
Obwohl ich mich jetzt schon länger eingelesen habe, komme ich mit dem JavaScript nicht wirklich zurecht :/

Weiß jemand weiter?

Danke schonmal!!
 
Mein Problem ist, dass ich einfach nicht weiß wie ich auf die einzelnen Variablen der einzelnen Parametersätze zugreifen kann:(

Oder hat jemand eine andere Idee wie man das ganze lösen könnte? Möglichst ohne 1000 Variablen anlegen zu müssen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So richtig verstehe ich nicht was du eigentlich machen möchtest. Eine einfache Schrittkette mit Zeitabläufen und die sollen aus einem Parametersatz kommen?
Wichtig wäre mal dass du etwas verständlicher beschreibst was du eigentlich machen möchtest und dann GANZ wichtig, auf welchem System soll das ganze laufen?
Sag uns welche Hardware (CPU, Panel), Software (TIA-Version) du einsetzt, dazu noch was du bisher an Code hast und dann kann dir vielleicht (bestimmt sogar) geholfen werden.
 
Ich sehe das auch so wie @schwimmer - aus deiner Beschreibung werde ich nicht schlau.
Mein Vorschlag wäre, dass du vielleicht mal den gedachten Ablauf beschreibst und was an den jeweiligen Schritten parametrisiert passieren soll.
Mein Verdacht ist, dass du per Vorgabe festlegen willst was an welchem Schritt passieren soll - richtig geraten ?
 
Tut mir leid, dass es so schlecht beschrieben ist :(

Zu meinem System: CPU 1500 (genauer 1516-3 PN/DP) HMI ist das MTP 1500 Unified Comfort Panel
Ich nutze TIA V18 sowie WinCC Unified.

Dann mal genauer:
Ich habe einen Reaktor in dem eine Synthese ablaufen soll. Dazu sind verschiedene Parameter einstellbar, wie Pumpengeschwindigkeit, Solltemperatur, Rührgeschwindigkeit, Ventile (offen/zu). Die Synthese besteht aus mehreren Schritten, welche jeder Benutzer selbst festlegen kann, vorgegeben sind nur die Parameter (Temperatur usw.).
Gewünscht ist jetzt, dass man über das HMI seine eigene Synthese bauen kann, wie man sie eben will. Sprich Schritte erstellen kann und bei jedem Schritt die gewünschten Werte für die Parameter angeben kann sowie die Dauer des Schrittes!
(z.B. 1. Schritt: Spülen - 1 Minute, Ventil 1 offen..., Temp. 20 Grad, Rührer aus usw.; 2. Schritt: Zugabe xy - 2 Minuten, Ventil 1 zu, Ventil 2 offen..., Temp. 10 Grad, Rührer 100rpm usw.)
Sprich, fest sind nur die einstellbaren Parameter, weil das sind immer die gleichen. Rest soll über das HMI erstellt werden, also wie die Schritte heißen und deren Parameter.
Am Ende soll es einen Button "Run" geben, über den dann alle erstellten Schritte automatisch ablaufen, jeweils so lange wie durch den Benutzer eben angegeben.

Daher dachte ich, dass sich die Parametersatz-Anzeige anbieten würde... das einzige Problem dabei ist, dass ich nicht weiß wie ich den Button "Run" programmieren kann.
Oder habt ihr eine ganz andere Idee, ohne Parametersatz-Anzeige?
Meine JavaScript-Kenntnisse sind aktuell leider noch ziemlich beschränkt..

Hilft euch das weiter? :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Unter deiner Parametersatz-Anzeige kann ich mir so recht nichts vorstellen - ich habe allerdings auch kein TIA zur Hand wo ich danach schauen könnte.
Was ich mir vorstellen könnte wäre ein Bild mit mehreren Zeilen, die die jeweils möglichen Aktionen anzeigen und ob sie verwendet werden sollen - also in etwa so (alles in einer Zeile) :
Checkbox Zeile aktiv (ja / nein) - wenn nein dann ist das Programm zu Ende
Checkbox Spülen (ja / nein) - wenn Ja dann Eingabe der Zeit (Enable Eingabefeld)
Anwahl Ventil (keins / Ventil 1 / Ventil 2 / usw.) - wenn Ventil gewählt dann Anwahl Zustand (auf / zu) (Enable Auswahlfeld)
Temperatur-Vorgabe (Eingabefeld)
Checkbox Rührwerk (ein / aus)
usw. falls es noch Weiteres gibt

Jede Zeile wäre innerhalb der SPS ein UDT in einem Datenbaustein - also faktisch ein Array of UDT entsprechend der maximal möglichen Schritte.

So etwas auf dem HMI zu erstellen dürfte recht einfach sein - dies dann im Programm umzusetzen halte ich für einen SPS-Neuling für nicht unbedingt trivial ...
 
Ich habe es jetzt so gelöst, dass durch eine Schaltfläche eine Variable auf TRUE gesetzt wird und der erste Parametersatz in die CPU geladen wird. In der CPU habe ich einen FC erstellt, ist die besagte Variable TRUE werden die Variablen aus der Parametersatzanzeige gleich den richtigen gesetzt und es startet ein Timer der beim Ablauf der eingestellten Zeit wiederum eine andere Variable auf TRUE setzt, welche dann im HMI dazu führt dass der nächste Parametersatz geladen wird. Zudem hab ich einen Counter im FC erstellt, der die Schritte zählt, also immer eins nach oben geht wenn der Timer abgelaufen ist. Dieser Counter ist mit einer HMI Variable verknüpft, welche wiederum angibt welcher Parametersatz, also welche ID, als nächstes in die CPU geladen werden soll. Damit das ganze zyklisch abläuft, hab ich im Aufgabenplaner dazu einen Task erstellt...

Hoffe ich konnte das einigermaßen erklären, falls jemand mal das gleiche braucht hilft es ja vielleicht :)

Jetzt kommt aber leider die nächste Frage auf - wir hätten gerne, dass jeder Benutzer seine ParametersatzTYPEN selbst benennen kann, hat dazu jemand eine Idee ob oder wie das gehen könnte?
 
Zurück
Oben