基于研华IPC-510的工业数据采集与上位机监控方案实战
1. 项目背景与整体设计思路1.1 为什么选择工控机而不是普通商用PC很多刚入行的朋友会问设备数据采集和上位机监控用一台普通商用台式机不就行了吗为什么要花几倍的价格上工控机这个问题我在早期做产线项目时也纠结过后来踩了几次坑才彻底明白其中的差别。普通商用PC的设计目标是办公环境——温度恒定、灰尘少、振动小、每天开机八小时。而工业现场是什么情况车间里夏天温度轻松突破40度冬天可能低到零下空气中弥漫着切削液雾、粉尘、油污产线设备启停带来的电磁干扰和振动几乎不间断更要命的是很多产线是两班倒甚至三班倒机器一年到头不停。在这种环境下商用PC的电解电容会加速老化机械硬盘的轴承会提前报废普通风扇几个月就被灰尘糊死导致CPU过热降频。工控机的核心价值就体现在这些地方宽温设计通常支持0到50度甚至更宽、抗振动冲击硬盘采用减震安装或直接上固态盘、防尘防潮正压风扇设计配合可更换滤网、长期稳定供电宽压输入电源适应电网波动、丰富的扩展接口多串口、多网口、PCI/PCIe插槽用于采集卡。研华IPC-510这款4U上架式机箱就是这类需求的经典答案它在工业现场的口碑相当扎实我经手的几个项目用它连续跑了三四年没出过硬件故障。1.2 整体架构怎么搭从现场设备到监控画面一个完整的工业自动化控制与数据采集方案从下到上大致分四层我用一个实际项目的结构来说明。最底层是现场设备层包括PLC、变频器、智能仪表、传感器、扫码枪、称重模块等等。这些设备来自不同厂家通信协议五花八门——西门子用S7协议、三菱用MC协议、欧姆龙用FINS、还有大量设备走Modbus RTU/TCP、OPC UA。这一层的核心任务是把数据拿出来。往上一层是数据采集层由研华IPC-510上运行的采集服务程序承担。它通过串口服务器、交换机或直接串口连接现场设备按照各自的协议轮询或订阅数据做初步的解析、滤波、量纲转换然后写入本地数据库或转发给上层。再往上是数据处理与存储层通常用关系数据库如MySQL、SQL Server存历史数据用内存库或消息队列做实时数据缓存。这一层要解决的是数据怎么存、存多久、怎么查得快。最上面是监控与展示层也就是操作员看到的HMI画面、Web看板、报表系统。这一层关注的是人怎么用这些数据——实时曲线、报警推送、生产报表、设备OEE统计。研华IPC-510在这个架构里扮演的是上位机平台的角色也就是采集层和处理层的物理载体。它的稳定性直接决定了整条数据链路的可靠性。我见过太多项目软件写得漂漂亮亮结果因为上位机死机导致数据断档追溯的时候拿不出完整记录非常被动。1.3 方案选型的几个关键取舍在动手之前有几个选型决策必须先想清楚否则后期返工成本很高。操作系统选Windows还是Linux如果现场用组态软件如WinCC、组态王、力控那基本锁定Windows。如果自研采集程序Linux在长期运行稳定性和资源占用上有优势但驱动和调试工具链相对麻烦。我的经验是中小项目、团队Windows功底强就上Windows 10 LTSC或Windows Server追求极致稳定、团队有Linux运维能力选Ubuntu Server LTS或Debian。数据库选型数据量小每秒几十点用SQLite都够中等规模每秒几百到几千点上MySQL或PostgreSQL大规模高频采集考虑时序数据库如InfluxDB、TDengine。这里有个坑——很多人一上来就上时序库结果团队没人会维护出问题查半天。选团队能hold住的比选理论上最优的更重要。通信方式串口RS232/485适合老设备和短距离以太网适合新设备和长距离无线4G/5G/WiFi适合布线困难的场景。IPC-510机箱内部空间充足可以插多口串口卡和网卡这是它相对商用机的一大优势。2. 硬件配置与核心细节解析2.1 IPC-510机箱的结构特点与安装要点研华IPC-510是一款4U上架式机箱支持ATX主板前面板带锁和防尘滤网后面板有7个扩展槽位。我第一次拆开它的时候印象最深的是硬盘减震架——硬盘不是直接拧在机箱上而是通过橡胶减震柱悬挂安装这个细节对机械硬盘的寿命影响巨大。安装时几个关键点滤网朝向前面板滤网要定期清理一般建议每月检查一次。粉尘大的车间可能两周就得清。我见过因为滤网堵死导致机箱内温度飙升到70度的情况CPU自动降频采集程序卡顿操作员还以为软件bug。风扇方向IPC-510采用正压设计前面进风、后面出风。安装时注意机箱风扇和CPU风扇方向一致形成顺畅风道。如果装反了热空气在机箱内打转散热效率大打折扣。扩展卡固定工业现场振动大PCI/PCIe卡一定要用压条或螺丝可靠固定。我遇到过串口卡因为振动松动导致通信时断时续的案例排查了半天才发现是硬件接触问题。接地机箱必须可靠接地这不仅是安全问题也直接影响通信抗干扰能力。接地电阻建议小于4欧姆。2.2 主板、CPU与内存的搭配逻辑工控机的配置不需要追求极致性能但稳定性和接口丰富度是首要考量。CPU方面Intel酷睿i3或i5的T系列低功耗版本如i5-10500T35W TDP是甜点选择。低功耗意味着发热小机箱内温度低风扇转速低灰尘积累慢形成良性循环。没必要上i7或i9采集程序大多是IO密集型而非计算密集型多核用处有限反而增加散热压力。内存建议16GB起步如果跑数据库和多个采集服务32GB更稳妥。这里有个经验内存一定要选带ECC的如果主板支持。工业现场电磁干扰强普通内存偶发的位翻转可能导致数据错误ECC能自动纠正单比特错误对数据完整性要求高的场景非常值得。存储方面系统盘用256GB以上的工业级SSD数据盘根据数据量选SSD或企业级HDD。强烈建议系统盘和数据盘物理分离这样系统崩溃重装时数据不受影响。如果预算允许做RAID1镜像一块盘坏了另一块顶上数据不丢。2.3 通信接口的扩展与分配这是工控机相对商用机的核心优势所在。IPC-510有7个扩展槽可以灵活配置。常见的扩展卡类型卡类型典型型号用途注意事项多串口卡4口/8口RS232/485连接PLC、仪表注意光电隔离避免地环流多网口卡4口千兆连接多台设备选Intel芯片驱动稳定CAN卡2口CAN连接CAN总线设备注意终端电阻匹配采集卡模拟量/数字量直接采集传感器注意量程和精度串口卡选型有个大坑一定要选带光电隔离的。不同设备的地电位可能不同直接连接会形成地环流轻则通信误码重则烧毁接口芯片。我早期图便宜用过无隔离的卡结果一台变频器启动就把串口卡打坏了换卡的钱够买好几张隔离卡。2.4 电源与供电的可靠性设计工业现场电网质量参差不齐大功率设备启停时电压波动很大。IPC-510配的电源通常是宽压输入100-240V AC但这还不够。建议加装在线式UPS注意是在线式Online而非后备式Offline。在线式UPS始终由逆变器供电市电只是给电池充电切换时间为零且能滤除电网的浪涌和尖峰。后备式在市电波动时会有几毫秒到几十毫秒的切换时间对敏感的采集设备可能造成重启。UPS容量怎么算IPC-510满载功耗大约200-300W加上显示器、交换机等外设按500W算。如果要求断电后坚持30分钟需要500W × 0.5h 250Wh考虑UPS功率因数和效率选1000VA/600W左右的机型比较合适。这个计算过程很多方案里不写但实际选型时非常关键。3. 软件环境搭建与实操过程3.1 操作系统的安装与优化以Windows 10 LTSC为例这是工业上位机常用的系统版本没有应用商店和Cortana等冗余组件长期运行稳定。安装后的优化步骤关闭自动更新工业上位机最怕半夜自动重启。通过组策略或服务禁用Windows Update改为手动在停机维护窗口更新。关闭休眠和快速启动休眠文件占用大量磁盘空间快速启动可能导致某些采集卡初始化异常。设置高性能电源计划避免CPU降频影响采集实时性。禁用不必要的服务如打印后台、蓝牙支持等减少资源占用和潜在冲突。固定IP地址上位机IP必须固定否则下层设备配置的通信目标会失效。关闭防火墙或配置例外采集程序需要监听端口时防火墙可能拦截。建议关闭或精确配置例外规则。注意关闭自动更新后要建立定期手动更新的习惯特别是安全补丁。我一般每季度在产线停机时更新一次更新前先做系统镜像备份。3.2 采集程序的架构设计自研采集程序通常采用多线程队列的架构。主线程负责调度和界面刷新每个通信通道一个采集线程采集到的数据放入线程安全队列由数据处理线程统一消费。为什么这样设计因为不同设备的响应速度差异很大。一个Modbus RTU设备轮询一次可能要100ms而一个OPC UA订阅可能10ms就推送一次。如果单线程串行处理慢设备会拖累快设备。多线程并行采集各通道互不影响。采集线程的核心逻辑import threading import queue import time from pymodbus.client import ModbusTcpClient data_queue queue.Queue(maxsize10000) def采集线程(设备配置): client ModbusTcpClient(设备配置[ip], port设备配置[port]) while True: try: result client.read_holding_registers( address设备配置[start_addr], count设备配置[count], slave设备配置[slave_id] ) if not result.isError(): timestamp time.time() for i, value in enumerate(result.registers): tag_name 设备配置[tags][i] scaled_value value * 设备配置[scale] 设备配置[offset] data_queue.put({ tag: tag_name, value: scaled_value, ts: timestamp, quality: good }) else: data_queue.put({ tag: 设备配置[name], value: None, ts: time.time(), quality: bad }) except Exception as e: print(f采集异常: {e}) time.sleep(设备配置[interval])这段代码有几个关键点异常捕获不能少否则一个设备断线整个线程就挂了质量戳quality要记录数据断了要能区分是设备故障还是正常值队列要设上限防止下游处理不过来导致内存爆掉。3.3 数据库表结构设计历史数据表的设计直接影响查询性能。以MySQL为例核心表结构CREATE TABLE tag_history ( id BIGINT AUTO_INCREMENT PRIMARY KEY, tag_name VARCHAR(64) NOT NULL, value DOUBLE, quality TINYINT DEFAULT 1, ts DATETIME(3) NOT NULL, INDEX idx_tag_ts (tag_name, ts) ) ENGINEInnoDB; CREATE TABLE tag_current ( tag_name VARCHAR(64) PRIMARY KEY, value DOUBLE, quality TINYINT, ts DATETIME(3), update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINEInnoDB;设计要点历史表和当前表分离当前表只存每个点位的最新值查询极快历史表按时间索引支持范围查询。时间精度到毫秒工业采集经常需要毫秒级时间戳。quality字段区分数据有效性。数据量大的话历史表要按月分表或使用分区表。我做过一个项目单表存了半年数据超过两亿行查询慢得没法用后来改成按月分表查询性能提升了几十倍。3.4 通信协议对接的实操细节Modbus RTU/TCP是最常见的协议。RTU走串口需要注意波特率、数据位、停止位、校验位必须和从站一致。TCP走网络默认端口502。常见坑寄存器地址是从0还是从1开始不同厂家文档不一致需要实测确认浮点数在寄存器中的字节序ABCD/CDAB/BADC/DCBA各家不同读出来是乱码就要试这四种组合。西门子S7协议通过S7.Net或Snap7库对接。注意S7-1200/1500需要在新版本TIA中开启允许来自远程对象的PUT/GET通信访问否则连不上。DB块数据读取要指定DB号、起始偏移和长度注意数据类型对齐。OPC UA是趋势跨平台、安全性好。用python-opcua或open62541库。配置时注意安全策略和证书交换很多连接失败都是证书问题。MQTT适合设备主动上报的场景。上位机作为Broker或订阅者设备发布数据到Topic。注意QoS等级选择——QoS 0可能丢消息QoS 2开销大一般QoS 1够用。4. 常见问题与排查技巧实录4.1 通信类问题速查现象可能原因排查方法解决串口完全无数据接线错误/波特率不匹配用串口调试助手单独测试核对A/B线确认参数数据时有时无干扰/接地不良示波器看波形加隔离、改善接地网络ping通但连不上端口被占/防火墙telnet测试端口换端口/关防火墙数据值明显错误字节序/量纲手动计算对比调整字节序和缩放频繁断线重连网络抖动/设备超时抓包分析增加超时和重试4.2 系统稳定性问题上位机运行几天后变慢多半是内存泄漏或日志文件撑爆磁盘。用任务管理器看内存增长趋势用性能监视器看磁盘IO。解决程序加内存监控和自动重启机制日志按天切割并定期清理。采集程序莫名退出检查Windows事件查看器看是程序崩溃还是被系统杀掉。常见原因是未捕获的异常、内存不足、或杀毒软件误杀。解决加全局异常捕获把程序加入杀毒白名单配置为Windows服务实现崩溃自动重启。数据库写入越来越慢历史表数据量太大。解决分表、加索引、定期归档旧数据。我一般保留半年在线数据更早的归档到文件或冷存储。4.3 几个我踩过的坑坑一串口卡和主板中断冲突。早期用PCI串口卡和板载设备抢中断导致通信随机丢包。后来换PCIe卡中断分配更合理问题消失。新项目一律选PCIe接口的扩展卡。坑二UPS通信线接错。UPS的USB监控线插在工控机上但驱动装错版本导致UPS状态读不到市电断了也不知道。装完UPS一定要做断电测试确认能正常切换和告警。坑三时间不同步。上位机和PLC时间差了几分钟导致报警记录和实际事件对不上。所有设备统一NTP对时上位机做NTP服务器下层设备定期同步。坑四机箱风扇噪音大被投诉。车间操作员嫌吵把风扇拔了结果夏天过热死机。选低噪音风扇或者把工控机放到电气柜里隔音但要注意柜内散热。4.4 日常维护清单每日检查采集程序运行状态、数据库连接、磁盘空间每周清理机箱滤网、检查UPS电池状态、备份配置文件每月检查数据库性能、归档旧数据、更新病毒库每季度系统补丁更新、硬件除尘、UPS放电测试每年全面检查硬件、更换风扇等易损件、评估扩容需求这套维护流程看着繁琐但真正执行下来每天也就花几分钟。我见过太多项目因为缺乏维护小问题拖成大故障最后停产抢修损失远超维护成本。5. 方案扩展与个人经验分享5.1 从单机到多台上位机的扩展当产线规模扩大单台上位机扛不住时可以扩展为多台采集机一台数据服务器的架构。采集机只负责采集和转发数据服务器统一存储和提供查询接口。这样采集机可以分散部署靠近设备减少布线数据服务器集中管理便于备份和分析。采集机和服务器之间用消息队列如RabbitMQ、Kafka或直接数据库同步。我倾向用消息队列解耦好采集机故障不影响其他部分消息可以持久化防止丢失。5.2 数据上云与远程监控现在很多项目要求数据上云实现远程监控和手机查看。做法是在上位机加一个转发服务把数据通过MQTT或HTTP推送到云平台。注意只推必要的数据全量推送流量费用很高。本地存储不能省云平台断网时本地数据不能丢恢复后补传。安全方面云平台接入要用TLS加密设备认证用证书或密钥不要用默认密码。我见过用默认密码被扫描到数据被恶意篡改的案例教训深刻。5.3 我个人的几点体会做工业上位机这行十几年最大的体会是稳定压倒一切。客户不会因为你界面炫酷而买单但一定会因为数据断档而投诉。所以我的原则是能用成熟方案就不追新能简单实现就不搞复杂能冗余备份就不省成本。另一个体会是文档和注释比代码本身更重要。工业项目周期长人员流动大半年后回来看自己的代码没有文档和注释就是天书。我现在写采集程序每个配置项、每个协议细节都写清楚交接时省大量沟通成本。最后多去现场。坐在办公室看文档和到车间看实际设备理解完全不一样。很多问题只有到现场才能发现——比如设备实际通信地址和文档不符、现场干扰比预想严重、操作员的使用习惯和设计假设不同。我每个项目至少去现场三次安装调试、试运行、验收每次都有新发现。这套基于研华IPC-510的方案我在多个项目中验证过硬件稳定、扩展灵活、维护方便。当然具体配置要根据项目规模和预算调整但整体思路是通用的。希望这些经验对正在做类似项目的朋友有帮助少走些弯路。

相关新闻

从零手写决策树:信息熵、基尼系数与决策边界可视化实战

从零手写决策树:信息熵、基尼系数与决策边界可视化实战

1. 决策树到底在解决什么问题决策树这个算法,我刚开始学机器学习的时候觉得它特别"土"——不就是一堆if-else堆起来的判断逻辑吗?但真正在项目里用过几轮之后才发现,越是简单直观的模型,越能在实际场景中发挥出意想不到…

2026/10/14 16:23:35 阅读更多 →
ITE V12.4 Update固件包刷写指南:增量升级、参数配置与故障排查

ITE V12.4 Update固件包刷写指南:增量升级、参数配置与故障排查

简介:ITE_V12.4_Update.rar 是嵌入式控制器(EC)V12.4 版本源代码,主要面向嵌入式系统开发者、软硬件协同工程师及相关专业学生,用于剖析 EC 在电源管理、风扇控制、键盘输入、系统安全和主处理器通信等底层硬件管理中的…

2026/10/14 16:22:34 阅读更多 →
Java GUI实战:Swing实现算术题生成与在线批改完整方案

Java GUI实战:Swing实现算术题生成与在线批改完整方案

简介:这是一套基于Java GUI技术开发的算术题在线练习与批改项目,适合Java初学者、学生或课程设计者用于理解图形界面编程、随机出题、文件读写与数据持久化。压缩包共55个文件,主体包含33个class编译文件与17个java源文件,另有2个…

2026/10/14 16:22:34 阅读更多 →

最新新闻

学术AI工具怎么选更划算?六款科研工具按环节搭配的性价比盘点

学术AI工具怎么选更划算?六款科研工具按环节搭配的性价比盘点

一、工具越多,性价比这笔账越算越乱1、行业背景。 近几年大模型能力快速落地,学术场景成了试验田。检索、翻译、改写、润色、绘图,几乎每个环节都冒出专门工具,订阅方式从免费额度到按年付费各有不同。选择变多了,判断成本也跟着涨,同一笔预算怎么分配成了新问题。2、不同人群的…

2026/10/14 17:01:19 阅读更多 →
仓颉语言服务 LSPServer 使用指南:启动参数、运行环境与源码级原理解析

仓颉语言服务 LSPServer 使用指南:启动参数、运行环境与源码级原理解析

开发工具CLI代码质量 【免费下载链接】cangjie_tools 仓颉编程语言命令行工具,包括仓颉包管理工具、仓颉格式化工具、仓颉多语言桥接工具及仓颉语言服务。 项目地址: https://gitcode.com/Cangjie/cangjie_tools 点击查看 免费下载 本文以 cangjie-lang…

2026/10/14 17:01:19 阅读更多 →
openJiuwen MemoryCrypto 解析:记忆引擎 AES-256-GCM 加解密实战指南

openJiuwen MemoryCrypto 解析:记忆引擎 AES-256-GCM 加解密实战指南

人工智能AI AgentAgent 框架工具调用Agent 工作流RAGMCP Clients强化学习 【免费下载链接】agent-core-java openJiuwen agent core Java是 openJiuwen Core的 Java版本,提供AI Agent开发、运行、调优与演进相关的全套SDK能力。 项目地址: https://gitco…

2026/10/14 17:01:19 阅读更多 →
树莓派还是Arduino?跑系统还是跑裸机?从真实项目谈选型

树莓派还是Arduino?跑系统还是跑裸机?从真实项目谈选型

很多刚开始搞硬件开发的朋友,总会拿着一块树莓派和一块 Arduino 问我:“到底买哪个?”几乎所有社区里都会有人甩出一句经典老话:“一个跑系统,一个跑裸机。”听起来很合理,选型好像一下子就清楚了。但这几年…

2026/10/14 17:01:19 阅读更多 →
手动搭建MySQL MHA高可用架构:从主库宕机到自动切换实战

手动搭建MySQL MHA高可用架构:从主库宕机到自动切换实战

1. 为什么手动搭建MHA依然值得学1.1 从一次主库宕机说起凌晨两点,监控告警响了,主库连接数直接掉零。当时我们那套业务用的是单点MySQL,没有做任何高可用。运维同学从被窝里爬起来,手动切从库、改配置、重启服务,前后折…

2026/10/14 17:01:19 阅读更多 →
Oracle 19c RAC on Linux 7.6 安装实战:从环境检查到静默建库

Oracle 19c RAC on Linux 7.6 安装实战:从环境检查到静默建库

简介:面向需要在Red Hat Enterprise Linux 7.6上部署Oracle 19c RAC的DBA与运维工程师,这份安装手册将环境准备与集群配置拆分为可逐步跟做的阶段,涵盖OS环境检查、关闭THP并开启Hugepages、依赖包与内核参数设置、时钟同步等前置任务&#x…

2026/10/14 17:00:18 阅读更多 →

日新闻

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/14 16:30:29 阅读更多 →
影刀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 阅读更多 →