新闻详情

新闻详情

首页 / 资讯中心 / 详情

CODESYS V3.5入门指南:ST语言、任务配置与库封装全解析

发布时间:2026/10/1 13:57:12来源:尧图网络
CODESYS V3.5入门指南:ST语言、任务配置与库封装全解析
第一次打开CODESYS V3.5的电气工程师十有八九会被它那套“工程树设备树任务配置库管理器”的界面震住。这和过去只写梯形图的PLC编程软件完全是两种物种。但我想说的是与其被它震住不如趁早弄懂它——因为你正在用的国产PLC、进口PLC越来越多底层就是CODESYS的内核。这篇笔记是我近一年用CODESYS V3.5做项目、做仿真、写自用库的记录从下载安装讲到第一个ST程序从符号配置讲到库文件生成最后把数据采集和数据库日志的几种常见姿势也一并梳理出来适合想系统入门、又不想被一堆术语劝退的电气工程师。1. 为什么电气工程师绕不开CODESYS从IEC 61131-3说起1.1 CODESYS和传统PLC软件的本质区别CODESYS是德国3S公司开发的、遵循IEC 61131-3标准的PLC编程系统。它本身不是PLC硬件而是一套“开发环境运行时”的组合。3S把运行时做成可移植的软件组件硬件厂商像组装零件一样把它嵌进自己的PLC里。于是你会发现不管PLC是哪个牌子打开编程软件后看到的界面、操作逻辑、工程结构都高度相似。这一点和传统PLC软件非常不同。传统PLC软件通常和硬件强绑定换一个品牌就要重新学界面、学快捷键、学工程结构连数据类型都要重新适应。而CODESYS的核心思路是把“编程体验”和“硬件”解耦你在这套环境里编写的POU程序组织单元和功能块理论上可以在一台PLC上开发验证后迁移到另一台支持CODESYS的硬件平台上重新编译运行。这对电气工程师意味着什么意味着你的知识积累不再是一次性的。今天学会的东西换了一台设备仍然能用在公司做的算法封装成库到下一个项目里还能直接复用。这种积累效应是学老牌PLC软件很难享受到的。1.2 哪些PLC与CODESYS相关汇川就是典型代表国内工程师最早接触到CODESYS很多时候是从汇川开始的。汇川的AM系列比如AM600、H5U这些产品编程软件InoProShop就是基于CODESYS V3.5内核开发的汉化版你在里面看到的ST、FBD、SFC编辑器以及PLCopen任务模型底层和标准CODESYS几乎同源。学会了标准CODESYS再切到InoProShop基本是无痛切换。当然远不止汇川一家。欧洲的WAGO、ifm、Lenze国内的众多控制器厂商都在自家设备里跑CODESYS运行时。为什么会这样因为3S把最难的编译器和运行时做好了硬件厂商只需要专注于I/O驱动和硬件抽象层应用层的开发体验完全交给CODESYS统一处理。对设备厂和系统集成商来说这意味着软件平台可以统一工程师不用每个品牌都重新培训一遍。我个人的判断是未来几年CODESYS在国产中高端PLC里的占比还会继续扩大。如果你是做项目型公司、OEM设备或者产线改造的现在花时间把CODESYS V3.5学透是一项非常划算的投资。2. 从下载安装到点亮第一个灯环境搭建实测2.1 下载时要注意的版本与路径问题先说下载。CODESYS官网提供Development System V3.5的免费下载不过需要注册账号然后在下载页选择对应操作系统的安装包。软件本身是商业产品但编程环境可以免费使用配合软PLC仿真时不需要额外购买许可证就能把大部分控制逻辑跑起来。安装时有几个坑是我实际踩过的提前说清楚能省不少事。第一安装路径不要有中文尽量不要放在带空格的目录下。CODESYS的网关服务、设备驱动对路径特别敏感路径里有中文字符经常导致服务无法启动表现出来就是在线登录时提示“网关无法连接”。第二安装过程需要管理员权限因为它要安装CODESYS网关服务、驱动和USB加密锁驱动。建议安装前关闭杀毒软件否则有些构建工具会被误删。我自己就遇到过杀毒软件把SP补丁里的某个dll清掉导致整个软件能打开但无法创建工程最后只能重装。第三注意区分V2.3和V3.5。V2.3是老一代的编程环境和V3.5的工程格式完全不兼容。如果电脑上有老版本CODESYS建议先确认项目需要的是哪个版本两个大版本混装很容易让系统里的组件冲突。另外官网下载页会列出很多组件包比如Visualization、SoftMotion、BacNet等。新手阶段只需要装一个CODESYS Development System V3.5本体就够了后续用到什么功能包再按需添加不要一上来全装否则启动速度会明显变慢。2.2 新建工程时“设备”到底选什么安装完成后第一次创建工程很多人会被模板列表里的各种Device搞得一头雾水。其实对于入门来说核心只有一个选一个能仿真的“设备”来当PLC用。推荐做法是新建工程时选择Standard Project然后在设备下拉框里选择CODESYS Control Win V3 x64。这个设备就是“软PLC”它以Windows服务的方式运行把一台普通电脑模拟成PLC控制器。选它最大的好处是零成本、零硬件随时随地可以练手。如果你手头有真实的CODESYS内核PLC比如某台汇川AM600那就需要先安装厂商提供的设备描述文件在新建设备列表里才能看到对应型号。设备描述文件通常是一个xml或json格式的文件从厂商官网下载后在工程树里点击“从库安装设备描述”选择文件导入即可。有一点要提醒软PLC仿真的程序结构和真实PLC完全一致但IO地址映射、现场总线通信还是会有差异。软PLC上写好的逻辑换到真实设备上通常只需要重新映射IO点POU里的业务代码基本不用改。这也是CODESYS“先仿真后落地”这套工作流成立的基础。2.3 第一个ST程序启保停与在线下载设备选好了编程语言我建议入门阶段直接选ST结构化文本因为ST是文本语言和高级语言接近调试时逻辑最直观。新建工程后在Application节点下会自动生成一个名为PLC_PRG的程序双击打开在代码区输入一段最简单的启保停逻辑。PROGRAM Main VAR xStart AT %IX0.0 : BOOL; xStop AT %IX0.1 : BOOL; xRun AT %QX0.0 : BOOL; END_VAR xRun : (xStart OR xRun) AND NOT xStop;这段逻辑和继电器控制里的自锁电路完全对应xStart按下xRun接通松开后xRun靠自身的常开触点保持xStop按下xRun断开。在软PLC里可能没有实际的物理IO点那就不必用地址映射改成内部变量同样能看出逻辑效果。写完代码后怎么运行操作顺序是先编译F11然后点击在线登录Login把程序下载到软PLC再点击启动Start程序就循环跑起来了。如果想看变量变化可以在Watch窗口里添加xStart、xStop、xRun或者直接在代码区里在线监视变量为TRUE时会变成绿色。头一次下载失败也别慌先检查两件事软PLC服务有没有启动Windows服务里找CODESYS Control Win V3服务网关服务有没有启动。这两个服务在安装时一般会自动设为开机自启但如果手动关闭过下载就会报“设备不可达”启动服务再试一次就好。3. 程序组织、编程语言与任务调度CODESYS的编程骨架3.1 POU、DUT、GVL先理清这几个概念再写代码CODESYS里有很多缩写一开始容易被绕晕但其实理清了就一句话POU是程序组织单元DUT是自定义数据结构GVL是全局变量列表。POU分为三种程序PRGProgram、功能块FBFunction Block、函数FUNFunction。程序是任务调度的入口功能块是有内部状态、可以被反复实例化的逻辑单元函数则是没有内部状态、输入输出纯粹的计算单元。如果你写过高级语言可以简单类比FB像“类”FUN像“静态函数”PRG像“主程序”。DUT用来定义自己的数据类型比如一个设备状态的结构体包含运行时间、故障代码、温度等字段。DUT在管理大量相似对象时特别好用一台设备声明一个数组数组元素类型就是自定义结构体程序会清爽很多。GVL则是存放全局变量的地方跨POU共享的数据放这里。但我的建议是能用功能块的接口传参就不要滥用全局变量。全局变量多了以后程序之间的依赖会变得非常隐晦前脚改一个变量的初始值后脚不知道哪个程序就出了问题排查起来特别痛苦。3.2 ST、LD、FBD、SFC、IL什么时候选哪种IEC 61131-3标准定义了五种PLC编程语言CODESYS全部支持另外还扩展了一种CFC。LD梯形图是电气工程师最熟悉的语言画出来就是线圈和触点和继电器控制图几乎一样。简单的启保停、互锁逻辑用LD最直观现场维护的老工程师也最容易接受。FBD功能块图适合表达信号流比如把几个功能块串起来做PID调节图形化地连来连去逻辑关系一目了然。ST结构化文本是我个人最推荐入门主力学的语言。它的表达能力最强适合写复杂算法、循环、状态机、数据处理。配方计算、运动控制里的插补预处理用ST写要比梯形图舒服得多。SFC顺序功能图用于顺序控制比如一个自动化设备从原点、进料、加工、出料的整个流程用SFC描述特别清晰每个步骤就是一个步步与步之间用转换条件连接。IL指令表是类似汇编的文本语言现在用得越来越少CODESYS有些版本甚至默认不显示IL编辑器需要到选项里手动开启。新人不建议把精力放在IL上。我的建议是不要一开始就追求五种语言全学也不要有“只会ST就行”的偏颇心态。最理想的状态是ST为主LD和FBD能读懂SFC遇到顺序控制时能上手这样就足够应对绝大多数项目了。3.3 任务配置里的周期、优先级和看门狗写好的POU并不会自动运行它必须被挂到“任务”Task下由任务按周期调度。这是CODESYS和很多传统PLC软件最大的区别之一也是很多人容易忽略的地方。任务配置在工程树的设备节点下双击Task可以打开任务列表。新建一个任务时要设置周期比如10毫秒或者100毫秒然后把需要周期性执行的POU添加进去。周期怎么选这要看你控制对象的动态特性。高速运动控制可能需要1毫秒到几毫秒的任务普通逻辑控制10毫秒就够了数据采集和监控类100毫秒甚至更慢也没问题。我见过有人不管三七二十一把所有任务全设成1毫秒结果PLC的CPU不堪重负程序频繁触发看门狗复位反而是最不稳定的配置。任务优先级的特点是数字越小优先级越高。CODESYS中优先级高的任务可以打断优先级低的任务。我一般会把运动控制放在最高优先级通信处理次之HMI数据刷新和记录类任务放最低优先级这样能保证最关键的实时任务不被其他任务拖累。看门狗也是任务配置里容易忽略的一项。每个任务可以设置一个看门狗时间如果任务的实际循环时间超过了设定值系统会报超时错误。默认值通常比较保守但如果你把任务周期调快记得同步检查看门狗时间否则程序会因为单次循环时间偶然抖一下就宕机排查时非常容易绕弯子。4. 符号配置打通HMI、上位机和第三方软件的钥匙4.1 为什么需要符号配置传统PLC往上位机丢数据最常用的方式是地址映射把变量写到固定的保持寄存器里上位机按寄存器地址去读。这么做有一个很麻烦的地方变量名和寄存器地址的对应关系完全靠人工维护项目里变量一多维护表就失控漏改一个地址调试时就是一场灾难。CODESYS的符号配置机制本质上是把“地址通信”升级成了“符号通信”。PLC编译时可以选择将一部分变量作为“符号”Symbol发布出去外部系统不需要关心变量在内存里落在哪个位置直接按符号名访问就行。为什么不是所有变量都自动发布一方面是性能考虑符号表太大会拖慢通信刷新速度另一方面是安全考虑生产现场的工艺参数、配方数据并不是每一个都适合让外部系统随意读取和修改。显式勾选要发布的变量相当于在PLC和外部世界之间设了一道可控的门。4.2 在V3.5里配置符号并导出符号配置的操作路径不算复杂。在Application节点上右键选择“添加对象”找到“符号配置”。打开后是一个编辑器里面会列出当前应用里的所有变量、POU、任务等信息。我的习惯是先把需要暴露的全局变量整理好放到一个专门的GVL里再用符号配置里的勾选功能批量选择。如果只是入门测试可以先把整个应用里的变量都选上观察一下功能等到做正式项目时再收敛到最小集合。配置完成后需要在符号配置编辑器里勾选对应的协议支持。因为符号不只给HMI用还可以给OPC UA用给PLCopen XML导出用甚至给可视化用这些选项开关都在同一个配置界面里。勾选完成不是结束还要重新编译工程、重新下载程序符号表才会真正生效。这一步很容易踩坑上位机那边已经连上了但一直读不到变量十有八九就是PLC端改了符号配置后没有重新编译下载外部设备拿到的还是旧的符号表。4.3 为什么上位机非要“符号”不可举个实际例子。MES系统要读产线上某台设备的当日产量传统做法可能是Modbus协议里规划好40001寄存器放产量40002放设备状态上位机开发人员要拿着一张寄存器点表去写程序。一旦PLC程序里插入一个新变量导致内存重新编排这张点表可能就作废了。用符号配置后上位机只需要知道变量路径比如PLC_Application.PRG_Production.dwCount通过OPC UA客户端按路径读取即可。PLC内部怎么存储、地址怎么排上位机完全不关心。对电气工程师来说符号配置还有一个隐藏好处调试的时候可以用CODESYS自带的OPC UA测试工具直接读取变量不需要先写一个上位机程序才能验证数据链路。这大大缩短了联调周期尤其在项目现场的紧张阶段收益非常明显。5. 通信与数据采集Modbus TCP、OPC UA和PLC-Recorder5.1 先判断该用哪种通信方式做自动化项目通信是绕不开的一环。CODESYS支持的通信方式非常多入门阶段优先掌握Modbus TCP和OPC UA就够了。Modbus TCP的最大优势是通用性极强几乎所有PLC、HMI、触摸屏、上位机软件都支持。它适合数据量不大、没有太高安全要求的场景。缺点是要在PLC程序里做寄存器映射把变量和Modbus地址建立对应关系规划起来略繁琐。OPC UA的优点是自带地址空间和数据模型变量按层级路径访问天然支持加密和认证适合数据点多、跨系统的数据交互。CODESYS在符号配置里勾选支持OPC UA后PLC就相当于跑了一个OPC UA Server上位机不需要额外网关软件直接用OPC UA客户端就能连。对比项Modbus TCPOPC UA上手难度低配置直观中需要理解地址空间变量规划需要人工映射寄存器按符号路径自动生成安全性无加密可配置证书加密适用场景单设备、HMI直连多系统、MES/SCADA集成如果只是在一个项目里做PLC和触摸屏通信Modbus TCP完全够用如果要在数字化改造里把PLC数据送给多个系统OPC UA是更长远的选择。5.2 PLC-Recorder读取CODESYS变量的前提配置最近很多人问PLC-Recorder怎么读CODESYS的变量这确实是个非常典型的场景现场已经有一套PLC了不想再画SCADA组态只想把变量按周期记录下来画个趋势曲线或者存成数据库。PLC-Recorder这类工具的思路是把PLC当作数据源它作为客户端周期性地抓取变量并保存。和CODESYS对接时需要在PLC端做几个前提准备第一网络能通。PLC和运行PLC-Recorder的电脑IP要能互相访问端口要允许通信。第二符号配置里要把需要记录的变量勾选为可读。这一步和第4章讲的一致如果符号表里没有对应变量采集软件再怎么连都读不到。第三PLC端要开启对应的通信服务。如果你打算走OPC UA那就要确保OPC UA Server在运行如果走Modbus TCP就需要Modbus从站配置完成。具体走哪种根据PLC-Recorder里选择的设备类型来确定一般新建数据源时可以选择CODESYS或OPC UA。配置完成后在采集软件里建立连接、填入PLC的IP和端口然后从符号列表里勾选想记录的变量设置采集周期启动记录即可。我实际用下来采集周期建议从100毫秒起步不要一上来就设到10毫秒。过快的周期会把网络抖动放大导致数据出现毛刺还会拖慢PLC的扫描周期得不偿失。5.3 数据库日志官方类库和第三方库的现实选择生产数据要落到数据库通常有两条路。\第一条路是PLC自己写数据库。CODESYS官方提供了数据库类库比如CAA Database类的库支持通过ODBC接口连接MySQL、SQL Server等数据库。在Windows软PLC上跑这种方案很顺畅嵌入式PLC就要特别注意很多嵌入式平台的运行时没有带数据库客户端需要先确认目标机型是否支持。用这类库写日志基本流程是在库管理器里添加数据库库然后在程序里建立数据库连接执行SQL语句把数据插入对应表。核心就是SQL的INSERT操作对写过SQL的人来说没有难度。第二条路是上位机或采集软件负责写库PLC只负责往外发数据。这种架构的好处是PLC侧负担小采集逻辑放在PC端灵活度更高格式化、断线重传都更容易实现。我实际项目里更倾向于这种方案因为把数据库写入任务塞给PLC一旦数据库响应变慢反过来会影响PLC程序周期。顺带提一句CODESYS的第三方库生态比想象中活跃。比如社区里有人把MySQL客户端封装成了CODESYS库以alongwu这样的命名在网上传播引用之后可以直接在ST里建表、插数据省去自己封装协议的麻烦。但用第三方库时一定要谨慎先确认库文件版本和当前V3.5版本匹配再确认目标控制器架构支持最好先在软PLC仿真环境里完整验证一遍再上真机。6. 把自己写的功能块封装成库文件一次开发多次复用6.1 为什么建议把算法写成库做项目久了你会发现很多控制逻辑是高度可复用的。比如设备顶升机构的控制不同的设备只是参数不同逻辑框架基本一样再比如温度PID调节换个传感器、换个加热器算法还是一样的。每次新项目都复制粘贴代码既容易漏改又不好维护。CODESYS的库机制就是应对这种场景的正式方案。你把自己的功能块编译成库文件.library放到库资源库里其他工程在库管理器里引用这个名字就能直接实例化里面的功能块。这相当于把C语言里的静态库搬到了PLC世界一次开发到处复用。库还有一个好处团队协作时库的接口比源代码更友好。电气工程师不需要关心内部实现只需要知道管脚怎么接、参数怎么填。你可以把库文件交出去而不暴露底层代码。6.2 生成库文件的完整步骤生成库文件的流程不复杂关键是要养成习惯。第一步新建工程时选“库”类型的工程模板不要选标准工程。模板选择后会得到一个空的库工作区这就是你写可复用功能块的地方。第二步在库工程里添加POU、DUT、GVL。和普通程序工程一样写代码只是这些代码将来要被多个工程共用命名和注释规范要格外注意。第三步配置库属性。在库工程树上找到库节点右键打开属性设置库名称、版本号、公司名、图标和帮助信息。版本号建议按“主版本.次版本.修订号”的语义化规则管理接口有破坏性变更时升主版本号增加新的功能块时升次版本号只修Bug就升修订号。第四步编译并生成库文件。先执行“保存并编译”然后通过菜单里的库文件生成功能或者直接选择安装到库资源库就能得到一个.library文件。我把这个文件归档到公司服务器上其他同事在库管理器里点击“添加库”就能在本地库资源里找到它。一个小建议开发库时在功能块的输入输出引脚上尽量写清楚注释。调用者看库的时候能读到的就是这些引脚和注释这是你的“说明书”值得多花两分钟写好。6.3 版本管理、依赖与代码保护库的版本管理是正式项目里必须考虑的。CODESYS会记录库的版本依赖关系如果一个库依赖了另一个库引用工程时会自动把依赖一起拉进来。这种自动依赖在方便的同时也可能带来版本冲突比如两个库依赖了同一个第三方库的不同版本编译时就会出现黄色警告这时候最好收敛版本不要放任警告不管。代码保护是库的一个隐藏功能。在库属性里可以设置“隐藏实现”生成后的库文件只暴露接口和注释双击进去看不到内部的ST代码。这让商业交付成为可能设备厂商可以把核心算法封装成库发给OEM客户而不泄露源码。但这里有一个常见的操作误区用普通工程导入库后源码一般不会暴露但如果你直接把库工程文件本身发给别人对方用开发环境打开工程源码还是一览无余。保护的是库文件不是工程文件这个概念要分清楚。7. 入门期容易踩的坑和一条可复制的学习路线7.1 我实测中踩过的坑做CODESYS项目这段时间我踩过的坑不算少整理几个有代表性的。安装路径中文导致网关服务失败这个前面提过是最容易复现的问题之一。如果你的CODESYS装好后在线登录一直提示网关错误优先检查安装路径和Windows服务状态。符号配置改了忘了重新编译下载导致上位机一直读到旧变量。这个问题的隐蔽之处在于PLC程序本身没变运行时也不会报错但外部设备拿到的是旧符号表连新变量都看不到。排查办法是用OPC UA测试工具直接去看地址空间如果在测试工具里都看不到变量问题基本出在PLC端符号配置没生效。任务周期设得太短触发看门狗。我一开始做运动控制时觉得周期越快越好把任务设成了1毫秒。结果实际运行时单次循环偶尔超过1毫秒看门狗一报警程序自动复位生产线上设备就停顿了。后来把周期放宽到2毫秒同时调整看门狗时间问题才彻底解决。周期不是越快越好是要匹配控制对象的真实需求。库文件和IDE版本不匹配导致编译警告。不同SP版本的CODESYS对库的兼容性有要求我用SP15生成的库放到SP17的工程里有时会有警告。解决办法是尽量用和目标工程相同版本的开发环境来生成库维护库时也固定在一个统一版本上。在线下载程序时误选“重启PLC”把设备正在跑的工艺中断了。CODESYS的下载对话框里在线修改、冷复位、热复位是不同的操作热复位会保留保持变量冷复位会把所有变量清掉。现场下载前一定看清楚对话框提示我后来养成的习惯是能在线修改就绝不下载整个工程。7.2 从会到熟一条推荐的学习顺序如果你是完全的新手我建议按下面的节奏走不要试图一步到位。第一步装好软PLC用ST写启保停、定时器、计数器这老三样把在线监视、Watch窗口这些调试手段用熟。这大概需要一天。第二步用CODESYS的内置可视化功能做一个简单页面放几个按钮和指示灯把软PLC里的变量和可视化控件绑起来体会一下“组态”是怎么一回事。第三步在软PLC里做Modbus TCP从站用现成的Modbus调试助手去读变量。通了这一步你就理解了地址映射和符号通信的区别。第四步封装一个小功能块比如一键初始化所有输出生成库文件然后新建另一个工程引用它。把库开发的流程完整走一遍以后写可复用代码就是顺手的事。第五步配置OPC UA用PLC-Recorder或者其他采集工具连接PLC把变量记录下来尝试写入数据库。到这一步你已经能独立完成一个小型数字化改造的侧链路了。如果你手头正好有汇川或者支持CODESYS的PLC别犹豫按这个顺序试一遍。三天内你就能建立起整体概念剩下的就是在项目里不断遇到问题、解决问题把经验一点点填进自己的工具箱。
网站建设高端定制企业官网
RELATED

相关资讯

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

较早相关资讯

最新相关资讯

西数加密移动硬盘突然无法解密?从两层锁机制到实操自救 2026/10/1 14:35:49

西数加密移动硬盘突然无法解密?从两层锁机制到实操自救

西部数据的加密移动硬盘突然打不开了,输入密码提示错误,但软件里的“删除密码”按钮还亮着,这种“活见鬼”的状态,我这几年收到的求助没有一百也有八十。用户描述基本都是同一套:My Passport或者My Book插上电&#xf…

阅读更多 →
VC++ UDP Demo 实战:从 Winsock 编程到丢包排查与性能优化 2026/10/1 14:35:49

VC++ UDP Demo 实战:从 Winsock 编程到丢包排查与性能优化

简介:这是一份面向VC初学者与网络编程入门者的UDP通信演示工程,围绕Windows平台Winsock套接字展开,帮助读者理解无连接传输协议的基本用法。资源以客户端与服务器双端示例为核心,覆盖WSAStartup初始化、socket创建、sockaddr_in地…

阅读更多 →
图片被WPS截胡还卡打印?三步夺回默认关联与打印通道 2026/10/1 14:35:42

图片被WPS截胡还卡打印?三步夺回默认关联与打印通道

打开一张图片想打印,结果WPS直接弹窗告诉你:需要会员。更要命的是,你根本没想用WPS看图——它自己把你的默认打开方式接管了,双击任意一张照片,出来的永远是那个带着各种付费指引的界面。这情况我身边不下三个人遇到过…

阅读更多 →
CrossFormer实战:跨尺度注意力图像分类微调指南 2026/10/1 14:35:42

CrossFormer实战:跨尺度注意力图像分类微调指南

简介:这份资源面向希望上手视觉Transformer的开发者与图像分类学习者,围绕CrossFormer这一引入跨尺度注意力机制的新型架构,提供从模型实现到分类任务落地的完整实战素材。压缩包共2000个文件,约835.34MB,其中1986个pn…

阅读更多 →
换成 HTTP/3,弱网就能变好吗? 2026/10/1 14:35:30

换成 HTTP/3,弱网就能变好吗?

页面标题已经出来了,图片还空着,评论区也一直在转。检查网络,发现有丢包。讨论到最后,有人提议:“换 HTTP/3 吧,弱网下表现会更好。” 这个方向有依据,但还少了半句话:原来的等待&am…

阅读更多 →
又发现一个Claude Code开源神器!用Happy Coder把移动端接进TaoToken 2026/10/1 14:35:30

又发现一个Claude Code开源神器!用Happy Coder把移动端接进TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

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

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