SA0053: Desplazamiento bit a bit demasiado grande
Detecta si se ha excedido o no el ancho del tipo de datos del operando en el caso de un desplazamiento bit a bit (desplazamiento de bits) de operandos
Justificación: si una operación de cambio excede el ancho del tipo de datos, entonces una constante 0 es generado.
Si un cambio de rotación excede el ancho del tipo de datos, entonces es difícil de leer. Por lo tanto, el valor de rotación debe acortarse.
Importancia: Alta
ejemplo 63. Ejemplo
PROGRAM PLC_PRG
VAR
byTemp1 : BYTE;
wTemp2 : WORD;
dwTemp3 : DWORD;
lwTemp4 : LWORD;
END_VAR
byTemp1 := SHR(byTemp1, BYTE#25); wTemp2 := SHL(wTemp2, BYTE#45); dwTemp3 := ROR(dwTemp3, BYTE#78); lwTemp4 := ROL(lwTemp4, BYTE#111);
Salida en el Mensajes vista:
SA0053: Desplazamiento bit a bit demasiado grande