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

Ergebnis 1 bis 9 von 9

Thema: AWL Problem

  1. #1
    Registriert seit
    01.01.2010
    Beiträge
    3
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Ich habe folgendes Problem in AWL

    Mein Programm hat verschiede nummern (1, 2 und 3) und je nach Zähler (0,1,2,3) muss ich andere Daten laden. Zeit[1],Zeit [2] Zeit [3]
    Die Zeit[0] gibt es nicht. Wie mache ich dies am einfachsten?

    Besten Dank
    Zitieren Zitieren AWL Problem  

  2. #2
    Registriert seit
    21.12.2009
    Ort
    Dielmissen
    Beiträge
    298
    Danke
    98
    Erhielt 18 Danke für 17 Beiträge

    Standard

    Was Für daten musst du den laden weil wenn es nur eine zeit ist dann ganz einfach

    u eins
    L Zeit 1
    T xyz

    so würde ich das machen .
    MFG Sebastian Licht


    Step 7 Prof. ,WinCC
    Codesys, Beckhoff Twincat 2
    EZTouchPLC
    EZPLC
    EZTextPLC

  3. #3
    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 Licht9885 Beitrag anzeigen
    weil wenn es nur eine zeit ist dann ganz einfach

    u eins
    L Zeit 1
    T xyz

    so würde ich das machen .

    und gnadenlos scheitern, bzw. dich wundern, warum immer zeit3 in xyz steht...

    je nach umfang der daten würden 3 unterschiedliche datenbausteine mit gleicher struktur in frage kommen. die daten können dann mit einem unqualifizierten zugriff nach

    Code:
    *
          AUF    DB[#myDBNumber]
    in die produktiv daten kopiert werden.

    eine andere möglichkeit wäre das anlegen einer UDT die in einem datenbaustein drei mal hinterlegt wird und entsprechend mit daten gefüllt ist. das umkopieren erfolgt dann durch zugriff mithilfe indirekter adressierung nachdem du aus dem zählerwert deinen datenoffset errechnet hast.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  4. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    phil83 (02.01.2010)

  5. #4
    Registriert seit
    11.05.2007
    Beiträge
    194
    Danke
    22
    Erhielt 53 Danke für 43 Beiträge

    Standard

    Code:
          L     Z     10                    // Zählernumer laden 
          SPL   M000                        // Sprung bei >3
          SPA   M000                        // Sprung bei 0
          SPA   M001                        // Sprung bei 1
          SPA   M002                        // Sprung bei 2
          SPA   M003                        // Sprung bei 3
    
    M000: L     S5T#0MS                     // Timerwert wenn Zählerwert 0 oder >3
          SPA   Ende
    
    M001: L     S5T#1S                      // Timerwert wenn Zählerwert 1
          SPA   Ende
    
    M002: L     S5T#2S                      // Timerwert wenn Zählerwert 2
          SPA   Ende
    
    M003: L     S5T#3S                      // Timerwert wenn Zählerwert 3
          SPA   Ende
    
    Ende: U     M     10.0                  // Start Timer
          SE    T     10                    // Start Timer als  Einschaltverzögerung
    Eine Beschreibung der "SPL Sprungleiste" findetst Du mit "F1" in der S7-Hilfe


    Gruss Hoyt
    Zitieren Zitieren Lösung mit SPL Sprungleiste  

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

    phil83 (02.01.2010)

  7. #5
    phil83 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    01.01.2010
    Beiträge
    3
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo

    Ist es nicht irgendwie möglich indirekt zu adressieren?

    z.B. L Zeit[#Zähler]
    T XXX

    Was mache ich wenn der Zähler 0 ist (Da ich die Zeit null nicht habe)

    Danke für eure Antwort

  8. #6
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Hallo,

    mit einem Vergeich:
    Code:
    L #Zaehler
    L 1
    >=I
    SPB m001
    T #Zaehler
    m001: NOP 0
    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  9. Folgender Benutzer sagt Danke zu dalbi für den nützlichen Beitrag:

    phil83 (02.01.2010)

  10. #7
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.789
    Erhielt 3.273 Danke für 2.159 Beiträge

    Standard

    Zitat Zitat von phil83 Beitrag anzeigen
    Was mache ich wenn der Zähler 0 ist (Da ich die Zeit null nicht habe)
    nimm doch das Beispiel von Hoyt das ist sehr übersichtlich, änder es
    so ab wenn du den wert "0" nicht hast.

    Code:
         L     Z     10                    // Zählernumer laden 
          SPL   M001                        // Sprung bei >3
          SPA   M001                        // Sprung bei 0
          SPA   M001                        // Sprung bei 1
          SPA   M002                        // Sprung bei 2
          SPA   M003                        // Sprung bei 3
     
     
    M001: L     S5T#1S                      // Timerwert wenn Zählerwert 1
          SPA   Ende
     
    M002: L     S5T#2S                      // Timerwert wenn Zählerwert 2
          SPA   Ende
     
    M003: L     S5T#3S                      // Timerwert wenn Zählerwert 3
          SPA   Ende
     
    Ende: U     M     10.0                  // Start Timer
          SE    T     10                    // Start Timer als  Einschaltverzögerung
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  11. Folgender Benutzer sagt Danke zu rostiger Nagel für den nützlichen Beitrag:

    phil83 (02.01.2010)

  12. #8
    phil83 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    01.01.2010
    Beiträge
    3
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Irgendwie klappts noch nicht...

    wenn ich

    L Daten.Aufheizdaten[schlaufe].Aufheizzeit
    T XXX

    eingebe kriege ich die Meldung Syntaxfehler. Was kann man da falsch machen? Die schlaufe ist eine Stat Variable (Integer)

  13. #9
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    "schlaufe" als Variable kannst du in AWL so nicht verwenden. Entweder du machst das in SCL, dann kannst du Array's mittels Variablen indizieren oder du mußt die Datenpunkte mittels indirekter Adressierung ansprechen und die Adresse für den Ablagepunkt der Daten vorher selbst berechnen. Siehe dazu zuerst einmal in der FAQ des Forums, da gibt es seht ausführliche BEiträge zum Thema.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

Ähnliche Themen

  1. OPC Problem routen problem
    Von kpeter im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 25.08.2010, 19:54

Lesezeichen

Berechtigungen

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