Skip to main content

SA0148:异常位访问 -strict

检测未对位域数据类型进行的位访问(BYTE, WORD, DWORD, 和 LWORD)。 IEC 61131-3 标准只允许对位域数据类型进行位访问。但是,那 CODESYS 编译器还允许对无符号数据类型进行位访问。

重要性:低

109. 例子
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 bitfield

输出在 留言 看法:

  • sa_icon_message.png SA0148:不寻常的位访问 - 严格