新闻详情

新闻详情

首页 / 资讯中心 / 详情

p-net开源PROFINET从站协议栈移植:从硬件搭建到PLC联调实战

发布时间:2026/9/30 10:49:51来源:尧图网络
p-net开源PROFINET从站协议栈移植:从硬件搭建到PLC联调实战
1. 项目概述与整体设计思路1.1 PROFINET从站到底是什么p-net协议栈能做什么先聊点实际的。很多做嵌入式、做运动控制、做非标设备的朋友迟早会遇到这么一件事客户要求设备能和西门子PLC直接组态通讯。以前最常见的做法是加一块Profinet板卡像发那科机器人加个板卡、安川机器人加个通讯模块一样硬件资料一翻发现要么是官方私有接口要么是板卡厂商不开源的黑盒驱动。你和它交互只能通过它提供的DLL或者特定API做读写想改协议行为、想定制诊断数据、想搞清楚底层机理基本没戏。这个时候如果项目本身是自研控制器、自研设备或者有足够量产需求用p-net这个开源的PROFINET从站协议栈从零搭一套属于自己的从站是一条性价比很高的路。p-net是由德国人Michael Arndt开源的一个PROFINET IO设备也就是从站协议栈使用C语言编写遵循符合性等级CC-BConformance Class B。它实现了PROFINET从站最关键的部分实时通信RT、DCP发现和基本配置协议、GSD/DDM相关管理、报警与诊断上报、记录数据读写Read/Write服务、AR/CR建立与管理等。你只需要把它拉到你自己的MCU或者Linux板卡上对接好以太网驱动然后写一套应用层回调函数就能在PLC侧把它识别成一台标准的PROFINET设备。适合谁读这篇打算自研从站设备的嵌入式工程师想理解工业以太网从站实现原理的协议栈爱好者以及手上项目刚好在纠结“买板卡还是自己写栈”的决策者。看完你可以大致明白整个从站项目拆解下来要做什么事、哪些坑是文档里不会写的。1.2 为什么选p-net协议栈选型对比肯定有人问PROFINET从站协议栈又不是只有一个为什么要选p-net我实际调查和对比过市面上几种路线列出来你们感受一下。方案费用特征可定制性典型局限商业协议栈如Siemens的PNIO Stack、HMS Anybus授权费用高按年或按设备收一般只能做配置级定制黑盒交付底层问题无法自己排查专用ASIC协议栈如ERTEC 200P/400等芯片采购价高供应周期长依赖芯片厂商硬件绑定灵活性差停产风险大p-net开源协议栈免费遵守开源许可证源码级可控需自行移植、自行测试、无官方商业支持我做这个项目时还特意考虑过EtherCAT的从站方案因为网上EtherCAT开源的案例很多很容易搜到入门教程。但EtherCAT和PROFINET完全是两种架构思路EtherCAT靠主站发报文、从站硬件在报文飞过时做时钟同步和数据交换属于“环形过路式”而PROFINET基于标准以太网从站要自己完成状态机管理、AR建立、实时帧收发调度属于“节点应答式”。两者协议栈的工作量分配完全不一样所以不能拿EtherCAT的从栈SDK去套PROFINET的从栈逻辑。选择p-net还有一个很现实的原因它是用C写出来的有CMake构建脚本原生的工程结构很清晰支持FreeRTOS这类RTOS环境也支持Linux环境。文本结构不乱、API分层好、社区虽然不算大但有不少从事工业控制的人在用和维护。所以对我来说与其去买一个不透明的商业栈不如用p-net自己把底层吃透项目做完协议栈本身的能力也是自己的了。2. 硬件平台与开发环境搭建2.1 最小硬件方案主控PHY接口电路自研PROFINET从站的硬件方案核心就一句话你得有个以太网MAC控制器外挂一个PHY物理层芯片。有些MCU比如STM32F4/H7系列自带MAC只要外接一个以太网PHY芯片比如LAN8720A、DP83848、KSZ8081再接RJ45座子就行。这种方法成本最低电感、电容和电阻网络一搭就是一套标准的MII/RMII以太网硬件链路。如果主控已经确定了比如某些派发任务里要求用国产MCU或者某款运动控制专用芯片也不用慌只要它内部带MAC或者有外部MAC芯片p-net移植的思路是通用的。接口电路上有一个细节必须注意PHY的时钟源。RMII接口模式通常需要50MHz的外部时钟可以由MCU或者PHY自己产生但无论哪种都要保证此时钟源是稳定的因为PROFINET是实时以太网底层的收发时序如果抖动过大会直接影响报文的超时判断和调度精度。实际项目中如果你想学习验证手头恰好有一块主控MCUPHY芯片的评估板就可以开工了。如果要从零画板子我建议参考芯片厂商公开的参考设计尤其是变压器的中心抽头接法打样过很多次之后我才发现很多小批量绘制的PHY外围电路都是照抄参考设计但参考设计里每个电阻电容的位置和“热地/冷地”分割是经过EMC预验证的不要随意删减元器件否则测试时会有帧丢失问题。2.2 从零搭建编译环境CMake与ARM GCCp-net原生的构建方式是自己拉一段代码目录里面有一份CMakeLists.txt顶层构建逻辑不算复杂。我第一版移植用的工具链是arm-none-eabi-gcc编译环境在Linux或Windows的WSL上都行。安装好CMake、交叉编译工具链之后p-net项目的定制基本都在两个位置CMakeLists.txt里指定交叉编译工具链前缀和编译参数src/platform/下的平台相关代码。我自己习惯在工程的顶层建一个toolchain.cmake文件比如set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_SYSTEM_PROCESSOR arm) set(TOOLCHAIN_PREFIX arm-none-eabi-) set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}gcc) set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}g) set(CMAKE_ASM_COMPILER ${TOOLCHAIN_PREFIX}gcc) set(CMAKE_OBJCOPY ${TOOLCHAIN_PREFIX}objcopy) set(CMAKE_C_FLAGS -mcpucortex-m4 -mthumb -mfloat-abihard -mfpufpv4-sp-d16 -Os)然后执行mkdir build cd build cmake .. -DCMAKE_TOOLCHAIN_FILE../toolchain.cmake -DCMAKE_BUILD_TYPERelease make如果构建报错百分之八十是头文件路径没指对或者某个平台相关宏没定义。p-net不会依赖很复杂的库只要C标准库可用就能编译。很多初次移植的朋友被“从零搭建”四个字吓住了其实真正陌生的不是编译工具而是后面要说的协议栈内部结构和配置项。3. 协议栈移植与配置3.1 p-net源码结构解读拿到p-net源码后建议不要急着全部打开逐行读先看目录结构。它的主目录组织如下src/ ├── common/ # 通用数据结构如列表、循环缓冲区 ├── contrib/ # 网络接口的基本构件可能有用户提供移植用的基础实现 ├── device/ # PROFINET设备核心逻辑状态机、AR管理、IO数据结构 ├── platform/ # 平台抽象层提供OS、时间、锁、日志等接口 ├── ports/ # 底层端口抽象网络收发相关 ├── pnet_api.h # 对外应用接口头文件整个协议栈的“脸面” └── pnet_cfg.h # 配置头文件定义模块数、槽位等关键参数我们的移植行为主要是对pnet_api.h、pnet_cfg.h、platform层和ports层做少量“填空”。pnet_api.h是协议栈与应用层的接口你在应用层创建从站实例、注册回调、轮询协议栈状态和处理实时数据都靠它。可以说你的整个应用层功能代码就是围绕这个API写的。pnet_cfg.h是配置头文件定义了设备支持多少个模块module、每个模块的子模块submodule数量、总数据长度、槽位配置等信息。它和你的GSDML文件里的描述必须保持一致。比如你设计了一个8点输入、8点输出的从站那pnet_cfg.h里的输入输出长度就要对应上GSDML里的模块定义也要对应上。这个“三个地方对应”的约束是PROFINET从站开发的经典要求忘了任何一个PLC组态都会出问题。3.2 核心配置项pnet_cfg.h逐项说明这一节光是照着源码抄没有意义我来梳理一下真正需要改动的重点。它的配置项多是宏比如PNET_MAX_VENDOR_SPECIFIC_STRING_LENGTH厂商自定义字符串长度影响GSD里的一些文本读回PNET_MAX_PROFICLOUD_XXX如果用到ProfiCloud才需要关心PNET_MAX_DEVICES_PER_LINK / PNET_MAX_AR同时与其他控制器建立ARApplication Relation的最大数量。一般一台PLC测试的话就是1但有些产线上会用冗余控制器或双PLC那就得考虑2个及以上PNET_MAX_INPUT_LENGTH / PNET_MAX_OUTPUT_LENGTHIO数据缓冲区最大长度。我要强调的一个细节是数据缓冲区的对齐问题。MCU上的以太网驱动通常用DMA收发数据DMA要求缓冲区地址对齐到4字节甚至32字节所以p-net源码里的pnet_buffer_t之类的数据缓冲区在定义时往往就加了特定对齐宏。你如果调整了缓冲区大小千万别把对齐属性丢了否则收包后数据错位会让你排查到怀疑人生。还有一点很关键PNET_MAX_SUBMODULES和后面的PNET_SUBMODULE_CB_*参数决定了你这个从站最大的组态空间。PLC组态的时候会按照GSDML文件里定义的槽位来配置如果堆栈内部空间不够大PLC组态会报“模块配置失败”或者干脆下载组态失败而这种错误又不像普通数据帧错误那么好抓因为它出在连接建立阶段。所以初版设计时把配置值写大一两倍并预留余量是省事且稳妥的做法。3.3 以太网驱动对接从数据帧到协议栈p-net本身不管你的以太网驱动是SPI接口的ENC28J60、还是内部MACRMII接口的PHY它只要求你做一件事情将收到的以太网帧交给协议栈处理以及把协议栈待发送的帧发到物理网络。这里就涉及一个重要的判断逻辑。PROFINET实时报文使用特殊以太网类型0x8892而普通的TCP/IP报文走传统协议栈。所以如果你有LwIP这类TCP/IP协议栈不要慌两者可以共存方案是网卡驱动收到帧之后先检查以太网类型字段if (ethernet_frame.ethertype 0x8892) { pnet_frame_received(handle, frame, length); } else { // 交给LwIP或者其他TCP/IP协议栈处理比如DCP用的UDP报文 }PROFINET里有些协议比如DCP是通过UDP/IP来传输的但仍属于PROFINET的设备管理协议需要p-net参与处理。实际应用中很多人会先用PC上的Wireshark抓包观察报文交互过程。在移植初期我建议先把物理层抓包环境搭好用网卡的镜像或者一个简单的交换机端口镜像把从站上发出的报文抓下来对照标准去分析是不是协议栈本身的行为问题。说到这我想补充一个实操经验在以太网驱动断帧、收帧这段逻辑上不要把“收到一帧就赶紧往协议栈里塞”作为唯一策略。因为PROFINET要求确定性时序帧之间的时间间隔、最大等待时间都极短。合理的做法是驱动层直接通过接收中断或者DMA完成中断尽快把帧交给p-net的接收入口不要在中间做消息队列排队和缓存——你多缓存一毫秒可能就导致实时性不合格。3.4 操作系统适配层pal.c移植的真正核心p-net里最需要动手的地方叫platform抽象层文件一般叫pal.c或者类似名字。它约定了这个协议栈需要的操作系统能力互斥锁、信号量、任务延时/周期等待、获取当前时间戳、日志输出、随机数生成等。我们看代码的时候能看到pnet_api.h里很明确地设计成上电后创建一个任务不断轮询协议栈触发协议栈的内部调度这个任务里会调用pnet_application_handle_pnet_irq、pnet_application_handle_periodic这类接口。协议栈的很多周期性动作比如看门狗、周期数据交换超时判断、AR状态超时检查都依赖系统提供一个比较精确的时基。如果你的MCU没有RTOS理论上也可以用一个大循环和定时器中断来实现但那样一旦工程复杂度上来响应实时任务会很吃力。所以我建议跑一个轻量级RTOS比如FreeRTOS然后单独开一个高优先级任务当作PROFINET协议栈任务。这一点值得强调不要在低优先级或中断服务函数里做协议栈的长任务处理否则会影响状态机切换时间。时间函数这里有个规格化问题PROFINET对时间的基准精度有要求通常要求毫秒级或更高。你在pal.c中实现的时间戳函数最好用硬件定时器不要用那种易受中断抖动的软件计数。4. 应用层开发从Callback到数据交换4.1 IO数据模型输入输出地址对应关系组态工作做完了握手协议通了剩下最关心的就是数据怎么交换。PROFINET从站的IO数据从语义上分两种方向输入数据Input从站设备端发送给PLC控制器的数据比如传感器的状态、编码器数值、设备状态字。输出数据OutputPLC控制器下发给从站的数据比如控制使能命令、速度给定值、阀门的开关指令。在p-net中输入输出主要有两组API对应发输入数据往PLC侧使用pnet_input_set_data而接收PLC侧发来的输出数据则由协议栈调用你的回调函数pnet_output_get_data返回数据指针和长度后应用层自行解析。很多第一次做的人会在关口卡住搞不清“PLC组态里的输入模块”对应到从站代码里到底是输入还是输出。记住一个简单的口诀PLC的I地址看到的数据是从站发送上去的PLC的Q地址发出的数据是从站接收的。所以你在GSDML里定义的输入模块Input其实对应PLC的I区输出模块Output对应PLC的Q区。这和Modbus那种“保持寄存器读”不完全一样别搞混淆了。4.2 回调函数实现pnet_api.h中的核心接口p-net通过回调把协议栈的事件通知到应用层。你不需要去理解协议栈内部每毫秒怎么发送帧报文只需要在这些回调函数里实现自己的业务逻辑。典型的核心回调有pnet_callbacks_t结构体里的cb_pnet_output_get_dataPLC输出数据到达或周期轮询时会触发cb_pnet_connect/cb_pnet_releasePLC建立/断开连接的事件通知在这里可以重置业务状态机cb_pnet_new_data_status输入数据状态变化通知cb_pnet_signal_led指示灯控制需求用来指示通讯状态cb_pnet_show_network_activity网络活动状态指示。实际项目里我最常用的是cb_pnet_connect来做一个“连接次数计数”或者“连接断开的业务清理动作”。比如设备被PLC断电或短线拔掉从站侧可以立刻捕捉到release事件这时业务任务就可以置安全状态。这个比靠应用层自己发周期心跳信号来判断可靠得多因为PROFINET协议栈本身有看门狗和AR状态监测机制。这里还有一个比较隐蔽的坑cb_pnet_output_get_data的调用频率是非常高的它由协议栈的内部调度反复调用。不要在回调里做重计算、文件写入、日志打印或者任何阻塞操作否则会拖垮实时调度。正确的做法是回调里只是拷贝数据到一个全局结构体或者通过变量标志通知另一低优先级的业务任务来处理。4.3 GSDML文件设计从站要被PLC认出来一台PROFINET从站如果要能被PLC组态软件如TIA Portal识别为具体的设备就必须提供一份GSDML文件General Station Description Markup Language基于XML。这份文件描述了设备的厂商ID、设备ID、模块结构、槽位定义、IO数据类型等。初次编写GSDML的人会被它的XML嵌套吓到但其实你要关心的标签并不多DeviceIdentity描述VIDVendor ID和DeviceID这两个ID在PROFINET中必须全网唯一规划不能随便填。如果你是自用的设备建议取一个试验性的ID并在文档里明显标注未登记DeviceAccessPointItem描述DAP设备访问点的物理配置模块化设备的DAP信息也包含在这里ModuleItem/SubmoduleItem定义每个插槽的模块和子模块以及子模块的IO数据定义比如DataItem里的DataType可以定义为OctetString长度8之类。GSDML文件和p-net源码里的pnet_cfg.h如果版本不一致最常见的表现是TIA中能刷到设备但下载组态时提示错误“模块与设备描述不符”或者在线监控时看不到完整的模块数据。所以强烈建议写个简单脚本从GSDML里把slot/subslot/dataLength分别提取出来和pnet_cfg.h中的配置比对。我有一个实用技巧用TIA Portal导入自己写的GSDML文件后一定要先在设备视图里把组态拖到站点里再设置“在线访问”去扫描。如果扫描能找到设备但无法分配设备名称那就说明DCP功能没生效重点检查以太网驱动是否把PROFINET类型帧以外的UDP帧也正确处理了。4.4 与西门子PLC、安川机器人等控制器通讯的地址映射实例网上那些热词比如“西门子plc与安川机器人profinet通讯地址怎么对应”“发那科profinet板卡”本质上都是同一套映射逻辑。你从站设备定义了什么模块结构PLC组态里就有什么模块结构两边一一对应即可。来一个典型场景你自研了一台小型伺服控制器通过PROFINET和安川机器人或者西门子PLC通讯。你的GSDML里定义了一个64字节输入从站-PLC和一个56字节输出PLC-从站。那么PLC侧组态的时候对应的IO地址是连续分布的。比如PLC的组的Q区从Q0.0开始那么你的从站收到的第一个字节就对应Q0.0开始的8个位。安川机器人如果是作为PROFINET主站使用的它的组态过程类似只是软件界面和地址显示方式不一样。因此GSDML和pnet_cfg.h里数据长度设计得对不对直接决定了通讯地址映射时数据会不会错位。我建议在文档里画一张表格给每个字节取个名字并指定偏移量。比如字节偏移含义方向类型0状态字从站 - PLCUINT162实际速度从站 - PLCINT320控制字PLC - 从站UINT162速度给定PLC - 从站INT32这样PLC侧人员连线调试时直接按字节偏移来处理双方嘴里的“第3个字”就永远是一致的。5. 联调测试与常见问题排查实录5.1 仿真测试流程从轻量模拟到真实PLC硬件调好后我不建议直接就去接真实PLC调试因为真机调试犯错成本高排查也麻烦。第一轮测试可以先脱离真实PLC用电脑上的PROFINET主站模拟软件比如ProfiShark、Codesys等去扫描从站验证设备能否被识别能否分配IP和名称。如果你手头没有这些模拟软件先用Wireshark抓几个关键阶段的报文也能做初步判断设备上电时有没有发DCP Identify请求响应PLC或者模拟主站发起Connect时从站有没有回Connect响应周期数据交换阶段有没有持续的数据帧交互。等模拟主站测试通过后再去接真实PLC西门子S7-1500或者S7-1200做完整测试。这时要注意一组一致性数据的设计PLC侧访问IO地址时如果数据长度跨了一个字或者做了多个字的数组要考虑“一致性”Consistency配置。一般会把“一致性”设置成“按模块保持一致”这样保证块内数据整体一致地刷新到从站否则可能在周期通信中读到半新半旧的数据。联调时的时序也非常重要。PROFINET从站在启动时要经历阶段上电 → 等待命名 → 分配IP和名称 → 与主站建立AR → 进入数据交换。每一个阶段在TIA或主站软件里都有状态指示。如果卡在某一步比如一直扫描不到先检查的应该是DCP能不能通而不是直接怀疑数据交换。5.2 常见问题速查表加班通宵换来的排错干货整理一份我自己在开发阶段常遇到的问题按频率从高到低排列并给出排查方向故障现象可能原因解决/排查方向主站扫描不到设备PHY链路没通、DCP的UDP帧没处理、MAC地址异常用Wireshark看有没有收到DCP请求检查PHY的link状态寄存器设备能扫描到但无法分配名称DCP写请求应答错误或者从站标志位不允许改名检查协议栈配置里是否禁止了DCP Set功能检查pnet_cfg.h的相关宏连接能建立但无周期数据输入输出长度与GSDML不符或者模块组态不存在核对GSDML与pnet_cfg.h的槽位长度检查回调函数是否正确注册运行中周期通信中断看门狗超时实时帧收发被阻塞检查应用层回调中是否有耗时操作检查CPU是否有长时间关中断输入数据偶尔错位字节对齐或字节序处理错误检查MCU大小端统一数据字节序并确认DMA缓冲区对齐PLC里报“设备故障/诊断诊断上报机制有问题或者应用层返回错误检查是否实现了诊断相关的回调查看模块状态是否正常还有一个很隐蔽的坑如果你使用的MCU本身不带硬件浮点单元而在回调里做了浮点数据解析或转换功耗和性能不一定扛不住但如果有DMA和浮点操作同时访问外设总线的时序冲突可能造成帧丢失。这属于很难被定位的随机故障我在一次实验中排查了三天才找到原因浮点库库函数的某段实现关闭了中断导致以太网接收中断在关键时刻被打断后续报文缓冲区被覆盖。解决方式是所有浮点运算挪出关键收发路径改成定点换算。5.3 无线与极端环境下的稳定性思考既然做的是工业项目尤其是在连接机械臂、机器人、伺服驱动等设备时现场的电磁环境和振动环境往往比实验室恶劣得多。PROFINET虽然没有像EtherCAT那样把从站上的底层要求提到硬件实时层面但它对以太网物理链路的要求依然存在。我的建议是不要省防护器件。RJ45旁边的网络变压器不只是用来调信号电平的它同时兼顾共模噪声抑制。如果板子空间有限想省略后面在现场大概率会付出更高的代价。另一个容易忽略的点是MAC地址的管理量产设备必须每台烧录独立的MAC地址从站设备名称分配后PLC的记忆是跟设备名Station Name绑定的。如果设备断电后重新上电名称是通过DCP重新分配的这个过程本身要花几百毫秒在产线上如果设备频繁掉线你会看到PLC和从站重新建立连接非常频繁此时要重点排查电源稳定性问题是导致“周期断线”的另一大源头。6. 拓展方向与个人经验总结做到这一步一套能用PLC实时控制的自研PROFINET从站基本就是跑得通了。这套协议的骨架留好了后续的扩展空间其实很大。比如可以在此基础上增加更多的诊断数据上报、增加IRT等时实时模式尝试虽然p-net主要是RT但可以理解它的实现思路、或者在同一块MCU上跑多个虚拟从站如果资源和CPU算力允许。我个人在实际开发中的体会是p-net作为一个开源协议栈最大的价值不在于拿过来直接用而在于它把PROFINET从站的那层“神秘感”去掉了。你花一两周功夫把它移植到板子上跑通一跳真实PLC的完整组态你以后再遇到任何PROFINET相关的问题心态都会完全不一样。在这个领域很多时候项目推进不下去不是技术方案多高深而是有没有人替你把第一层窗户纸捅破。p-net就是那根最合适的“捅纸棍”。最后分享一个特别抠门但很有效的自查技巧在你的应用层回调函数里加一个运行状态计数器每次周期数据交互时自增。然后在PLC侧不加任何逻辑就是给从站发一段数据回读计数器的值。如果计数器的值稳定跳变说明链路是通的如果数值卡住不跳说明你业务任务被堵死了直接去查任务堆栈大小和优先级就对了。这种“土办法”在协议栈调试中百试百灵。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

学术codex:赋能学术研究的智能信息处理工具与应用场景解析 2026/9/30 11:27:29

学术codex:赋能学术研究的智能信息处理工具与应用场景解析

作为研究生,文献海量、实验乱飞、论文卡壳、组会频繁……一天不高效就落后别人十条街! 今天我精选2026年最火的4款纯AI驱动科研神器,切问学术打头阵,从文献精准挖宝到写作一键起飞、总结自动化、数据提取零压力,全流程…

阅读更多 →
如果像 AI 一样写 Lambda(第 4 篇):聚合与收集 2026/9/30 11:27:29

如果像 AI 一样写 Lambda(第 4 篇):聚合与收集

如果像 AI 一样写 Lambda(第 4 篇):聚合与收集(Stream 应用篇)一句话总结:流处理完总要"收摊"。Collectors.toList / joining / groupingBy / reduce 是把流变回集合、字符串、Map、单值的四大收摊工具,它们本身就是 :: 的重度用户。相关文档:《如果像AI一样写Lambda…

阅读更多 →
高并发场景下的代理IP池:连接池、异步IO与限速策略 2026/9/30 11:27:23

高并发场景下的代理IP池:连接池、异步IO与限速策略

很多团队做代理IP池时,第一反应是扩充IP数量。IP池大了,可用出口多了,理论上并发就能上去。但实际压测中经常出现相反情况:IP列表越来越长,吞吐却卡在某个水平,延迟抖动明显,错误率上升。代理IP…

阅读更多 →
最新模型 Gemini 4 Pro 如何让论文 Discussion 写出深度? 2026/9/30 11:27:23

最新模型 Gemini 4 Pro 如何让论文 Discussion 写出深度?

各位同仁好,我是七哥。一个在高校里从事人工智能 相关领域研究,钻研用大模型AI实操的学术人。可以和七哥交流学术写作或Gemini、GPT、Claude 等大模型 学术实操相关问题,多多交流,相互成就,共同进步。 今年9月,真是神仙打架的一个月,相信很多人都刷到了 Gemini 4 Pr…

阅读更多 →
Meta Muse 长任务为什么越来越慢?原因、判断方法与提速指南 2026/9/30 11:27:16

Meta Muse 长任务为什么越来越慢?原因、判断方法与提速指南

Meta Muse 执行几分钟以上的长任务时,有些用户会感觉它越跑越慢:前几步还能快速回复,后面开始长时间停留在“处理中”,生成文字的速度下降,网页操作也迟迟没有结果。 这类现象通常不能简单归结为“模型变笨了”。对于能…

阅读更多 →
【会议征稿通知 | IEEE出版 | 四川工商学院主办】第三届智能驾驶与智慧交通国际学术会议(IDST 2026) 2026/9/30 11:26:54

【会议征稿通知 | IEEE出版 | 四川工商学院主办】第三届智能驾驶与智慧交通国际学术会议(IDST 2026)

第三届智能驾驶与智慧交通国际学术会议(IDST 2026) 2026 3rd International Conference on Intelligent Driving and Smart Transportation 智能驾驶和智慧交通利用新兴技术,使城市出行更加方便、更具成本效益且更安全。在此背景下&#xf…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉