最近大半年不管是搞DCS的、做PLC系统的还是做MES/SCADA集成的同行都在问我同一个问题2026年了AI工业控制系统到底怎么搭问的人多了我发现大家对这个词的理解差别非常大。有人觉得把模型部署在工控机上就叫AI控制有人觉得用AI优化PID参数就完事还有人指望AI直接接管现场阀门操作。这些理解不能说错但都只占了“AI工业控制系统”的一小块。实际上2026年真正能落地、能产生效益的AI工业控制是一套从数据采集、感知建模、决策优化到安全执行的完整链路。它不是在DCS旁边摆一台服务器那么简单而是要跟现有的PLC/DCS、操作员、工艺工程师形成一个新的协同模式。这篇文章我想结合自己这几年做工业智能项目的经验把“2026年怎么搭一套AI工业控制系统”这件事从架构、选型、算法、上线到可靠性设计完整拆一遍。读完你至少能回答这几个具体问题AI控制系统和传统DCS的边界在哪边缘算力到底要多大才够用模型怎么从数据走到控制指令工业环境下怎么保证它不出事1. 2026年的AI工业控制系统先在纸上画清楚分层架构很多项目一上来就买GPU服务器、跑模型结果发现根本没法接进现场——因为控制系统的改造不光是“算力”问题更是“接口”和“职责”问题。我现在做技术方案第一件事永远是画架构图把每个层级的职责钉死。1.1 四层架构从传感器到设定值回写一套典型的AI工业控制系统物理上分成四层。第一层是数据采集层。现场传感器温度、压力、流量、液位、振动、气体成分等、DCS历史数据库、PLC实时变量都从这里进。注意工业数据采样不是越密越好要看后面模型需要什么分辨率。过程变量一般1秒采样足够振动和电流信号才需要毫秒级。采集协议常用OPC UA、Modbus TCP老装置上还会用串口转以太网的网关。第二层是感知与特征层。这一层做数据清洗、异常剔除、标定对齐和特征提取。工业数据的噪声和“脏”是很多人低估的——传感器漂移、堵头、断线偶发跳变、检修期间的异常工况不处理干净模型训练就是垃圾进垃圾出。第三层是决策层也就是AI模型所在的位置。这里的模型分几类软测量模型解决“测不到”预测模型解决“来不及”优化模型解决“找不到最优”。第四层是执行层。AI计算结果一般不是直接去动执行机构而是写成设定值通过OPC UA/MQTT回传给DCS或PLC由原系统的PID回路去执行。这层是整个方案的“安全边界”。1.2 先分清监视、优化、控制三个层级的边界很多甲方问AI能不能直接控制阀门能但我极其不建议一上来就这么干。直接控制意味着算法输出进逻辑一旦模型异常轻则产品质量波动重则触发联锁停车。我习惯把系统分成三个层级逐级上线监视层只做软测量和状态监控不动任何控制回路优化层计算最优设定值经过人工确认或安全校验后写回DCS控制层才让AI输出直接参与回路控制只在成熟场景和冗余保障下使用。2026年绝大多数值得落地的项目集中在“优化层”。先在这个层级跑通积累足够的数据和信任再考虑下一步。这句话我在方案评审会上至少说过一百遍。举一个真实的例子。某个反应釜项目甲方一开始就想上一套“AI温度控制器”要求模型直接输出加热蒸汽调节阀的开度。我建议改为两层AI算出最优夹套温度设定值原PID回路再去调节蒸汽阀。工程团队的顾虑瞬间少了很多——DCS逻辑、操作培训、联锁保护全部不用动只多了一个“设定值建议源”。这个改动把项目从“高风险改造”变成了“低风险增强”上线周期缩短了一半。2. 传统控制为什么需要AI不是替代DCS而是补上PID算不出来的维度选型之前必须回答“为什么”。如果说不清楚AI控制系统要解决的问题后面的技术选型就是拍脑袋。2.1 三个典型场景耦合、滞后、测不到PID控制是工业控制的绝对主角简单、稳定、可靠。但它有个先天设定它是“偏差驱动”的减法反馈。当被控对象满足“单变量、大惯性、线性度好”这些条件时PID表现完美一旦场景变成下面三种传统控制就会吃力。第一个是多变量强耦合。典型如精馏塔塔顶温度、塔釜温度、回流比、进料量相互影响调一个变量另外两个跟着动人工操作全凭经验PID回路之间经常打架。第二个是大滞后。例如加热炉出口温度对燃料量的响应可能有几十分钟的纯滞后等到偏差反映出来已经晚了超调就来了。第三个是“测不到”。产品质量、成分含量很多时候没有在线仪表只能三四小时人工化验一次化验结果出来工艺早就变了。AI能做的事就是用数据把这三类问题补上软测量模型用可测变量估算产品质量预测模型提前预判被控变量走向优化模型在一堆约束里找设定值的最优组合。2.2 AI控制不是替代而是叠加优化层还有一个误区AI控制系统是不是要让DCS下岗不是。DCS和PLC负责的是“安全、稳定、联动、联锁”这是它们的看家本领AI短期也不可能具备同等安全等级。AI真正定位是叠加在传统回路之上的一层“优化大脑”DCS负责把设定值执行到位AI负责回答“设定值应该定在多少”。这样设计的最大好处是AI出问题时下层的PID和联锁依然在装置不会失控。这个“双层结构”思想是我认为当前工业智能落地最核心的设计原则。举个例子某个空压站项目的目标是降能耗。传统DCS只是让每台空压机按固定压力下限启停操作工很难根据用气波动动态调整加载策略。AI系统上线后通过预测未来一小时的用气量把加载阈值微调了0.02兆帕单耗下降幅度不算大但乘以全年24小时运行时长电费节省非常可观。这种改进不是对错层面的而是优化层面的——AI在这里扮演的不是裁判而是最有经验的操作员也做不到的精细操盘手。反过来什么场景不建议上AI我看过不少项目工艺本身很稳定、操作模式固定、产品单一人工经验已经够用硬上一套AI优化成本高、收益小最后沦为展示屏。AI工业控制系统的ROI分析第一步永远不是“技术能做什么”而是“这里有没有传统方法解决不了的问题”。3. 三件套选型边缘算力、推理框架、工业数据通道系统架构明确了接下来是具体的选型。我总跟同行说AI工业控制项目的失败一半发生在选型阶段——不是算力不够而是“在工业现场选了数据中心那套配置”。3.1 边缘算力先保证皮实再追求算力工业现场的智能硬件第一优先级永远不是算力多强而是可靠性。粉尘、高温、震动、电压波动、电磁干扰这些随便来一样数据中心里的服务器就受不了。所以AI工业控制系统的算力载体应该是工业级产品。场景类型推荐硬件算力定位典型部署位置单装置小数据量如换热站优化、单台空压机预测维护工业级边缘AI盒子Jetson Orin NX级别5-50 TOPS现场机柜、配电间中型过程装置如精馏塔、加热炉、锅炉工业GPU工控机RTX 4000 Ada或L4级别50-200 TOPS控制室旁或装置区边缘机房多装置集中优化如一个分厂边缘计算服务器多卡推理200 TOPS以上厂区数据中心特种场合如防爆区域、极低温环境本安型或工业宽温AI一体机视需求防爆机柜、户外机柜这里的关键不是算力越大越好而是“模型推理延迟数据量”能不能兜住。一般过程工业的AI控制回路推理周期做到1秒以内绰绰有余视觉检测类场景才需要毫秒级。所以很多项目买高配GPU是浪费。另外现场供电一定要加工业级UPS散热要考虑机柜环境温度防尘滤网定期清理——这些细节看着不起眼AI盒子热死机的事我见过不止一次。3.2 推理框架与模型运行时怎么选模型训练阶段随便用PyTorch、TensorFlow都没问题但上了工业现场模型要变成稳定运行的服务。推理框架的选择和硬件强相关如果用NVIDIA系硬件TensorRT几乎是必选项它对模型做层融合和量化能把推理速度提升几倍如果用的是Intel系CPU/集显OpenVINO更合适如果希望跨平台、方便后续换硬件ONNX Runtime是保险牌。2026年还要关注一个趋势很多芯片厂商推自家的部署工具链。选硬件时一定要确认你常用的模型结构LSTM、Transformer、XGBoost在对应工具链上有没有现成算子。我踩过最深的坑就是模型在GPU上跑得好好的换到另一家NPU上算子不支持最后要么改模型要么换硬件都费劲。推理服务的容器化部署我再单独提一句。工业现场IT基础可能比较薄弱可能没有完善的容器编排工具但至少要让推理服务保持自包含把Python依赖、模型文件、配置全部打进镜像换机器部署时一键拉起。否则现场工程师面对一堆依赖问题维护成本会翻倍。我见过一些项目死在“能跑但没法维护”上模型一换版本现场没人敢动。3.3 让数据跑起来OPC UA与工业时序库AI模型不会直接在内存里分析数据它需要一套稳定的数据通道。采集侧OPC UA是现在工业互联的标准配置支持加密和身份认证比早年裸跑的OPC DA可靠得多老设备不支持的用Modbus TCP转换网关也能凑合。数据搬到模型侧后强烈建议落一套时序数据库开源的有InfluxDB中文生态好的有TDengine商业实时库也有不少选择。时序库这里有一个实操细节历史数据的分辨率和保留周期要在一开始定好。过程工业做AI优化保留一年以上的分钟级历史数据和对应的工况标签基本够用振动、电流这类高频信号需要秒级或毫秒级数据存储量指数级上涨要考虑冷热分层存储别一股脑全塞。4. 核心算法链路让时序数据一路走成控制指令很多人以为AI工业控制最难的环节是训练模型实际是“数据治理”和“上线验证”。我把完整链路拆成五步每一步都有各自的坑。4.1 数据质量是地基清洗、对齐、工况标签第一步是数据清洗。工业历史数据里检修期的停炉数据、仪表校验时的跳变、通信中断的补零值这些对模型来说都是“污染”。我的做法是先做规则清洗把阀门全关或全开时的异常段切除把跳变超过物理极限的点剔除再用中值滤波或线性插值把缺失段补上。举个例子。换热站管道压力信号某个季度时不时跳成0拉出来看是变送器检修产生了死零。如果不切掉这段数据模型会学到“压力为零时热交换正常”这种荒谬规律上线后真遇到故障反而无感。数据清洗不是加分项是决定模型能不能学对的必要项。第二步是时间对齐。不同来源的变量采样周期不一样有的是秒级有的是分钟级还有人工化验的数据是小时级。建模前必须统一到同一个时间网格上我的经验是“取预测周期的十分之一作为统一采样步长”——比如模型预测未来30分钟数据按3分钟一个点对齐既够用又不至于数据量爆炸。第三步是工况标签。AI模型不是万能的它只能学会“见过的工况”。训练数据里只有正常负荷模型遇到装置开车停车阶段必然懵。所以要把历史数据按工况分段打标签比如“稳定运行”“负荷调整”“开停车”“检修”建模时至少保证目标场景的数据占主导。4.2 模型选型与训练从预测到优化对应不同算法算法选择取决于你要解决哪类问题。问题类型算法思路常用模型/工具软测量质量预测回归模型用可测变量估算难测变量XGBoost、LightGBM、全连接神经网络时序预测提前预判时间序列模型预测未来N步趋势LSTM、Transformer时序模型、时序基础大模型设定值优化找最优建立过程模型约束优化或强化学习MPC、贝叶斯优化、离线RL在线规则工况识别分类模型捕捉运行状态随机森林、时序聚类这里多说一句强化学习。网上讨论AI控制十有八九提强化学习但我在工业项目里对RL非常谨慎在线RL要探索动作空间探索期间可能出安全事故离线RL的策略又容易过拟合历史数据。2026年工业现场用得多的还是“预测模型约束优化”这条路——先用预测模型算出被控变量的未来趋势再用约束优化把设定值算出来。RL可以先在数字孪生环境里离线训练成熟后再下装但不要指望直接拿一套RL Agent上DCS。提示工业现场不要迷信“在线强化学习”的噱头探索本身就是风险。先让模型在数字孪生环境里学再映射到现实是更稳妥的做法。4.3 把模型包装成工业服务推理接口与安全校验模型训好后不是直接给DCS发数据。要把它封装成一个独立的推理服务我推荐用容器化的方式部署在边缘服务器上对外暴露HTTP/gRPC接口。现场调用流程一般是定时器触发比如每30秒或每1分钟一次从时序库取最近N分钟历史数据完成预处理和特征工程加载模型推理对结果做安全校验校验通过后写出建议值通过OPC UA/MQTT发给DCS最后把本次推理的输入、输出、耗时、校验结果存一条审计日志。这里给一个最简单的推理服务核心逻辑示例import numpy as np import onnxruntime as ort # 加载离线转换好的模型 sess ort.InferenceSession(soft_sensor.onnx, providers[CUDAExecutionProvider]) def predict(t_top: float, p_top: float, f_feed: float) - float: x np.array([[t_top, p_top, f_feed]], dtypenp.float32) out sess.run(None, {sess.get_inputs()[0].name: x})[0] return float(out[0][0])代码本身不复杂工业要的不是“能跑”而是“每分每秒都能跑”。要加超时控制、结果合理性检查、请求重试机制以及服务崩溃后自动拉起的守护进程。这些都是把Demo变成系统的关键。4.4 闭环执行前的最后一道闸门模型推理结果在写入DCS前必须过三道检查数值上下限检查比如温度建议值不能超过工艺允许范围变化速率限制设定值一次改变不能太大与人工操作的一致性比对如果模型建议和操作员当前操作矛盾得离谱应该告警而不是直接执行。我见过最凶险的现场模型在某个边界工况下输出了一个异常大的偏置如果不是变化率限制拦住了系统可能直接把反应釜温度设定值抬到危险区。所以永远不要相信模型“这次一定正常”安全校验就是给模型兜底的。5. 一个完整落地案例工业窑炉AI燃烧优化理论说再多不如一个完整案例来得直观。我用一个自己参与过的天然气加热炉AI燃烧优化项目把前面讲的链路串起来。5.1 案例背景能耗高、温度波动大这台加热炉用来对连续生产线上的物料升温。原来靠操作员手工调炉膛温度设定值每两小时根据出口温度和烟气含氧量调一次问题很明显升温过冲大出口温度波动在±8℃左右为了保证最低温度操作员习惯把炉温设定值整体抬高导致能耗居高不下烟气含氧量控制粗放空气给多了带走热量给少了燃烧不充分天然气单耗长期降不下来。这个场景完美命中“多变量、大滞后、有优化空间”三个条件炉膛温度、燃气流量、助燃风量、物料速度、出口物料温度互相耦合从燃料变化到出口温度响应有十几分钟滞后天然气和助燃风配比对热效率影响巨大人工很难找到最优。5.2 建模过程预测模型加约束优化两步走数据准备方面从DCS历史库取了近一年的数据采样间隔定为1分钟。清洗规则是排除检修停炉时段、剔除热电偶断线跳变段、对缺失值用前一小时中位数填充。然后做特征工程滑动窗口均值、温差变化率、燃气累计量等十几个特征。建模分两步。第一步训练一个“出口物料温度预测模型”输入是最近30分钟的各变量序列输出是未来20分钟的出口温度趋势。模型用了LSTM在TensorRT上做完FP16量化后单次推理延迟在10毫秒以内完全够用。第二步是寻优器在预测模型和当前工况的基础上用约束优化求解最优的空气燃比和炉温设定值目标函数是天然气单耗最小约束条件是出口温度在工艺合格区间内、炉膛温度不过限。这里有个关键细节我没有让模型直接输出“阀门开度”而是让模型输出“设定值”。DCS里的原有PID回路负责消化这个设定值。这样整套系统对原有控制的侵入最小如果AI模型失灵切回手动设定原来控制回路完全不受影响。5.3 上线路径旁路、建议、闭环一步一步放这个项目上线用了六周分成三步。第一周先旁路观察AI服务跑起来但输出只进监控大屏和报告操作员看得到AI建议值但不用它系统记录“AI建议”和“人工实际操盘”的差异。这个阶段验证模型可靠性、建立操作员信任同时把预测误差统计出来。接下来三周是“建议模式”AI的建议值直接推送到操作员台上操作员决定采纳还是不采纳并在交接班记录里反馈原因。这个阶段最关键的是收集“模型在建议人工在拒绝”的案例每一例都是模型改进的素材。我就发现在物料切换牌号的时段模型因为没有见过新牌号数据建议明显偏保守于是补训数据后专门对切换时段做了重训。最后两周进入“闭环模式”AI建议值经过三道安全校验后自动写回DCS设定值但操作员保留一键切回手动的权限。闭环运行一个月后统计出口温度波动从±8℃收窄到±3℃天然气单耗降低4.5%烟气含氧量达标时长率从七成提升到九成以上。对于一台每天消耗数万立方米天然气的炉子这个收益已经相当可观。效益看得到的同时我反而要提醒哪怕收益这么好也不要急着把第二套装置照搬套上。每个装置的工况特点、数据质量、操作习惯都不同模板化复制往往会在第二阶段就夭折。6. 可靠性设计才是真门槛功能安全、冗余、漂移治理AI控制系统和普通AI应用最大的区别就是“出事后果严重”。所以可靠性设计的投入至少要和算法投入持平。我把它拆成四个维度。6.1 功能安全AI和SIS必须有硬隔离工业控制体系中SIS安全仪表系统负责联锁保护SIL等级有明确标准。AI控制系统永远不应该成为安全链条上的一环更不能用AI替代SIS。正确的做法是双重隔离AI只和DCS的通信网关交换数据不接入SIS的IO链路AI建议值的写权限必须经过工程师权限管理不能由服务程序直接获得全部写权限。我在方案里通常这么定义AI系统是一个“建议源”DCS是“执行者”SIS是“终极保护”。三个角色职责边界画清楚评审的时候才不会打架。6.2 冗余架构与降级策略现场最怕的不是模型不准而是“关键时刻服务不可用”。所以AI推理服务至少要做双机热备一台主用一台备用心跳检测故障自动切换。通信链路也要考虑断线场景OPC UA连接断开后服务应该缓存最近数据并在恢复后补传而不是直接丢数据。降级策略是另一个常被忽略的点。我设计了两级降级一级是“数据不全但算力正常”——时序库取数缺了一段时服务用最近完整窗口的数据继续推理但增加结果置信度标记二级是“服务本身不可用”——这时候系统自动恢复上一轮有效建议值或切回人工模式绝对不能“保持最后一刻的输出值”那是最危险的。6.3 模型漂移与持续更新模型上线不是终点是运维的开始。工业过程的特性会随着设备老化、催化剂活性下降、原料批次变化而漂移。模型不持续更新用两三个月后精度会肉眼可见地下降。我的做法是在推理服务里记录每个样本的预测值和后续实际值定期做滚动误差统计误差超过阈值就触发重训告警。重训频率一般是双周或月度不要过度频繁否则数据分布来回震荡模型训练反而不稳。重训后必须做离线回测确认在最近三个月的历史数据上新模型比旧模型好或至少不差才允许替换上线。这里还有一个细节漂移检测不是越早发现越好。工业数据本身波动就大隔三差五的超差值不代表模型坏了。我一般用“两周滚动平均绝对误差”作为稳定指标避免被单点异常带着走。6.4 操作员界面透明性和可解释性最后说人。AI控制系统推给操作员如果操作员不理解、不信任系统再好也用不起来。我有三条界面设计经验第一AI建议必须伴随理由展示比如“出口温度预测将在15分钟后超过上限建议下调炉温设定值”给依据比给数字更有效第二必须展示模型置信度操作员看到低置信度时会自然提高警惕第三保留完整的历史建议记录让操作员能复盘每一次AI建议和实际结果。建立信任需要时间复盘是最有效的信任建设方式。这四块其实是AI控制系统里最烧脑的部分但做扎实了后期运维头痛少一半。7. 回到2026年搭一套AI工业控制系统我的几条现实建议文章最后我不打算做什么宏大总结只聊聊这几年做下来的体会给准备上车的朋友几条实操层面的建议。7.1 从小场景切入拒绝“打全厂”我再强调一次不要一开始就规划“全厂AI优化平台”那是个无底洞。找一个痛点足够明显、数据质量尚可、工艺工程师愿意配合的装置先把一条优化回路跑通用半年时间沉淀出可复制的标准路径。我接触过的大部分成功项目都是这么起家的——先在一个加热炉、一个精馏塔、一组空压机上打出样板再横向扩展。7.2 数据工作量大头算法只是小头很多甲方以为项目是“专家算法”主导实际情况是实施周期里数据清洗和工况标注至少占六成工作量算法建模不到两成剩下的是现场联调和界面优化。如果数据基础不好项目周期基本不可控。所以切入前一定要先做数据勘查看看历史库到底有哪些变量、覆盖多久、质量如何、工况标签有没有。数据勘查不过关的项目宁可不做。7.3 工艺工程师和操作员必须从一开始就参与这是无数项目用教训换来的结论AI控制系统不是IT项目是工艺项目。工艺工程师不参与模型输出很容易被一句“不符合工艺逻辑”打回操作员不信任闭环模式永远上不了。让工艺人员和操作员在旁路阶段就介入开需求会、做方案评审、看旁路报告他们越早参与后面推进越顺。2026年AI工业控制系统的技术栈已经相当成熟边缘算力便宜了推理框架顺手了OPC UA普及了时序数据库也不是难题。难的是把技术用对场景、把安全设计做扎实、把人机协同模式建立起来。工具永远在变这几条底层逻辑不会变。
企业数字化 ERP 产品动态
相关推荐
0.8%串行代码拖住99.2%并行:并行计算性能上限与优化路径 简介:《Parallel and High Performance Computing》是Manning于2021年出版的并行计算与高性能计算英文原版书,面向具备一定编程基础、希望系统掌握CPU多核与GPU加速开发的工程师和研究生。全书围绕为何并行、并行化规划、性能瓶颈与剖析、数据设计与性能… · 2026/11/3 20:54:13
语音与语义融合技术:提升智能语音助手理解能力 1. 语音处理与语言理解的融合现状上周调试语音助手时遇到一个典型场景:用户说"把空调调到26度但别太吵",系统只识别出"空调26度"却忽略了后半句关键限制条件。这种割裂式处理正是当前语音技术的普遍痛点——声学信号转文本ÿ… · 2026/11/3 20:53:13
从 Ax=b 读懂矩阵:线性方程组的行图像与列图像 前阵子有个学生拿着作业本问我,说矩阵这东西是不是就是把数字排成一个方块,然后按一套奇怪的规则乘来乘去?我没直接回答,而是让他把课本翻到线性方程组那一章,问他:你解二元一次方程组的时候,是… · 2026/11/3 20:53:13
AI原生全模态大数据平台升级解析:从架构重构到落地实践 1. 为什么说"AI原生"是大数据平台的必然转向,而不是概念包装先说结论:ODPS这次全面升级,把"AI原生"和"全模态"同时放进标题里,看起来像两个热词叠在一起,实际上是在回答一个问题——当数… · 2026/11/3 21:30:40
企业级ETL框架目录结构与命名规范最佳实践 1. 企业级ETL框架的目录结构设计原则在企业级ETL(Extract-Transform-Load)项目中,合理的目录结构设计是项目可维护性的基石。经过多年实战,我总结出企业级ETL框架目录设计的五大核心原则:模块化分层是最基础的设计理念… · 2026/11/3 21:30:40
uni-app x页面开发核心概念与实战技巧 1. uni-app x 页面开发核心概念解析 在uni-app x中,页面是应用的基本组成单元,每个页面都是一个独立的.uvue文件。与传统的Web开发不同,uni-app x采用了原生渲染机制,这意味着: 在Android平台上,每个页面都… · 2026/11/3 21:30:40
从零搭建模型优化器:剪枝、量化与蒸馏的统一实践 先说个背景。上个月我们团队接到一个很现实的需求:线上一个点击率预估模型,因为特征工程加了两路新特征,模型体积从300MB涨到接近480MB,单次推理在GPU上的P99延迟从12ms飙到了22ms。业务方说再这样下去就要降级到CPU,但… · 2026/11/3 21:30:40
后见之明:将“早知道”转化为可执行的复盘方法 去年秋天整理旧物的时候,我翻出三年前的手机备忘录,里面有一条用红笔标粗的记录:"今天聊完觉得哪里不对,但又说不清,先记下来。"下面没有任何补充。 三年后再看那个时间节点,一切线索都串起来了… · 2026/11/3 21:30:40
FPGA Verilog数字频率计:时基分频、门控状态机与显示链路 简介:面向电子科学与技术、FPGA入门学习者与课程设计备课教师,这份资料围绕Verilog HDL数字频率计展开,重点解决10Hz~10MHz信号测量、六位数码管显示与闸门时间切换的实现问题。内容包含分频器、门控电路、计数器、锁存译码显示及… · 2026/11/3 21:29:40
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46