// SCL :
// jeweils mit
   VAR CONSTANT
      cdValue1 : DWORD := 16#00000001;
   END_VAR
// Bit abfragen : - - - - - - - - - -
    obErgebnis := (ioDword AND SHL (IN:=cdValue1, N:=iiBitNr)) <> 0 ; // iiBitNr: 0..31
// Bit setzen : - - - - - - - - - -
    ioDword := ioDword OR SHL (IN:=cdValue1, N:=iiBitNr) ; // iiBitNr: 0..31
// Bit löschen : - - - - - - - - - -
    ioDword := ioDword AND NOT SHL (IN:=cdValue1, N:=iiBitNr) ; // iiBitNr: 0..31
// Bit invertieren ("toggle") : - - - - - - - - - -
    ioDword := ioDword XOR SHL (IN:=cdValue1, N:=iiBitNr) ; // iiBitNr: 0..31
// Bit zuweisen : - - - - - - - - - -
    ioDword := SEL (G:= ibBitValueToBeCopied, IN0:= ioDword OR SHL (IN:=cdValue1, N:=iiBitNr), IN1:= ioDword AND NOT SHL (IN:=cdValue1, N:=iiBitNr)) ;
    // A C H T U N G ! ! ! Ggfs müssen die Parameter IN0 und IN1 des SEL getauscht werden!
    // Leider bin ich aus der Beschreibung der Funktion SEL und aus dem noch dürftigeren Beispiel nicht schlau geworden.
    // alternativ mit IF
    IF ibBitValueToBeCopied XOR ((ioDword AND SHL (IN:=cdValue1, N:=iiBitNr)) <> 0) THEN
        ioDword := ioDword XOR SHL (IN:=cdValue1, N:=iiBitNr) ; // iiBitNr: 0..31
    END_IF ;
    // alternativ mit IF und temp. Variable tdBitPat
    tdBitPat := SHL (IN:=cdValue1, N:=iiBitNr) ; // iiBitNr: 0..31
    IF ibBitValueToBeCopied XOR ((ioDword AND tdBitPat) <> 0) THEN
        ioDword := ioDword XOR tdBitPat ;
    END_IF ;