检测未对位字段数据类型(BYTE
,WORD
,DWORD
, 和LWORD
)进行的位访问。IEC 61131-3 标准只允许对位字段数据类型进行位访问。不过,CODESYS 编译器也允许对无符号数据类型进行位访问。
示例
PROGRAM PLC_PRG VAR iTemp1 : INT; diTemp3 : DINT; uliTemp4 : ULINT; siTemp5 : SINT; usiTemp6 : USINT; byTemp2 : BYTE; END_VAR iTemp1.3 := TRUE; // SA0148 diTemp3.4 := TRUE; // SA0148 uliTemp4.18 := FALSE; // SA0148 siTemp5.2 := FALSE; // SA0148 usiTemp6.3 := TRUE; // SA0148 byTemp2.5 := FALSE; // no error because BYTE is a bit field --> SA0148: Unusual bit access - strict