Übergornete Rezeptur?

Carsten77

Level-1
Beiträge
78
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen!
Ich bin Anfänger was HMI und SPS an geht.
Nun möchte ich eine Maschine automatisieren. Manuell funktioniert auch schon alles. nun geht es an eine Automatik die die Bediener selbst zusammenstellen können sollen.
Das heisst:
Ich habe rund 10 Variablen, die der Bediener aktivieren und deren Menge oder Häufigkeit angeben kann. Das habe ich schon mal per Rezeptur gemacht. So kann der Bediener eine "Maschinenrunde" beschreiben. Ich würde mir nun eine funktion wünschen, bei der der Bediener 10 verschiedene Runden (Rezepturen) beschreiben kann und diese dann beliebig oft wiederholen kann. Zum Beispiel in einer übergeordneten Rezeptur festlegen Rezeptur1 (Runde 1) 4x, Rezeptur2 (Runde2) 2x usw...
Und jetzt der Knüller, dies alles unter eigenem Namen abspeichern kann. Also den Ablauf und die Daten in den unter geordneten Rezepturen, so dass er die Automatik jeder Zeit wiederholen kann.
Geht so was überhaupt oder muss ich das ganz anders lösen?
Danke jetzt schon für die hilfreichen Tipps..
Grüße Carsten
 
Das geht bestimmt ... nur hat augenscheinlich keiner dazu etwas in der Schublade liegen ...
Ich würde für so etwas aber grundsätzlich eine Runtime heranziehen und mir dann meine selbst erstellten Datensätze auf Festplatte hinterlegen.
Ich weiß nicht, ob ein Mobile-Panel dafür die richtige Wahl ist ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
also die Rezepturverwaltung am MP270 (welches mittlerweile gestrichen ist :rolleyes:) ist normal ausgeprägt, wie man hier nachlesen kann... also es sollte mit ein paar Datenschubsereien und entsprechenden Datenbausteinen möglich sein ... ich sehe das Problem also weniger im MP, welches mit WinCCflex ja einiges an Möglichkeit zur Verfügung stellt, so hat das MP Rezepturverwaltung, Script, Datenmanagment auf unterschiedlichen Datenträger z.B. auch Netzlaufwerken und diverse andere Spielereien, die es auszunutzen gilt, eher in der VIPA :rolleyes: ... aber jetzt so ins blaue hinein zu sagen: "Mach das so, so und so!"? Nee, da erinner ich mich gern an einen bald Ex-Kollegen der immer zu sagen pflegt "Ich sag nich so oder so, am Ende kommt einer und sagt ich hätte so oder so gesagt!" ... also stell mal einen oder mehrer Lösungsvorschläge zur Diskussion, der Rest sollte sich aus der Diskussion ergeben.

[edit] MP170 soll es sein, aber irgendwie...naja...s.u.[/edit]
 
Zuletzt bearbeitet:
aber das Dokument ist trotzdem vom 270... versteh einer diesen Siemens-Beitrag :confused:

[edit] komische siemens-dokumentationswelt ... bei mir kommt da heut nur kokolores bei raus[/edit]
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
... ich sehe das Problem also weniger im MP, welches mit WinCCflex ja einiges an Möglichkeit zur Verfügung stellt, so hat das MP Rezepturverwaltung, Script, Datenmanagment auf unterschiedlichen Datenträger z.B. auch Netzlaufwerken und diverse andere Spielereien,
Kann das MP170 wirklich Scripte verarbeiten. Ich müsste auch nachlesen aber ich meine nicht
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke schon mal für die ein oder andere Mühe.

Lösungsansatz von mir:
Man kann 10 verschiedenen Runden definieren. = 10 Rezepturen
In einer 11. Rezeptur legt man per Merker fest wie oft jede der 10 Runden wiederholt werden oder eben auch nicht. 0 = diese Definition auslassen z.b. 3 = diese Runde 3x wiederholen.
Nachteil bei dieser Lösung, ich hab keine Ahnung wie man dann diese Version der Automatik speichern kann. Man kann zwar jede Rezeptur für sich speichern, aber nicht alles auf einmal unter einem Namen oder Datum.
Hat da jemand eine Idee oder eine Lösung?
Wie gesagt, ich bin Anfänger und kann deshalb nicht auf innerhalb einer oder zwei Wochen zig Lösungsansätze für alles finden da ich leider auch nicht pausenlos daran arbeiten kann.

Lösungsansatz 2:
Man schreibt keine Rezeptur, sondern Datenbausteine, die man direkt per Eingabe am Panel (E/A-Felder) verändert und die in der CPU liegen.
Ich mein glaube leider nur zu wissen, dass man irgendwie Datensätze von Datenbausteinen per SCL auslesen und abspeichern kann. Wie und ob das geht weiß ich leider auch nicht.
Ich könnte mir das so vorstellen, einen Datenbaustein mit den sagen wir 10 Variablen x 10 Runden = 100 Variablen + je Runde eine Variable ob und wie oft einen Runde wiederholt wird. Sagen wir also 110 Variablen.
Beim "speichern" den Datensatz auslesen und unter gewähltem Namen oder Datum ablegen. Nur wie und wohin?

Könnte das so funktionieren wenn man Rezepturen mal vernachlässigt?

Trotzdem würde mich mal interessieren, ob man sowas nicht doch recht "einfach" per Rezeptur lösen kann. Also wenn jemand einen Idee hat?
 
Die Rezeptur erscheint mir für dieses Vorhaben nicht die richtige Lösung zu sein. Ich würde mich da auch an DB's orientieren, die ich variabel von der Visu aus beschreibe. An diesem Punkt fehlen deinem System aber die Möglichkeiten. Hierfür würde ich die VB-Script-Fähigkeiten der Runtime und deren Abspeicher-Fähigkeiten nutzen.

Wenn du für das Daten hin- und herschaufeln in der SPS SCL einsetzen kannst / willst ist das für weitere Dinge sicher hilfreich ...

Gruß
LL
 


Trotzdem würde mich mal interessieren, ob man sowas nicht doch recht "einfach" per Rezeptur lösen kann. Also wenn jemand einen Idee hat?
Das Problem sind die bei dir eingesetzten Komponenten (HMI, SPS usw.)
Für andere Panels, SCADA usw. gibt es Rezepturverwaltungen mit Auftragssteuerung. In deinem Fall wird dir nichts anderes übrig bleiben, als selbst etwas zu programmieren. Die Idee mit den Datenbausteinen geht schon in die richtige Richtung. Siehe auch Beitrag von LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein Lösungsansatz könnte folgendes sein.
Du legst 2 Rezepte an.
Ein Rezept mit deinen 10 Variablen
Code:
Rezept 1:
Nummer
Wert_01
Wert_02
..
Wert_10
dafür legst du 11 Variablen und einen DB an. Der DB enthält dann n-mal die Struktur deines Rezeptes. Abhängig von der Rezeptnummer schreibst du die Werte aus den Variablen an die richtige Stelle im DB.

Ein 2. Rezept legt nun die Anzahl der Runden fest.
Code:
Rezept 2:
Name
Rezept_Runde_01
Anzahl_Runde_01
Rezept_Runde_02
Anzahl_Runde_02
..
Rezept_Runde_n
Anzahl_Runde_n
Hier legst du soviele Werte an, wie du Runden fahren willst.
Für jede Rezeptvariable brauchst du dann wieder jeweils eine Variable (also 2*n+1) in der SPS.

Damit kannst du mit deinem 1. Rezept deine Maschinenvariablen ändern.
Im 2. Rezept kannst du dann verschiedene Runden anlegen und sie unter einem Namen speichern.
Damit kannst du dann mit deinem 2. Rezept die Maschine starten. Du liest dann erst die Werte von Rezept_Runde_01 und Anzahl_Runde_01 aus. Abhängig vom Wert in Rezept_Runde_01 liest du deine Werte aus dem Datenbaustein für das Rezept 1 usw.

Ich hoffe das Prinzip ist klar und ich hoffe das ich dich richtig verstanden habe:ROFLMAO:
 
Danke für den Ansatz, den habe ich mir nun auch überlegt. Einen Datenbaustein, die die Rezepte schreiben. Hab dann wie du schreibst über den zweiten die Möglichkeit die Rundenanzahl und die Rezepturnummer zu wählen. Vielleicht sogar die Reihenfolge der Rezepturnummern ändern.
Ist im Prinzip fast die Lösung, nur alle Rezepturen sprich die Daten im DB + die Rezeptur 2 in einem Schritt unter einem Usernamen+Datum zu speichern und sie so auch wieder aufrufen zu können geht wenn ich das Prinzip richtig verstanden habe nicht. Oder?

Ich habe mir nun gedacht, warum schreibe ich nicht einfach alle Variablen(beschreiben wir mal eine Runde als Sequenz, die man beliebig oft und die Sequenzen in beliebiger Reihenfolge für die Automatik festlegen könnte) zu sagen wir 10 verschiedenen Sequenzen in einen Rezeptur, die in einen DB auf der CPU schreiben kann. Inklusive der Variablen, Wiederholungsanzahl / Sequenz, Reihenfolge bzw. Startnummer der Sequenz.

Nun stellt sich für mich schnell die Frage, 10 Seqenzen x 12 Variablen von denen die Hälfte Wörter oder Doppelwörter sind, passt das in eine Rezeptur bzw. wieviel kann ich in den auf der CPU liegenden DB schreiben?

Wenn das nämlich geht, dann wäre ich alle Sorgen los und hätte die Lösung..
 
Also ich hab mal nachgeschaut, die 200er Reihe von VIPA wird wie eine 315er CPU von Siemens konfiguriert und deshalb gilt für diese wie bei der Siemens CPU 16kB für einen DB.

Nur falls das jemand mal wissen muss.

Also um noch mal Rückmeldung zu geben.
Ich werde nun mal versuchen, alle Variablen einfach in eine Rezeptur zu schreiben. Und die mit dem dazu gehörigen DB auf der CPU verbinden, dann müsste ich die eine Rezeptur ja auf eine CF-Card im Panel speichern können und mein Problemn wäre gelöst. Den Rest muss ich dann eben per SCL auf der CPU lösen.

Denkt ihr das geht so?
Danke und Grüße
Carsten
 
Zurück
Oben