名称 | 数据类型 | 默认值 | 保持 | 注释 |
---|
Input | | | | |
BYTEIN | Array[0…3] of Byte | | 非保持 | 输入 |
BYTE_ORDER | Int | | 非保持 | 字节顺序,0->1234,1->2143,2->3412,3->4321 |
InOut | | | | |
BYTE_OUT | Array[0…3] of Byte | | | 输出 |
Temp | | | | |
VBYTE | Array[0…3] of Byte | | | |
BYTE_ORDER_RIGHT | bool | | | |
(********************************************************************
功能:将4个byte 更换字节顺序
说明:BYTE_ORDER--字节顺序,0->1234,1->2143,2->3412,3->4321
********************************************************************)
CASE #BYTE_ORDER OF
0:
#VBYTE[0] := #BYTEIN[0];
#VBYTE[1] := #BYTEIN[1];
#VBYTE[2] := #BYTEIN[2];
#VBYTE[3] := #BYTEIN[3];
#BYTE_ORDER_RIGHT := TRUE;
1:
#VBYTE[0] := #BYTEIN[1];
#VBYTE[1] := #BYTEIN[0];
#VBYTE[2] := #BYTEIN[3];
#VBYTE[3] := #BYTEIN[2];
#BYTE_ORDER_RIGHT := TRUE;
2:
#VBYTE[0] := #BYTEIN[2];
#VBYTE[1] := #BYTEIN[3];
#VBYTE[2] := #BYTEIN[0];
#VBYTE[3] := #BYTEIN[1];
#BYTE_ORDER_RIGHT := TRUE;
3:
#VBYTE[0] := #BYTEIN[3];
#VBYTE[1] := #BYTEIN[2];
#VBYTE[2] := #BYTEIN[1];
#VBYTE[3] := #BYTEIN[0];
#BYTE_ORDER_RIGHT := TRUE;
ELSE
#BYTE_ORDER_RIGHT := FALSE;
END_CASE;
IF #BYTE_ORDER_RIGHT THEN
MOVE_BLK(IN := #VBYTE[0],
COUNT := 4,
OUT => #BYTE_OUT[0]);
ELSE
#BYTE_OUT[0] := #BYTE_OUT[1] := #BYTE_OUT[2] := #BYTE_OUT[3] := 0;
END_IF;