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

Ergebnis 1 bis 4 von 4

Thema: Programm-Problem ereignisgesteuerten Tasks - StehAufmSchlauch

  1. #1
    Registriert seit
    21.02.2011
    Ort
    Deutschland, Baden-Würtemberg
    Beiträge
    990
    Danke
    115
    Erhielt 125 Danke für 100 Beiträge

    Böse


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zsuammen,

    ich habe in meinem Programm (Codesys 2.3, WAGO 750-881) zwei Versionen eines Bausteines erstellt.
    Zwischen diesen beiden Versionen möchte ich im laufenden Betrieb umschalten können.

    Am einfachsten wäre es für mich, hier ereignisgesteuert mit dem Toggeln einer Variablen, umschalten zu können.
    Das funktioniert auch, allerdings wird der Task nur mit einer steigenden Flanke ausgeführt.

    Nun müsste ich mir einen Puls generieren, welcher dauerhafte Steigende Flanken erzeugt, um den Task zyklisch auszuführen.
    Dieser darf aber nur in einem anderen Task ausgeführt werden und wäre dann an dessen Zykluszeit gebunden.

    Also kurz:

    Kann ich einen ereignisgesteuerten Task auch TOGGELN?
    Oder gibts da vieleicht ne andere Möglichkeit?

    Über IF ELSE kann ich nicht gehen, da sich die Variablen der beiden "Versionen" stark beißen. Das funktioniert nicht ganz.

    Bin für jede Hilfe dankbar!

    Grüße,
    Flo
    Zitieren Zitieren Programm-Problem ereignisgesteuerten Tasks - StehAufmSchlauch  

  2. #2
    Registriert seit
    31.03.2012
    Ort
    Porta Westfalica
    Beiträge
    270
    Danke
    42
    Erhielt 93 Danke für 61 Beiträge

    Standard

    Hallo Flo,
    warum ist das erforderlich?

    Z.B. sind Mehrfachzugriffe auf Ausgänge sind nicht schön.

    Der 881 ist Multitask fähig.
    Kannst Du hierfür ein PLC_Task zyklisch, & zwei weitere PRG Ereignisgesteuert aus der PLC_Task aufrufen?
    Hierzu ist eine globale Variable nötig.

    MfG aus OWL
    Geändert von dingo (31.03.2014 um 21:12 Uhr)

  3. #3
    Registriert seit
    30.08.2005
    Beiträge
    280
    Danke
    41
    Erhielt 96 Danke für 66 Beiträge

    Standard

    Ich weiss nicht ob das hilfreich ist, weil ich das Problem noch nicht ganz verstanden habe:
    aber: ich würde ereignisgesteuerte Tasks grundsätzlich immer so realisieren, dass das Ereignis in der Task selber wieder zurückgesetzt wird.
    Also wenn eine Task t1 Taktgeber von t2 sein soll, dann setzt t1 das Event auf TRUE und t2 setzt das Event gleich als erstes wieder zurück.
    Auf die Art sollte man keine Flanke verlieren.
    Bernhard Werner
    3S-Smart Software Solutions (CODESYS)

  4. #4
    Avatar von KingHelmer
    KingHelmer ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.02.2011
    Ort
    Deutschland, Baden-Würtemberg
    Beiträge
    990
    Danke
    115
    Erhielt 125 Danke für 100 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    danke für eure Antworten.

    Das Problem ist, dass ich einen Programmteil habe, von welchem es eine alte und eine neue Version gibt.
    In der alten version wird der Merker %MW70 von extern beschrieben und ich lese ihn nur.
    In der neuen Version beschreibe ich genau den gleichen Merker und extern wird er gelesen.

    Zwischen beiden Versionen möchte ich umschalten können, aber die Deklarationen im Code der Bausteine (z.B. als In-Variable oder als Out-Variable) möchte/kann/will ich nicht ändern.

    Daher habe ich nun zwei Programme erstellt, welche mit einem Visualisieren Button "umgeschaltet" werden.
    Dabei läuft im Hintergrund ein "Blinker", welcher immer wieder eine Flanke als Eregnis sendet.

    Das funktioniert gerade genau so, wie es soll.

    Beste Grüße,
    Flo

    PS: Ich teste mal eben, das Ereignis zurückzusetzen. Klingt vieleicht nach der besseren Lösung.
    Geändert von KingHelmer (01.04.2014 um 08:47 Uhr) Grund: Ergänzung

Ähnliche Themen

  1. Tasks und Simulation
    Von iwan im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 07.02.2017, 16:31
  2. Beckhoff 2 Tasks TCP(senden) Problem
    Von kai86 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 20.01.2011, 11:28
  3. CoDeSys Grundlagen: Tasks
    Von Grimsey im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 31.12.2010, 17:10
  4. Tasks ins Siemens
    Von S7_Student im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 12.06.2009, 17:09
  5. Programm Problem??
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 02.08.2005, 10:37

Stichworte

Lesezeichen

Berechtigungen

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