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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 11 von 11

Thema: Bit-Position in Wort

  1. #11
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ist ja richtig intellektuelle Lektüre heute.


    Ich hab's mal wieder genutzt, um ein klein wenig SCL zu üben:
    Zitat Zitat von hucki Beitrag anzeigen
    Ich üb' hier an den Fragestellern. Was die so alles machen wollen ...
    Für diejenigen, die's z.B. für die S7-1200 brauchen ->
    Thomas'sche Lösung in SCL (BITPOS = 1-32):
    Code:
    FUNCTION BITPOS : INT
    
    VAR_INPUT
        IN_Word : WORD;
    END_VAR
    
    
        BITPOS := DWORD_TO_INT (SHR (IN:= REAL_TO_DWORD ( DINT_TO_REAL ( DWORD_TO_DINT (IN_Word))), N:=23)) - 126;
        IF BITPOS < 0 THEN
            BITPOS := 0;
        END_IF;
    
    END_FUNCTION

    und wie ich's nach zotos Ansatz gelöst hätte
    (BITPOS = 0-31, kein Bit = -1):
    Code:
    FUNCTION BITPOS : INT
    
    VAR_INPUT
        In_WORD : WORD;
    END_VAR
    
    VAR_TEMP
        TmpWORD : WORD;
        TmpArray AT TmpWORD : ARRAY[0..15] OF BOOL ;
        i,j : INT;
    END_VAR
    
    
        TmpWORD := In_WORD;
        BITPOS := -1;
        FOR j := 8 TO 0 BY -8 DO
            FOR i := 0 TO 7 DO
                IF TmpArray[i + j] = TRUE THEN 
                    BITPOS := i + 8 - j;
                END_IF;
            END_FOR;
        END_FOR;
    
    END_FUNCTION

    Geändert von hucki (03.11.2012 um 22:24 Uhr)

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 21.09.2010, 11:54
  2. Zugriff auf Bit aus Wort in FB-Deklaration
    Von Holger Levetzow im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 20.01.2010, 15:38
  3. Antworten: 10
    Letzter Beitrag: 16.09.2009, 07:50
  4. DB Bit aus Wort auslesen
    Von Stromer im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 17.02.2007, 20:43
  5. Bit aus Wort auswerten?
    Von Anonymous im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 23.06.2004, 14:58

Lesezeichen

Berechtigungen

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