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

Ergebnis 1 bis 6 von 6

Thema: AWL - Schleife mit Array

  1. #1
    Registriert seit
    09.10.2012
    Beiträge
    54
    Danke
    19
    Erhielt 8 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, Ich habe eine Schleife in AWL:
    Code:
    A #CommingDevice
    JCN NCOM L 255 // Transfer 255 to loop counter
     LCOM: T #loopCounter // Loop counter 
    L #loopCounter 
    L #LastAdress 
    ==I 
    R #UDT_PN_DIAG.FAILED_SLAVES[0] 
    S #UDT_PN_DIAG.EXIST_SLAVES[0] 
    L #loopCounter 
    LOOP LCOM 
    NCOM: NOP 0
    Der Array ist vom Typ Bool, und ich möchte nun die 0 durch #LastAdress ersetzen, damit ich von dem Array nur ein bestimmtes Bit setze. Der Array steht in einem DB. Eine Vatiable wie in anderen Programmiersprachen kann ich nicht direkt einsetzen.
    Es ist nicht leicht über einen Witz zu lachen,...
    wenn man gerade über einen anderen Witz lacht...
    Zitieren Zitieren AWL - Schleife mit Array  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Hallo,
    Nein ... das geht so in AWL nicht (das könnte nur SCL).
    Du müßtest dir einen Pointer auf dein Array-Element bilden, auf den (Bit-)Pointer den den Betrag von #LastAdress aufaddieren und damit dann die gewünschte Speicher-Adresse in dem DB verändern ...
    Beispiel für die Pointer-Geschichte z.B. hier : Pointer Zeiger FIFO LIFO

    Gruß
    Larry

  3. #3
    bo1986 ist offline Benutzer
    Themenstarter
    Registriert seit
    09.10.2012
    Beiträge
    54
    Danke
    19
    Erhielt 8 Danke für 6 Beiträge

    Standard

    OK Danke,
    Werde ich mal ausprobieren. Hab mir etwas in der Richtung fast gedacht aber wusste nicht, ob das dann bittweise dazuaddiert oder nur Byteweise geht...
    Es ist nicht leicht über einen Witz zu lachen,...
    wenn man gerade über einen anderen Witz lacht...

  4. #4
    bo1986 ist offline Benutzer
    Themenstarter
    Registriert seit
    09.10.2012
    Beiträge
    54
    Danke
    19
    Erhielt 8 Danke für 6 Beiträge

    Standard

    OK Danke,
    Werde ich mal ausprobieren. Hab mir etwas in der Richtung fast gedacht aber wusste nicht, ob das dann bittweise dazuaddiert oder nur Byteweise geht...
    Es ist nicht leicht über einen Witz zu lachen,...
    wenn man gerade über einen anderen Witz lacht...

  5. #5
    bo1986 ist offline Benutzer
    Themenstarter
    Registriert seit
    09.10.2012
    Beiträge
    54
    Danke
    19
    Erhielt 8 Danke für 6 Beiträge

    Standard

    Wenn ich nun:
    Code:
    L   #LastAdress   
    OPN   "PN_DIAG_VI_DB"
    A     DBX [AR1,P#94.0]
    eingebe wird immer nur das erste Bit des arrays angesprochen...
    Habe es auch mit einem festwert probiert, aber da wird auch nur das erste Bit angesprochen. ich habe #LastAdress als Int deklariert...
    was mache ich da falsch?
    Es ist nicht leicht über einen Witz zu lachen,...
    wenn man gerade über einen anderen Witz lacht...

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Du müßtest erstmal die Anfangsadresse deines Array's laden (das sehe ich noch nicht).
    Darauf dann #LastAdress aufaddieren (+D)
    Das dann ins AR1 bringen und dann wie es schon stehen hast verarbeiten ...

    Gruß
    Larry

Ähnliche Themen

  1. awl schleife und pointer
    Von Iserlohner im Forum Simatic
    Antworten: 28
    Letzter Beitrag: 18.02.2011, 09:12
  2. IF oder FOR Schleife in AWL?
    Von motamas im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 21.07.2010, 14:19
  3. Schleife - Array
    Von mde im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 05.03.2009, 10:21
  4. Antworten: 2
    Letzter Beitrag: 12.05.2006, 07:54
  5. AWL Schleife
    Von Anonymous im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 31.07.2003, 07:05

Stichworte

Lesezeichen

Berechtigungen

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