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

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

Thema: AWL Anfänger fragen:

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

    Idee


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,
    da ich wahrscheinlich demnächst noch mehr fragen zum Thema AWL habe, habe ich einen Thread eröffnet für AWL fragen .
    Vielleicht ist es noch für mehrere Personen hilfreich.
    So nun meine erste Frage:

    Wie kann ich Werte an ein Byte ausgeben:

    Und zwar ist es so ich hab 3 Eingänge oder mehr (Schalter, welche 3 Motoren schalten)

    Der erste Motor hat 2 kw, 2.Motor hat 4 kw der 3.Motor 5 kw:

    Hätte dann im Kopf zusammen gerechnet und quasi sowas wie

    "Ausgangsbyte" = 5 ; (oder welches Ergebnis auch immer)

    gesucht.

    Das Byte darf auch Binär "aufzeigen": 0000101

    Hab nicht gefunden wie das in AWL aussieht...würde mich freuen wenn mir jemand helfen könnte.
    Schonmal vielen Dank
    Zitieren Zitieren AWL Anfänger fragen:  

  2. #2
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    Ich verstehe gerade nicht, was Du vorhast.
    Gruß
    Michael

  3. #3
    Registriert seit
    08.08.2011
    Beiträge
    227
    Danke
    44
    Erhielt 8 Danke für 8 Beiträge

    Standard

    Verstehen tut man deine Aussage wirklich nicht...

    Einem Byte einen wert zuweisen:

    L *WERT*
    T *BYTE*
    Wer Rechtschreibfehler findet, darf sie behalten!

  4. #4
    Registriert seit
    12.05.2010
    Ort
    Dortmund
    Beiträge
    889
    Danke
    57
    Erhielt 121 Danke für 89 Beiträge

    Standard

    oder in Codesys

    LD Eingaenge
    ST Ausgaenge

    Weil Denken die schwerste Arbeit ist, die es gibt, beschäftigen sich auch nur wenige damit.

  5. #5
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.569
    Danke
    63
    Erhielt 258 Danke für 218 Beiträge

    Standard

    Ich habe es so verstanden, dass Du in einem BYTE die Gesamtleistung der eingeschalteten Motoren ausgeben willst.

    Code:
    L0
    T #Byte // Initialisieren
    
    U E1.0 // Motor 1 läuft
    SPBN M001
    
    L #Byte
    L 2 // 2kW addieren
    +I
    T #Byte
    
    m001: nop 0
    
    U E1.1 // Motor 2 läuft
    SPBN M002
    
    L #Byte
    L 3 // 3kW addieren
    +I
    T #Byte
    
    m002: nop 0
    
    usw...
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  6. #6
    NowSPS ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    08.02.2012
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Owei,
    ja das kann man so net unbedingt verstehen....hätte es wohl nochmals lesen sollen.
    Aber dennoch Danke

    @Tigerente1974:

    Ja, so meinte ich das, vielen Dank.

    Für was steht das +I.
    Der Rest ist mir jetzt wieder klar .

  7. #7
    Registriert seit
    17.05.2010
    Ort
    Paderborn
    Beiträge
    824
    Danke
    84
    Erhielt 125 Danke für 94 Beiträge

    Standard

    Wenn Du mit Integer-Werten rechnest, diese aber als BCD-Wert benötigst, dann gibt es den Befehl "ITB" oder auch "IntegerToBCD".
    Grüße
    Michael

    1001101110110100... Das ist meine Welt

  8. #8
    Registriert seit
    15.04.2011
    Beiträge
    1.122
    Danke
    229
    Erhielt 208 Danke für 176 Beiträge

    Standard

    +I //Addiere AKKU1 und AKKU2 als Ganzzahl (16 Bit)

    Beispiel:

    L #Byte // Lade den Inhalt von Byte in AKKU1
    L 2 // 2kW addieren // Lade 2 in AKKU1, der vorherige Inhalt (#Byte) ist nach AKKU verschoben worden
    +I // Addiere AKKU1 und AKKU2 als Ganzzahl (16 Bit)
    T #Byte // Das Ergebnis in #Byte ablegen
    Gruß
    190B

  9. #9
    Registriert seit
    17.05.2010
    Ort
    Paderborn
    Beiträge
    824
    Danke
    84
    Erhielt 125 Danke für 94 Beiträge

    Standard

    z.B. in AWL:

    L 2 // Lade INT -Wert 2
    L 3 // Lade INT -Wert 3
    +I // Addiere Integer-Wert
    ITB // Wandle IntegerToBCD
    T MW 30 // speicher das Ergebnis als BCD-Wert in Merker-Wort 30

    L MB 30 // Lade Merker Byte 30
    ... // u.s.w.

    Im FUP geht das auch!
    Grüße
    Michael

    1001101110110100... Das ist meine Welt

  10. #10
    Registriert seit
    17.05.2010
    Ort
    Paderborn
    Beiträge
    824
    Danke
    84
    Erhielt 125 Danke für 94 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Es gibt natürlich auch den Umgekehrten Weg: ITB <--> BTI

    BTI steht für BCDToInteger

    TIP: Hilfe über F1 im KOP/FUP/AWL-Editor, idealerweise direkt auf einem Befehl und Du erhälst eine Erklärung!
    Grüße
    Michael

    1001101110110100... Das ist meine Welt

Ähnliche Themen

  1. In Touch fragen(anfänger)
    Von mueller1 im Forum HMI
    Antworten: 1
    Letzter Beitrag: 11.02.2009, 18:24
  2. Anfänger Fragen bzgl.DeviceNet FC5201-BK5210
    Von Fila im Forum CODESYS und IEC61131
    Antworten: 37
    Letzter Beitrag: 25.11.2008, 12:18
  3. blutiger step7 anfänger hat fragen :-D
    Von Mencher im Forum Simatic
    Antworten: 25
    Letzter Beitrag: 02.10.2008, 09:35
  4. Absoluter Anfänger stellt einfache Fragen
    Von soma im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 17.01.2007, 13:06
  5. Viele Fragen zu S7 (Anfänger)
    Von draXo im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 08.05.2004, 12:26

Lesezeichen

Berechtigungen

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