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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 21

Thema: Interrupt durch Task

  1. #1
    Registriert seit
    06.07.2016
    Beiträge
    26
    Danke
    17
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Ich hab versucht mittels Task (in Taskkonfiguration) einen Interrupt zu realisieren:

    rewrwe.jpg

    Ich hab einen Task namens "Interrupt" angelegt und hab ihn als Typ "Status" sowie Priorität = 0 (höchste) gegeben, so müsste doch bei dem Ereignis auftritt E3_2 = True (E3_2 ist ein Schalter) das Programm im PLC_PRG stoppen und die POU Interrupt aufrufen. Nur leider passiert rein garnichts bei Betätigung des Schalters, das Programm PLC_PRG läuft einfach weiter. :/
    Geändert von Trafel (25.08.2016 um 13:35 Uhr)
    Zitieren Zitieren AS-Aktion zurücksetzen oder bei Init starten lassen  

  2. #2
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.394
    Danke
    222
    Erhielt 226 Danke für 208 Beiträge

    Standard

    Wenn die Interruptroutine abgelaufen ist, läuft die normale Taskbearbeitung weiter. Je nachdem was die POU Interrupt macht, siehst Du davon nix.

  3. Folgender Benutzer sagt Danke zu weißnix_ für den nützlichen Beitrag:

    Trafel (15.08.2016)

  4. #3
    Trafel ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.07.2016
    Beiträge
    26
    Danke
    17
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Wie kann ich denn die normale Taskbearbeitung beenden wenn die E3_2 betätigt wird?

    Ich hatte in der Interrupt POU als letzten Schritt den Verweis auf den PLC_PRG Initialschritt gesetzt, weil ich vorrausgesetzt habe das PLC_PRG abgebrochen wird.

  5. #4
    Trafel ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.07.2016
    Beiträge
    26
    Danke
    17
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Niemand eine Idee? :/

    Wollte es eigentlich mit einer ausgelagerten Aktion versuchen, das Problem ist nur, das PLC_PRG nicht stoppt, wenn die Aktion ausgeführt werden sollte.

  6. #5
    Registriert seit
    11.12.2009
    Beiträge
    2.098
    Danke
    387
    Erhielt 384 Danke für 267 Beiträge

    Standard

    Warum willst Du denn überhaupt das PLC_PRG stoppen?

    Das macht bei einer SPS keinen Sinn!

    Du könntest dein Programm in einen FB/FC packen und diesen nur bedingt aufrufen... aber ob das Sinn macht?
    Was hast Du denn vor?

    Grüße

    Marcel
    Stell Dir vor es geht, und keiner kriegts hin!

  7. #6
    Trafel ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.07.2016
    Beiträge
    26
    Danke
    17
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ich steuer eine Autowaschanlage an:

    https://www.youtube.com/watch?v=A0Cj0WmbcXs

    Wenn die Stopptaste, egal an welchem Punkt im PLC_Programm, betätigt wird. Soll das Waschportal in die Ausgangsposition zurück.

    Die Sache ist nur, ich hab alles schon in Makros implementiert:

    2312.PNG

  8. #7
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.394
    Danke
    222
    Erhielt 226 Danke für 208 Beiträge

    Standard

    Ähm, dazu brauchts doch keinen Interrupt?! Das ist eine normal zu implementierende Stop/Reset-Funktion.
    Eine NOT-Stop-Funktion ist davon unabhängig auszuführen.

  9. Folgender Benutzer sagt Danke zu weißnix_ für den nützlichen Beitrag:

    Trafel (15.08.2016)

  10. #8
    Registriert seit
    17.01.2011
    Beiträge
    15
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Wenn Du die Steuerung unbedingt stoppen willst, mach einfach sowas hier:

    pbStopp: POINTER TO BYTE;
    pbStopp = 0;
    pbStopp^=1;


  11. #9
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.394
    Danke
    222
    Erhielt 226 Danke für 208 Beiträge

    Standard

    @Trafel

    In AS hätte ich jetzt gesagt, machst Du in jedem Schritt die Abfrage auf Stop/Reset und springst dann zu einem Ablaufzweig, der alles entweder Stoppt oder geregelt auf Initialposition bringt. Die Abfrage in jedem Schritt ist insofern notwendig, weil immer nur der Code des aktuellen Schritts bearbeitet wird. Ich befass mich normal nicht mit AS (obwohl ich es möglicherweise sollte), weil die Schrittabläufe in ST per Case sehr schön flexibel sind.

  12. Folgender Benutzer sagt Danke zu weißnix_ für den nützlichen Beitrag:

    Trafel (17.08.2016)

  13. #10
    Trafel ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.07.2016
    Beiträge
    26
    Danke
    17
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @weißnix_

    Danke für den Tipp!

    Wenn ich das richtig verstanden habe, würdest du nach jedem Schritt eine Alternativ-Verzweigung einfügen oder kann ich noch anders als eine Transitionsbedingung einen Eingang abfragen?

Ähnliche Themen

  1. TIA Aufruf MC-Funktion im Interrupt.
    Von Borchwald im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 18.12.2013, 10:18
  2. Interrupt durch ET200S CPU auslösen
    Von Rofagang im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 17.11.2008, 17:33
  3. Gibt es einen Interrupt?????
    Von dennish23 im Forum CODESYS und IEC61131
    Antworten: 19
    Letzter Beitrag: 26.10.2008, 12:25
  4. Uhrzeit Interrupt
    Von Ewald im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 29.05.2008, 22:26
  5. interrupt in awl
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 11.10.2005, 15:33

Lesezeichen

Berechtigungen

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