SA0053: Zu große bitweise Verschiebung
Ermittelt bei bitweiser Verschiebung (Bitverschiebung) von Operanden, ob die Datentypbreite des Operanden überschritten wurde.
Begründung: Wenn eine Verschiebeoperation über die Datentypbreite hinausgeht, dann erzeugt man eine Konstante 0.
Wenn eine Rotationsverschiebung über die Datentypbreite hinausgeht, dann ist das schwer zu lesen und der Rotationswert sollte deswegen gekürzt werden.
Wichtigkeit: Hoch
Beispiel 63. Beispiel
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);
Ausgabe unter Ansicht Meldungen:
SA0053: Zu große bitweise Verschiebung