Step 7 Hilfe bei Programmierung

S_Liner

Level-2
Beiträge
365
Reaktionspunkte
10
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen, ich sitze an einem Projekt, welches bis jetzt nur in Gedanken existiert, aber nächstes Jahr Stück für Stück in die Realität umgesetzt werden soll.

Zum Projekt:
Ich arbeite in der Glasindustrie, besser gesagt in einer Firma die Flaschen herstellt. Nun ist es so, dass die Flaschenformen alle 10 min per Hand geschmiert werden müssen. Die Formen befinden sich in Stationen, wovon wir 12 Stück haben. Pro Station machen wir 3 Flaschen auf einmal (was für die Programmierung aber egal ist). Für die Schmierung werden wir eine Mechanik bauen oder falls nötig kaufen. Nun bei der Programmierung komme ich dann ins Spiel.


Stand Programm:
Wenn ich mittels HMI die Generelle Automatik aktiviere, wird gleichzeitig die Automatik jeder einzelnen Station mit aktiviert. So muss ich nicht alle Stationen per Hand aktivieren, kann aber einzelne abschalten, im Falle einer Störung oder sonstiges. Wenn ich die Automatik nun aktiviere, fangen die Stationen von 1 nach 12 sich der Reihe nach abzuarbeiten. Das funktioniert einwandfrei. Für den Schmierablauf habe ich eine Taktkette (Grundstellung-->Einfahren-->runterfahren-->Schmieren-->hochfahren-->rausfahren-->Warten-->Anfordern) in einem FB geschrieben und rufe diesen für jede Station wieder auf. Jede Station hat dann natürlich seinen eigenen Instanz-DB. Beim ersten Start müssen alle Stationen in „Grundstellung“ stehen, wodurch dann ein Merker (1.Zyklus) gesetzt wird, den ich dann später Abfrage. Die Taktkette endet immer beim Schritt „Anfordern“. Haben alle Stationen die Grundstellung verlassen, setze ich den Merker (1.Zyklus) zurück und gehe dann über in die normalen Zyklen, wo die eingestellte Wartezeit dann auschlaggebend ist, um vom Schritt „Warten“ in den Schritt „Anfordern“ zu gehen. Noch ist es so, dass wenn die Stationsautomatik 1 ist und die dazugehörige Station fordert, startet die Taktkette erneut. Das funktioniert alles tadellos bis jetzt.

Meine Frage:
Auf Grund der Bauweise ist es nicht ganz egal wann welche Station schmiert. Station 1 ist am weitesten weg und Station 12 somit am nächsten. D.h. es wäre ungünstig, wenn Station 1 und 12 gleichzeitig schmieren würden. Kann mir jemand vielleicht mal einen Denkanstoß geben, sofern es möglich ist, wie ich sicherstellen kann das optimaler Weise nur 1 Station Schmiert und wenn mehrere Fordern, dann eine Reihenfolge von 1 zu 12 abgearbeitet wird. Es fordern zum Beispiel Station 6,2 und 9. Dann soll erst Station 2, dann 6 und zum Schluss die 9 geschmiert werden.


Hätte dazu vielleicht jemand eine Idee wie man das machen könnte?



Zur Hard- und Software:
Bis jetzt habe ich eine CPU 313C-2DP V3.3, Programmiere mit Step 7 V5.6 und das HMI mache ich mit TIAV15. Anstatt eines HMI’s simuliere ich es mit SPS-Visu.


Für Hilfe wäre ich sehr dankbar. Gruß


 
Vielleicht sehe ich es zu einfach, aber mals so als Idee:
Sobald die Schmerung einer Station gestartet ist, setzt du einen Sperrmerker.
Entweder im Schritt Einfahren oder in einem eigenem Schritt.
Dieser Sperrmerker ist Schmierstart aller Stationen verknüpft.
So kann nur eine Station gleichzeitig schmieren.
Der Reset des Sperrmerkers erfolgt im Schritt Warten.
Dieser Merker stellt also sicher, dass nur eine Station gleichzeitig Schmieren kann.
Die Reihenfolge ergibt sich durch die Aufruf-Reihenfolge der Bausteine.
Zusätzlich brauchst du noch einen weiteren Reset für den Fall, dass die Ketten abgebrochen werden.
Viellicht mit Grundstellungsfahrt, Betriebsartenwechsel, usw.

Gruß
Blockmove
 
Hallo S_Liner,

da Dein Problem nun gelöst ist, hast Du vielleicht einen Moment Zeit, meinem Unverständnis Deiner Aufgabe auf die Sprünge zu helfen.

- Was ist mit "Anfordern" gemeint?
Die Station meldet damit, dass eine geschmierte FlaschenForm ihre Wartezeit "abgesessen" hat und zur Abholung bereit steht UND dass sie gegen eine zu schmierende FlaschenForm ausgewechselt werden soll?
Wartet die Station nun im Schritt Anforderung bzw. Grundstellung, bis das passiert ist?

- Dass die eingestellte Wartezeit ausschlaggebend ist, verstehe ich so, dass die Form nach dem Schmieren eine bestimmte (Mindest-)Zeit ruhen muss, bevor die Form wieder "benutzt" werden kann/darf. Gibt es evtl. auch einen MaximalWert, der für die Wartezeit eingehalten werden sollte?

- Inwiefern ist die Entfernung der Station vom Punkt X relevant? Warum sollen ausgerechnet die Stationen mit den längsten Wegen bevorzugt bedient werden (die somit vermutlich am häufigsten zurückgelegt werden)?

Ohne die Hintergründe zu kennen, vermute ich, dass es ausser der von Dir genannten Wartezeit eine weitere Wartezeit gibt, nämlich die Zeit nach Ablauf "Deiner" Wartezeit bis zu dem ZeitPunkt, wenn der Anforderung Folge geleistet wird.
Diese Zeit wäre für mein Verständnis das Kriterium dafür, welche Anforderung als nächste bearbeitet werden sollte, um die SchmierVorgänge möglichst gleichmässig auf die Stationen zu verteilen.

Gruss, Heinileini
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Heinileini, klar mach ich das. :)

Was ist mit "Anfordern" gemeint?
Also mit "Anfordern" ist gemeint das nun die Wartezeit der Station abgelaufen ist, und sie nun das Schmieren Anfordert.

Die Station meldet damit, dass eine geschmierte FlaschenForm ihre Wartezeit "abgesessen" hat und zur Abholung bereit steht UND dass sie gegen eine zu schmierende FlaschenForm ausgewechselt werden soll?
Fast richtig, die Station meldet das die Wartezeit um ist und sie nun wieder geschmiert werden muss. Die Formen werden zwar auch ab und an gewechselt, das hat aber mit dem Programm bzw. dem Projekt nichts zutun.

Wartet die Station nun im Schritt Anforderung bzw. Grundstellung, bis das passiert ist?
Meine Taktkette besteht ja aus 7 Schritten. Der 7. Schritt ist "Anfordern". Die Grundstellung wird (bis jetzt) nur gesetzt, wenn die Automatik OFF ist, oder ein Stationsrest gemacht wird.

Dass die eingestellte Wartezeit ausschlaggebend ist, verstehe ich so, dass die Form nach dem Schmieren eine bestimmte (Mindest-)Zeit ruhen muss, bevor die Form wieder "benutzt" werden kann/darf.
Nein, die Form arbeitet die ganze Zeit weiter. Das Schmiermittel in der Form hält nur ca. 10 min. Dann stoppe ich die Station, schmiere die Form und starte die Station wieder.

Gibt es evtl. auch einen MaximalWert, der für die Wartezeit eingehalten werden sollte?
Nein, dies wird nicht nötig sein.

Inwiefern ist die Entfernung der Station vom Punkt X relevant? Warum sollen ausgerechnet die Stationen mit den längsten Wegen bevorzugt bedient werden (die somit vermutlich am häufigsten zurückgelegt werden)?
Da wir eine Flüssigkeit über ca. 10m länge Pumpen, die Pumpen aber keinen Konstanten Druck bzw. Fluss liefern (mehr Sinusartig), sollen wir darauf achten das die zu schmierenden Stationen nicht soweit auseinaderliegen. Wir hatten ein paar Firmen im Haus die uns dabei unterstützen und auch schon erfahrung damit haben. Von denen kam auch das wir das berücksichtigen sollen.

Ohne die Hintergründe zu kennen, vermute ich, dass es ausser der von Dir genannten Wartezeit eine weitere Wartezeit gibt, nämlich die Zeit nach Ablauf "Deiner" Wartezeit bis zu dem ZeitPunkt, wenn der Anforderung Folge geleistet wird.
Diese Zeit wäre für mein Verständnis das Kriterium dafür, welche Anforderung als nächste bearbeitet werden sollte, um die SchmierVorgänge möglichst gleichmässig auf die Stationen zu verteilen.
Nein, ich habe nur die Wartezeit. Die Reihenfolge und Priorität habe ich nun so wie Blockmove es oben geschrieben hat umgesetzt.


Abschließend muss ich nochmal erwähnen das es noch keine Mechanik oder sonstiges dazu gibt. Das Programm entsprang erstmal meinen ersten Gedankengängen. Sollte das nacher zu den ersten Test's kommen, werden sicherlich noch einige Änderungen auf mich zukommen.

Beste Grüße
 
@S_Liner

Du brauchst also den Sperrmerker nur für die Pumpe.
Wie lange ist die Pumpe pro Form beschäftigt?
Wenn das Verhältnis Produnktionsdauer, Formenanzahl und Schmierzeit ungünstig wird, kann es sein dass du noch ein FiFo für die Abarbeitung einbauen musst.
Bei einem günstigen Verhältnis stabilisiert sich das Ganze von alleine.
Da du ja die Abläufe kennst, kannst du dir ja mal im Vorfeld Gedanken machen.

Gruß
Blockmove
 
Hallo Blackmove

Du brauchst also den Sperrmerker nur für die Pumpe.
Nicht für die Pumpe, sondern der Sperrmerker unterdrückt die Freigabe für die Taktkette.

Wie lange ist die Pumpe pro Form beschäftigt?
Die Pumpe selbst muss nur den Druck im System halten. Beim Schritt "Schmieren" wird ein Magnetventil geöffnet, wodurch dann das Schmiermittel, mittels Düse und Druckluft, in die Form gsprüht wird. Wir werden sicherlich noch einen Druckspeicher mit einbauen damit sich das Problem dann hoffentlich von alleine löst. Die Schmierzeit beträgt in der Theorie ca. 2 Sek. Mit dem richtigen Druckspeicher und der richtigen Pumpe sollte es dann auch egal sein wenn die Anforderungen mal ungünstig sind.


Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Blackmove


Nicht für die Pumpe, sondern der Sperrmerker unterdrückt die Freigabe für die Taktkette.


Die Pumpe selbst muss nur den Druck im System halten. Beim Schritt "Schmieren" wird ein Magnetventil geöffnet, wodurch dann das Schmiermittel, mittels Düse und Druckluft, in die Form gsprüht wird. Wir werden sicherlich noch einen Druckspeicher mit einbauen damit sich das Problem dann hoffentlich von alleine löst. Die Schmierzeit beträgt in der Theorie ca. 2 Sek. Mit dem richtigen Druckspeicher und der richtigen Pumpe sollte es dann auch egal sein wenn die Anforderungen mal ungünstig sind.

Bei 2s ist das sicherlich kein Thema.
Wir haben ähnliche Sprüheinheiten.
 
Besten Dank für die Mühen, S_Liner!
Jetzt habe ich schon eine ganz andere Vorstellung von der Anlage. Warum auch immer hatte ich mir vorgestellt, dass die Formen zum Schmieren zu den Stationen gefahren und danach wieder in die Produktion eingeschleust werden müssen.
Wichtig ist also, zu verhindern, dass mehrere Stationen gleichzeitig schmieren, weil die gemeinsame Pumpe dann den Druck und die FörderMenge nicht aufrecht erhalten könnte.
Der DruckSpeicher sollte es wohl problemlos schaffen, das Pulsieren der Pumpe auszubügeln.

Gruss, Heinileini
 
Zurück
Oben