java读取西门子PLC标签为二进制的时根据标签数据类型传入二进制数组长度的判断。
/**
* 获取数据类型大小(字节)
*/
public int getDataTypeSize(String dataType) {
if (dataType == null) return 2;
switch (dataType.toUpperCase()) {
case "BOOL":
return 1; // 实际1位,但按字节读取
case "BYTE":
return 1;
case "INT":
case "WORD":
return 2;
case "DINT":
case "DWORD":
case "REAL":
case "FLOAT":
return 4;
case "LINT":
case "LWORD":
case "LREAL":
case "DOUBLE":
return 8;
case "STRING":
return 256; // 默认字符串长度
default:
return 2;
}
}


浙公网安备 33010602011771号