天天看点

西门子SCL编程实例—字与位的转换Word_To_Bit

作者:巨控小周

该功能将输出字写到 16 个二进制输出。

西门子SCL编程实例—字与位的转换Word_To_Bit
西门子SCL编程实例—字与位的转换Word_To_Bit

输入参数:

Reset:TRUE = 将输出 BIT_0 ~ BIT_15 设为 FALSE。

InWord:输入字

输出参数:

BIT_0-BIT_15: 16 个二进制输出

代码:

西门子SCL编程实例—字与位的转换Word_To_Bit
REGION (* Programm *)
(* Bei einem Reset alle Ausgaenge auf False setzen*)
    IF #Reset THEN
        #BIT_0 := FALSE;
        #BIT_1 := FALSE;
        #BIT_2 := FALSE;
        #BIT_3 := FALSE;
        #BIT_4 := FALSE;
        #BIT_5 := FALSE;
        #BIT_6 := FALSE;
        #BIT_7 := FALSE;
        #BIT_8 := FALSE;
        #BIT_9 := FALSE;
        #BIT_10 := FALSE;
        #BIT_11 := FALSE;
        #BIT_12 := FALSE;
        #BIT_13 := FALSE;
        #BIT_14 := FALSE;
        #BIT_15 := FALSE;
        
    ELSE
        #BIT_8 := #InWord.%X0;
        #BIT_9 := #InWord.%X1;
        #BIT_10 := #InWord.%X2;
        #BIT_11 := #InWord.%X3;
        #BIT_12 := #InWord.%X4;
        #BIT_13 := #InWord.%X5;
        #BIT_14 := #InWord.%X6;
        #BIT_15 := #InWord.%X7;
        #BIT_0 := #InWord.%X8;
        #BIT_1 := #InWord.%X9;
        #BIT_2 := #InWord.%X10;
        #BIT_3 := #InWord.%X11;
        #BIT_4 := #InWord.%X12;
        #BIT_5 := #InWord.%X13;
        #BIT_6 := #InWord.%X14;
        #BIT_7 := #InWord.%X15;
    END_IF;
END_REGION