mes-common/serverBase/src/main/java/com/mes/s7/enhanced/EnhancedS7Serializer.java
@@ -487,7 +487,25 @@
    private void extractField(S7ParseData item, Object data) {
        switch (item.getDataType()) {
            case BOOL:
                item.setDataItem(DataItem.createReqByBoolean((Boolean) data));
                // 类型转换容错:支持 Integer/Number 转 Boolean
                Boolean boolValue;
                if (data instanceof Boolean) {
                    boolValue = (Boolean) data;
                } else if (data instanceof Number) {
                    boolValue = ((Number) data).intValue() != 0;
                } else if (data instanceof String) {
                    String str = ((String) data).trim().toLowerCase();
                    boolValue = "true".equals(str) || "1".equals(str) || "on".equals(str);
                } else {
                    // 尝试转换为数字再转Boolean
                    try {
                        int intValue = Integer.parseInt(String.valueOf(data));
                        boolValue = intValue != 0;
                    } catch (NumberFormatException e) {
                        throw new S7CommException("无法将值转换为Boolean: " + data + " (类型: " + (data != null ? data.getClass().getName() : "null") + ")");
                    }
                }
                item.setDataItem(DataItem.createReqByBoolean(boolValue));
                break;
            case BYTE:
                item.setDataItem(DataItem.createReqByByte(ByteReadBuff.newInstance((byte[]) data)