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

Page 1 of 2 12 LastLast
Results 1 to 10 of 17

Thread: CoDeSys - Beispiel

  1. #1
    Join Date
    15.01.2009
    Posts
    65
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default


    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.
    Reply With Quote Reply With Quote CoDeSys - Beispiel  

  2. #2
    Join Date
    27.01.2009
    Posts
    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
    Join Date
    15.01.2009
    Posts
    65
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    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
    Join Date
    15.01.2009
    Posts
    65
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    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
    Join Date
    15.01.2009
    Posts
    65
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    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
    Join Date
    07.03.2004
    Posts
    4,462
    Danke
    948
    Erhielt 1,169 Danke für 837 Beiträge

    Default

    Quote Originally Posted by Tiger30 View Post
    ...
    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
    Join Date
    15.01.2009
    Posts
    65
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    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
    Join Date
    29.01.2004
    Posts
    328
    Danke
    11
    Erhielt 22 Danke für 22 Beiträge

    Default

    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
    Last edited by Znarf; 08.02.2009 at 13:45.
    Woher soll ich wissen was ich denke, bevor ich nicht lese was ich schreibe!

  9. #9
    Join Date
    15.01.2009
    Posts
    65
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    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.
    Reply With Quote Reply With Quote Codesys-Beispiel  

  10. #10
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,402
    Danke
    422
    Erhielt 2,536 Danke für 2,108 Beiträge

    Default


    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

Similar Threads

  1. Diganosedeckung zu Beispiel BIGA-Report 2/2008, Beispiel 29
    By GBat in forum Maschinensicherheit - Normen und Richtlinien
    Replies: 12
    Last Post: 23.04.2018, 12:34
  2. CoDeSys Beispiel für 750-838
    By clumsi in forum CODESYS und IEC61131
    Replies: 5
    Last Post: 20.02.2014, 09:25
  3. CP340 Beispiel
    By Guste in forum Simatic
    Replies: 3
    Last Post: 12.10.2009, 20:11
  4. NC I Beispiel
    By Itus in forum CODESYS und IEC61131
    Replies: 5
    Last Post: 19.08.2009, 11:06
  5. Replies: 1
    Last Post: 29.11.2005, 08:42

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •