工业现场跑久了你会发现一个特别普遍的现象设备明明是崭新出厂的功能也健全但一到联网调试环节就卡壳。原因往往不在设备本身而在于“说不同语言”——这边PLC用的是PROFINET那边现场仪表走的是Modbus RTU中间还隔着一批只认EtherCAT的伺服驱动器。这时候就需要一个能“两头翻译”的角色出场这类角色就是协议转换模块。实点科技的GW6L系列从站协议转换模块做的正是这件事。这篇文章我打算把GW6L系列的来龙去脉讲透包括它到底解决什么问题、整个系列有哪些型号、硬件接口怎么理解、现场调试怎么一步步跑通以及我实际调试中踩过的一些坑。不管你是做产线集成的工程师还是正在改造老旧设备的电气主管只要你手头有“协议不一致”的烦恼这篇文章都有参考价值。1. 从站协议转换模块到底在项目中扮演什么角色1.1 协议林立是工业现场的常态互联互通才是硬需求工业自动化发展了这么多年总线协议从来没有真正统一过。西门子推PROFINET倍福和欧姆龙大量用EtherCAT罗克韦尔力挺EtherNet/IP三菱、基恩士那边CC-Link IE和兼容CC-Link的生态也不少再往下还有Modbus TCP、Modbus RTU、CANopen、DeviceNet这些老牌选手。每个品牌、每代产品都有自己的历史包袱谁也不愿意轻易放弃自家协议。结果就是一个稍微复杂点的产线往往同时存在三四种总线协议。这种情况下设备选型就变成一个妥协过程。原来你有一批很稳定的称重仪表、变频器或者温控器它们只有Modbus接口但新上的主站是西门子S7-1500走PROFINET。硬把仪表换掉成本太高软件层面又没有办法让S7-1500原生去读Modbus RTU。这时候一台从站协议转换模块就能解决——它一边接入PROFINET网络作为从站一边通过串口和你的仪表通信把数据转换成PROFINET的GSDML文件描述的信号主站完全无感组态时当作一个PROFINET设备来用就行。GW6L系列的定位就是这种“从站侧翻译官”。它本身不是一个主站不会主动去调度总线它只是把自己挂在某个工业以太网总线上作为一个标准的从站设备响应主站通信然后把主站想要的数据从另一侧对接的串口或者其他小总线里读出来、写进去。这种设计带来的好处是系统结构简单主站侧不需要增加额外的编程负担可靠性也更容易保证。1.2 从站转换和主站转换是两条完全不同的路很多刚接触协议转换的工程师会把“从站”和“主站”的概念搞混选型的时候容易买错设备。这两类产品的工作方向是反着来的。主站协议转换模块通常是你这边要主动去读取下面的设备比如你用PC机通过Modbus TCP去轮询一堆Modbus RTU仪表这时候转换模块扮演的是“主站”角色帮你把轮询指令翻译到串口侧。从站协议转换模块则相反它把自己的身份挂在PLC的总线上PLC是主站PLC主动读写它它再把读写请求转成串口侧的请求去操作下游设备。GW6L系列主打的正是从站方向。换句话说如果你现场是一套以PLC为核心的控制系统下面挂着若干只有串口能力的仪表PLC又只能跑工业以太网那GW6L就是为你准备的。选型的时候一定要先搞清楚你的PLC是主站还是从站、你的仪表需要谁来主动读取。方向搞反了设备装上以后半天通信都建不起来你会以为硬件坏了其实只是角色错位。2. GW6L系列型号与参数先把手里的硬件看清楚2.1 系列协议覆盖与选型对照实点科技GW6L系列之所以是一个“系列”是因为它针对不同的主站协议做了多个版本。常见的有EtherCAT从站版本、PROFINET从站版本、EtherNet/IP适配器版本、Modbus TCP服务器版本有些型号还支持CC-Link IE TSN这类偏日系的总线。每一款的协议侧重不同但底层逻辑一致一侧是工业以太网从站另一侧是串行接口串口类型通常覆盖RS485和RS232部分型号还提供额外的IO接口。选型其实不难核心就是反问自己三个问题主站是谁从站要挂到哪个总线上下游设备是RS485还是RS232比如你手里是一台汇川的PLC走EtherCAT总线下面挂了一批老款Modbus温控器那么你就选择GW6L系列中支持EtherCAT从站的那个型号确认串口是RS485然后按说明书把波特率、数据位、停止位、校验位设成和温控器一致这件事就成了。我在实际项目里常用的一种确认方式是把所有需要对接的设备列一张表表头是“协议类型、波特率、数据格式、从站地址、寄存器地址、数据类型”。先把自己那侧的要求整理清楚再对照GW6L系列选型表选具体型号。这样做的好处是现场接线之前就已经排除了80%的通信配置隐患剩下的只是物理接线。2.2 接口特征与电气参数解析GW6L系列在外观上一般是DIN导轨安装的小型模块标准35mm导轨直接卡上去外壳材质以工程塑料为主防护等级IP20适合安装在电控柜内。模块正面会有几个核心接口工业以太网口通常是RJ45有的型号带双网口方便做菊花链连接这样多台从站可以串在一起减少交换机端口占用串口侧则是一个可插拔的接线端子定义明确标注了A/B或T/R等标识。供电方面GW6L系列普遍支持宽压输入常见的是DC 9V到36V范围额定24V。宽压设计在工业现场是一种宽容度很高的做法因为24V开关电源在实际带载后电压往往有波动尤其当电柜里感性负载比较多的时候电压跌落和浪涌都会出现。如果模块只能工作在24V±5%那它对电源质量的要求就会很苛刻反而容易出故障。再说串口的电气参数RS485接口部分模块一般内置了终端电阻的配置选项有些型号是硬件跳线或拨码开关有些则是软件配置。这里要特别提醒一件事RS485总线的终端电阻不只是在最远端设备上加而是通信链路的两端都应该匹配。如果GW6L正好是总线的一端那就需要把模块的终端电阻开关拨到“ON”位置否则长距离传输时信号反射会导致误码率上升。我见过太多排查半天都找不到原因的通信故障最后发现只是终端电阻没匹配。2.3 状态指示与诊断设计一个模块好不好用看它的指示灯设计就知道。GW6L系列一般在面板上提供电源指示灯、运行指示灯和总线状态指示灯。电源灯亮只是第一步运行灯能反映模块固件是否正常启动而总线状态灯则能告诉你主站是否已经建立了和模块的周期性通信。这一点在实际调试中太重要了。比如你接好线、做完配置PLC那边显示设备“存在但未连接”这时候你看模块的总线状态灯是快速闪烁还是常亮基本就能判断是组态没下载成功还是通信链路物理层有问题。有些型号的GW6L模块还会提供串口发送和接收指示灯这简直就是调试神器。串口通信的物理层问题往往是最玄学的接线松了、A/B接反了、波特率不对现象都一样——数据传不过去。但如果模块上有TXD和RXD两个灯你就能非常直观地看到串口侧是否有数据流动。灯完全不亮说明模块根本没往下发数据或者根本没收到仪表的回应问题大概率在仪表的从站地址或者参数配置上灯在闪但PLC里数据不对那就是寄存器地址映射的问题。这种层级化排查的思路可以让你少走很多弯路。3. 从接线到通信跑通GW6L的操作步骤拆解3.1 第一步安装、接线与电源准备拿到模块之后第一步不是急着接通信线而是先看说明书里的端子定义和供电要求。我习惯的流程是先把模块卡到DIN导轨上确认卡扣到位然后接电源线。这里有一个经验之谈电源线不要和动力线走在同一个线槽里至少保持一定距离否则变频器或者伺服驱动器启动瞬间产生的电磁干扰会通过耦合进入模块的电源端导致偶发复位或者通信中断。接线顺序上我一般先接电源再接地最后接通信线。GW6L系列的接地端子要特别留意如果现场电柜有独立的接地排最好把模块的PE端子直接接到接地排上而不是就近搭在导轨上完事。导轨本身如果能保证和电柜外壳良好导通倒也能用但为了安全和抗干扰独立接地线更稳妥。串口接线要分清RS485的两线制和四线制。GW6L系列的RS485通常是两线制半双工也就是只有A和B两根线用屏蔽双绞线连接屏蔽层单端接地。接线的时候最怕A/B接反很多仪表厂商对A/B的命名还不统一有的叫D和D-有的叫正和负有的干脆标成485A和485B。所以接完线之后务必用万用表确认一下仪表侧的A/B定义再和模块侧一一对应不要想当然。3.2 第二步配置串口参数与从站地址GW6L系列一般会提供一个配置软件通过USB或者网口连接模块进行参数设置。配置软件的核心界面通常是这样的左侧是通信参数设置包括串口波特率、数据位、停止位、校验位右侧是从站协议参数比如EtherCAT站号或者PROFINET设备名称再往下是一个数据映射表用来决定串口侧的哪些寄存器数据映射到总线侧的过程数据区。设置串口参数的逻辑很简单不是模块想设多少就设多少而是下游仪表设了什么模块就要跟着设什么。比如你的温控器配置是9600波特率、8位数据位、1位停止位、无校验那模块串口参数就要一模一样一个字母都不能差。波特率不一致会造成数据乱码校验位不一致会导致模块发出去的请求对方直接丢弃。这个环节我特别推荐用“命令帧测试”功能——如果配置软件里带有调试功能可以先在软件里发送一条标准Modbus指令帧看仪表有没有正常回应。这一步能提前验证串口链路和仪表配置避免等PLC程序跑起来才暴露问题。从站地址的设置有两种常见方式一种是通过配置软件写入模块内部存储另一种是通过模块面板上的拨码开关设置。拨码开关的好处是现场改地址不用开电脑但容易拨错而且有些拨码是二进制组合要仔细算。我的习惯是如果项目中途不会频繁更换设备就尽量用软件配置地址如果这个模块经常会被拆到别的设备上去用那用拨码开关会更方便但要反复核对拨码表。3.3 第三步主站组态与数据传输验证配置完模块之后就到了主站侧组态这一步。不同总线协议的组态方式差别还挺大的但核心逻辑都是“把模块的描述文件导入主站工程然后添加设备”。以PROFINET为例你需要在PLC编程软件里安装模块对应的GSDML文件然后在网络视图中添加这个设备给它分配一个设备名称最后把模块的过程数据区映射到PLC的输入输出地址区。EtherCAT则是在主站配置里扫描或者手动添加从站把模块的PDO映射配置好然后下载配置。这一步有个很容易翻车的地方有些品牌的主站软件对设备描述文件版本很敏感安装文件版本太老或者太新都会导致识别异常。所以下载文件时一定要留意是否和自己主站软件的版本兼容。配置完成后先用主站的诊断功能看看是否已经建立通信。诊断界面里能看到从站已经在线并且周期通信正常。接着就可以在PLC程序里写一段测试逻辑往模块的某个输出地址写一个固定值如果模块对应的串口指示灯出现发包动作或者下游仪表产生了响应说明整个链路已经打通。如果这一步没反应就要回到上一小节的方法用配置软件的命令帧测试来定位问题在串口侧还是网络侧。4. 现场踩坑实录那些调试中反复出现的“鬼问题”4.1 模块总是离线可能不是模块的问题做现场调试久了你会形成一个条件反射设备离线先看电源再看网线最后才怀疑模块本身。GW6L这类从站模块如果频繁掉线很多时候是电源电压在设备动作瞬间被拉低导致模块重启。工业现场的24V电源看起来输出电压正常但实际带载能力不足是很常见的尤其当这个电源同时还给继电器、电磁阀供电时感性负载断开瞬间的反峰电压很容易干扰模块。有一次我调试一条包装线PLC那边反复报GW6L模块通信超时重启就好运行一会儿又掉。我用万用表在模块电源端子上抓了半个小时的电压波形发现每当一个气缸电磁阀动作的瞬间电源电压会有一个明显的跌落毛刺幅度接近5V。后来我给模块单独加了一个DC-DC隔离电源故障就再也没出现过。后来又遇到类似问题就直接先上隔离电源。这不是说GW6L抗干扰能力差而是工业现场的电源环境本来就很恶劣串口模块这种小功率设备对它前面的供电质量容忍度没那么高。4.2 数据“偶发不准”怎么查数据显示不准而且不是每次都错这种问题最让人头大。我的排查顺序是这样的先看寄存器地址映射是否正确再看数据类型是否匹配最后看通信频率是否超过了模块的处理能力。地址映射的问题在GW6L使用中最常见。比如仪表侧寄存器地址是40001对应PLC里存放的地址是40021如果你映射的时候多偏移了1个地址就会把别的数据读过来。数据类型不匹配也很典型下游仪表返回的是16位无符号整数而你映射到PLC的目标数据类型是16位有符号整数那么当数据超过32767时就会出现负数。这个问题你不是在现场看波形能发现的只有对着仪表说明书和模块映射表一个寄存器一个寄存器核对才能找到。还有一种情况是通信频率太高导致模块响应不过来。有些PLC工程师为了让数据实时性更好把IO刷新周期设成1毫秒但GW6L通过串口访问下游Modbus仪表本身串口的9600波特率算下来一帧指令都需要好几毫秒。高频请求会导致模块内部缓存排队最终表现就是数据更新延迟不均匀有的周期数据是新的有的周期数据是旧的。解决方案有两个一个是降低主站对模块的请求频率另一个是在PLC侧对关键数据做合理性判断不预设过高的实时性要求。4.3 一个非常容易被忽略的细节设备名称与IP地址的混淆使用PROFINET和EtherNet/IP这类协议时很多工程师会把“设备名称”和“IP地址”混为一谈。GW6L模块在PROFINET模式下主站识别设备靠的是设备名称而不是IP地址。如果你在组态工具里给模块分配了一个IP地址却没有给设备分配名称主站是找不到这个设备的。这一点和EtherCAT的站号寻址、Modbus TCP的IP寻址都不一样逻辑切换过来以后要特别小心。我就见过一个项目工程师在组态软件里反复确认IP地址没错但设备就是不在线最后才发现PROFINET设备名称没有填对。这类问题排查起来特别折磨人因为你所有检查点都合理唯独遗漏了协议本身的寻址机制。5. 选型与项目部署心得5.1 选型时容易被忽略的4个细节选型这件事表面上看只是“协议对上就行”但实际还有不少容易忽略的细节。第一个是串口数量。有些应用并不只是对接一台仪表而是要同时对接多台串口设备。如果GW6L型号只有一个串口那你需要确认下游设备能不能挂到同一条RS485总线上。RS485总线理论上可以挂32个节点但实际还要考虑总线上所有设备的地址不能冲突、总长度不能超标、波特率尽量统一。第二个细节是数据缓冲区大小。不同的GW6L型号支持的过程数据长度可能有区别比如有的型号支持最大128字节输入和128字节输出有的支持到256字节。如果你的下游设备数据量很大比如一个串口下挂了20台电表每台电表要读8个寄存器那数据总量就要算清楚别选了一个缓冲区不够的型号。第三个是供电隔离。如果项目现场电柜空间有限模块可能和变频器装得很近这时候选择带电源隔离的版本会比不带隔离的可靠得多。GW6L系列中有些型号在硬件设计上做了电源隔离和串口隔离选型时要特别留意说明书里的隔离说明。没有隔离也不一定出问题但一旦出了问题排查成本远高于当初多花的选型成本。第四个是固件升级支持。协议转换模块这类产品很依赖固件的完善程度不同厂家的固件升级方式不同有的通过网口在线升级有的必须用串口线刷。我建议选那种支持在线升级的型号虽然现场大概率不会频繁升级固件但万一遇到主站软件升级导致兼容性问题在线升级能省下不少麻烦。5.2 我实际项目里的一套推荐部署方案在我经手的一个小型产线改造项目中有一个比较典型的应用场景两条老产线上的12台温控器全部是Modbus RTU接口新上的控制柜用西门子S7-1500走PROFINET。我当时的部署方案是每6台温控器挂一条RS485总线用一台GW6L系列PROFINET从站模块做协议转换两条总线用两台模块分别设置不同的站名。12台温控器的地址分别设为1到12模块串口参数统一设成9600、8、1、无校验。在TIA Portal里导入GSDMD文件之后每个模块映射了12组输入数据每组包含当前温度设定值和实际温度输出数据则用来下发温度设定值。这套方案的好处是模块数量少就两台布线简单每个模块下面只拉一条屏蔽双绞线沿着桥架走到温控器位置故障域隔离如果一条总线上某台温控器地址冲突导致通信失败另一条总线不受影响。后来有个温控器坏了要换新新设备默认Modbus地址是1和原来那台的地址不一致我只用配置软件从新地址读一下数据连PLC程序都没改非常方便。5.3 维护阶段的一些“小动作”设备投运之后维护工作的顺畅程度取决于调试阶段做没做功课。我强烈建议在完成调试的那一刻就把以下信息整理成一张表存档模块型号、序列号、固件版本、配置软件版本、串口通信参数、从站地址、映射表和总线设备名称。很多人觉得这是文档工作不重要但等到半年后设备故障需要复现配置时你就会知道这张表有多宝贵。GW6L模块如果被更换新的模块默认配置是出厂值必须重新配置才能用。如果没有存档现场只能临时翻说明书靠记忆恢复配置不但慢而且容易出错。我在现场还会做一个小动作在模块外壳上用油性笔标记串口参数和地址。因为模块装在电柜里下次谁去维护不用开电脑就能知道当前配置省去了不少沟通成本。这不算什么高大上的技巧但真的是很实用。6. 一条从“知道”到“会用”的路径协议转换模块从来不是高不可攀的设备它就是工业现场数据链路里的翻译官逻辑简单直接。GW6L系列给你提供了标准的硬件形态、明确的接口定义和配置工具你只要按顺序把接线、串口参数、从站地址、主站组态这几件事做对了整个链路就能跑得稳。作为一个从普通电工到独立负责项目调试的过来人我的体会是这类产品调试真正难的从来不是技术本身而是排查思路是否清晰。如果你正在为手头的协议不匹配问题头疼不妨先用一张纸把你的设备列表、协议类型、通信参数全部列出来再对照GW6L系列选型确认型号接下来按这篇文章的操作步骤一步步来。等你亲手把一个原先八竿子打不着的设备和PLC拉通数据了你会发现协议转换模块是一个让人上瘾的东西——特别是当别人还在为那几台设备发愁你已经把数据全部接到了中控屏幕上的时候那种爽感只有做过的人懂。
企业数字化 ERP 产品动态
相关推荐
ZYNQ UltraScale+ MPSoC原理图深度解读与硬件调试指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 11:02:39
ADS122U04 + STM32F437ZG 温度采集方案详解 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 11:02:39
ADS122U04与PIC32驱动的工业及HVAC高精度温度测量方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 11:02:39
LunaTranslator 完整指南:从 HOOK 到 OCR,掌握视觉小说游戏翻译 LunaTranslator 完整指南:从 HOOK 到 OCR,掌握视觉小说游戏翻译 【免费下载链接】LunaTranslator 视觉小说翻译器 / Visual Novel Translator 项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator
LunaTranslator 是一款免费开源、… · 2026/11/4 11:50:37
如何用自有ROM构建多语言Emerald 3DS:西班牙语、法语与意大利语版本构建教程 【免费下载链接】emerald-3ds Native Pokmon Emerald port for Nintendo 3DS, featuring dual-screen gameplay, stereoscopic 3D, and a fully 3D world. 项目地址: https://gitcode.com/gh_mirrors/em/emerald-3ds 点击查看 免费下载 Emerald 3DS 是《宝可梦 红宝… · 2026/11/4 11:50:37
蔡司三坐标测量仪是什么?一文读懂原理、型号、精度与行业应用 蔡司三坐标测量仪是什么?简单说,三坐标测量机(CMM,Coordinate Measuring Machine)就是一台能在三维空间里 "量尺寸" 的设备:测头沿着 X、Y、Z 三个方向移动,逐点或连续扫过工件表面&a… · 2026/11/4 11:49:36
Xoodyak算法的各种密码分析方法全面盘点 Xoodyak算法的各种密码分析方法全面盘点Xoodyak作为NIST轻量级密码竞赛的决赛算法,其安全性受到了学界的广泛审查。目前,所有已发表的攻击都针对缩减轮数的版本,其完整的12轮核心置换Xoodoo尚未被任何攻击所突破。以下是根据现有研究… · 2026/11/4 11:49:36
【LLM】第五章:LangChain框架介绍+开发前的准备工作 【LLM】第五章:LangChain框架介绍开发前的准备工作
本系列开始循序渐进讲LangChain框架。
LangChain是当前构建生产级AI智能体系统的首选,学习LangChain框架的意义不仅仅是开发智能体,透过框架,我们可以看到设计框架的这群牛人&… · 2026/11/4 11:49:36
CBC-MAC算法的各种密码分析方法全面盘点 CBC-MAC算法的各种密码分析方法全面盘点CBC-MAC(Cipher Block Chaining Message Authentication Code)是一种基于分组密码构造消息认证码的经典算法-。虽然设计精巧,但在不同条件下存在多种密码分析方法。以下是针对CBC-MAC及其主要变体的攻击… · 2026/11/4 11:49:36
双极步进电机控制实战: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/4 3:16:49
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/4 6:59:29
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/4 7:02:38
AI辅助技术栈评估:提升研发决策效率60% 1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17
从生成Token到直接决策:Jev如何重塑AI Agent工程实践 1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17
32G统一内存跑大模型:内存账、TPS实测与端云分流 想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17
双极步进电机控制实战: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/4 3:16:49
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/4 6:59:29
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/4 7:02:38