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

Ergebnis 1 bis 10 von 10

Thema: Ablauf eines FB´s inaktiv schalten

  1. #1
    Registriert seit
    29.04.2015
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich würde gerne drei Schrittketten, jeweils mit Anwahlschaltern auswählen können und NUR diese ablaufen lassen.
    Dazu dachte ich mir, ich mache für jede Schrittkette einen eigenen FB und rufe die FB´s dann im OB auf. Ich dachte, es sei möglich die einzelnen FB`s im OB nur aufzurufen, wenn z.B. nur wenn I0.0 = 1 --> FB01 aufrufen, I0.1 = 1 -->FB02 aufrufen & I0.2 = 1 --> FB03 aufrufen.
    Dies funktioniert auch soweit, nur, dass wenn jetzt z.B. I0.0 = 0 wird der FB01 weiterhin ausgeführt wird.

    Jetzt möchte ich jedoch gerne, wenn I0.0 = 0 keine Aktion mehr in dem FB01 ausgeführt wird. Also auch fals ein Merker(Timer,...) im FB01 gesetzt wurde, dieser wieder Rückgesetzt wird.

    Daher meine Frage, ist das so i-wie möglich wie ich mir das gedacht habe? Oder wie programmiert man sowas sonst?

    MfG, cantax
    Zitieren Zitieren Ablauf eines FB´s inaktiv schalten  

  2. #2
    Registriert seit
    03.02.2015
    Ort
    Hatten
    Beiträge
    183
    Danke
    16
    Erhielt 32 Danke für 29 Beiträge

    Standard

    Hallo Cantax,

    wie hast Du das denn jetzt gelöst?
    Über den EN-Eingang schaltest Du den Baustein komplett ab.
    Um das Rücksetzen bestimmter Elemente mußt Du Dich selbst kümmern, da S7 ja nicht weiß, was Du zurücksetzen willst (ob überhaupt).

    Gruß
    JS

  3. #3
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    Zitat Zitat von cantax Beitrag anzeigen
    Dies funktioniert auch soweit, nur, dass wenn jetzt z.B. I0.0 = 0 wird der FB01 weiterhin ausgeführt wird.
    Dazu müsste man Deinen Code sehen.
    Zitat Zitat von cantax Beitrag anzeigen
    Jetzt möchte ich jedoch gerne, wenn I0.0 = 0 keine Aktion mehr in dem FB01 ausgeführt wird.
    Wenn der Baustein niocht ausgeführt wird, ist genau das der Fall.
    Zitat Zitat von cantax Beitrag anzeigen
    Also auch fals ein Merker(Timer,...) im FB01 gesetzt wurde, dieser wieder Rückgesetzt wird.
    DAs ist etwas VÖLLIG anderes! Wenn der Basutein nicht bearbeitet wird, bleibt alles so, wie es es am Ende des letzten Durchlaufs war, die Zustände der Variablen ändern sich dadurch nicht.
    Zitat Zitat von cantax Beitrag anzeigen
    Daher meine Frage, ist das so i-wie möglich wie ich mir das gedacht habe?
    Bedingt.
    Zitat Zitat von cantax Beitrag anzeigen
    Oder wie programmiert man sowas sonst?
    Du musst Deine Variablen an einer anderen Stelle separat initialisieren, aber prinzipiell ist das ein umständlicher Weg.

    Vielleicht kann Dir geholfen werden, wenn Du die Aufgabenstellung und das Problem etwas genauer beschreibst.
    Gruß
    Michael

  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Ich würde prinzipiell die Umwahl nur dann zulassen, wenn die Maschine in Grundstellung steht und alle 3 Schrittketten nicht arbeiten, bzw. in ihren Initialschritt stehen.
    Denn was passiert, denn, wenn der Bediener mitten in der Abarbeitung der Schrittkette umschaltet?
    Dann stehen bestimmte Aktoren z.Bsp. schon in Arbeitsstellung, die evtl. mit den Bedingungen der anderen Schrittkette gar nicht übereinstimmen.
    Auch ein Reset der Schrittkettte beim Umschalten kann da zu ungewollten Ergebnissen und Kollisionen führen, wenn man nicht ein ordentlich geführtes Reset der Maschine Durchführen will/kann.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. #5
    cantax ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.04.2015
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen dank für die Antworten!

    Also ich muss für verschiedene Klebevorrichtungen die Zylinderfahrten + Sicherheitsschalterverriegelung programmieren. Momentan habe ich drei verschiedenen Klebevorrichtungen, die sich in Zylinderanzahl, Spanner Ja/Nein und Sicherheitschalter (mit Relaisverriegelung und ohne) unterschieden. Es werden hoch warscheinlich noch weitere folgen und ich würde daher gerne nicht mehr viel an dem Programm abändern müssen, um eine neue Schrittkette hinzuzufügen.

    Eine Zyklus sieht wie folgt aus:
    (ich muss mit Zeiten programmieren, da hier keine Endschalter für die Zylinderendlagen verbaut werden; die Zylinder sind mit Federrückgestellten Ventilen angesteuert)


    - Schutzabdeckung wird geschlossen --> Sicherheitsschalter ist eingerastet (I0.0) --> Sicherheitsschalter wird verriegelt (Q1.4) --> Sicherheitsschalter ist verriegelt (I0.1)

    --> Pneumatikspanner fährt in Arbeitsstellung (1,5s), da angekommen

    --> Zylinder 1&2 fahren in Arbeitsstellung (1,5s), da angekommen --> Zylinder 3&4 fahren in Arbeitsstellung (1,5s), da angekommen --> Zylinder 5&6 fahren in Arbeitsstellung (1,5s)

    - sobald die Zylinderpaare ihre Arbeitsstellung nach 1,5s erreicht haben, verweilen sie 45s in Arbeitsstellung und fahren anschließend wieder in Grundstellung (1,5s)

    - wird die Grundstellung von dem letzten Zylinderpaar (5&6) erreicht

    --> Sicherheitsschalter wird entriegelt (Q1.4 = 0) --> Kontakt fällt ab (I0.1) --> Schutzabdeckung kann geöffnet werden --> ist offen, I0.0 fällt ab --> Grundstellung erreicht.



    Zitat Zitat von M-Ott Beitrag anzeigen
    Wenn der Baustein niocht ausgeführt wird, ist genau das der Fall.
    Was heißt eigentlich genau, nicht ausgeführt wird? Alle Merker, Timer,... auf "0"? Dürfen in diesem Baustein noch Eingänge anliegen?

    Zitat Zitat von Ralle Beitrag anzeigen
    Ich würde prinzipiell die Umwahl nur dann zulassen, wenn die Maschine in Grundstellung steht
    Ja, das macht Sinn und steht mir auch nicht im Weg. Die Grundstellung währe dann mein Sicherheitsschalter (I0.0) ist nicht geschlossen & nicht verriegelt (I0.1) und es ist kein Ausgang gesetzt.

    Hier habe ich noch eine Schritkette für das oben beschriebene hochgeladen (http://www.docdroid.net/yu1k/fb03.pdf.html)
    Geändert von cantax (29.04.2015 um 17:18 Uhr)

  6. #6
    cantax ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.04.2015
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hier noch die Schrittkette zum oben beschriebenen http://www.docdroid.net/yu1k/fb03.pdf.html

  7. #7
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.620
    Danke
    777
    Erhielt 647 Danke für 493 Beiträge

    Standard

    Zitat Zitat von cantax Beitrag anzeigen
    Jetzt möchte ich jedoch gerne, wenn I0.0 = 0 keine Aktion mehr in dem FB01 ausgeführt wird. Also auch fals ein Merker(Timer,...) im FB01 gesetzt wurde, dieser wieder Rückgesetzt wird.
    Etwas zurücksetzen. IST eine Aktion. Wenn der FB01 also nicht mehr ausgeführt wird kann dieser auch keine Aktion wie Rücksetzen mehr durchführen (Ausserdem ist es unschön IEC Timer und auch andere Instanzierte Bausteine einfach abzuklemmen)

    Daher meine Frage, ist das so i-wie möglich wie ich mir das gedacht habe? Oder wie programmiert man sowas sonst?
    Das kommt drauf an was du überhaupt machen willst. Ich für mich fände bei solchen Umschaltereien die komplette Programmteile abklemmen schöner wenn Funktionen wie Timer in eine eigene nicht davon beinflusste Instanz umgezogen werden.
    Wenn du einen Baustein abklemmst sollte z.B. ein Anderer Baustein stattdessen aufgerufen werden welcher Sämtliche Peripherie des anderen Bausteins in einen Kontrollierten Zustand überführt. Sei dies nun durch zurücksetzen von Ausgängen oder indem er das vorhergehende Programm in seinem Sinne weiterführt.

    mfG René

  8. #8
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    Zitat Zitat von cantax Beitrag anzeigen
    Was heißt eigentlich genau, nicht ausgeführt wird? Alle Merker, Timer,... auf "0"? Dürfen in diesem Baustein noch Eingänge anliegen?
    Der Baustein wird nicht ausgeführt, wenn in KOP/FUP der EN FALSE ist oder der Aufruf (in jeder beliebigen Sprache) in irgendeiner Weise übersprungen wird. Wird der Aufruf übersprungen, so wird darin nichts mehr bearbeitet. Alle Zuweisungen behalten den Zustand des letzten ausgeführten Bausteinaufrufs, solange bis der Aufruf wieder aktiv wird oder die entsprechenden Bereiche an einer anderen Stelle zugewiesen werden.

    Kannst Du vielleicht kurz erklären, wieso Du Bausteine inaktiv schalten möchtest, ich kann dafür nämlich anhand Deiner Aufgabenstellung keine Notwendigkeit erkennen?
    Gruß
    Michael

  9. #9
    Registriert seit
    09.01.2012
    Beiträge
    466
    Danke
    25
    Erhielt 38 Danke für 35 Beiträge

    Standard

    Ich löse die immer so dass ich einen eigenen Enable Eingang mache. zuoberst im Baustein kannst du diesen abfragen, und wenn er nicht True ist irgendwelche Aktionen (Reset von timern, Merker, usw) vornehmen.

    Am Ende gehst du mit einem Return aus dem Baustein und fertig.

  10. #10
    cantax ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.04.2015
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Nochmal vielen Dank für die ganzen Antworten, hat mir sehr geholfen! =)

    Zitat Zitat von RogerSchw85 Beitrag anzeigen
    Am Ende gehst du mit einem Return aus dem Baustein und fertig.
    Danke, ich wusste gar nicht, dass es sowas gibt (da gibts noch viel zu lernen ), aber perfekt, jetzt funktioniert es. Vielen Dank =)

Ähnliche Themen

  1. WinCC Flexible 2008 - Symbole sind inaktiv
    Von Harry_99 im Forum HMI
    Antworten: 17
    Letzter Beitrag: 03.03.2014, 15:08
  2. Antworten: 3
    Letzter Beitrag: 24.10.2013, 15:30
  3. Step7 Software inaktiv-aktiv schalten ?
    Von Waelder im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 10.04.2013, 13:00
  4. Antworten: 8
    Letzter Beitrag: 11.08.2011, 21:16
  5. defekte licence-keys inaktiv schalten
    Von modjo im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 05.11.2007, 14:49

Lesezeichen

Berechtigungen

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