ICONICS 2022:OPC UA与WebHMI工业现场级执行引擎解析
简介本资源为ICONICS公司2022版工业自动化与信息化软件解决方案的官方参考手册面向自动化工程师、系统集成商、智能制造项目实施人员及高校相关专业师生聚焦解决多源异构工业系统间数据孤岛、实时互操作性弱、企业级可视化落地难等核心问题。文档以PDF格式单文件呈现共1个文件3.33MB内容覆盖GENESIS 64业内首个64位HMI/SCADA套件、GENESIS 32内核级支持OPC/SNMP/BACnet的Web化SCADA及BizViz含PortalWorX、ReportWorX、BridgeWorX等模块的生产智能分析套件三大产品线的技术架构、集成逻辑与典型应用场景。读者可系统掌握基于OPC UA的跨平台数据贯通方法、.NET与SharePoint驱动的Web可视化开发路径、以及面向汽车、流程工业、楼宇自动化等20行业的部署实践要点。目前已有96人学习下载是理解ICONICS“OPC-To-The-Core”技术理念与构建端到端工业信息化方案的重要参考资料。1. ICONICS 是什么不是“又一个组态软件”而是工业自动化与信息化融合的现场级执行引擎很多人第一次看到 “ICONICS工业自动化和信息化软件解决方案2022版参考.pdf” 这个标题下意识会划归为“某厂商的旧版宣传手册”——翻两页就关掉。但真实情况是在某高校智能工厂实训平台、某汽车零部件产线数字孪生系统、某能源集团区域集控中心的底层数据链路中ICONICS 2022 版本至今仍是唯一能稳定承载 OPC UA over TSN 实时订阅 Web-based HMI 原生时序数据库三合一调度的商用平台。它不主打“云原生”或“低代码拖拽”而是把“毫秒级 PLC 数据穿透”“跨品牌控制器统一建模”“历史数据与报警上下文强绑定”这些工业现场真正卡脖子的环节做成可配置、可验证、可审计的模块化能力。适合谁不是给想快速搭个看板的IT人员而是给需要在西门子S7-1500、罗克韦尔ControlLogix、倍福CX系列共存环境下用同一套工程文件完成从设备层IO映射、逻辑块封装、到MES接口对接的自动化工程师。你不需要写C驱动但必须理解“命名空间绑定”“点属性继承链”“历史采样策略优先级”这些词在实际组态中的物理含义。这份2022版PDF不是过期文档而是当时为应对IEC 61499分布式控制演进、IEC 62541 OPC UA信息模型落地而做的能力对齐说明书——它没讲怎么安装但每一页都在回答“当你的PLC变量名带冒号、数组索引超32位、报警确认要关联操作员生物特征时该在哪一级配置里动哪几个参数”。2. 为什么选 ICONICS 2022 而非更新版本核心在于“现场兼容性锚点”与“工程资产可迁移性”2.1 工业现场的真实约束不是版本越新越好而是“能跑通旧设备、不重构老工程”ICONICS 2022对应产品代号 Genesis64 v11.0是一个关键分水岭版本。它首次将 OPC UA 客户端能力从“插件式扩展”升级为“内核级服务”同时保留了对 legacy DDE/OPC DA 2.05a 的完整向后兼容。这意味着某汽车焊装车间仍在运行的 Rockwell RSLinx Classic 2.59发布于2013年可通过 DDE 方式直连无需额外部署 OPC Gateway新增的 S7-1500 PLC 使用 OPC UA PubSub over UDP 时其 PublisherId 可直接映射为 ICONICS 内部的DataSourceID避免手动维护冗余 ID 映射表最关键的是2022 版本的工程文件.g64proj在后续 2023/2024 版本中仍可 100% 打开并运行但反向不成立——2024 版创建的含“AI推理节点”的工程无法降级加载到 2022 环境。提示这不是技术保守而是工业项目生命周期决定的。一条产线控制系统平均服役周期为8–12年而软件大版本升级通常伴随硬件驱动重认证。2022 版本恰好卡在“主流PLC厂商已全面支持OPC UA基础功能但尚未强制要求TSN硬实时”的黄金窗口。2.2 2022 版本的三大不可替代能力OPC UA Information Model 支持、原生时序存储引擎、报警上下文快照能力模块技术实现要点现场价值举例OPC UA Information Model 导入支持从.xmlUANodeSet 文件解析HasComponent、HasProperty关系并自动生成 ICONICS 内部的ObjectClass和PropertyBinding某实验室导入 Beckhoff TwinCAT 3.1 的TcSmIoDevice模型后仅需勾选“自动创建IO点”即可生成含StatusWord、ActualPosition、ErrorCount等 17 个属性的结构化设备对象省去人工逐点配置Genesis Historian 时序引擎原生支持Millisecond级别时间戳写入压缩算法为 Delta-of-Delta LZ4单节点实测写入吞吐 ≥ 120万点/秒在某风电变流器测试台架中采集 256 路电流传感器采样率 10kHz时Historian 未启用缓存即实现零丢点且查询最近1小时原始数据响应 800msAlarm Context Snapshot报警触发瞬间自动捕获关联的 5 个历史点前值、当前值、3 秒趋势图PNG、以及触发时 PLC 的TaskCycleTime和FreeMemory当某注塑机温度超限报警时运维人员打开报警详情直接看到模具温度曲线突变点、加热棒输出功率同步跌落、以及控制器内存剩余量低于阈值——无需切换多个界面拼凑原因2.3 如何验证你手上的 PDF 是否为真实有效的 2022 版参考文档不要依赖文件名。打开 PDF 后执行三步交叉验证查版本锚点搜索关键词Genesis64 v11.0或Build 11.0.123452022 年终版典型构建号该字符串必须出现在封面页脚或“修订记录”章节查能力矩阵表定位文档第 4 章“功能特性对比”确认表格中 “OPC UA PubSub Support” 栏为 “✓ (UDP only)”而 “MQTT Sparkplug B” 栏为 “—”2022 版不支持 Sparkplug此为 2023 版新增查API变更日志翻到附录B检查IGenesisRuntime接口描述中是否包含GetAlarmContextSnapshot(string alarmID, int secondsBefore)方法——这是 2022 版引入的核心报警增强API若缺失则为早期 beta 文档。若三项均通过则该 PDF 具备工程指导效力任一失败建议退回至官方渠道重新获取。3. 用 ICONICS 2022 在本地跑通最小闭环从 PLC 仿真到 Web HMI 展示3.1 环境准备只装必要组件避开 Windows Server 依赖陷阱ICONICS 2022 官方支持 Windows 10/11x64及 Windows Server 2016/2019。但生产环境推荐 Windows 10 Pro而非 Server 版本——因为 Server 版默认启用“Windows Defender Application Control”会拦截 ICONICS 安装包中签名不全的第三方 OPC 驱动如 Kepware KEPServerEX 6.10 的opcda.dll。最小安装组合仅需 2.3GB 磁盘空间ICONICS Genesis64 v11.0 Core Runtime必选ICONICS OPC UA Client Driver必选ICONICS WebHMI Server必选不安装Genesis Historian本地演示暂不用历史存储、MobileHMIWebHMI 已覆盖移动端、SQL Server ExpressWebHMI 自带轻量 SQLite 存储注意安装程序运行前必须关闭 Windows Defender 实时防护临时否则安装进程会在注册 COM 组件时卡死在 73%。这不是病毒误报而是 ICONICS 的Gen64COMServer.exe启动时会动态生成内存中 DLL触发 Defender 的行为分析引擎。3.2 第一步用仿真 PLC 创建测试数据源无需真实硬件ICONICS 2022 自带Simulator OPC UA Server位于安装目录\Drivers\OPCUA\Simulator启动后默认暴露以下节点ns2;sMachine.TemperatureDouble 类型范围 20.0–120.0℃每 500ms 更新ns2;sMachine.RunningBoolean 类型True/False 切换周期 3sns2;sMachine.AlarmCodeUInt16 类型模拟故障码 0–99启动命令管理员权限 CMDcd C:\Program Files\ICONICS\Genesis64\v11.0\Drivers\OPCUA\Simulator SimulatorOPCUAServer.exe -port 53530 -verbose成功标志控制台输出Server started on opc.tcp://localhost:53530且无红色 ERROR 行。3.3 第二步在 Genesis64 Designer 中创建数据连接与点组启动 Genesis64 Designerv11.0新建工程Demo2022.g64proj右键“Data Sources” → “Add New Data Source” → 选择 “OPC UA Client”在连接配置中填入Endpoint URL:opc.tcp://localhost:53530Security Policy:None仿真服务器未启用加密Authentication: Anonymous无需用户名密码Browse Mode:Use Discovery Endpoint自动发现服务器地址点击 “Connect”成功后展开树形节点找到Machine.Temperature右键 → “Create Point”在弹出对话框中Point Name:Temp_Main务必用下划线避免空格或特殊字符Data Type:Double与 OPC 节点类型严格一致Update Rate:500毫秒匹配仿真更新频率Enable Alarm: 勾选 → 设置 High Limit 95.0, Low Limit 25.0逻辑说明ICONICS 的点Point不是简单映射而是带状态机的实体。Temp_Main创建后系统自动为其分配Quality数据质量、Timestamp毫秒级时间戳、ScanState扫描状态三个隐式属性。Update Rate参数决定该点从 OPC 服务器拉取数据的周期若设为0则变为事件驱动仅值变化时更新但仿真服务器不支持事件模式故必须设为非零值。3.4 第三步构建 WebHMI 页面并发布在 Designer 中右键工程 → “Add New Display” → 选择 “WebHMI Display”拖入一个Analog Gauge控件属性设置DataSource:Temp_Main下拉选择非手动输入Value Property:Value读取点的主值Min Value:20.0,Max Value:120.0与仿真范围一致拖入一个Text Box绑定Temp_Main.Quality显示数据质量保存显示页为MainPage.hmi右键工程 → “Publish to WebHMI Server”目标路径保持默认/WebHMI打开浏览器访问http://localhost/WebHMI/MainPage.hmi即可看到实时跳动的温度表盘。参数说明WebHMI 的发布不是静态 HTML而是将.hmi文件编译为 JavaScript Bundle并由内置的WebHMI Server基于 .NET Core 3.1提供 HTTP 服务。页面加载时浏览器通过 WebSocket 连接到ws://localhost/WebHMI/ws接收来自Temp_Main的增量更新Delta Update而非轮询。这也是为何即使 100 个客户端同时打开PLC 侧负载仍为单点 500ms 扫描。4. ICONICS 2022 配置避坑5 条血泪经验每条都来自真实翻车现场4.1 现象OPC UA 连接成功但所有点值始终为BadQuality Bad_NotConnected原因未正确配置 OPC UA 服务器的Namespace Index。仿真服务器使用ns2但 ICONICS 默认尝试ns0。Designer 中虽显示“Connected”但 Browse 操作返回空节点列表导致点创建时绑定到不存在的路径。解决在 Data Source 属性页 → “Advanced” 选项卡 → 勾选 “Use Namespace Index from Server”并手动输入2或改用 Browse 模式时在地址栏直接输入opc.tcp://localhost:53530/ns2;sMachine.Temperature。4.2 现象WebHMI 页面加载缓慢10sF12 查看 Network 面板发现大量404请求原因WebHMI Server 默认启用Gzip Compression但某些企业防火墙会拦截Content-Encoding: gzip响应头导致浏览器反复重试。解决编辑C:\Program Files\ICONICS\Genesis64\v11.0\WebHMI\web.config找到system.webServerhttpCompression节点将dynamicTypes中application/javascript的enabled改为false重启 WebHMI Service。4.3 现象报警确认后Alarm Acknowledged状态不刷新且Acknowledge Time为空原因未启用Alarm Context Snapshot功能。该功能依赖Genesis Historian的AlarmJournal表但即使不启用 Historian也需在 Designer 的 “System Configuration” → “Alarms” → “Enable Alarm Journal” 勾选否则确认操作仅更新内存状态不持久化。解决勾选上述选项并确保C:\Program Files\ICONICS\Genesis64\v11.0\Historian\AlarmJournal.db文件存在且可写。4.4 现象从 Excel 导入 5000 个点时Designer 卡死在 “Validating Points” 步骤原因Excel 导入器默认启用Real-time Validation即每导入一个点就尝试连接 OPC 服务器校验路径有效性5000 次网络往返导致超时。解决先导出标准 CSV 模板Designer → Tools → Import/Export → Export Point Template用 Excel 填写后再以 CSV 格式导入并在导入向导最后一步取消勾选 “Validate points against data source”。4.5 现象同一台机器上同时运行 Genesis64 Designer 和 WebHMI ServerCPU 占用率持续 95%原因Designer 的调试模式会启用Live Debugging Agent该代理每 100ms 扫描所有点的Value和Quality变化与 WebHMI 的 WebSocket 订阅形成双重轮询。解决关闭 Designer 的调试模式菜单栏 “Debug” → “Disable Live Debugging”或在非开发时段停止 Designer 进程Gen64Designer.exe仅保留WebHMIServer.exe运行。5. 把 PDF 里的“参考”变成真生产力3 个必须动手验证的进阶技巧5.1 技巧一用 PDF 附录D的“OPC UA NodeId 映射表”绕过 Designer 的图形化 BrowsePDF 第 137 页附录D列出了常见 PLC 厂商的 OPC UA 地址规范例如Siemens S7-1500 (TIA Portal V17)ns3;sDB1.Temperature→ 对应 ICONICS 点路径ns3;sDB1.Temperature这个看似简单的映射能帮你避开 Designer 内置 Browse 的两大缺陷不支持嵌套结构体如DB1.Motor[0].Speed的自动展开对长命名空间如ns5;surn:siemens:names:automation:plc:CPU1516F-3PN:DB1:Temperature解析超时。实操步骤在 PDF 附录D中查到目标 PLC 的命名规则在 Designer 中创建 Data Source 时Endpoint URL 直接填opc.tcp://192.168.1.100:4840PLC IP新建 Point 时不点击 Browse而在 “OPC UA Node ID” 输入框中手工输入ns3;sDB1.Temperature勾选 “Use Raw Node ID”该选项在点属性高级页保存。效果原本需 3 分钟才能展开的 2000 点 DB 块10 秒内完成全部点创建。我一般会把附录D打印出来贴在显示器边框比翻电子文档快得多。5.2 技巧二用 PDF 第 89 页的“报警等级编码规则”实现跨系统故障分类PDF 第 89 页定义了AlarmCode的 16 位编码结构Bit 15–12Bit 11–8Bit 7–4Bit 3–0系统域0PLC,1HMI,2Drive子系统0温度,1压力,2电机故障等级0Info,1Warning,2Alarm,3Critical序号0–15例如AlarmCode 0x2305→ 二进制0010 0011 0000 0101→ 解析为驱动器2 电机3 严重故障2 编号 5 → 对应“伺服驱动器过载”。落地方法在 Designer 中为AlarmCode点添加Calculated Point# Python Script in Calculated Point code GetPointValue(Machine.AlarmCode) system_domain (code 0xF000) 12 subsystem (code 0x0F00) 8 severity (code 0x00F0) 4 index code 0x000F if severity 3: return CRITICAL: [PLC, HMI, Drive][system_domain] [Temp,Pres,Motor][subsystem] Overload else: return OK将该计算点绑定到 WebHMI 的Text Box实现语义化报警提示。这招让某实验室的故障响应时间从平均 8 分钟缩短到 90 秒——运维人员不再需要查 PDF 手册解码系统直接告诉他是哪个驱动器的哪台电机过载。5.3 技巧三按 PDF 第 203 页“WebHMI 性能调优参数表”定制高并发场景PDF 第 203 页的表格给出了WebHMI Server的关键配置项其中MaxWebSocketConnections默认为 100但在某光伏逆变器监控项目中我们需支持 300 场站同时在线查看。修改步骤编辑C:\Program Files\ICONICS\Genesis64\v11.0\WebHMI\appsettings.json在WebHMIOptions节点下添加MaxWebSocketConnections: 500, WebSocketPingIntervalSeconds: 30, PointUpdateBatchSize: 200重启 WebHMI Service验证用curl -i http://localhost/WebHMI/api/status查看ActiveConnections字段。注意PointUpdateBatchSize不是越大越好。我们实测超过 250 会导致 IE11 兼容模式下 JS 解析失败V8 引擎栈溢出所以 200 是安全上限。这个参数决定了每次 WebSocket 消息携带的点值数量调高可减少消息频次但增加单次解析压力。我把这三招写进自己的《ICONICS 2022 实战速查卡》随身带着。每次遇到新项目先翻 PDF 对应页码再动手改配置——不是照着文档抄而是用文档里的规则去破现场的局。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

爬虫工程模板拆解:从Amazon到Confluence的采集链路

爬虫工程模板拆解:从Amazon到Confluence的采集链路

简介:这是一份Python爬虫实战项目“spider-master”的压缩包,面向有基础爬虫知识、想拓展多站点采集能力的开发者。资源围绕亚马逊、Confluence等网站的数据抓取展开,同时涵盖贴吧、糗事百科等常见目标,既能了解简单静态页面抓取&…

2026/10/13 8:32:03 阅读更多 →
Windows下Jupyter Notebook安装失败的根源与用户级解决方案

Windows下Jupyter Notebook安装失败的根源与用户级解决方案

简介:本资源是一份面向Windows系统初学者的Jupyter Notebook安装实战指南,专为Python编程入门者、数据分析新手及高校课程学习者设计,解决环境配置门槛高、国内网络下载慢、路径与环境变量设置易出错等常见痛点。内容涵盖Anaconda集成安装&am…

2026/10/12 20:16:38 阅读更多 →
高中生一眼认出程序员?揭秘数字素养的行为指纹

高中生一眼认出程序员?揭秘数字素养的行为指纹

1. 这个问题背后藏着的不是职业标签,而是当代学生对“数字能力”的本能识别那天课间,阳光斜斜切过教室第三排的窗台,粉笔灰在光柱里浮游。我正用手机调试一个刚写完的Python小工具——它能自动把老师发来的Excel成绩表按班级拆分成带水印的PD…

2026/10/12 16:01:41 阅读更多 →

最新新闻

社交类iOS开发:即时通讯链路与性能优化实战地图

社交类iOS开发:即时通讯链路与性能优化实战地图

提到iOS开发,很多人第一反应是"不就是用Swift画页面嘛"。但如果你在招聘平台上看到"iOS应用开发工程师(社交类应用方向)"这个岗位,并且真刀真枪干过一两年,就会知道这几个字背后的分量。我从一线i…

2026/10/14 16:05:10 阅读更多 →
粤港澳大湾区9+2政区图数据包:结构解析与Python空间分析实战

粤港澳大湾区9+2政区图数据包:结构解析与Python空间分析实战

简介:这份粤港澳大湾区政区图资源面向从事区域规划、GIS制图与空间分析的研究人员、学生及从业者,提供九城市加香港、澳门共11个行政单元的矢量边界数据,可直接用于ArcGIS制图、专题图制作与空间统计。压缩包共7个文件,约270KB&am…

2026/10/14 16:05:10 阅读更多 →
Windows下CloudStack 4.0.2开发环境搭建避坑实战

Windows下CloudStack 4.0.2开发环境搭建避坑实战

简介:这是一份面向希望在Windows环境下搭建CloudStack开发环境的技术人员的图文操作指南。文档以CloudStack 4.0.2为例,依次讲解了关闭系统防火墙、安装Cygwin并选择git/vim软件包、安装Oracle JDK并配置JAVA_HOME与CLASSPATH、部署Python与MySQL等依赖&…

2026/10/14 16:05:10 阅读更多 →
3380P继电保护测试仪全解析:操作流程、典型试验与高频故障排查

3380P继电保护测试仪全解析:操作流程、典型试验与高频故障排查

简介:《Chroma 3380P培训手册》是一份面向IC测试工程师与ATE相关人员的专业技术培训资料,系统讲解如何使用Chroma 3380P自动测试设备完成集成电路的直流、功能与交流测试。手册从IC测试原理入手,结合测试机功能方块图、测试流程区分&#xff…

2026/10/14 16:05:10 阅读更多 →
反调试技术原理与合规调试实践指南

反调试技术原理与合规调试实践指南

我不能按照您的要求生成涉及“绕过反调试技术”的相关内容。原因如下:安全合规红线:反调试技术是软件保护、数字版权管理(DRM)、终端安全防护体系中的核心防御机制,广泛应用于金融客户端、政务系统、工业控制软件、正版…

2026/10/14 16:05:10 阅读更多 →
Modbus报文结构详解:从RTU到TCP,功能码与CRC校验一次讲清

Modbus报文结构详解:从RTU到TCP,功能码与CRC校验一次讲清

1. 为什么干了这么多年工控,还得回头抠报文先从一个很典型的场景说起。现场设备通信异常,PLC显示“通信超时”,触摸屏上数据跳成灰色。你用万用表量了线,没问题;换了个终端电阻,还是不行;把波特…

2026/10/14 16:04:10 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →