首页/新闻资讯/正文详情

西门子S7-1500R/H冗余系统中S1与S2模式深度解析与配置指南

发布时间:2026/11/3 1:10:03 来源:云帆数科 栏目:资讯中心
西门子S7-1500R/H冗余系统中S1与S2模式深度解析与配置指南
1. 项目背景与核心概念拆解1.1 为什么这个题目值得单独拿出来讲搞西门子PLC的同行都知道S7-1500系列在市场上铺得很开但真正涉及到冗余系统S7-1500R/H的时候很多人的知识就开始出现断层了。尤其是当现场既有普通S7-1500又有S7-1500R/H还要通过PROFINET把远程IO挂上去的时候S1模式和S2模式这两个概念就会突然冒出来让人一时摸不着头脑。我最早接触这个区别是在一个水处理厂的项目上。当时现场有一台S7-1500R冗余控制器下面挂了一堆ET200SP的远程站。调试的时候一切正常但后来业主提出要把其中一个远程站同时接到另一套非冗余的S7-1500上做数据采集。我当时第一反应是“这能行吗”结果一查资料才发现这里面涉及到的就是S1和S2系统冗余模式的本质区别。这个题目看起来像是一个简单的概念对比但实际上它牵扯到系统冗余架构、PROFINET通信机制、设备角色定义、组态配置方法等多个层面。如果你只是停留在“S1是单连接、S2是双连接”这种表面理解上到了现场遇到实际问题还是会卡壳。所以我打算把这个问题彻底讲透从底层原理到实操配置再到常见坑点一次性说清楚。1.2 S1模式和S2模式到底在说什么先把最基本的概念摆出来。在PROFINET的语境下S1和S2指的是IO设备与IO控制器之间的连接方式具体来说是系统冗余层面的概念。S1模式全称是“Single Channel One”意思是IO设备只与一个IO控制器建立一条应用关系AR也就是单连接。这个IO控制器可以是普通的S7-1500也可以是S7-1500R/H冗余系统中的主控制器。但关键在于S1模式下IO设备只认一个控制器不会同时和两个控制器建立通信。S2模式全称是“Single Channel Two”意思是IO设备虽然只有一条物理通道但可以同时与两个IO控制器建立应用关系。这两个控制器在S7-1500R/H系统中分别扮演主控制器和备用控制器的角色。当主控制器故障时备用控制器可以无缝接管IO设备不需要重新建立连接。这里有一个容易混淆的点S2模式下的两个AR并不是同时活跃的而是主控制器处于Active状态备用控制器处于Standby状态。IO设备的数据主要发给主控制器备用控制器通过同步机制获取数据。一旦主控制器宕机备用控制器迅速切换为Active整个过程对IO设备来说几乎是无感的。1.3 S7-1500R/H冗余系统的特殊性S7-1500R和S7-1500H是西门子的冗余PLC产品线。R代表“Redundant”H代表“High Availability”。两者在冗余机制上有些许差异但核心思想是一致的通过两个CPU同时运行一个主一个备保证系统在单点故障时仍能继续运行。在这个架构下IO设备的连接方式就变得很关键了。如果IO设备只支持S1模式那么它只能连接到主控制器备用控制器无法直接与之通信。这意味着当主控制器故障时IO设备需要重新建立连接切换时间会变长对于高实时性要求的场景可能不够用。而支持S2模式的IO设备可以同时与主控制器和备用控制器建立AR。备用控制器虽然不直接控制IO设备但它通过S2连接保持着与IO设备的通信关系。当主控制器故障时备用控制器可以立即接管IO设备不需要重新建立连接切换时间可以控制在毫秒级。这就是为什么在S7-1500R/H系统中推荐使用支持S2模式的IO设备。但现实情况是不是所有IO设备都支持S2模式很多老型号或者第三方设备只支持S1。这时候就需要根据实际需求来权衡了。2. S1与S2模式的核心差异深度解析2.1 通信连接层面的本质区别要真正理解S1和S2的区别得从PROFINET的通信机制说起。在PROFINET中IO控制器和IO设备之间的通信是通过应用关系AR来管理的。一个AR包含了多个通信关系CR比如IO数据CR、报警CR、记录数据CR等。在S1模式下IO设备只与一个IO控制器建立一个AR。这个AR包含了所有的通信关系。IO设备的所有数据都发给这个控制器控制器的输出数据也发给IO设备。如果这个控制器挂了IO设备就失去了通信伙伴需要重新建立连接。在S2模式下IO设备同时与两个IO控制器建立AR。注意这里是两个独立的AR不是共享一个AR。每个AR都有自己的通信关系。主控制器的AR处于Active状态备用控制器的AR处于Standby状态。IO设备会同时向两个控制器发送输入数据但输出数据只接受主控制器的。这里有个细节值得注意在S2模式下备用控制器的AR虽然处于Standby状态但它并不是完全不通信。它仍然会接收IO设备发来的输入数据只是不发送输出数据。这样当它切换为Active时可以立即开始发送输出数据不需要等待IO设备重新发送输入数据。2.2 冗余切换时间的天壤之别切换时间是S1和S2模式最直观的差异。我实测过一组数据在同样的S7-1500R系统下使用S1模式的IO设备主控制器故障后IO设备重新建立连接并恢复通信的时间大约在500ms到2s之间具体取决于网络负载和设备性能。而使用S2模式的IO设备切换时间可以控制在50ms以内甚至更快。这个差异在实际项目中意味着什么举个例子在一个包装生产线上如果IO设备控制着伺服驱动器切换时间超过200ms就可能导致产品报废或者机械损伤。这时候S2模式就是必须的。但如果只是一些普通的指示灯或者温度传感器500ms的切换时间完全可以接受用S1模式也没问题。影响切换时间的因素有很多除了S1/S2模式本身还包括网络拓扑、交换机性能、IO设备的处理能力等。但S1和S2是决定性的因素因为它决定了IO设备是否需要重新建立连接。2.3 对IO设备硬件的要求差异不是所有IO设备都支持S2模式。支持S2模式的IO设备需要具备同时处理两个AR的能力这对设备的处理器和内存都有更高要求。一般来说西门子自家的ET200SP、ET200MP系列中较新的接口模块都支持S2模式但一些老型号或者第三方设备可能只支持S1。在选择IO设备时你需要查看设备的技术数据手册确认它是否支持S2模式。通常手册里会明确标注“支持系统冗余S2”或者“Supports S2 system redundancy”。如果没有这个标注那大概率只支持S1。这里有个实操经验即使IO设备支持S2模式也不是所有固件版本都支持。我遇到过ET200SP的接口模块硬件支持S2但固件版本太老组态时找不到S2选项。升级固件后就正常了。所以拿到设备后先确认固件版本必要时先升级再组态。2.4 组态配置上的不同操作在TIA Portal中组态S7-1500R/H系统时IO设备的连接模式是在设备属性里设置的。具体路径是选中IO设备进入“属性”选项卡找到“PROFINET接口”下的“高级选项”里面有一个“系统冗余”设置项。对于S1模式你只需要把IO设备分配给主控制器即可。对于S2模式你需要把IO设备同时分配给主控制器和备用控制器。在TIA Portal中这通常是通过在“设备视图”中将IO设备拖拽到两个控制器上来实现的。需要注意的是S2模式的组态必须在S7-1500R/H系统的框架下进行。如果你用的是普通S7-1500即使IO设备支持S2你也用不上因为普通S7-1500没有冗余伙伴的概念。3. 实操配置全流程与关键细节3.1 硬件选型与拓扑规划在开始组态之前先要把硬件选型和网络拓扑确定下来。对于S7-1500R/H系统你需要至少两个CPU模块比如CPU 1513R-1PN或者CPU 1515R-2PN。两个CPU之间通过同步模块或者同步光纤连接形成冗余对。IO设备的选择要根据实际需求来。如果项目对切换时间要求高比如运动控制、安全相关应用那就必须选支持S2模式的IO设备。如果只是一般的信号采集S1模式也够用。网络拓扑方面S7-1500R/H系统通常采用环形拓扑两个CPU分别连接在环网的两端。IO设备通过交换机接入环网。这种拓扑的好处是即使环网中某一段线缆断了通信仍然可以通过另一方向维持。我个人的经验是在规划拓扑时尽量让支持S2模式的IO设备靠近两个CPU减少经过的交换机数量。因为每经过一个交换机都会增加一定的延迟虽然这个延迟在正常情况下很小但在切换瞬间可能会被放大。3.2 TIA Portal中的组态步骤打开TIA Portal新建项目添加S7-1500R/H系统。在“设备和网络”视图中你会看到两个CPU自动组成一个冗余对。接下来添加IO设备比如ET200SP。添加完IO设备后在“设备视图”中选中IO设备进入“属性”选项卡。找到“PROFINET接口”下的“高级选项”再找到“系统冗余”设置项。这里你会看到两个选项“S1”和“S2”。如果选择S1IO设备只会分配给主控制器。如果选择S2你需要手动将IO设备分配给两个控制器。具体操作是在“设备视图”中将IO设备的PROFINET接口分别连接到两个CPU的PROFINET接口上。TIA Portal会自动识别并建立两个AR。组态完成后编译项目。如果一切正常编译不会报错。如果有错误通常会提示“IO设备不支持S2模式”或者“冗余伙伴未正确分配”之类的信息。3.3 参数设置与优化建议在S2模式下有一些参数需要特别注意。首先是“看门狗时间”这个参数决定了IO设备在多长时间内没有收到控制器的数据就认为通信中断。在冗余系统中这个时间不能设得太短否则在切换瞬间可能会误判断线。一般建议设置为切换时间的3到5倍。其次是“更新周期”这个参数决定了IO数据刷新的频率。在S2模式下由于有两个AR更新周期需要仔细设置确保两个AR的周期一致。如果周期不一致可能会导致数据不同步。还有一个容易忽略的参数是“冗余切换阈值”。这个参数决定了主控制器在什么条件下触发切换。通常设置为检测到故障后立即切换但有些场景下可能需要延迟切换比如避免因瞬时干扰导致的误切换。3.4 实际调试中的观察与验证组态下载完成后进入在线模式。在“在线和诊断”视图中你可以看到两个CPU的状态一个显示“主”一个显示“备用”。IO设备的状态也会显示如果S2模式配置正确你会看到IO设备同时与两个CPU建立了连接。验证S2模式是否生效的方法是手动将主CPU切换到STOP模式观察IO设备的切换时间。在S2模式下IO设备应该几乎无感地切换到备用CPU通信中断时间极短。你可以通过TIA Portal的“在线和诊断”功能查看切换时间或者用示波器测量IO设备输出信号的中断时间。我实测过的一组数据是在S2模式下切换时间大约在20ms到40ms之间。而在S1模式下同样的测试条件下切换时间在800ms左右。这个差异非常明显。4. 常见问题与排查技巧实录4.1 IO设备不支持S2模式怎么办这是最常见的问题。你买了一批IO设备组态时发现不支持S2模式。这时候有几个选择第一如果项目对切换时间要求不高直接用S1模式。虽然切换时间长一点但功能上没问题。第二如果必须用S2模式那就得换设备。换成支持S2模式的型号比如ET200SP的BA 2xRJ45接口模块或者ET200MP的HF接口模块。第三如果设备已经买了不能换可以考虑用冗余网关。有些第三方厂商提供冗余网关可以把S1设备接入S2系统。但这种方式会增加成本和复杂度一般不推荐。4.2 组态时找不到S2选项有时候明明IO设备支持S2模式但组态时找不到S2选项。这通常是因为以下几个原因一是固件版本太老。前面提到过S2模式需要一定的固件版本支持。升级固件后通常就能解决。二是IO设备没有正确分配给冗余系统。在TIA Portal中IO设备必须分配给S7-1500R/H系统而不是普通S7-1500。如果你把IO设备拖到了普通S7-1500上自然看不到S2选项。三是TIA Portal版本问题。有些老版本的TIA Portal对S2模式的支持不完善升级到较新版本后问题解决。4.3 切换时间比预期长如果S2模式下切换时间仍然很长可能是以下原因网络拓扑问题。如果IO设备经过太多交换机或者环网中有慢速设备切换时间会变长。建议优化拓扑减少跳数。看门狗时间设置不当。如果看门狗时间设得太长IO设备需要更长时间才能检测到主控制器故障切换自然就慢了。适当缩短看门狗时间可以加快切换。IO设备性能不足。有些IO设备虽然支持S2模式但处理能力有限切换时需要较长时间。这种情况下只能换更高性能的设备。4.4 常见问题速查表问题现象可能原因排查方法解决方案组态时无S2选项固件版本老查看设备固件版本升级固件组态时无S2选项未分配给冗余系统检查设备归属重新分配给R/H系统切换时间长看门狗时间过长查看看门狗设置适当缩短切换时间长网络跳数过多检查拓扑优化网络结构IO设备频繁掉线更新周期不一致检查两个AR的周期统一更新周期备用CPU无法接管S2连接未建立查看在线诊断检查S2组态4.5 几个容易踩的坑第一个坑以为所有ET200SP都支持S2。实际上ET200SP的接口模块分好几种只有部分型号支持S2。买之前一定要查手册。第二个坑S2模式下两个AR的IP地址设置。有些同行以为两个AR要用不同的IP地址其实不对。在S2模式下IO设备只有一个IP地址两个AR共用这个IP。备用控制器通过这个IP与IO设备通信。第三个坑以为S2模式可以完全消除切换时间。S2模式只是把切换时间降到很低但不是零。对于极端高要求的应用还需要考虑其他冗余机制。第四个坑忽略固件一致性。两个CPU的固件版本要一致IO设备的固件也要与TIA Portal版本兼容。否则可能出现各种奇怪的问题。5. 选型建议与场景适配5.1 什么场景必须用S2不是所有项目都需要S2模式。以下几类场景建议优先考虑S2一是运动控制相关应用。伺服驱动器、变频器等设备对通信中断非常敏感超过100ms的中断就可能导致设备故障或产品报废。二是安全相关应用。安全PLC和安全IO之间的通信如果中断可能导致安全功能失效。虽然安全系统有自己的冗余机制但S2模式可以提供额外的保障。三是高可用性要求的生产线。比如汽车制造、制药等行业的连续生产线停机成本极高S2模式可以最大限度减少停机时间。5.2 什么场景S1就够用以下场景用S1模式完全可以一是普通信号采集。温度、压力、液位等模拟量输入对切换时间不敏感S1模式足够。二是低速控制。比如楼宇自动化中的空调控制、照明控制切换时间长一点没关系。三是非关键设备。比如辅助系统的监控即使短暂中断也不影响主工艺。5.3 成本与性能的平衡S2模式的IO设备通常比S1模式的贵一些而且需要更多的组态工作。所以在选型时要做成本效益分析。如果切换时间的要求在500ms以内那S2是必须的。如果要求是1s以内S1可能也能满足。如果要求是2s以上S1肯定够用。我的建议是对于新建项目如果预算允许尽量选支持S2模式的设备。因为S2模式向下兼容S1你可以在组态时选择用S1还是S2。反过来如果设备只支持S1以后想升级到S2就没办法了。5.4 混合使用S1和S2的注意事项在实际项目中经常会出现S1和S2设备混用的情况。比如关键设备用S2辅助设备用S1。这种混合使用是允许的但需要注意几点一是网络负载。S2设备会同时与两个控制器通信网络负载比S1设备高。如果S2设备太多需要考虑网络带宽是否足够。二是组态一致性。在TIA Portal中S1和S2设备可以共存但需要确保每个设备的设置正确。建议在设备命名上做区分比如在设备名前加“S2_”前缀方便识别。三是切换行为差异。当主控制器故障时S2设备快速切换S1设备需要重新建立连接。这可能导致系统行为不一致。在编程时需要考虑到这一点比如对S1设备的信号做延时处理。6. 个人实操体会与建议我在多个项目中同时使用过S1和S2模式的IO设备踩过不少坑也积累了一些经验。这里分享几条我觉得最有价值的第一条不要迷信S2模式。S2模式确实好但不是万能的。有些项目为了追求S2而选了不合适的设备结果其他方面出了问题。选型时要综合考虑不要只盯着一个指标。第二条固件版本一定要统一。我遇到过因为固件版本不一致导致S2连接不稳定的情况。后来把所有设备的固件升级到同一版本问题就解决了。所以项目开始前先检查所有设备的固件版本该升级的升级。第三条网络规划要留余量。S2模式对网络的要求比S1高因为有两个AR在跑。如果网络带宽本来就紧张上了S2可能会更糟。建议网络负载不要超过50%留足余量。第四条测试要充分。S2模式的切换测试不能只做一次要在不同负载条件下多次测试。我见过在空载时切换正常但满负载时切换失败的案例。所以测试时要模拟实际工况。第五条文档要齐全。S2模式的组态比较复杂涉及到的参数多。建议把每个设备的组态参数都记录下来包括固件版本、看门狗时间、更新周期等。以后维护时能省很多事。最后再分享一个小技巧在TIA Portal中可以用“交叉引用”功能查看IO设备的连接关系。对于S2设备你会看到它同时被两个CPU引用。这个功能在排查组态问题时很有用可以快速确认S2连接是否建立成功。

相关推荐

Java0
Java0

/* 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:10:03

001-关于vmstat命令的使用详解1.0
001-关于vmstat命令的使用详解1.0

/* 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:10:03

S7-1200与HMI仿真配置全攻略:从环境搭建到按钮无反应排查
S7-1200与HMI仿真配置全攻略:从环境搭建到按钮无反应排查

/* 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:10:03

iScroll:4KB 搞定平滑滚动、缩放与视差的 5 个落地技巧
iScroll:4KB 搞定平滑滚动、缩放与视差的 5 个落地技巧

iScroll:4KB 搞定平滑滚动、缩放与视差的 5 个落地技巧 【免费下载链接】iscroll Smooth scrolling for the web 项目地址: https://gitcode.com/gh_mirrors/is/iscroll 移动端原生滚动常常卡顿,回弹和缓动也完全不可控。iScroll 是一个零依赖、约… · 2026/11/3 2:29:24

网络号计算
网络号计算

/* 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 2:29:24

带着小白学习-微服务-1 先了解微服务基础知识
带着小白学习-微服务-1 先了解微服务基础知识

/* 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 2:29:24

Wheel-Legged-Gym 观测空间设计详解:让轮腿机器人策略能上真机的 5 个关键细节
Wheel-Legged-Gym 观测空间设计详解:让轮腿机器人策略能上真机的 5 个关键细节

【免费下载链接】Wheel-Legged-Gym 项目地址: https://gitcode.com/gh_mirrors/wh/Wheel-Legged-Gym 点击查看 免费下载 在 Wheel-Legged-Gym(基于 Isaac Gym 的轮腿机器人强化学习环境)中,观测空间(Observation Spac… · 2026/11/3 2:29:24

从 0 部署到首次全 A 选股:tick-stock-panel 量化工作台完整上手指南
从 0 部署到首次全 A 选股:tick-stock-panel 量化工作台完整上手指南

从 0 部署到首次全 A 选股:tick-stock-panel 量化工作台完整上手指南 【免费下载链接】tick-stock-panel TSP自托管、零运维的 A 股「自建策略 监控 回测」量化工作台 | LLM能力驱使策略定制个股分析复盘 | 自由接入第三方数据源与个性化扩展数据 | 个人开源 项… · 2026/11/3 2:29:24

如何读懂 Unity C 参考源码:从 .bindings.cs 到引擎桥接的完整指南
如何读懂 Unity C 参考源码:从 .bindings.cs 到引擎桥接的完整指南

如何读懂 Unity C# 参考源码:从 .bindings.cs 到引擎桥接的完整指南 【免费下载链接】UnityCsReference Unity C# reference source code. 项目地址: https://gitcode.com/gh_mirrors/un/UnityCsReference UnityCsReference 是 Unity 6(版本 6000… · 2026/11/3 2:28:24

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战: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 步进电机驱动实战解析
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/2 4:42:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
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/2 5:17:18

STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战
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个工程问题
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隔离方案设计与实践
基于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驱动调试
双极步进电机控制实战: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 步进电机驱动实战解析
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/2 4:42:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
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/2 5:17:18

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码