Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 10 von 10

Thema: Laufzeiten erstellen

  1. #1
    Registriert seit
    18.07.2011
    Beiträge
    38
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Standard


    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
    Zitieren Zitieren Laufzeiten erstellen  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

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

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

    naja, wie gesagt, du machst das schon
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    shainax (22.07.2011)

  4. #3
    Registriert seit
    21.07.2008
    Beiträge
    1.066
    Danke
    51
    Erhielt 140 Danke für 136 Beiträge

    Standard

    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.
    Geändert von Deltal (21.07.2011 um 14:07 Uhr)

  5. Folgender Benutzer sagt Danke zu Deltal für den nützlichen Beitrag:

    shainax (22.07.2011)

  6. #4
    Registriert seit
    18.07.2011
    Beiträge
    38
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Standard

    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).
    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.
    Geändert von shainax (21.07.2011 um 14:09 Uhr)

  7. #5
    Registriert seit
    21.07.2008
    Beiträge
    1.066
    Danke
    51
    Erhielt 140 Danke für 136 Beiträge

    Standard

    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.

  8. Folgender Benutzer sagt Danke zu Deltal für den nützlichen Beitrag:

    shainax (22.07.2011)

  9. #6
    Registriert seit
    18.07.2011
    Beiträge
    38
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von Deltal Beitrag anzeigen
    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.

  10. #7
    Registriert seit
    17.05.2010
    Ort
    Paderborn
    Beiträge
    824
    Danke
    84
    Erhielt 125 Danke für 94 Beiträge

    Standard

    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.
    Grüße
    Michael

    1001101110110100... Das ist meine Welt

  11. Folgender Benutzer sagt Danke zu MCerv für den nützlichen Beitrag:

    shainax (22.07.2011)

  12. #8
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    hallo zusammen !

    Zitat Zitat von vierlagig Beitrag anzeigen
    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"?

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

    Denke, das hat den Te mehr verschreckt als weitergeholfen

    Nich daste mir wieder sauer wirst

    Gruss
    kind regards
    SoftMachine

  13. Folgender Benutzer sagt Danke zu SoftMachine für den nützlichen Beitrag:

    shainax (22.07.2011)

  14. #9
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von SoftMachine Beitrag anzeigen
    hallo zusammen !



    Normales Inkrement oder das "getriggerte Prioritäteninkrement"?

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

    Denke, das hat den Te mehr verschreckt als weitergeholfen

    Nich daste mir wieder sauer wirst

    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...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  15. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    shainax (22.07.2011)

  16. #10
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Humor == staubtrocken

    zum Lachen gehste wohl auch noch in den Keller ??

    Mach´s gut <NoSmily>
    kind regards
    SoftMachine

Ähnliche Themen

  1. LDB erstellen
    Von Servernexus im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 07.02.2012, 19:19
  2. Open Communication Wizard Laufzeiten der Verbindung
    Von Klärmolch im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 13.01.2011, 12:33
  3. UDT in SCL erstellen
    Von Felse im Forum Simatic
    Antworten: 33
    Letzter Beitrag: 11.09.2009, 09:39
  4. FB/FC erstellen
    Von Black Scorpion im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 02.05.2008, 18:24
  5. FB erstellen?
    Von ottopaul im Forum Simatic
    Antworten: 39
    Letzter Beitrag: 29.03.2008, 13:25

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •