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

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

Thema: Lauflicht AWL

  1. #1
    Registriert seit
    31.10.2010
    Beiträge
    14
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    ich muss drei lauflichter in AWL programieren und bekomme es nicht hin.
    Die lauflichter sollen wie in der angehängten grafik funktionieren, für jedes lauflicht muss ich ein einzelnes program schreiben.
    ich würde mcih sehr freuen wenn mir jemand helfen könnte.

    Was ich noch aus dem letztem unterricht habe ist dies:

    UN Takt
    BEB
    L B_counter
    L 0
    <>I
    SPB Go1
    L 0
    T B_Muster
    SPA Go3

    Go1: L B_counter
    L 1
    <>I
    SPB Go2
    L 1
    T B_Muster
    SPA Go3

    Go2: L B_counter
    L 2
    <I
    SPB Go3
    L B_Muster
    SLW1
    OW
    T B_Muster

    Go3: L B_counter
    INC1
    T B_counter
    L B_counter
    L 16
    <I
    BEB
    L 0
    T B_counter

    Leider schaffe ich es nicht den B_Counter oder den B_Muster auszugeben.
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: jpg IMG.jpg (496,4 KB, 137x aufgerufen)
    Zitieren Zitieren Lauflicht AWL  

  2. #2
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von Schüler10 Beitrag anzeigen
    Was ich noch aus dem letztem unterricht habe ist dies:

    UN Takt
    BEB
    L B_counter
    L 0
    <>I
    SPB Go1
    L 0
    T B_Muster
    SPA Go3

    Go1: L B_counter
    L 1
    <>I
    SPB Go2
    L 1
    T B_Muster
    SPA Go3

    Go2: L B_counter
    L 2
    <I
    SPB Go3
    L B_Muster
    SLW1
    OW
    T B_Muster

    Go3: L B_counter
    INC1
    T B_counter
    L B_counter
    L 16
    <I
    BEB
    L 0
    T B_counter

    Leider schaffe ich es nicht den B_Counter oder den B_Muster auszugeben.
    Was macht dein Counter?
    Der zählt, denke ich mal.
    Deine Vergleicher sind nicht so ganz glücklich gewählt und wenn du nicht immer BEB machen würdest, sondern zu einer Ausgabe des Zählerstandes springen würdest, wärst du am Ziel.


    bike

    P.S: so viele Konjunktive habe ich selten geschrieben

  3. Folgender Benutzer sagt Danke zu bike für den nützlichen Beitrag:

    Schüler10 (05.07.2011)

  4. #3
    Schüler10 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    31.10.2010
    Beiträge
    14
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    der zähler soll immer ein licht ein und danach das nächste einschalten, wie springe ich zu einer ausgabe des zählers? und sollte ich die am ende der go1-3 machen?

  5. #4
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von Schüler10 Beitrag anzeigen
    der zähler soll immer ein licht ein und danach das nächste einschalten, wie springe ich zu einer ausgabe des zählers? und sollte ich die am ende der go1-3 machen?
    Also dein go1-3 passt nicht so echt.

    Geht es um die erste Aufgabe?
    Da sollst zuerst prüfen ob der Zählerstand größer gleich 17 ist.
    Wenn nicht den Zähler erhöhen.
    Code:
    Un Taktimpuls      // Kein Impuls 
    spb end               // dann zum Ende
    L Zaehler             // Sonst lade Zaehler 
    L 17                    // Grenze
    >=I                     // vergleichen
    SPB loes           // wenn der Wert ereicht Zaehler loeschen
    L Zaehler 
    L 1
    +I
    T Zaehler
    L Ausgabe        // Ausgabe ist das Ausgangswort
    shl 1                 // den Ausgang nach links schieben
    T Ausgabe        // und speichern
    spb ende
    loes: Nop 0
    L 0
    T Zaehler
    t Ausgabe
    SPA end
    
    ende: nop 0
    Als Anfang für dein Programm, ist nicht ganz fertig und nicht getestet.

    Viel Erfolg


    bike

  6. Folgender Benutzer sagt Danke zu bike für den nützlichen Beitrag:

    Schüler10 (05.07.2011)

  7. #5
    Registriert seit
    14.10.2010
    Ort
    Franken
    Beiträge
    116
    Danke
    47
    Erhielt 40 Danke für 32 Beiträge

    Standard

    Guten Morgen,

    kleine Korrektur des Codes:

    Code:
    L 0 
    T Zaehler 
    L 1
    t Ausgabe 
    SPA end
    Viele Grüße
    Klaus

  8. Folgender Benutzer sagt Danke zu NikolausL für den nützlichen Beitrag:

    Schüler10 (05.07.2011)

  9. #6
    Registriert seit
    25.11.2008
    Ort
    Westpfalz
    Beiträge
    1.550
    Danke
    187
    Erhielt 212 Danke für 186 Beiträge

    Standard

    Zitat Zitat von bike Beitrag anzeigen
    A
    Da sollst zuerst prüfen ob der Zählerstand größer gleich 17 ist.



    bike
    Ich würde erst erhöhen, dann prüfen, das spart etwas Code, oder?
    Code:
    UN Taktimpuls
    SPB OUT
    
    L Zähler
    SLW 1
    T Zähler
    
    L 8
    >I
    SPBN OUT
    
    L 0
    T Zähler
    
    OUT: L Zähler
    T Ausgangsbyte
    and we all support the team (S.King - Die Arena)

  10. Folgender Benutzer sagt Danke zu Sinix für den nützlichen Beitrag:

    Schüler10 (05.07.2011)

  11. #7
    Registriert seit
    14.10.2010
    Ort
    Franken
    Beiträge
    116
    Danke
    47
    Erhielt 40 Danke für 32 Beiträge

    Standard

    Hallo,

    Damit das überhaupt funktioniert, muß doch vor dem ersten Start die Variable Zähler erstmal mit 1 vorbelegt werden, sonst werden ja nur Nullen durch die Gegend geschoben. Das gleiche gilt, wenn das Programm durchgelaufen ist.
    Damit 16 Bit durchgeschoben werden, muß der Zähler auf -32768 abgefragt werden ( = 2#1000 0000 0000 0000). Also so:

    Code:
    UN Taktimpuls 
    SPB OUT 
    
    L Zähler
    L 0
    ==I
    spb INI
    
    L Zähler 
    SLW 1 
    T Zähler  
    
    L -32768 
    <>I 
    SPB OUT  
    
    INI: L 1 
    T Zähler  
    
    OUT: L Zähler 
    T Ausgangsbyte
    Viele Grüße
    Klaus
    Geändert von NikolausL (05.07.2011 um 09:11 Uhr)

  12. Folgender Benutzer sagt Danke zu NikolausL für den nützlichen Beitrag:

    Schüler10 (05.07.2011)

  13. #8
    Registriert seit
    29.01.2007
    Ort
    Sandkrug
    Beiträge
    147
    Danke
    7
    Erhielt 36 Danke für 25 Beiträge

    Standard

    Hallo Schüler10,
    endlich mal einer, der auf der Grundlage eines Struktogrammes ein Programm entwickelt.
    Die Umsetzung von Struktogramm nach AWL hast du aber noch nicht richtig verstanden.
    Ein Struktogramm wird immer von oben nach unten gelesen und deshalb auch so programmiert.
    Für das erste Beispiel gebe ich dir mal die richtige AWL.
    Code:
          L    #Muster
          T    #Ausgaenge
    
         U    #Taktimpuls
          SPB  vorh
          BEB
     
    vorh  :L    #ZW
          L    17
          ==I
          SPBN nein
     
          L    1
          T    #ZW
          T    #Muster
          BEB
     
    nein  :L    #ZW
          INC            1
          T    #ZW
     
          L    #Muster
          SLW            1
          T    #Muster
    Du solltest versuchen, die AWL-Zeilen den einzelnen Struktogrammelementen genau zuzuordnen.
    Wenn du das verstanden hast, werden dir die anderen beiden Programme mit Leichtigkeit gelingen.
    Viel Erfolg!
    eNDe
    Zitieren Zitieren Lauflicht AWL  

  14. Folgender Benutzer sagt Danke zu eNDe für den nützlichen Beitrag:

    Schüler10 (05.07.2011)

  15. #9
    Schüler10 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    31.10.2010
    Beiträge
    14
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von eNDe Beitrag anzeigen
    Hallo Schüler10,
    endlich mal einer, der auf der Grundlage eines Struktogrammes ein Programm entwickelt.
    Die Umsetzung von Struktogramm nach AWL hast du aber noch nicht richtig verstanden.
    Ein Struktogramm wird immer von oben nach unten gelesen und deshalb auch so programmiert.
    Für das erste Beispiel gebe ich dir mal die richtige AWL.
    Code:
          L    #Muster
          T    #Ausgaenge
    
         U    #Taktimpuls
          SPB  vorh
          BEB
     
    vorh  :L    #ZW
          L    17
          ==I
          SPBN nein
     
          L    1
          T    #ZW
          T    #Muster
          BEB
     
    nein  :L    #ZW
          INC            1
          T    #ZW
     
          L    #Muster
          SLW            1
          T    #Muster
    Du solltest versuchen, die AWL-Zeilen den einzelnen Struktogrammelementen genau zuzuordnen.
    Wenn du das verstanden hast, werden dir die anderen beiden Programme mit Leichtigkeit gelingen.
    Viel Erfolg!
    eNDe
    Danke ich habe das einmal so abgetippt habe jetzt aber das Problem dass Ausgaenge, Muster und ZW als Byte deklariert werden muss, ich denke du Benutzt die Variable Muster als ausgang für die Lampen die angeschlossen werden sollen. wie kann ich nun die Lampen ansteuern? muss ich dazu Byte wieder in BOOL umrechnen? oder das mittels Vergleichern lösen?

  16. #10
    Registriert seit
    25.11.2008
    Ort
    Westpfalz
    Beiträge
    1.550
    Danke
    187
    Erhielt 212 Danke für 186 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Was ist so schlimm Variablen als Byte zu deklarieren?

    Ausgaenge als Byte und nur damit werden die Lampen angesteuert.
    Muster und ZW als Word, da du ja lt. Aufgabenstellung Schiebe Befehle benutzten sollst, in dem Fall SLW.
    and we all support the team (S.King - Die Arena)

  17. Folgender Benutzer sagt Danke zu Sinix für den nützlichen Beitrag:

    Schüler10 (05.07.2011)

Ähnliche Themen

  1. MW Lauflicht
    Von litlegerman im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 21.07.2011, 21:58
  2. Lauflicht
    Von blurry333 im Forum Simatic
    Antworten: 22
    Letzter Beitrag: 22.02.2011, 11:20
  3. mein Lauflicht
    Von blurry333 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 18.02.2011, 17:46
  4. Lauflicht
    Von Golden Egg im Forum Simatic
    Antworten: 24
    Letzter Beitrag: 11.06.2007, 20:36
  5. Funktionsbaustein Lauflicht
    Von maxi im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 24.04.2006, 07:11

Lesezeichen

Berechtigungen

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