声明
FUNCTION_BLOCK FB_BubbleSortMethod_1
VAR_INPUT
        EN:BOOL;//ENABLE      
    moder_mode;
        data_IN:ARRAY[0..9] OF INT;
END_VAR
VAR_OUTPUT
        ENO:BOOL;//out
        data_OUT:ARRAY[0..9] OF INT;
END_VAR
VAR
        ARR:ARRAY[0..9] OF INT;
        N: INT;
        I: INT;
        M: INT;
        J: INT;
        T: int;
END_VAR

程序



ENO:=EN;
ARR:=data_IN;
IF EN THEN      
        IF MODE=InvertedSequence THEN
        FOR  N:=0 TO 9 BY 1 DO
            IF I<9-N THEN I:=9-N; END_IF      
                FOR M:=0 TO i-1 BY 1 DO
                        J:=M+1;                 
           IF  ARR[M]>ARR[J] THEN
                                T:=ARR[M];
                                ARR[M]:=ARR[J];
                                ARR[J]:=T;
                   END_IF                       
                END_FOR
        END_FOR
        ELSIF MODE=seriation THEN
        FOR  N:=0 TO 9 BY 1 DO
            IF I<9-N THEN I:=9-N; END_IF      
                FOR M:=0 TO i-1 BY 1 DO
                        J:=M+1;                 
           IF  ARR[M]<ARR[J] THEN
                                T:=ARR[M];
                                ARR[M]:=ARR[J];
                                ARR[J]:=T;
                   END_IF                       
                END_FOR
        END_FOR
        END_IF
END_IF
IF NOT EN THEN
        data_OUT[0]:=
        data_OUT[1]:=
        data_out[2]:=
        data_out[3]:=
        data_out[4]:=
    data_out[5]:=
        data_out[6]:=
        data_out[7]:=
        data_out[8]:=
        data_out[9]:=0;
END_IF
data_OUT:=ARR;