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