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

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

Thema: SPS Programm mit MOELLER

  1. #1
    Registriert seit
    22.09.2009
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,
    bin im 2.Lehrjahr und haben jetzt mit SPS angefangen.

    Sollen eine Ampelsteuerung als BYTE-Verarbeitung programmieren.

    Habe jetzt mal es so programmiert wie ich denke, das es richtig sein könnte :P

    Nur hab ich Syntaxfehler, und weiss nicht warum.

    Vielleicht könnt ihr mir helfen!

    Hier das Programm:
    VAR
    Eingang AT %IB0.0.0.0: BYTE;
    Ausgang AT %QB0.0.0.0: BYTE;
    END_VAR




    LD Eingang
    BYTE_TO_INT
    EQ 0
    OR 1
    OR 2
    OR 4
    OR 8
    JMPC Rot

    LD Eingang
    BYTE_TO_INT
    EQ 3
    OR 5
    OR 6
    OR 9
    OR 10
    OR 12
    JMPC Gelb

    LD Eingang
    BYTE_TO_INT
    EQ 7
    OR 11
    OR 13
    OR 14
    OR 15
    JMPC Gruen


    Rot: LD 1
    ST Ausgang
    JMP ENDE

    Gelb: LD 2
    ST Ausgang
    JMP ENDE

    Gruen: LD 4
    ST Ausgang
    JMP ENDE

    ENDE:

    Syntaxfehler:

    Fehler => Anw, Ze: 5, Sp: 2 - Typkonflikt: Operand vom Typ BOOL erwartet
    Fehler => Anw, Ze: 13, Sp: 2 - Typkonflikt: Operand vom Typ BOOL erwartet
    Fehler => Anw, Ze: 23, Sp: 2 - Typkonflikt: Operand vom Typ BOOL erwartet
    Zitieren Zitieren SPS Programm mit MOELLER  

  2. #2
    Registriert seit
    06.07.2007
    Beiträge
    2.811
    Danke
    174
    Erhielt 274 Danke für 253 Beiträge

    Standard

    Hab das Ganze mal in TwinCAT versucht zu übersetzen. Bei mir meckert er die Zahlenwerte ungleich 0 bzw. 1 als Parameter des Operators OR an.
    Geändert von Cerberus (22.09.2009 um 08:31 Uhr)
    A programmer is just a tool which converts caffeine into code.

  3. #3
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Bin jetzt nicht so der AWL Crack, aber Or ist normalerweise nen ein bitweiser Operator der nur Wahr oder Falsch Aussagen verbinden kann.

    Vielleicht funktioniert es ja so:

    LD Eingang
    BYTE_TO_INT
    EQ 0
    OR (EQ 1)
    OR (EQ 2)
    OR (EQ 4)
    OR (EQ 8 )
    JMPC Rot

    ???

  4. #4
    nUgg3t ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.09.2009
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Wie soll ich es dann schreiben?

    Statt:
    LD Eingang
    BYTE_TO_INT
    EQ 0
    OR 1
    OR 2
    OR 4
    OR 8
    JMPC Rot

    So?:
    LD Eingang
    BYTE_TO_INT
    EQ 0
    OR EQ1
    OR EQ2
    OR EQ4
    OR EQ8
    JMPC Rot

  5. #5
    Registriert seit
    06.07.2007
    Beiträge
    2.811
    Danke
    174
    Erhielt 274 Danke für 253 Beiträge

    Standard

    Also die Version von MasterOhh funktioniert auch nicht. Bin zwar mit AWL nicht so vertraut, aber eine Möglichkeit hätte ich trotzdem (sie ist umständlich und es ginge bestimmt auch einfacher, aber sie funktioniert )

    Code:
    LD  Eingang
    BYTE_TO_INT
    LE  2
    JMPC Rot
     
    LD  Eingang
    BYTE_TO_INT
    EQ  3
    JMPC Gelb
     
    LD  Eingang
    BYTE_TO_INT
    EQ  4
    JMPC Rot
     
    LD  Eingang
    BYTE_TO_INT
    LE  6
    JMPC Gelb
     
    LD  Eingang
    BYTE_TO_INT
    EQ  7
    JMPC Gruen
     
    LD  Eingang
    BYTE_TO_INT
    EQ  8
    JMPC Rot
     
    LD  Eingang
    BYTE_TO_INT
    LE  10
    JMPC Gelb
     
    LD  Eingang
    BYTE_TO_INT
    EQ  11
    JMPC Gruen
     
    LD  Eingang
    BYTE_TO_INT
    EQ  12
    JMPC Gelb
     
    LD  Eingang
    BYTE_TO_INT
    LE  15
    JMPC Gruen
     
    Rot: LD  1
    ST  Ausgang
    JMP  ENDE
     
    Gelb: LD  2
    ST  Ausgang
    JMP  ENDE
     
    Gruen: LD  4
    ST  Ausgang
    JMP  ENDE
     
    ENDE:
    A programmer is just a tool which converts caffeine into code.

  6. #6
    nUgg3t ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.09.2009
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja so hätte ich es sonst notfalls auch gemacht ^^

    Dachte nur, ich könnte mir durch das OR einige Zeilen sparen.
    Sonst weiss keiner wie das doch mit OR gehen könnte?

    Cerberus warum hast du in manchen Zeilen ein "LE" stehen? Was istdas genau?

    Bin SPS Einsteiger

    Mfg

  7. #7
    Registriert seit
    06.07.2007
    Beiträge
    2.811
    Danke
    174
    Erhielt 274 Danke für 253 Beiträge

    Standard

    Das LE ist ein "Less than or equal" also ein kleiner gleich. Damit kannst du z.B. den Fall abdecken, dass 0, 1 und 2 alle drei zu Rot führen sollen.
    A programmer is just a tool which converts caffeine into code.

  8. #8
    nUgg3t ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.09.2009
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Achso prima Danke!
    Hab ich mal wieder was neues gelernt

    Dann kann ich morgen bei meinem Berufsschullehrer punkten :P

    MFG

  9. #9
    Registriert seit
    09.06.2007
    Beiträge
    398
    Danke
    25
    Erhielt 46 Danke für 44 Beiträge

    Standard

    Code:
    LD Eingang
    BYTE_TO_INT
    EQ 0
    
    OR (Eingang
    BYTE_TO_INT
    EQ 1
    )
    OR (Eingang
    BYTE_TO_INT
    EQ 2
    ) 
    OR (Eingang
    BYTE_TO_INT
    EQ 4
    ) 
    OR (Eingang
    BYTE_TO_INT
    EQ 8
    ) 
    JMPC Rot
    etc.

  10. #10
    nUgg3t ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.09.2009
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hm welches ist denn jetzt richtig? ^^

    Wo steht, dass die Klammern dort gesetzt werden müssen?

    Mfg

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 09.12.2010, 18:08
  2. Moeller Programm CD wie lesen ??
    Von peter(R) im Forum Sonstige Steuerungen
    Antworten: 3
    Letzter Beitrag: 02.08.2010, 07:57
  3. Moeller PS4-201-MM1 Programm auslesen
    Von tobi-Beginner im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 14.11.2006, 20:41
  4. Antworten: 0
    Letzter Beitrag: 05.10.2006, 13:56
  5. S5 Programm in ein S7 Programm umwandeln
    Von 1schilcher im Forum HMI
    Antworten: 3
    Letzter Beitrag: 15.01.2006, 11:53

Lesezeichen

Berechtigungen

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