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

Ergebnis 1 bis 6 von 6

Thema: einfache Frage zu AWL

  1. #1
    Registriert seit
    21.11.2011
    Beiträge
    25
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    da ich bisher hauptsächlich FUP und ST (CoDeSys) programmiert habe, bin ich mir jetzt gerade etwas unsicher, was AWL (S7) betrifft. Für das Projekt muss es aber AWL sein.

    Es geht um eine ganz einfache Mittelwertbildung zweier Analogwerte (Niveau Wasserstand zweier Behälter), der nur dann gebildet werden darf, wenn der keiner der beiden den Status Revision hat. Sonst muss der Wasserstand des jeweils nicht auf Revision stehenden Behälters direkt in den Mittelwert kopiert werden.

    Ich dachte jetzt, dass das einfach so zu lösen ist:
    Code:
          U     "DB Meldungen".bTest.bSTAT_WK1_Betrieb
          U     "DB Meldungen".bTest.bSTAT_WK2_Betrieb
          L     "DB Analogwerte".rTest.rIW_WK1
          L     "DB Analogwerte".rTest.rIW_WK2
          +R    
          L     2.000000e+000
          /R    
          T     "DB Analogwerte".rTest.rIW_WK12
    
          UN    "DB Meldungen".bTest.bSTAT_WK1_Betrieb
          U     "DB Meldungen".bTest.bSTAT_WK2_Betrieb
          L     "DB Analogwerte".rTest.rIW_WK2
          T     "DB Analogwerte".rTest.rIW_WK12
    
          U     "DB Meldungen".bTest.bSTAT_WK1_Betrieb
          UN    "DB Meldungen".bTest.bSTAT_WK2_Betrieb
          L     "DB Analogwerte".rTest.rIW_WK1
          T     "DB Analogwerte".rTest.rIW_WK12
    Darf ich den 2. und 3. Block für die Revisionsfälle mit in dem Netzwerk haben, oder müssen die jeweils in ein separates Netzwerk?

    Wenn ich den ersten Block in FUP programmiere und in AWL konvertiere, erhalte ich zusätzlich Klammern und Sprungmarken. Sind die alle notwendig?
    Code:
          U(    
          U     "DB Meldungen".bTest.bSTAT_WK1_Betrieb
          U     "DB Meldungen".bTest.bSTAT_WK2_Betrieb
          SPBNB _001
          L     "DB Analogwerte".rTest.rIW_WK1
          L     "DB Analogwerte".rTest.rIW_WK2
          +R    
          T     #rHM_WK1_plus_WK2
          UN    OV
          SAVE  
          CLR   
    _001: U     BIE
          )     
          SPBNB _002
          L     #rHM_WK1_plus_WK2
          L     2.000000e+000
          /R    
          T     "DB Analogwerte".rTest.rIW_WK12
    _002: NOP   0
    Sind vielleicht dumme Fragen, aber wie gesagt mir fehlt die AWL-Erfahrung
    Zitieren Zitieren einfache Frage zu AWL  

  2. #2
    Registriert seit
    14.10.2010
    Ort
    Telgte
    Beiträge
    653
    Danke
    97
    Erhielt 129 Danke für 99 Beiträge

    Standard

    Hi,
    Lade- und Transferbefehle sind nicht vom VKE abhängig.
    Daher muss man ggf überspringen wenn man nicht alle Befehle durchführen möchte.
    Wenn man es selber in AWL programmiert und nicht von FUP nach AWL konvertiert,
    dann sieht es aber längst nicht so schlimm aus.
    Jetzt sind bei dir die notwendigen Befehle für die "Bildbausteine" FUP mit drin,
    die man sich teilweise sparen kann wenn man direkt in AWL programmiert und nicht auf FUP konvertieren können möchte.

    Gruß
    Toki
    Geändert von Toki0604 (05.03.2012 um 11:03 Uhr)
    Programmierumgebung: Step7 V5.5, WinCCflex2008-SP3, TIA-PortalV13, MicroWinV4.0

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

    iLink (05.03.2012)

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

    Standard

    Toki0604 hat recht und du siehst ja selbst das die Umschaltung aus FUP nach AWL Sprunganweisungen eingefügt hat (im Vergleich zu deinem selbsterstellten AWL-Code), prinzipiell kannst du alles in einem NW machen. Die einfache Logik sieht doch so aus:
    Code:
    Mod1: 
    U Bedingung 1 
    U Bedingung 2
    SPBN Mod2
    
     L Dies
     T nach Das
     SPA Ende
    
    Mod2: 
    U Bedingung 1
    Un Bedingung 2
    SPBN Modx
    
    L Jenes
    T nach Das
    SPA Ende
    
    Modx: ....
    Ende: NOP 0
    Geändert von Sinix (05.03.2012 um 11:09 Uhr)
    and we all support the team (S.King - Die Arena)

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

    iLink (05.03.2012)

  6. #4
    iLink ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.11.2011
    Beiträge
    25
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank. Das waren wichtige Infos. Also brauch ich die Sprungbefehle / Marken. Kann aber aber auf die umständliche Verschachtelung von FUP verzichten.

  7. #5
    Registriert seit
    20.02.2008
    Beiträge
    332
    Danke
    16
    Erhielt 40 Danke für 37 Beiträge

    Standard

    Ganz schick sieht es so aus:

    Code:
          L     "DB Analogwerte".rTest.rIW_WK1
          L     "DB Analogwerte".rTest.rIW_WK2
          +R
          L     2.000000e+000
          /R
          U     "DB Meldungen".bTest.bSTAT_WK1_Betrieb
          U     "DB Meldungen".bTest.bSTAT_WK2_Betrieb
          SPB   AVER
          L     "DB Analogwerte".rTest.rIW_WK2
          UN    "DB Meldungen".bTest.bSTAT_WK1_Betrieb
          U     "DB Meldungen".bTest.bSTAT_WK2_Betrieb
          SPB   AVER
          L     "DB Analogwerte".rTest.rIW_WK1
          U     "DB Meldungen".bTest.bSTAT_WK1_Betrieb
          UN    "DB Meldungen".bTest.bSTAT_WK2_Betrieb
          SPB   AVER
          L     0.0000e+000
    AVER: T     "DB Analogwerte".rTest.rIW_WK12
    Du lädst schon mal die Berechnung in den Akku1 und wenn die Bedingung stimmt, springst Du zu der Zeile, wo das Ergebnis aus dem Akku1 geholt wird. Das L 0.0 mache ich immer, um unerwartete Bedingungen abzufangen und einen definierten Wert zu schreiben. Ist bei diesem Beispiel z.B. möglich, wenn beide Behälter im Status Revision stehen. Das ist sozusagen ein Default-Wert.

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

    iLink (05.03.2012)

  9. #6
    iLink ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.11.2011
    Beiträge
    25
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke asci25

    Das ist wirklich schick
    Und deine Begründung bezüglich des letzten "L" leuchtet mir ein. Mach ich so.

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 29.12.2005, 15:07
  2. Antworten: 2
    Letzter Beitrag: 07.12.2005, 15:34
  3. Antworten: 1
    Letzter Beitrag: 07.12.2005, 14:31
  4. moeller easy soft [einfache frage]
    Von VyRuz im Forum Sonstige Steuerungen
    Antworten: 8
    Letzter Beitrag: 02.11.2005, 15:56
  5. Einfache Frage? - Schalten mit einem Taster
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 06.03.2004, 15:29

Lesezeichen

Berechtigungen

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