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

Results 1 to 8 of 8

Thread: Indirekte Adressierung von Bit's in SCL

  1. #1
    Join Date
    11.05.2006
    Posts
    79
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Muss einen AWL Baustein in SCL umschreiben. In diesem ist eine Schleife programmiert wo folgender Befehl drin ist: L P##IOs Code... +AR1 P#0.1 Hier muss offenbar nicht darauf geachtet werden, wenn die Bytegrenze überschritten wird. Wie kann ich dies im SCL machen? gruss und danke martin
    Reply With Quote Reply With Quote Indirekte Adressierung von Bit's in SCL  

  2. #2
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,402
    Danke
    422
    Erhielt 2,536 Danke für 2,108 Beiträge

    Default

    Hallo,
    das kannst (solltest) du so nicht umsetzen.
    Ich würde hier in SCL das programmieren, dass von den Codezeilen letztlich bewirkt werden soll.
    Schreib doch mal etwas dazu - dann kann ich dir da vielleicht mit etwas passenden helfen ...

    Gruß
    LL

  3. #3
    Join Date
    27.05.2004
    Location
    Thüringen/Berlin
    Posts
    13,806
    Danke
    746
    Erhielt 3,127 Danke für 2,231 Beiträge

    Default

    Larry hat da Recht, aber eine Vermutung sein mal gestattet. Der Baustein hat vielleicht eine Word, Doword als Input und nun soll auf die einzelnen Bits zugegriffen werden. In diesem Falle würde ich mit mal den "AT"-Operator in SCl ansehen. Dazu gibt die Suche hier im Forum ganz sicher einige gute Beispiele her.
    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

  4. #4
    Join Date
    11.05.2006
    Posts
    79
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Default

    Die Formulierung der Funktion des Bausteines isch etwas kompliziert. Generell sollte ein DB-Bereich (BOOL), auf den Zustand geprüft werden. Die Startadresse (z.B DB100.DX10.0) und die Anzahl Bits (z.B. 250) muss über einen Parameter vorgegeben werden können. Im AWL kein Problem aber im SCL komm ich nicht weiter.

  5. #5
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,402
    Danke
    422
    Erhielt 2,536 Danke für 2,108 Beiträge

    Default

    Das geht in etwa so :
    Code:
    BEGIN
    temp := false ;
    FOR i := 0 TO 250 BY 1 DO 
       xByte := i / 8 ;
       xBit  := i MOD 8 ; 
       temp := temp OR DB100.DX[xByte,xBit] ;
    END_FOR ;   
    END_FUNCTION_BLOCK
    Versuch dich mal da dran ...

    Gruß
    LL

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

    tarzipan7 (30.01.2009)

  7. #6
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    Quote Originally Posted by Larry Laffer View Post
    Das geht in etwa so :
    Code:
    BEGIN
    temp := false ;
    FOR i := 0 TO 250 BY 1 DO 
       xByte := i / 8 ;
       xBit  := i MOD 8 ; 
       temp := temp OR DB100.DX[xByte,xBit] ;
    END_FOR ;   
    END_FUNCTION_BLOCK
    Versuch dich mal da dran ...

    Gruß
    LL
    würde jetzt aber nicht so ganz seine funktionalität erfüllen ...

    eine frage: wie wird denn die startadresse am AWL-Baustein übergeben? BOOL??? ANY, oder?

    aber larry, ich kann dich auch noch beruhigen, der ansatz ist gut und die FOR-Schleife ist flexibel genug!
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  8. #7
    Join Date
    11.05.2006
    Posts
    79
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Default

    xBit := i MOD 8 Denke das isch die Lösung für den LOOP. startadresse wird als bool übergeben. IN IOs :BOOL; //Startadresse NoOfElements :INT; //Anzahl Loops danke und gruess martin
    Last edited by tarzipan7; 23.01.2009 at 11:47.

  9. #8
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,402
    Danke
    422
    Erhielt 2,536 Danke für 2,108 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by vierlagig View Post
    eine frage: wie wird denn die startadresse am AWL-Baustein übergeben? BOOL??? ANY, oder?

    aber larry, ich kann dich auch noch beruhigen, der ansatz ist gut und die FOR-Schleife ist flexibel genug!
    @4L:
    Ich würde dafür vermutlich einen ANY nehmen, wenn es flexibel sein soll.
    Ich habe die Fragestellung aber eher als Adressierung der Bits in einer Schleife verstanden ...
    Außerdem - ein bißchen soll Tarzipan ja auch noch machen ...

  10. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    tarzipan7 (30.01.2009)

Similar Threads

  1. SCL indirekte Adressierung von Strukturen
    By Anonymous in forum Simatic
    Replies: 24
    Last Post: 10.02.2016, 19:10
  2. Step 7 SCL Indirekte Adressierung von Multiinstanzen
    By BlueDogi in forum Simatic
    Replies: 1
    Last Post: 01.06.2015, 19:43
  3. Indirekte Adressierung in SCL
    By Atlas in forum Simatic
    Replies: 7
    Last Post: 22.04.2014, 15:27
  4. Indirekte Adressierung von STRING SCL
    By sm@rt in forum Simatic
    Replies: 6
    Last Post: 06.02.2009, 15:12
  5. indirekte Adressierung in SCL
    By BiBi in forum Simatic
    Replies: 6
    Last Post: 18.05.2007, 23:42

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •