三菱PLC FB模块:从积木到乐高的结构化编程实战
1. 从“积木”到“乐高”为什么FB模块是PLC编程的分水岭如果你已经跟着三菱PLC的学习路径从梯形图的基本指令玩到了定时器、计数器甚至开始用一些简单的子程序那你可能会觉得编程不就是把一堆逻辑块堆起来吗这就像用积木搭房子一块一块往上垒也能搭出个样子来。但当你开始接触稍微复杂点的项目比如一条有十几个工位的流水线或者一个需要协调多个执行机构的设备你就会发现用“积木”思维写的程序维护起来简直是噩梦——改一个地方可能牵一发动全身查个故障得在几千行程序里大海捞针。这时FB模块就该登场了。你可以把它理解为乐高里的“功能组件”比如一个完整的车轮组、一个带门窗的墙壁模块。在PLC编程里FBFunction Block功能块就是这样一个预定义好的、封装了特定功能的“黑盒子”。你不需要关心盒子里面复杂的齿轮是怎么咬合的你只需要知道给它几个输入信号比如“启动”、“速度设定”它就能稳定地输出你想要的结果比如“电机正转”、“当前转速”。这次我们就来彻底搞懂三菱PLC里的这个“乐高”神器——FB模块它绝不仅仅是子程序的升级版而是一种工程思维的跃迁。对于工控新手来说理解FB是摆脱“接线工”式编程、迈向结构化、可复用编程的关键一步。而对于有经验的工程师深入掌握FB的封装、参数化和多重实例化则是提升代码质量、实现快速开发和降低维护成本的核心技能。我们不仅会讲清楚FB是什么更会通过对比、实例和踩坑经验让你明白它“为什么”要这么用以及在实际项目中“如何”用好它。2. FB模块的本质封装、复用与数据隔离要理解FB首先要把它和我们已经熟悉的两种东西划清界限普通梯形图程序和子程序Subroutine。想象一下你要控制一台电机的启停和调速。用普通梯形图写你会把启动按钮、停止按钮、过载信号、接触器线圈、频率设定等所有的触点、线圈和功能指令都铺在主程序里。如果产线上有10台相同的电机你就得把这套逻辑复制粘贴10遍。这会导致程序冗长且任何修改都需要重复10次极易出错。子程序前进了一步它把这段逻辑打包成一个独立的“过程”在主程序里用CALL指令来调用。这解决了代码复用的问题但有一个致命的缺陷数据是全局共享的。所有电机都操作同一组内部继电器M和数据寄存器D。为了让10台电机独立工作你必须在调用子程序前手动把每台电机的实际输入/输出点X, Y和参数赋值给这些全局变量调用后再把结果传回去。这个过程繁琐且容易混淆本质上还是在“裸奔”地操作数据。而FB模块的核心突破在于“实例化”和“数据封装”。实例化Instance 你可以把FB理解为一个“电机控制”的图纸或模具。每次你需要控制一台电机时就用这个模具“实例化”出一个具体的、独立的对象比如Motor_FB_1、Motor_FB_2。每个实例都拥有自己独立的一套内部数据存储区互不干扰。数据封装 FB有明确的接口分为输入IN、输出OUT和输入输出IN_OUT。内部使用的变量临时变量、静态变量对外是不可见的。这就好比一个黑盒子你通过插头输入给它供电和信号它通过插座输出给你反馈盒子内部怎么工作的主程序不需要也不应该关心。一个生动的类比普通梯形图 自己从零开始造一辆自行车每个零件自己组装。子程序 有一个“组装自行车”的说明书但所有工具和零件都堆在公共工作台上每次组装前要自己去认领零件装完再放回去容易拿错。FB模块 有一个“自行车组装套件”盒子里面零件、工具一应俱全。你需要几辆自行车就买几个套件盒。每个盒子独立工作互不干扰。在三菱的编程软件如GX Works2, GX Works3中FB通常使用ST结构化文本语言或梯形图LD在FB编辑器中编写。ST语言因其更接近高级编程语言在描述复杂逻辑、数学运算和流程控制时比梯形图更清晰、紧凑因此成为编写FB的首选。这也是为什么学习FB常常和接触ST语言同步进行的原因。3. 手把手创建你的第一个FB一个带报警的电机控制块理论说再多不如动手做一遍。我们以创建一个最经典的“电机启停控制带报警反馈”FB为例在三菱GX Works3软件中走一遍全流程。这个FB将封装以下功能启动、停止、故障复位输入运行、故障、就绪输出以及内置的故障检测逻辑如过载、超时。3.1 环境准备与FB创建首先确保你使用的是支持FB编程的软件和三菱PLC系列如FX5U, iQ-R, L系列等。GX Works2对FB的支持有限更推荐使用GX Works3。新建工程 打开GX Works3选择对应的PLC型号例如FX5UJ编程语言选择“结构化工程”这是使用FB的前提。创建FB 在左侧工程树中的“程序部件”上右键选择“新建数据” - “功能块(FB)”。给它起个直观的名字比如Motor_Control。语言可以选择“结构化文本(ST)”或“梯形图”。这里我们选择ST因为它更适合FB逻辑的表述。定义接口变量 这是最关键的一步决定了FB的“插座”长什么样。在FB编辑器的“变量声明”区我们需要定义三类变量输入(IN)xStart(BOOL): 启动按钮xStop(BOOL): 停止按钮xReset(BOOL): 故障复位按钮xOverload(BOOL): 过载传感器信号tMotorRunTime(TIME): 电机允许运行的最长时间用于超时报警输出(OUT)yRun(BOOL): 运行状态输出可连接至接触器或指示灯yFault(BOOL): 综合故障报警输出yReady(BOOL): 设备就绪输出无故障时内部变量ton_RunTimer(TON): 一个通电延时定时器实例用于测量运行时间。bInternalFault(BOOL): 内部故障锁存位。rRunTime(TIME): 实际运行时间。注意 在ST语言中定时器、计数器都需要被声明为对应的功能块类型如TON,TOF,CTU并在FB中实例化。这是与梯形图中直接使用T0 K100这种形式最大的不同体现了更强的结构化特性。3.2 用ST语言编写FB内部逻辑在FB的“程序本体”部分我们用ST语言编写逻辑。代码清晰易读如下所示// 电机控制FB逻辑 (ST语言) // 1. 故障检测与锁存逻辑 IF xOverload THEN bInternalFault : TRUE; // 过载触发故障 END_IF; // 超时检测使用TON定时器 ton_RunTimer(IN:yRun, PT:tMotorRunTime); IF ton_RunTimer.Q THEN // 如果定时器到时 bInternalFault : TRUE; // 运行超时触发故障 END_IF; // 故障复位逻辑优先于故障触发 IF xReset THEN bInternalFault : FALSE; ton_RunTimer(IN:FALSE); // 复位定时器 END_IF; // 2. 启停控制逻辑在无故障条件下 IF NOT bInternalFault THEN yReady : TRUE; // 无故障设备就绪 // 标准的启保停电路逻辑 yRun : (xStart OR yRun) AND NOT xStop; ELSE yReady : FALSE; yRun : FALSE; // 有故障强制停止运行 END_IF; // 3. 故障输出 yFault : bInternalFault;这段代码做了三件事故障检测 持续监测过载信号和运行超时使用TON定时器功能块一旦发生即锁存故障状态bInternalFault。启停核心 在无故障时实现一个标准的“启-保-停”逻辑。有故障时强制停止运行。状态输出 根据内部状态输出运行、就绪和故障信号。3.3 在主程序中调用与实例化FBFB创建好后它只是一个“模板”。我们需要在主程序如MAIN中为每一台实际的电机创建其实例。打开主程序 在工程树中打开主程序通常是POU。调用FB 在梯形图或ST编辑器中你可以像插入一个指令盒一样插入FB。在GX Works3的梯形图中点击“工具”箱中的“功能块”找到你创建的Motor_Control拖拽到编辑区。实例化与连线 这时会弹出一个对话框让你输入“实例名”。这是关键你必须为每个物理电机分配一个唯一的实例名例如Motor1,Motor2。软件会自动为这个实例在后台分配独立的数据存储区。然后将实际的PLC输入输出点如X1,Y10和常数连接到FB的输入输出引脚上。一个调用Motor1实例的梯形图示意[Motor_Control Instance: Motor1] | EN | X1 ---|xStart |--- yRun --- Y10 X2 ---|xStop |--- yFault -- Y11 X3 ---|xReset |--- yReady -- Y12 X4 ---|xOverld| T#5S -|tMotorT|为什么必须实例化如果不实例化或者多个地方共用同一个实例名就会导致数据冲突所有电机状态会乱套。实例化是FB实现数据隔离和多复用的技术基础。4. FB高级应用与实战技巧参数化与多重实例当你掌握了创建和调用单个FB后我们可以探讨更高级的用法这能让你的代码威力倍增。4.1 参数化设计让FB更灵活上面的FB中超时时间tMotorRunTime是作为一个输入变量设定的。这本身就是一种简单的参数化。我们可以更进一步。假设有的电机需要速度控制有的不需要。我们可以在FB接口增加一个eMode枚举类型输入和对应的rSetSpeed实数输入。// 在变量声明中增加 VAR_INPUT eMode: (Manual, AutoSpeed); rSetSpeed: REAL; END_VAR // 在逻辑中 CASE eMode OF Manual: // 原有启停逻辑 AutoSpeed: // 复杂的调速逻辑使用rSetSpeed END_CASE;这样同一个FB就能适应两种不同控制模式的电机只需在调用时传入不同的参数即可。这种设计极大地提高了FB的通用性。4.2 多重实例化与数组化调用管理大量同类设备这是FB在产线应用中最大的优势所在。假设一条流水线有20个相同的工位每个工位都有一个电机和一个气缸。创建工位FB 你可以创建一个Station_FB内部实例化一个Motor_ControlFB和一个Cylinder_ControlFB假设已创建并协调两者的动作。在主程序中用数组管理 在主程序中你可以声明一个Station_FB类型的数组。// 在主程序的变量声明中 VAR arrStations: ARRAY[1..20] OF Station_FB; END_VAR循环调用 利用ST语言的FOR循环可以简洁地处理所有工位。FOR i:1 TO 20 DO arrStations[i]( xStart : xStartButtons[i], xSensor : xSensorFeedback[i], // ... 连接其他IO ... yRun : yMotorOutputs[i], yExtend : yCylinderOutputs[i] ); END_FOR;这样一来你只需要编写和调试一次Station_FB的逻辑就能管理20个工位。新增或减少工位只需修改数组上下限和IO映射核心逻辑无需变动。这是传统梯形图编程难以企及的效率。4.3 FB与全局变量、标签的协作在结构化工程中三菱推荐使用标签Tag来代替传统的软元件地址如M0, D100。标签具有更直观的名字和数据类型。FB内部 应尽量使用局部变量和输入输出变量避免直接引用全局标签或软元件地址以保证FB的独立性和可移植性。FB与外部交互 所有数据交换都通过FB的接口IN, OUT进行。主程序将全局标签连接到FB实例的引脚上。FB间通信 如果需要多个FB协作最佳实践是通过主程序“中转”或者将一个FB的输出作为另一个FB的输入进行连接而不是让FB直接读写对方的内部变量或全局数据。这种“高内聚、低耦合”的设计是构建大型、稳定PLC程序的基石。5. 避坑指南FB开发与使用中的常见陷阱FB功能强大但使用不当也会带来新的问题。下面是我在实际项目中总结的几个关键坑点。5.1 实例数据丢失与保持性设置问题现象 PLC断电再上电后所有电机的运行状态、故障锁存都清零了设备无法保持断电前的状态。根因分析 FB内部使用的变量默认是“非保持性”的。PLC断电后这些变量的值会丢失。例如我们例子中的bInternalFault故障锁存位和ton_RunTimer的当前时间值。解决方案声明保持性变量 在FB的变量声明中对于需要断电保持的变量如故障状态、累计运行时间可以将其属性设置为RETAIN。VAR RETAIN bInternalFault: BOOL; rTotalRunTime: TIME; END_VAR注意定时器/计数器TON等定时器功能块本身内部的ET当前时间是非保持的。如果需要保持通常的做法是在FB中用一个RETAIN的TIME类型变量在每次定时器运行时将这个变量赋值给定时器的PT预设值虽然不直接但更常见的做法是在PLC启动时通过初始化逻辑判断是否需要恢复定时器的状态。对于简单的故障锁存直接用RETAIN布尔变量更可靠。权衡使用 不是所有变量都需要保持。过多使用保持变量会占用PLC的电池备份区且可能导致设备上电后处于不预期的历史状态。通常只对重要的工艺状态、累计量进行保持。5.2 扫描周期与FB执行顺序引发的逻辑错误问题现象 在同一个扫描周期内电机A的FB输出状态希望作为电机B的FB启动条件。但实际运行时发现B有时能启动有时不能行为不稳定。根因分析 PLC程序是顺序扫描执行的。如果电机A的FB实例在程序中被调用的位置晚于电机B的FB实例那么在本次扫描周期内当执行到B的FB时读取的A的输出状态是上一个扫描周期的旧值从而导致逻辑判断错误。解决方案规划调用顺序 在组织程序时有意识地将产生条件的FB实例放在使用该条件的FB实例之前调用。这需要绘制简单的数据流图来理清依赖关系。使用中间变量缓冲 如果依赖关系复杂难以调整顺序可以在主程序中在所有FB调用之前先将所有需要的外部输入包括其他FB的输出读取到一组中间变量中然后所有FB都使用这组中间变量作为输入在所有FB调用之后再将FB的输出更新到最终的外部输出或中间变量中供下一个扫描周期使用。这是一种“输入-逻辑处理-输出”的批处理模式能保证逻辑判断基于同一时刻的快照避免顺序问题。利用任务设置 在一些高端PLC如iQ-R中可以为不同的FB分配不同的执行任务和周期但这对初学者来说过于复杂优先推荐前两种方法。5.3 接口设计不合理导致的复用困难问题现象 为项目A精心编写的FB想复用到项目B时发现接口不够用或多余修改起来几乎和重写一样麻烦。根因分析 FB设计时没有做好“抽象”接口要么过于具体绑定了项目A的特殊设备要么过于简化无法满足项目B的扩展需求。设计原则与技巧单一职责原则 一个FB只做好一件事。例如“电机控制”FB就只负责启停、保护和基本状态管理。调速、定位等复杂功能应该拆分到另一个“电机驱动”FB中两者通过接口协作。不要做一个“巨无霸”FB。参数化配置 将可能变化的属性设计为输入参数。例如电机的额定功率、加减速时间、是否启用本地/远程模式等。通过枚举类型eMode或结构体stConfig来组织相关参数使接口更清晰。提供标准接口 参考PLCopen等国际组织定义的运动控制功能块标准设计兼容的接口。这样你写的FB更容易被其他工程师理解也更容易与第三方库协作。版本与注释 在FB内部和工程文档中清晰记录FB的版本、修改历史和每个接口的详细说明。使用有意义的变量名如xStart而非X1。6. 从FB到更大的蓝图结构化编程与项目架构掌握了FB你实际上已经踏入了结构化编程的大门。FB是结构化编程的核心载体。那么如何用FB来搭建一个完整的项目呢一个典型的中小型自动化项目程序结构可以这样组织设备层FB 最底层对应具体的物理设备如Motor_FB,Valve_FB,Sensor_FB。它们只关心如何驱动和读取这个设备。单元层FB 中间层由多个设备层FB组合而成完成一个工艺单元的功能。例如FeedingUnit_FB上料单元内部可能包含一个传送带电机FB、一个定位气缸FB和几个传感器FB并编排它们之间的动作顺序。流程控制层主POU 最高层通常就是主程序。它实例化各个单元层FB并接收来自HMI人机界面的指令如自动启动、急停、模式选择协调各个单元之间的配合处理全局性的连锁和安全逻辑。这种分层架构的好处显而易见分工协作 资深工程师可以设计单元层和流程层的框架并定义好设备层FB的接口新手工程师可以专注于实现具体的设备层FB。调试方便 设备故障时直接找到对应的设备层FB实例查看状态工艺问题则查看单元层FB。移植性强 下次遇到类似的阀门直接把Valve_FB拿出来用只需修改接口连接的实际IO点。与HMI通讯的要点 在这种架构下HMI不应该直接去访问设备层FB的内部变量。最佳实践是在主程序或一个专门的“HMI接口”FB中将需要显示给HMI的状态如电机运行、故障、速度汇总映射到一片连续的全局标签或数据块DB中需要从HMI接收的命令也通过这片区域下发。这样FB内部逻辑与外部交互清晰分离HMI画面制作和程序调试都能更高效。学习FB模块绝不仅仅是学习一个新的编程工具更是接受一种更高效、更可靠的工程化思维。它要求你在动手写第一行代码之前先思考如何“分而治之”如何设计“接口契约”。这个过程初期可能会觉得有些束缚不如直接写梯形图来得痛快但当你面对一个成百上千个IO点、逻辑错综复杂的项目时一个由清晰、独立的FB搭建起来的程序其可读性、可维护性和可扩展性的优势将是决定性的。从复制粘贴的“积木式”编程转向模块化、实例化的“乐高式”编程这是每一个希望进阶的PLC工程师的必经之路。

相关新闻

面向办公人群的 OpenClaw 部署手册,Windows 端搭建可执行任务智能体(含安装包)

面向办公人群的 OpenClaw 部署手册,Windows 端搭建可执行任务智能体(含安装包)

OpenClaw Windows 可视化部署实录,搭建本地桌面自动化 AI 智能体 核心概要 全图形界面操作、无需手动配置运行环境、整合全部运行依赖、内置 28 万 Tokens 使用额度 Windows 版本:https://xiake.yun/api/download/package/18?promoCodeIV4E9B04A80C …

2026/8/4 11:42:42 阅读更多 →
Kimi K3开源AI模型许可证政策解析与本地部署指南

Kimi K3开源AI模型许可证政策解析与本地部署指南

今天我们来深入分析一下Kimi K3的许可证政策,特别是其中关于年收入超过2000万美元需要商业授权的条款。这个政策对于计划使用Kimi K3的企业和个人开发者来说至关重要,直接关系到使用成本和合规风险。Kimi K3作为近期备受关注的开源项目,其许可…

2026/8/4 11:43:13 阅读更多 →
OpenRouter统一图像生成API:解决多模型集成碎片化难题

OpenRouter统一图像生成API:解决多模型集成碎片化难题

上周在调试一个图像生成项目时,我遇到了一个典型问题:项目需要调用多个图像生成模型,但每个模型都有不同的 API 格式、认证方式和参数规范。光是处理不同厂商的 API 差异就花了大半天时间,更不用说后续的异常处理和批量调度了。就…

2026/8/4 11:42:48 阅读更多 →

最新新闻

深度探索微信好友关系检测:WechatRealFriends项目实践指南

深度探索微信好友关系检测:WechatRealFriends项目实践指南

深度探索微信好友关系检测:WechatRealFriends项目实践指南 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFriends…

2026/8/4 14:54:34 阅读更多 →
SpringBoot+Vue构建游戏聚合平台的技术实践

SpringBoot+Vue构建游戏聚合平台的技术实践

1. 项目概述:基于SpringBootVue的小游戏集成网站 这个项目本质上是一个Web端的游戏聚合平台,采用前后端分离架构。后端使用SpringBoot框架提供RESTful API服务,前端通过Vue.js构建交互界面,数据库选用MySQL存储游戏数据和用户信息…

2026/8/4 14:54:34 阅读更多 →
基于Matlab的移动电源车动态调度算法实现与优化

基于Matlab的移动电源车动态调度算法实现与优化

1. 项目背景与核心价值 去年参与某沿海城市防灾电网改造项目时,我深刻体会到应急电源调度对配电网韧性的关键作用。当台风导致主干线路瘫痪,预先部署的移动电源车(MPS)在3小时内恢复了70%的关键负荷,这促使我开始系统研…

2026/8/4 14:54:34 阅读更多 →
音乐解锁神器:3分钟让你彻底摆脱平台加密限制

音乐解锁神器:3分钟让你彻底摆脱平台加密限制

音乐解锁神器:3分钟让你彻底摆脱平台加密限制 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https://gitco…

2026/8/4 14:54:34 阅读更多 →
5个Dism++实用技巧:让你的Windows系统运行如新

5个Dism++实用技巧:让你的Windows系统运行如新

5个Dism实用技巧:让你的Windows系统运行如新 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language 你是否曾经为Windows系统越来越慢而感到困扰&#xff1…

2026/8/4 14:54:34 阅读更多 →
Wand-Enhancer:彻底解锁WeMod专业功能的本地增强神器

Wand-Enhancer:彻底解锁WeMod专业功能的本地增强神器

Wand-Enhancer:彻底解锁WeMod专业功能的本地增强神器 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 想象一下,你正在《赛博…

2026/8/4 14:53:34 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →