TIA Rezepturstruktur erstellen

felixwhl

Level-1
Beiträge
12
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich bin gerade dabei ein Programm für einen Hydraulikprüfstand zu erstellen, auf dem wir verschiedene Typen der Produkte testen/prüfen.
Dabei erstelle ich Prüfschritte bei denen natürlich verschiedene Schaltzustände der Variablen auftreten. Ich habe mir gedacht eine Rezeptur zu verwenden, bei der
meine Type die Rezeptur an sich ist, die Prüfschritte meine Datensätze und die Rezepturelemente die Ventile/Variablen.

Jedoch stoße ich dabei auf ein Problem, da ich die Rezeptur auf der HMI nicht wechseln kann und ich ja verschiedene Typen testen will, die ich z.B. per Dropdown auswählen kann.

Habt ihr da einen Lösungsvorschlag für mich? Vielleicht bin ich ja komplett auf dem falschem Weg? :confused:

Danke schon im Voraus!

TIA V15.1 Prof.
WinCC V15.1 Advanced
S7-1215
TP900 Comfort
 
Mit einer Rezeptur kann ich nicht helfen ich kann nur sagen wies ich mache.

Einen UDT mit allen Einstellungen/Parametern anlegen. Ein Array Grösse „Typenanzahl“ mit diesem UDT von 1 bis x anlegen. Über die aktuelle Typvorwahl (vom Leitechner oder HMI) kopiere ich den benötigten Datensatz in den „Arbeitspeicher“.

Werden über die HMI Daten verändert wird mittels eines Speicher-Buttons vom „Arbeitsspeicher“ in das Array zurückkopiert. Sind zwei Moveboxen...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du hast auf dem TP ein Element "Rezepturanzeige" und da unter Allgemein bei "Rezeptur" den Rezepturnamen eingetragen (den selben wie du unter "Rezepturen" in WinCC für dein Rezept vergeben hast) ?
Die Eigenschaften von der "Rezepturanzeige" sind nicht ganz irrelevant ...
Oder wo ist genau das Problem? Ein bisschen mehr Details bitte!
 
@TP-Inc deine Lösung wäre im Prinzip eine normale Rezeptur.
@Olli_BS ich möchte aber über das Panel Rezepturen hinzufügen, wie es im Prinzip bei Datensätzen möglich ist.

Es wäre somit am Panel die Type (Rezeptur) zu benennen und die Zustände der Variablen (Rezepturelemente) sind anzupassen, die Schritte(Datensätze) bleiben immer gleich.
Am Panel ist jedoch die Dropdown-Box für die Rezepturen ausgegraut und ich kann diese nicht auswählen.
 
Hab jetzt eine Lösung gefunden, bei der ich die Variablenzustände in Arrays und Structs speicher, ähnlich wie TP-inc beschrieben hat.
Jetzt stehe ich nur vor dem Problem, dass die DB der Variablenzustände wo gesichert werden muss, z.B. der Speicherkarte.
Wie funktioniert das Datalogging? Bekomm das irgendwie nicht hin. die DB besteht aus 10 Arrays die gesichert werden müssen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jetzt müssen wir reden.
ein REZEPT ist eine definierte Datenzusammenstellung, die aus vielen verschiedene Datensätze einen ausgewählten Zustand haben kann.
Diese Definition MUSS in WinCC erfolgen. Du kannst in einer Rezepturanzeige auch mehrere Rezepte verwalten (Allgemein >> Auswahlliste anzeigen).
Aber in einer Runtime ein Rezept neue erstellen würde ja heißen, das du die Variablen auch zu Runtimelaufzeit neu definieren müsstet.

Entweder muss Du für jeden Typ ein Rezept definieren oder ein Universal-Rezept erstellen, wo alle deine Typen mit zu abzudecken sind (1 Typ = 1 Datensatz).
Dann eben mehrere/alle Prüfschritte in EINEM Datensatz.

Rezepte sind nicht sooooo flexibel.
Mann muss auch berücksichtigen, das dann die Daten auf dem Panel gesichert sind.
Und meiner Erfahrung nach, sterben ehr 5-10 Panel, bis eine CPU stirbt...
Allerdings wird durch das DB-Datenhandling bei TIA die Wahrscheinlichkeit einea unbeabsichtigten Datenverlusts auch wieder größer...

Vielleicht doch selber in der SPS verwalten?
 
Bei mir ist die Auswahlliste der Rezepte am Panel ausgegraut, wenn ich das Häkchen "Auswahlliste anzeigen" reinmach.

Daher werde ich jetzt alles über DBs steuern, wobei nur ein Rezept vorhanden ist und die Datensätze meine Typen sind, da Datensätze am Panel erstellt/umbenannt werden können.
Und bei meiner Anwendung müssen Rezepte, bzw. die zu schaltenden Variablen (bei mir Magnetventile für jeden Schritt) am Panel zu verwalten sein.

Daher habe ich keine andere Wahl, als auf das sichern der DB am Server zurückzugreifen, außer du hast noch eine bessere Idee.
Nun stehe ich vor dem Problem, dass ich nicht weiß wie das Sichern eines ganzen DBs funktioniert. :confused:
 
Hallo,

ich entnehme deiner Problembeschreibung, dass die Prüfschritte (= Datensätze einer Rezeptur) flexibel für jeden Typ (= Rezeptur) auswählbar sein sollen, richtig?
Des Weiteren sehe ich, dass du weder Typen, noch Prüfschritte, noch die Parameter von Prüfschritten (und ich meine die Parameter selbst und nicht deren Werte) ZUR LAUFZEIT neu zusammenstellen willst, richtig?

Wenn ja:
Verwende EINE Rezeptur (enthält ALLE Parameter), jeder Datensatz ist ein Typ und beinhaltet alle möglichen Prüfschritte, und "steuere" den Prüfprozess bzw. führe den Bediener mittels selbst erstellter Rezeptbilder.


Gruß, Fred
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Fred,

du hast es erfasst, wenn ich aber eine Rezeptur verwende muss ich alle Parameter als Rezepturelemente anlegen und das wären bei 25 Schritten und 25 Parameter pro Schritt insgesamt 625 Rezepturelemente. Das sehe ich nicht sehr effizient. Kann ich Rezepturelemente nicht irgendwie gruppieren (wie eine struct)?
 
Hallo Felix (richtig?),

du hast nicht unrecht, zumal eine Rezeptur bei diesem Paneltyp (so weit ich mich erinnere, schaue ich gleich mal nach) nur 500 Variablen managen kann.

Trotzdem bist du nicht auf die Siemens-Rezepturanzeige festgelegt, alle Prozesse lassen sich über separate Systemfunktionen -in Scripten oder direkt an z.B. Schaltflächen projektiert- behandeln.
So kannst du beispielsweise Rezeptur- und Datensatzaufrufe nach eigenem Gusto kombinieren.


Gruß, Fred

Edit:
Muss mich korrigieren: es sind 500 Datensätze mit 1000 Elementen pro Rezeptur, wobei jedes Arrayelement als ein Rezepturelement zählt (Quelle: TIA V15 UPD4 - Hilfe - Systemgrenze)
 
Zuletzt bearbeitet:
Ja richtig ;)

ja ich hätte die Rezepturelemente in eigene Listen ausgelagert und dort die Werte der eigentlichen Rezepturelemente gespeichert.
Die Datensätze dienen mir nur noch zum Erstellen einer neuen Type des Produkts. In wiefern der Datenverlust bei der Sicherung eines DBs eine Rolle spielt, habe ich leider keine Erfahrung.

Schaltflächen hätte ich dann natürlich selber erstellt die mir die DBs speichern bzw. laden.

Mfg, Felix
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was verstehst du unter "eigene Listen"?

Du kannst doch den vollen Funktionsumfang der HMI-Rezepturen verwenden (inkl. Speicherthematik und ggf. sogar CSV-Export).
Nur brauchst du dazu NICHT das Control "Rezepturanzeige".


Gruß, Fred
 
Ich habe in einem DB ca. 10 Structs für die Typen der Produkte erstellt. Im Moment brauche ich nur 5, wenn aber mehr Typen geprüft werden, erstelle ich nur noch einen Datensatz am Panel, der die nächste Struct auswählt. In den Structs habe ich Arrays vom Typ "Rezept", welche meine Schritte bilden. Und in den Arrays sind die Rezepturelemnte.
Am Panel kann ich den Rezepturelementen für jeden Typ und Schritt Werte zuweisen.

Ich habe leider keine Ahnung wie ich an Skripts komme, die mir genau das liefern was ich brauche.
Eigentlich benötige ich "nur" eine Funktion, damit ich Rezepturen am Panel erstellen/verwalten kann.

Mfg, Felix
 
Zurück
Oben