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

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

Thema: Kann mir jemand folgenden AWL Code erläutern?

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hab da ein Problem mit folgendem AWL Anweisungen:

    U(
    U(
    L "DB_Daten_Farbraum".GESCHW_SW_ST3
    L W#16#4000
    *D
    T #t_freq
    UN OV
    SAVE
    CLR
    U BIE
    )
    SPBNB _001
    L #t_freq
    L 194
    /D
    T #FREQ_SET
    UN OV
    SAVE
    CLR
    _001: U BIE
    )
    U(
    L #FREQ_SET
    L W#16#4000
    >=I
    )
    SPBNB _002
    L W#16#4000
    T #FREQ_SET
    _002: NOP 0

    Es soll sich dabei um eine Vorgabe von einer Geschwindigkeit handeln:
    FREQ in %: 4000H = 100% = 50 Hz; 1000H = 25%
    50 Hz = 194 r/min
    maximal 100%

    Nur irgendwie steige ich als Anfänger in den ersten Zeilen aus. Könnte mir das jemand Schritt für Schritt erklären?

    MfG
    Zitieren Zitieren Kann mir jemand folgenden AWL Code erläutern?  

  2. #2
    Registriert seit
    08.10.2009
    Ort
    Südpfalz
    Beiträge
    273
    Danke
    43
    Erhielt 54 Danke für 47 Beiträge

    Standard

    Im Simatic-Manager die entsprechende Zeile (Operation) markieren und F1 betätigen.
    Es öffnet sich die S7-Hilfe zu diesem Befehl.
    Sollte weiterhelfen.

    Gruß Roland
    Nicht Mensch, nicht Tier: Programmierer halt ...

  3. #3
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.724
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Hallo,
    das sieht für mich so aus, als wenn sich da einer in FUP so richtig schön einen "ausgegurkt" hat ...
    Aber wenn du weißt, was es macht dann mach es doch mit einem "sauberen" AWL-Code noch einmal neu ...

    Gruß
    LL

  4. #4
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    ANSICHT -> KOP (von mir aus auch FUP) und schon sieht es ungefähr so aus:
    Angehängte Grafiken Angehängte Grafiken
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. #5
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo,
    das sieht für mich so aus, als wenn sich da einer in FUP so richtig schön einen "ausgegurkt" hat ...
    Aber wenn du weißt, was es macht dann mach es doch mit einem "sauberen" AWL-Code noch einmal neu ...

    Gruß
    LL
    nö, nichmal ausgegurkt... einfach nur hintereinanderweg gerechnet
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.724
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    ausgegurkt wegen * $4000 / 194

  7. #7
    Registriert seit
    08.03.2010
    Ort
    BaWü
    Beiträge
    131
    Danke
    10
    Erhielt 13 Danke für 11 Beiträge

    Standard

    Hab dir mal den code in awl noch ma grob kommentiert falls dichs noch intressiert. Bild von vierlagig beschreibt ja funktion besser.
    Darfst dich bei awl eben nicht durch die "komische" schreibweise iritieren lassen, einfach ne tabelle mit befehlen hernehmen und damit arbeiten, wenn es mal kannst kannst da schneller schreiben als du das zeug zusammenklicken kannst



    L "DB_Daten_Farbraum".GESCHW_SW_ST3
    L W#16#4000
    *D
    T #t_freq
    U BIE
    die beiden werte aus dem DB und w#16#4000 werden multipliziert und das ergebnis in var t_freq geschrieben.

    UN OV
    SAVE
    CLR
    hier wird das Störungsbit bei Überlauf abgefragt auf nicht und gespeichert (im BIE-BIT) Danach das VKE auf 0 gesetzt. Dann wird das BIE bit als VKE hergenommen.

    SPBNB _001
    L #t_freq
    L 194
    /D
    T #FREQ_SET
    UN OV
    SAVE
    CLR
    _001: U BIE
    hier springt wen vke=0 von SPBNB zu _001:, als wenn BIE=0 ist ist es eins wird der code dazwischen ausgeführt:
    der läd die vorhin erechnete #t_freq und teilt sie durch 194, das ergebnis wird in #Frequ_set geschoben. Dann wird wie vorhin das invertierte Fehlerbit des überlaufs in vke geladen und in BIE gesichert, danach das vke wieder auf 0
    nach der Sprungmarke wird wieder das bie bit in vke geladen

    U(
    L #FREQ_SET
    L W#16#4000
    >=I
    )
    SPBNB _002
    L W#16#4000
    T #FREQ_SET
    _002: NOP 0
    Hier wird Freq_set und w#16#4000 verglichen, ist freq_set größer wird freqset auf w#16#4000 gesetzt ansonsten wird das übersrungen (nop 0 ist nur platzhalter)
    Sprich hier wird nur geprüft ob der wert Freq_set kleiner/gleich dem maximum ist, ist es größer wird es auf den maximalwert gesetzt
    Geändert von Sera (27.05.2010 um 16:59 Uhr)

  8. #8
    Registriert seit
    08.03.2010
    Ort
    BaWü
    Beiträge
    131
    Danke
    10
    Erhielt 13 Danke für 11 Beiträge

    Standard

    L "DB_Daten_Farbraum".GESCHW_SW_ST3
    L W#16#4000
    *D
    T #t_freq
    U BIE
    die beiden werte aus dem DB und w#16#4000 werden multipliziert und das ergebnis in var t_freq geschrieben.

    UN OV
    SAVE
    CLR
    hier wird das Störungsbit bei Überlauf abgefragt auf nicht und gespeichert (im BIE-BIT) Danach das VKE auf 0 gesetzt. Dann wird das BIE bit als VKE hergenommen.

    SPBNB _001
    L #t_freq
    L 194
    /D
    T #FREQ_SET
    UN OV
    SAVE
    CLR
    _001: U BIE
    hier springt wen vke=0 von SPBNB zu _001:, als wenn BIE=0 ist ist es eins wird der code dazwischen ausgeführt:
    der läd die vorhin erechnete #t_freq und teilt sie durch 194, das ergebnis wird in #Frequ_set geschoben. Dann wird wie vorhin das invertierte Fehlerbit des überlaufs in vke geladen und in BIE gesichert, danach das vke wieder auf 0
    nach der Sprungmarke wird wieder das bie bit in vke geladen

    U(
    L #FREQ_SET
    L W#16#4000
    >=I
    )
    SPBNB _002
    L W#16#4000
    T #FREQ_SET
    _002: NOP 0
    Hier wird Freq_set und w#16#4000 verglichen, ist freq_set größer wird freqset auf w#16#4000 gesetzt ansonsten wird das übersrungen (nop 0 ist nur platzhalter)
    Sprich hier wird nur geprüft ob der wert Freq_set kleiner/gleich dem maximum ist, ist es größer wird es auf den maximalwert gesetzt

  9. #9
    Stahlhart ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.10.2009
    Beiträge
    14
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke Ihr seid super!

    Die einzelnen Anweisungen sind nicht das Problem, aber aus dem gesamten werde ich nicht so schlau.

    @vierlagig & Sera: Danke nochmal an euch. Der DB ist ja die Variable die aus der Visu kommt, aber was macht w#16#4000? Und dann versteh ich auch nicht warum dann die Division durch 194 folgt?!
    Die Ganze Geschichte soll die Sollwertvorgabe an einen FU werden. Wenn ich jetzt eine Feste Drehzahl an den FU geben will, wie mach ich dass dann? Hab mir mittels Dreisatz den Wert ausgerechnet den ich übergeben möchte um auf eine bestimmte Drehzahl zu kommen. 4000H = 100% = 50Hz, ich brauche 2105H was 26,31Hz entspricht.

    MfG

  10. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.724
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    Hex4000 ist der maximalwert der Ansteuerung für den FU (100 %). Diese 100% beziehen sich allerdings nicht unbedingt auf 50Hz sondern auf die im Umrichter eingestellte Maximal-Frequenz - die kann natürlich 50Hz sein.
    Den entsprechenden Ansteuerwert kannst du dann natürlich selbstverständlich über den Dreisatz ermitteln - das ist korrekt ...

    Gruß
    LL

Ähnliche Themen

  1. Kann jemand einem Laien helfen ??
    Von DoGis im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 11.06.2013, 13:38
  2. Kann mir jemand den Begriff Pollzeit erklären?
    Von Mike Vanstrike im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 24.03.2011, 14:04
  3. Kann hier jemand PRODOC von Schleicher ?
    Von Carsten81 im Forum Sonstige Steuerungen
    Antworten: 4
    Letzter Beitrag: 03.08.2010, 19:12
  4. Kann mir jemand helfen, Thema DBs und Variable
    Von berieck im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 27.08.2009, 09:53
  5. Antworten: 8
    Letzter Beitrag: 29.12.2008, 14:47

Lesezeichen

Berechtigungen

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