Laufzeiten erstellen

shainax

Level-1
Beiträge
38
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

Ich bin recht neu hier und habe sofort ein Anliegen.

Programmierung in S7 (FUP)

Ich muss einen Trockner Programmieren der mehrere Pufferplätze hat. Später muss ich wissen, was für ein Teil
(4 verschiedene Möglichkeiten) rauskommt um dieses auf die richtige Ablage (3 Möglichkeiten) zu befördern!
Es muss eine variable Verweilzeit über die Visu eingestellt werden können.

Bisher habe ich es geschaft die Teile geordnet aufzunehmen, und ich weis auch wo welches Teil sich befindet.
Mit ATT und FIFO lässt sich das ganze gut regeln.
Die Zeit übergebe ich indem ich ein DBW in ein EW transferiere und an ein EA Feld in der VISU übergebe. Lineare anpassung und die Zeit sitzt. EW an Timer wird auch alles bestens ausgeführt.

Mein Problem ist die variable Zeit. Wie Schaffe ich es einem Teil eine Zeit mitzugeben, damit dieses nach ablauf der Zeit den Trockner verlässt?


Problem bei der Sache ist: es können sich zwei Teile im Trockner befinden aber auch 8 Teile und jedes Teil muss einen eigenen Timer haben. Möglich ist noch, dass zwischen diesen Verweilzeiten sich ein Teil befindet das keine Verweilzeit hat und wenn ganz vorne angekommen sofort den Trockner velässt.
Die Timer müssen quasi auch unterscheiden welches Bauteil gerade abgezählt wird. sind zwei Teile im Ofen laufen T1 und T2. Läuft T1 ab fährt ein teil raus, T1 wird rückgesetzt und bekommt die Zeit von T2 übergeben und zählt diese runter. T2 wird natürlich auch rückgesetzt.

Ich habe mir bisher 8 Timer(max 8 Teile) erstellt. Ich starte jeden Timer mit einem Vergleich. Ist ein Teil im Ofen >=1 startet Timer 1, >=2 T1 u.T2, >=3 T1,T2,T3... usw bis T8 also bei 8 Teilen Laufen alle 8Timer. Läuft der erste ab, fährt das Teil raus und der T1 wird resetet. Das neue Teil startet T1.

Gibt es eine leichtere Methode Zeiten zu zählen? Etws kompakter? es ist halt sehr viel Aufwand!
Für einen kleinen Tipp bezüglich der Zeit wäre ich sehr dankbar
 
ein kleiner tipp: taktmerker, positive flanke und inkrement ... den rest machste schon...

...aufn EW ... koppschüddel ...

naja, wie gesagt, du machst das schon
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Erstmal solltest du nicht etwas in ein EW schreiben.. dafür nutzt man ein MW oder benutzt die Variable aus dem DB direkt in der Visu.

Mit den Teilen.. das hört sich nach Schulaufgabe an, aber wenn ich soetwas in der Praxis machen würde, dann sollte man immer bedenken das es zu 80% nie bei 8 Teilen bleibt. Sprich ruhig etwas größer denken.

Ich würde spontan in den FIFO Puffer eine Ausgangzeit pro Teil mit eintragen. Über eine Schleife würde die Zeit mit der aktuellen Zeit vergleichen und dann entscheiden ob das Teil weiter im Trockner bleibt oder ob es "raus" muss.
Dafür kann man die TIME bausteine nutzen, oder man "bastelt" sich selber einen Timer z.B. über einen 1sek Interrupt in dem ein MW hochgezählt wird.

*edit*
Den FIFO Puffer kannste natürlich auch in die Tonne kloppen, denn es wird ja von der Zeit festgelegt wann das Teil den Puffer wieder "verlässt", also nix mit first in first out.
 
Zuletzt bearbeitet:
danke euch,
ich lege das EW (wie gesagt neuling, werde MW verwenden)auf den Timer und in der Visu greife ich auf den DBW zu. Vllt etwas flasch beschrieben.
Es ist keine Schulaufgabe (leider:ROFLMAO:).
Das Fifo habe ich bewusst auf diese größe gelegt, weil es wie gesagt max 8 Teile sein werden nicht mehr.
ich Vergelich z.Z Fifo Eingang und starte die Timer, setze diese nach Ablauf und Ini=1 zurück. Genauso starte ich die Timer, wenn ein teil kommt( zur selben Zeit kann es nur kommen oder gehen) indem ich Vergleiche >= mache d.h. die Timer sind unabhängig von einander und der erste der Abläuft wird zuerst abgearbeitet.
Wollte halt wissen ob es irgendwie leichter geht und ich nicht soviele Timer verwenden muss.
 
Zuletzt bearbeitet:
Du kannst es z.B. so machen, dass jedes Teil ein DW (istwert) hat, welches jede sekunde um eins inkrementiert wird. In einem zweiten DW stellt der "sollwert" also die Verweildauer im Trockner.
Dann vergleichst du die beiden so lange bis Sollwert >= Istwert. Dann Teil raus und Soll und Istwert auf 0.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du kannst es z.B. so machen, dass jedes Teil ein DW (istwert) hat, welches jede sekunde um eins inkrementiert wird. In einem zweiten DW stellt der "sollwert" also die Verweildauer im Trockner.
Dann vergleichst du die beiden so lange bis Sollwert >= Istwert. Dann Teil raus und Soll und Istwert auf 0.

Das mache ich ja genauso mit einem Timer im Moment. wenn ich ein DW jede sec inkrementiere muss ebenso wieder 8 Timer verwenden. Ich lass jetzt eine zeit ablaufen die ich über (jetzt MW) die Visu einstelle.
 
Benutze keinen fertigen Timer sondern einen Zähler, der z. B. der im Sekundenintervall zählbar ist.

Alternativ kannst Du auch den SFC64 (TIME_TCK) nutzen und vergleichen oder was Du sonst damit anstellen möchtest. Der inkementiert automatisch im 1ms-Takt.
 
hallo zusammen !

ein kleiner tipp: taktmerker, positive flanke und inkrement ... den rest machste schon...

...aufn EW ... koppschüddel ...

naja, wie gesagt, du machst das schon

Normales Inkrement oder das "getriggerte Prioritäteninkrement"? *ROFL*

@4L
hey, hier ist aber meine Ironie insbesondere ausgewiesen !;)

Denke, das hat den Te mehr verschreckt als weitergeholfen :cool:

Nich daste mir wieder sauer wirst :ROFLMAO:

Gruss
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo zusammen !



Normales Inkrement oder das "getriggerte Prioritäteninkrement"? *ROFL*

@4L
hey, hier ist aber meine Ironie insbesondere ausgewiesen !;)

Denke, das hat den Te mehr verschreckt als weitergeholfen :cool:

Nich daste mir wieder sauer wirst :ROFLMAO:

Gruss

der anwendungsfall des getriggerten prioritäteteninkrement sollte mittlerweile klar sein und hat nichts mit der aufgabenstellung zu tun bzw. hätte ich es gesondert ausgewiesen wenn es sich um ein solches gehandlt hätte.

verschreckt hat es sicher nicht, denn deltal hat den selben vorschlag, nur mit mehr worten gemacht und der wurde akzeptiert. mir schwant du leidest unter verfolgungswahn...
 
Zurück
Oben