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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: CoDeSys - Beispiel

  1. #1
    Registriert seit
    15.01.2009
    Beiträge
    65
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich versuche mal das Lauflicht-Beispiel in Codesys zu implementieren(FUP).
    Ich habe drei Ausgänge und einen Schalter.
    Netzwerk 0001 wenn Schalter= True ist dann Aus0= True
    Netzwerk 0002 Hier wir ein Timer aufgerufen. Nach 3s wird aus1=True und aus0=False.

    Das gleiche habe ich für aus2 gebaut. Nun halt läuft das Programm einmal.
    Wie kann ich das Programm so änderen das ich mit einem zweiten schalter das Lauflicht stopen kann.

    Danke im Voraus.
    Gruß
    T.
    Zitieren Zitieren CoDeSys - Beispiel  

  2. #2
    Registriert seit
    27.01.2009
    Beiträge
    111
    Danke
    26
    Erhielt 1 Danke für 1 Beitrag

    Blinzeln

    So wie du es jetzt hast läuft das ja nicht lange!
    Aber du kannst doch mit einem RS glied arbeiten! Also mit tastern.
    mit dem einen Starten(setzen) und dem anderen dann Stoppen(Rücksetzen).
    Der timer läuft doch nur wenn er ein 1-Signal hat.
    In Codesys AWL hieße das:
    LD Schalter1
    S M1

    LD Schalter2
    R M1

    Das M1 Signal benutzt du dann für die erste lampe und für den Timer!
    So hoffe das hat dir geholfen und ich habe dich richtig verstanden!

    Gruß Domi

  3. #3
    Registriert seit
    15.01.2009
    Beiträge
    65
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi Domi
    Danke für deine Antwort bzw für dein Vorschlag.
    Nun was ich bis jetzt gemacht habe funktioniert einwanfrei nur wenn ih im Debuggmod das programm teste.
    In der Visu läuft das ganze ein mal und dann bleibt stehen.
    das heisst:
    Der Schalter EIN wird gedrückt
    ==> aus0 geht an
    ==> (nach 3s)aus0 geht aus, aus1 geht an
    ==> (nach 3s)aus1 geht aus, aus2 geht an
    ==> (nach 3s)aus2 geht aus, aus0 geht an und hier hört's auf was ich nicht erwartet habe
    wie ich das in FUP so implementiert:
    1) aus0:= ein
    2) Timer(IN:=aus0, PT:=t#3s), aus1:=Timer.Q und y0:=reset
    Schritt 3 und 4 sind wurden analog zu Schritt2 gemacht
    Ich weiss jetzt nicht, warum das Programm nur einen Durchlauf schafft

    Gruss
    T.

  4. #4
    Registriert seit
    15.01.2009
    Beiträge
    65
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Moin moin
    bei mir funktioniert das programm immer noch nicht wie ich mir vorgestellt habe. Mein Problem liegt daran, dass das Programm nur ein Durchlauf macht und hört auf.
    Mein Code:
    ***********************************
    IF x0 THEN
    y0:=1;
    END_IF

    zeit0(IN:=y0, PT:=t#3s);
    IF zeit0.Q THEN
    y1:=1;
    y0:=0;
    END_IF

    zeit1(IN:=y1, PT:=t#3s);
    IF zeit1.Q THEN
    y2:=1;
    y1:=0;
    END_IF

    zeit2(IN:=y2, PT:=t#3s);
    IF zeit2.Q THEN
    y2:=0;
    y0:=1;
    END_IF
    **************************************
    x0:Eingang
    y0...y2: Ausgang

    In der Visualiesierung drücke auf den schalter EIN(x0) dann läuft das Programm:
    1) y0 ist ein
    2) nach 3s: y1 ein und y0 aus
    3) nach 3s: y2 ein und y1 aus
    4) nach 3s: y2 aus und y0 ein

    und hier hört's auf.
    Wie kann ich das programm so ändern dass es kontinuierlich läuft

    Danke im Voraus
    T.

  5. #5
    Registriert seit
    15.01.2009
    Beiträge
    65
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo
    ich habe leider das Problem noch net gelöst und ich weiss net woran es liegt
    So komme ich leider net weiter ich hoffe ich bekomme hier in Forum ein paar Vorschläge.
    Hat jemand schon mal mit dem Lauflicht Beispiel beschäftigt?

    mfg
    T.

  6. #6
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Zitat Zitat von Tiger30 Beitrag anzeigen
    ...
    So komme ich leider net weiter ich hoffe ich bekomme hier in Forum ein paar Vorschläge.
    ...
    Ein Lauflicht lässt sich auf so vielen unterschiedlichen Wegen lösen das man Dich mit Lösungen zuschmeißen könnte. In welcher Sprache hättest Du denn gerne eine Lösung? Würdest Du auch mit schiebe Befehlen (SHL/SHR) klar kommen?

    Hier mal eine Quick and Dirty lösung in ST die nur mit IF-Verzweigungen arbeitet.

    Code:
    myTON(IN:=NOT myTON.Q, PT:=t#1s);
    IF AN THEN
        IF myTON.Q THEN
          IF LAMPE1 THEN
            LAMPE1 := FALSE;
            LAMPE2 := TRUE;
            LAMPE3 := FALSE;
          ELSIF LAMPE2 THEN
            LAMPE1 := FALSE;
            LAMPE2 := FALSE;
            LAMPE3 := TRUE;
          ELSE
            LAMPE1 := TRUE;
            LAMPE2 := FALSE;
            LAMPE3 := FALSE;
          END_IF
        END_IF
    ELSE
      LAMPE1 := FALSE;
      LAMPE2 := FALSE;
      LAMPE3 := FALSE;
    END_IF
    If you open your Mind too much, your Brain will fall out.

  7. #7
    Registriert seit
    15.01.2009
    Beiträge
    65
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Zotos
    danke für deine Antwort. Ich werde dein Code gleich mal testen.
    Ich habe das Lauflicht in FUP implementiert nur leider funktioniert net.
    Das Programm macht einen Durchlauf dann hört auf bzw die Lampen ändern ihren Zustände nicht.

    mfg
    T.

  8. #8
    Registriert seit
    29.01.2004
    Beiträge
    322
    Danke
    10
    Erhielt 22 Danke für 22 Beiträge

    Standard

    IF x0 THEN
    y0:=1;
    END_IF

    zeit0(IN:=y0, PT:=t#3s);
    IF zeit0.Q THEN
    y1:=1;
    y0:=0;
    END_IF

    zeit1(IN:=y1, PT:=t#3s);
    IF zeit1.Q THEN
    y2:=1;
    y1:=0;
    END_IF

    zeit2(IN:=y2, PT:=t#3s);
    IF zeit2.Q THEN
    y2:=0;
    y0:=1;
    END_IF
    Hallo
    Ich denke du hast den "Schalter" X0 in der Visu als "Variable toggeln" eingestellt. Du solltest es mal als "Variable tasten" probieren.
    Gruß

    Andreas
    Geändert von Znarf (08.02.2009 um 13:45 Uhr)
    Woher soll ich wissen was ich denke, bevor ich nicht lese was ich schreibe!

  9. #9
    Registriert seit
    15.01.2009
    Beiträge
    65
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Zotos
    Danke für dein Code. ich habe's bei mir getestet und läuft einwandfrei.
    ich möchte aber das Lauflicht in FUP schreiben ausserdem dein Code wird kompliziertet wenn ich es erweitern muss das heisst wenn ich statt 3 Ausgänge 10 habe

    Hallo Andreas
    Danke für dein Vorschlag leider hat nicht geklappt. mein Programm ist in FUP geschrieben.
    Am Ausgang der Timer wird nach Ablauf der Zeit einen Ausgang gesetzt und den anderen zurückgesetzt(Zum Beispiel Y1:=true und Y0:=False).
    Was ich in der hilfe jetzt verstanden habe, wenn man einen ausgang set bzw zurückgesetzt hat dann behält der Ausgang diesen Zusatnd und genau das passiert in meinem Programm.

    mfg
    T.
    Zitieren Zitieren Codesys-Beispiel  

  10. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.708
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @Tiger:
    dann wäre es vielleicht doch sinnvoll, sich mit den von Zotos schon vorgeschlagenen Schiebe-Befehlen zu beschäftigen ...
    Wieviele Kanäle soll das Lauflicht denn schluß-endlich nun haben ?

    Gruß
    LL

Ähnliche Themen

  1. CP340 Beispiel
    Von Guste im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 12.10.2009, 20:11
  2. Simotion Beispiel?
    Von Bensen83 im Forum Simatic
    Antworten: 50
    Letzter Beitrag: 29.09.2009, 08:41
  3. NC I Beispiel
    Von Itus im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 19.08.2009, 11:06
  4. beispiel DB und UDT
    Von mzva im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 16.07.2006, 03:18
  5. Antworten: 1
    Letzter Beitrag: 29.11.2005, 08:42

Lesezeichen

Berechtigungen

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