From d0c990eaf6cfdbf77c1f4f8db272f4964ec43310 Mon Sep 17 00:00:00 2001 From: C3204 <zhengyabo@lanpucloud.cn> Date: 星期四, 15 一月 2026 15:58:15 +0800 Subject: [PATCH] 优化西门子S7通讯:支持多数据类型、UI布局调整及配置持久化修复 详细说明: 1. 通讯核心 (SiemensLBS7) * 多类型支持:完善 SendMessage 和 ReceiveMsg,支持 Bool, Byte, Int, DInt, Real, Double, Word, DWord, String的读写。 * Bool 解析优化:增强布尔值解析逻辑,支持字符串 "1"/"0" 及 "True"/"False"(不区分大小写)。 * 错误反馈:捕获数据转换异常(如格式错误),将具体错误信息写入 Msg 属性,便于 UI 展示。 --- LB_SmartVision/log4net.config | 213 +++++++++++++++++++++++++++-------------------------- 1 files changed, 109 insertions(+), 104 deletions(-) diff --git a/LB_SmartVision/log4net.config b/LB_SmartVision/log4net.config index 0c99c8f..ada98e4 100644 --- a/LB_SmartVision/log4net.config +++ b/LB_SmartVision/log4net.config @@ -1,107 +1,112 @@ 锘�<?xml version="1.0" encoding="utf-8" ?> <configuration> -<configSections> - <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> -</configSections> -<log4net> - <root> - <level value="ALL"/> - <!-- 娣诲姞鎵�鏈塧ppender寮曠敤 --> - <appender-ref ref="DebugLogger" /> - <appender-ref ref="InfoLogger" /> - <appender-ref ref="WarnLogger" /> - <appender-ref ref="ErrorLogger" /> - <appender-ref ref="FatalLogger" /> - </root> - <appender name="DebugLogger" type="log4net.Appender.RollingFileAppender"> - <file value="鐢熶骇鏃ュ織\Debug_Log\"/> - <appendToFile value="true" /> - <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> - <Encoding value="UTF-8" /> - <maxSizeRollBackups value="-1"/> - <StaticLogFileName value="false"/> - <rollingStyle value="Date" /> - <param name="datePattern" value="yyyy-MM/yyyy-MM-dd.'log'" /> - <createDirs value="true" /> - <filter type="log4net.Filter.LevelRangeFilter"> - <levelMin value="DEBUG" /> - <levelMax value="DEBUG" /> - </filter> - <layout type="log4net.Layout.PatternLayout"> - <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" /> - </layout> - </appender> - <appender name="InfoLogger" type="log4net.Appender.RollingFileAppender"> - <file value="鐢熶骇鏃ュ織\Run_Log\"/> - <appendToFile value="true" /> - <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> - <Encoding value="UTF-8" /> - <maxSizeRollBackups value="-1"/> - <StaticLogFileName value="false"/> - <rollingStyle value="Date" /> - <param name="datePattern" value="yyyy-MM/yyyy-MM-dd.'log'" /> - <createDirs value="true" /> - <filter type="log4net.Filter.LevelRangeFilter"> - <levelMin value="INFO" /> - <levelMax value="INFO" /> - </filter> - <layout type="log4net.Layout.PatternLayout"> - <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" /> - </layout> - </appender> - <appender name="WarnLogger" type="log4net.Appender.RollingFileAppender"> - <file value="鐢熶骇鏃ュ織\Warn\"/> - <appendToFile value="true" /> - <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> - <Encoding value="UTF-8" /> - <maxSizeRollBackups value="10"/> - <StaticLogFileName value="false"/> - <rollingStyle value="Date" /> - <param name="datePattern" value="yyyy-MM/yyyy-MM-dd.'log'" /> - <createDirs value="true" /> - <filter type="log4net.Filter.LevelRangeFilter"> - <levelMin value="WARN" /> - <levelMax value="WARN" /> - </filter> - <layout type="log4net.Layout.PatternLayout"> - <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" /> - </layout> - </appender> - <appender name="ErrorLogger" type="log4net.Appender.RollingFileAppender"> - <file value="鐢熶骇鏃ュ織\Error_Log\"/> - <appendToFile value="true" /> - <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> - <Encoding value="UTF-8" /> - <maxSizeRollBackups value="-1"/> - <StaticLogFileName value="false"/> - <rollingStyle value="Date" /> - <param name="datePattern" value="yyyy-MM/yyyy-MM-dd.'log'" /> - <createDirs value="true" /> - <filter type="log4net.Filter.LevelRangeFilter"> - <levelMin value="ERROR" /> - <levelMax value="ERROR" /> - </filter> - <layout type="log4net.Layout.PatternLayout"> - <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" /> - </layout> - </appender> - <appender name="FatalLogger" type="log4net.Appender.RollingFileAppender"> - <file value="鐢熶骇鏃ュ織\Fatal\"/> - <appendToFile value="true" /> - <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> - <Encoding value="UTF-8" /> - <maxSizeRollBackups value="-1"/> - <StaticLogFileName value="false"/> - <rollingStyle value="Date" /> - <param name="datePattern" value="yyyy-MM/yyyy-MM-dd.'log'" /> - <createDirs value="true" /> - <filter type="log4net.Filter.LevelRangeFilter"> - <levelMin value="FATAL" /> - <levelMax value="FATAL" /> - </filter> - <layout type="log4net.Layout.PatternLayout"> - <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" /> - </layout> - </appender> -</log4net> + <configSections> + <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> + </configSections> + <log4net> + <root> + <level value="ALL"/> + <!-- 娣诲姞鎵�鏈塧ppender寮曠敤 --> + <appender-ref ref="DebugLogger" /> + <appender-ref ref="InfoLogger" /> + <appender-ref ref="WarnLogger" /> + <appender-ref ref="ErrorLogger" /> + <appender-ref ref="FatalLogger" /> + </root> + <appender name="DebugLogger" type="log4net.Appender.RollingFileAppender"> + <file value="鐢熶骇鏃ュ織\Debug\"/> + <appendToFile value="true" /> + <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> + <Encoding value="UTF-8" /> + <rollingStyle value="Composite" /> + <datePattern value="yyyy-MM/yyyy-MM-dd.'log'" /> + <maximumFileSize value="10MB" /> + <maxSizeRollBackups value="-1" /> + <StaticLogFileName value="true" /> + <createDirs value="true" /> + <filter type="log4net.Filter.LevelRangeFilter"> + <levelMin value="DEBUG" /> + <levelMax value="DEBUG" /> + </filter> + <layout type="log4net.Layout.PatternLayout"> + <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" /> + </layout> + </appender> + <appender name="InfoLogger" type="log4net.Appender.RollingFileAppender"> + <file value="鐢熶骇鏃ュ織\Run\"/> + <appendToFile value="true" /> + <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> + <Encoding value="UTF-8" /> + <rollingStyle value="Composite" /> + <datePattern value="yyyy-MM/yyyy-MM-dd.'log'" /> + <maximumFileSize value="10MB" /> + <maxSizeRollBackups value="-1" /> + <StaticLogFileName value="true" /> + <createDirs value="true" /> + <filter type="log4net.Filter.LevelRangeFilter"> + <levelMin value="INFO" /> + <levelMax value="INFO" /> + </filter> + <layout type="log4net.Layout.PatternLayout"> + <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" /> + </layout> + </appender> + <appender name="WarnLogger" type="log4net.Appender.RollingFileAppender"> + <file value="鐢熶骇鏃ュ織\Warn\"/> + <appendToFile value="true" /> + <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> + <Encoding value="UTF-8" /> + <rollingStyle value="Composite" /> + <datePattern value="yyyy-MM/yyyy-MM-dd.'log'" /> + <maximumFileSize value="10MB" /> + <maxSizeRollBackups value="-1" /> + <StaticLogFileName value="true" /> + <createDirs value="true" /> + <filter type="log4net.Filter.LevelRangeFilter"> + <levelMin value="WARN" /> + <levelMax value="WARN" /> + </filter> + <layout type="log4net.Layout.PatternLayout"> + <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" /> + </layout> + </appender> + <appender name="ErrorLogger" type="log4net.Appender.RollingFileAppender"> + <file value="鐢熶骇鏃ュ織\Error\"/> + <appendToFile value="true" /> + <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> + <Encoding value="UTF-8" /> + <rollingStyle value="Composite" /> + <datePattern value="yyyy-MM/yyyy-MM-dd.'log'" /> + <maximumFileSize value="10MB" /> + <maxSizeRollBackups value="-1" /> + <StaticLogFileName value="true" /> + <createDirs value="true" /> + <filter type="log4net.Filter.LevelRangeFilter"> + <levelMin value="ERROR" /> + <levelMax value="ERROR" /> + </filter> + <layout type="log4net.Layout.PatternLayout"> + <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" /> + </layout> + </appender> + <appender name="FatalLogger" type="log4net.Appender.RollingFileAppender"> + <file value="鐢熶骇鏃ュ織\Fatal\"/> + <appendToFile value="true" /> + <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> + <Encoding value="UTF-8" /> + <rollingStyle value="Composite" /> + <datePattern value="yyyy-MM/yyyy-MM-dd.'log'" /> + <maximumFileSize value="10MB" /> + <maxSizeRollBackups value="-1" /> + <StaticLogFileName value="true" /> + <createDirs value="true" /> + <filter type="log4net.Filter.LevelRangeFilter"> + <levelMin value="FATAL" /> + <levelMax value="FATAL" /> + </filter> + <layout type="log4net.Layout.PatternLayout"> + <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" /> + </layout> + </appender> + </log4net> </configuration> \ No newline at end of file -- Gitblit v1.9.3