Delphi 7 Modbus控件实战:老项目对接新设备通信指南
简介Modbus Delphi7控件是一套可嵌入Delphi7项目的通信组件面向需要快速实现PLC等设备数据交换的工业自动化上位机开发者尤其适合有一定Delphi基础、但希望省去Modbus协议底层实现细节的工程师。压缩包共31个文件包含pas源代码、dcu编译单元、exe示例程序以及ini、dof、cfg等工程配置文件整体仅293KB轻量小巧便于直接编译或集成到现有项目。已有948人学习下载。功能层面控件覆盖连接管理、地址映射、读写寄存器/线圈、异常处理、多设备并发与事件驱动等多种能力支持TCP/IP、RTU、ASCII通信模式开发者只需设置连接参数并调用ReadCoil、WriteMultipleRegisters等方法即可完成与PLC等设备的数据交互。配套的测试程序、演示工程与说明文档能帮助初学者快速上手也可供中高级开发者按需扩展整体上能显著提升工业通信程序的开发效率。1. 为什么 Delphi 7 项目里还离不开 Modbus 控件工控现场里 Delphi 7 写的上位机程序远比你想象得多电力监控、水处理、暖通、包装产线到处跑着 2002 年编译出来的 exe。这些系统改不动、重构不起但设备要更新、通信要接进新系统于是 Modbus 就成了老程序和新设备之间最务实的桥梁。所谓“Modbus Delphi7 控件”本质上是给 Delphi 7 这个已经二十多岁的开发环境补上串口和以太网的 Modbus 通信能力让老程序不用推翻重来只改几个控件属性就能跟 PLC、电表、变频器、温控仪对话。这个方向适合两类人一类是手上维护着存量 Delphi 7 项目、被新设备通信协议逼到墙角的工程师另一类是公司新立项但技术栈被定死在 Delphi 7、又要跟 Modbus 设备对接的开发团队。你真正要解决的从来不是“学协议”而是三个具体问题控件选哪个、最小代码怎么跑通、现场联调时坑在哪里。下面的内容就是按这个落地的顺序展开的全程基于实战踩过的路数不是照着控件源码念文档。2. 选控件之前先把三个基础问题想清楚2.1 先别谈控件先确认要跑 RTU 还是 TCP很多开发者在选控件时第一反应是搜“Delphi7 Modbus 控件”下载十几个包然后逐个试这是最容易浪费时间的方式。你在定控件之前必须先确定物理链路和协议帧格式因为这直接决定了控件本身的串口处理能力和网络层能力完全不同。Modbus 协议两个主流通路RTU 走串口常见于 RS232、RS485 总线数据帧紧凑带 CRC16 校验TCP 走以太网Modbus TCP 帧比 RTU 多了一个报文头MBAP但省去了 CRC 校验因为 TCP 传输层自己保证可靠性。选型时有一条粗暴的分界线——距离超过 15 米、要多台设备挂一条总线不用想RS485 RTU设备分布在厂房不同角落、要跟组态软件或 MES 系统互通直接 TCP。我一般会先画一张拓扑草图标清楚上位机到设备之间有几条物理链路再决定控件是只支持 RTU 还是 RTU/TCP 都支持。常见做法是尽量选两种协议都支持的控件因为你不知道项目做到一半会不会从串口换成网口控件切换的成本远低于重写通信层。2.2 主站还是从站决定控件库长什么样第二个问题往往是新手最容易忽略的你的 Delphi 7 程序在 Modbus 总线里扮演什么角色。Modbus 只有两种角色主站Master发起请求、等待应答从站Slave被动响应。绝大多数工控上位机是主站定时轮询下挂设备的寄存器采集数据、下发控制指令。但也有反向场景比如你的 Delphi 7 程序要作为一个虚拟从站把数据提供给组态软件或另一个主站系统读取。这两个方向的控件 API 完全不同。主站控件核心能力是发请求、解析响应你需要的是类似 Read Holding Registers、Write Single Register 这样的方法从站控件核心能力是注册寄存器缓冲区、监听总线请求、自动回帧。有些控件两个方向都做但往往一边成熟另一边半残。我自己的习惯是优先去找以主站功能为主的控件因为大多数项目场景跑的是轮询采集从站功能属于备选。如果你的项目确实要从站一定要在选型阶段就确认控件示例代码里有完整的从站 Demo而不是只写在帮助文档里。2.3 源码控件还是 ActiveX 控件这是 Delphi 7 特有的选择Delphi 7 时代的历史包袱在这里体现得特别明显。那个年代第三方控件有两条技术路线源码级 VCL 控件和 ActiveX 控件。VCL 控件直接编译进你的项目发布 exe 时不需要额外注册ActiveX 控件则需要在目标机器上执行注册操作否则程序一运行就报“类未注册”。对于 Delphi 7 项目我强烈建议选 VCL 源码控件一条理由就够部署一台工控机还要手动 regsvr32 一个 ocx 文件这在工厂现场是灾难运维人员不一定懂组态软件冲突更麻烦。源码控件把代码一起给你Delphi 7 里打开控件包直接编译安装发布时就是 exe 本身没有任何注册依赖。这个决定在你维护第二、第三台机器时会省掉大量时间。至于控件源码的质量看三点串口数据接收是阻塞式还是异步事件式、线程安全是否考虑过、有没有超过两年没人维护。一个控件超过两年不更新并不代表不能用Modbus 协议二十多年没大变过稳定反而是优势。3. 把最小主站跑通从控件安装到代码写完3.1 安装一个能用的 VCL 控件这一步有查错点选定控件后第一步是把源码包装进 Delphi 7 的 IDE。这里不针对某个具体商业控件讲的是通用安装路径因为所有 VCL 控件在 Delphi 7 里的安装步骤都差不多无非是打开控件包工程、编译、安装到组件面板。典型的安装路径是源码压缩包解压后找 .dpk 文件Delphi Package双击在 IDE 里打开然后在包管理器里点 Compile编译通过后点 Install控件就出现在组件面板的工具条里了。这一步常见的失败现象是编译报错找不到某些 .dcu 文件原因绝大多数是库路径没有添加需要把控件源码目录加进 IDE 的 Tools - Environment Options - Library - Library Path。安装完成后先别急着写业务代码拖一个控件到窗体上编译一个空窗体跑通这一步再往下走。这一步能暴露许多兼容性问题——如果控件用了较新的语法或系统 API在 Delphi 7 下会直接编译不过趁早发现趁早换控件免得写了半截代码又推翻。3.2 串口 RTU 通信的最小代码骨架下面这段代码是主站读保持寄存器的完整最小逻辑使用常见的 VCL 串口 Modbus 控件以事件驱动方式实现。你实际用的控件 API 可能略有差异但逻辑骨架完全一致。procedure TFormMain.ButtonConnectClick(Sender: TObject); begin // 串口控件用到的关键参数 ModbusClient.CommPort : COM3; // 设备实际挂载的串口号 ModbusClient.BaudRate : 9600; // 波特率PLC 侧要一致 ModbusClient.DataBits : 8; ModbusClient.StopBits : 1; ModbusClient.Parity : None; // 无校验现场最常见的配置 ModbusClient.Protocol : pRTU; // 明确指定走 Modbus RTU ModbusClient.Open; // 打开串口失败时异常抛出 end;procedure TFormMain.ButtonReadClick(Sender: TObject); begin // 读从站地址 1 的保持寄存器从寄存器地址 0 开始连续读 10 个 ModbusClient.ReadHoldingRegisters(1, 0, 10); // 结果异步返回在 ModbusClientReadDone 事件中取数据 end;procedure TFormMain.ModbusClientReadDone(Sender: TObject; MsgID, RegCount: Integer); begin // 主线程中拿到响应数据UI 可以安全刷新 EditValue.Text : IntToStr(ModbusClient.RegisterValue[0]); end;这个例子里 ReadHoldingRegisters 是异步请求模型调用后立即返回控件在后台线程收帧、解析、触发事件你在事件回调里才能拿到结果。Delphi 7 是单线程 UI 模型如果控件设计成同步阻塞方式串口波特率 9600 时一次读 10 个寄存器要消耗大约 50 毫秒界面会有明显卡顿。所以选控件时确认它的事件模型是异步回调凡是回调里能拿到 MsgID 的都是设计上考虑过多线程的这种可以放心用。BaudRate、DataBits、StopBits、Parity 这四个参数没有讨论余地必须和从站设备侧完全一致。最常见的坑是设备出厂默认 9600 8 N 1而程序里默认 19200结果是能打开串口但永远收不到有效帧。读寄存器数量这个参数同样有讲究先看设备手册确认这个区域一次最多允许读多少很多设备超过 125 个字会自动返回异常码。3.3 Modbus TCP 与串口的差异只在连接方式TCP 模式写起来比串口还简单把串口相关属性换成远端 IP 和端口就成了。procedure TFormMain.ButtonTcpConnectClick(Sender: TObject); begin ModbusClient.Protocol : pTCP; ModbusClient.Host : 192.168.1.100; // PLC 或网关的 IP 地址 ModbusClient.Port : 502; // Modbus TCP 标准端口 ModbusClient.Connect; // 建立 TCP 连接失败会抛异常 end;procedure TFormMain.ButtonTcpReadClick(Sender: TObject); begin // TCP 下从站地址通常填 0 或 255具体看设备文档 ModbusClient.ReadHoldingRegisters(0, 0, 10); end;区别在于 TCP 不需要关心串口参数和校验位控件内部要把请求封装成 MBAP 报文所以 Host 和 Port 是核心配置。有一点必须养成习惯TCP 连接是有状态的设备重启或断网后 TCP 连接会静默断开重连逻辑要写在定时器里。一个比较稳妥的做法是在 Timer 事件里用 IsConnected 检测连接状态断开就自动 Connect 重连。4. 调通一个轮询循环从寄存器映射到字段解析4.1 功能码、寄存器地址和数据类型映射规则主站能读通数不叫成功把数据正确解析成工程量才算落地。Modbus 有 4 个数据区对应不同的功能码线圈状态功能码 0x01、离散输入0x02、保持寄存器0x03、输入寄存器0x04。实际项目 90% 的数据都走保持寄存器设备把电压、电流、温度、状态字全部映射到连续的保持寄存器里你按设备手册的地址表取数就行。这里最值得花时间的是数据类型映射。寄存器是 16 位一个字一个 32 位浮点数要占两个寄存器比如三菱 PLC 的 D 区浮点数通常是“低字在前、高字在后”而很多电力仪表做的是“高字在前、低字在后”Delphi 7 里用 Single 类型按字节顺序读出后数值完全不对。这就是字节序问题代码里没有对错只有手册为准。function RegistersToFloat(HighWord, LowWord: Word): Single; var RawBytes: array[0..3] of Byte; Value: Single; begin // 按高字在前、低字在后的顺序填充字节数组 RawBytes[0] : Byte(HighWord shr 8); RawBytes[1] : Byte(HighWord and $FF); RawBytes[2] : Byte(LowWord shr 8); RawBytes[3] : Byte(LowWord and $FF); Move(RawBytes, Value, 4); Result : Value; end;这个函数处理的是大端模式浮点数适用面最广。数据到 UI 上不直观建议加一个工程量系数换算层把寄存器原始值和实际单位之间的比例关系集中管理不要散落在界面代码里。4.2 定时轮询与报文间隔的关键平衡轮询循环是主站上位机的核心骨架这里最容易出问题的不是代码逻辑而是轮询节奏。串口是半双工通道RS485 总线上同时只能有一个设备发送数据轮询太快会撞帧轮询太慢影响数据实时性这是现场调试和一个坑一个坑摸索出来的经验。procedure TFormMain.TimerPollTimer(Sender: TObject); const POLL_INTERVAL_MS 200; // 轮询周期建议先调大再调小 begin if ModbusClient.Busy then Exit; // 上一次请求还没完成跳过本轮避免请求堆积 Inc(FCurrentIndex); case FCurrentIndex mod 3 of 0: ModbusClient.ReadHoldingRegisters(1, 0, 10); // 设备 1 数据区 1: ModbusClient.ReadHoldingRegisters(2, 0, 20); // 设备 2 数据区 2: ModbusClient.WriteSingleRegister(1, 1, FSetValue); // 设备 1 控制字 end; end;Busy 判断是轮询循环的灵魂。没有 Busy 判断200 毫秒的 Timer 遇上 500 毫秒的响应请求会层层堆积最终串口缓冲里全是半截帧整个通信崩溃。响应超时时间也要单独设置建议默认 1000 毫秒遇到设备响应慢再调到 2000不要一上来就用 100 毫秒只会平白制造虚假故障。5. 避坑串口 Modbus 联调最常见的几类现场事故5.1 串口能打开但永远收不到数据现象程序不报错串口打开正常但 ReadDone 事件永远不触发或者触发后收到异常码。原因最常见的两种情况一是 RS485 的 A/B 线接反了二是 USB 转串口线质量太差导致信号电平异常。A/B 反接时数据完全收不到“是根本没有任何响应”。解决先用串口调试助手直接和设备交互排除程序问题再检查线序按设备手册的标准 A 接 A、B 接 B 重新接线如果用的是 USB 转 RS485换一根带 FTDI 芯片的线再测兼容性比那些仿冒芯片好太多这是被现场反复验证过的办法。5.2 能读到一个寄存器但读多个就超时现象读 1 个寄存器正常连续读 10 个或 100 个就超时报异常码 0x02 或直接无响应。原因很多设备设计为一次请求能处理的寄存器数量有限最常见的是某些仪表只支持一次读 24 或 64 个寄存器超过后直接拒绝响应。这个问题和协议规范没关系是设备厂商的实现限制。解决读设备手册的数据区表找到“单帧最大读取寄存器数”这一项然后程序里做分段读取。把一组要读的数据拆成每次 50 个寄存器的区间依次请求。分段后总时间略有增加但换来的是稳定性和兼容性值得。5.3 CRC 校验正确但数据偶尔错乱现象设备能响应但偶尔解析出的数值会跳动出现明显不合理的数据比如温度 60 度突然跳到 -3000 多。原因RS485 总线上可能还有别的干扰源接地不良、屏蔽层没接、通讯线与动力线平行布线都会造成帧内数据错位。看似校验算对了实际是完整的一帧被干扰后恰好命中了别的协议结构。解决先从物理层解决——屏蔽层单端接地、通讯线远离动力线、总线两端各加 120 欧终端电阻。软件层面属于“事后补救”一种做法是把连续两次采样值做变化幅度限制变化率超过阈值就丢弃本次数据不刷新 UI。该方法不能根治但能防止系统因单次错误数据做出误动作也就是把故障隔离在通信层而不是操作层。5.4 超时参数怎么设都会误报现象设备正常工作时偶尔被判定为超时拉长了整体轮询周期。原因串口轮询模式下RS485 总线是半双工的。某个从站响应慢了 50 毫秒或者总线上一台设备正在发送长帧主站会由于“还没轮到它的数据就认为超时”。统一用一个超时值处理所有设备是常见错误。解决不同的寄存器区设置不同的超时时间。高速数据区例如状态字用 300 毫秒慢速数据区例如历史累积量或者 PLC 内部大数据块用 1000 毫秒。再配合重试机制第一次超时后只重试一次不要再发第三次。重试次数越多故障累积持续越久延迟的影响反而越大。5.5 程序里改了串口参数但设备完全无视现象改了 BaudRate 属性后重新连接通信行为没变好像参数没生效。原因控件在 Open 状态下修改串口参数不会生效必须先 Close 再 Open甚至有的控件要在 Close 后延迟几十毫秒再 Open给驱动程序释放资源的时间。解决把改串口参数的代码统一放到 Close 之后然后用一个 50 毫秒的 Sleep 再重新 Open。注意不要把这行代码放在 UI 线程的点击事件里那样会卡界面可以用一个独立的按钮“应用参数”来执行这个流程做完后弹一个提示框把参数改成了什么反馈给操作层面。6. 进阶老控件处理不了的场景用四个技巧补齐6.1 多主站共存的轮询仲裁某些产线上会有触摸屏和你的 Delphi 7 程序同时要读同一台 PLC这就是多主站场景。Modbus 不区分多主站但物理层是半双工时两个主站同时发请求就会撞帧。常见做法是把两个主站的轮询周期错开让触摸屏只管快速区你的程序只管慢速区或者干脆让触摸屏做成从站由你的 Delphi 程序轮流服务。其中一个实践经验是使用重试次数 随机等待在检测到连续多次无响应时随机等待 50 到 200 毫秒再尝试这是碰撞回避的简单实现。6.2 从站程序如何把自己的数据“喂”给组态软件如果你的 Delphi 7 程序要做从站提供给组态软件读取那么核心是寄存器缓冲区的管理和状态维护。控件启动时创建一块内存区域模拟寄存器数组组态软件发读请求时控件自动从这块区域取数返回。你要做的就是在后台线程里周期性地把采集值写入这块缓冲区的指定位置。注意写频繁的数据区要加锁保护否则主站读取到的可能是写入中间状态的半个数。此外 MBAP 的 Unit ID 在 TCP 从站模式下通常填 0 就可以不需要响应设备的 ID 区分。6.3 用调试工具确认问题归属不靠猜联调最忌讳一次次试不仅效率低还容易把线拧断。正确做法是三段确认法先用串口调试助手看设备原始报文确定设备本身是否正常应答再用控件自带的调试输出功能看 Delphi 发出的请求帧和收的响应帧最后才去看 UI 解析出错的字段。很多控件支持设置一个 OnRawData 事件或把原始帧写到日志文件一定要把这个开关打开数据不对时先看原始帧能省下大半排查时间。没有这个功能的控件建议直接换掉。6.4 断电重连和重新握手的最佳实践现场设备经常断电重启串口从站设备重启后再上线的时间通常在一到三秒不等TCP 连接则要等几百毫秒到几秒。一个被几个项目验证过的策略是程序启动后先尝试连接失败则每两秒重试运行过程中通信超时连续出现 3 次就主动断开并重新连接。永远不要在已经断开的连接上直接发起读写请求那样只会让超时计数器越走越远。这个自动重连逻辑写在全局状态机里比散落在各个页面的事件处理中要可靠得多。Delphi 7 开发环境确实老但 Modbus 协议更老且极其稳定这两样东西配在一起反而成了工控存量系统里最可靠的组合之一。这些年做下来的一个很深的感觉是通信不上时多数不是控件本身的 bug而是物理层、参数配置、设备实现差异这三样东西在起作用。控件选择正确后真正考验工程师的是排查思路是否清晰。先把线接对、参数对齐、原始报文看明白再用代码解析数据这套顺序不要颠倒了希望帮到你。本文还有配套的精品资源点击获取

相关新闻

SpringBoot服装生产监控系统设计与实践

SpringBoot服装生产监控系统设计与实践

1. 项目背景与行业痛点 服装制造业作为典型的劳动密集型产业,其生产流程具有工序复杂、环节众多、数据分散的特点。传统服装厂普遍面临以下痛点: 生产进度依赖人工统计,数据滞后3-5天是常态 质量问题追溯需要翻查纸质记录,效率低…

2026/10/15 14:28:38 阅读更多 →
SpringBoot服装制造管理系统开发实践

SpringBoot服装制造管理系统开发实践

1. 项目背景与核心价值服装制造行业作为传统劳动密集型产业,在数字化转型浪潮中面临着生产流程优化、供应链协同和精细化管理等迫切需求。这个基于SpringBoot的服装制造企业综合管理系统,正是针对中小型服装企业在订单管理、生产排期、库存追踪等核心业务…

2026/10/15 14:28:38 阅读更多 →
遗传算法在配电网优化中的实践与应用

遗传算法在配电网优化中的实践与应用

1. 项目背景与核心价值配电网络优化配置是电力系统运行中的经典难题。传统的配电网重构方法往往依赖于人工经验或简单的启发式规则,难以在复杂约束条件下找到全局最优解。遗传算法(Genetic Algorithm, GA)作为一种模拟自然进化过程的智能优化…

2026/10/15 14:27:37 阅读更多 →

最新新闻

如何在片段着色器中检测被裁剪的三角形:WebGL 顶点裁剪判定实战指南

如何在片段着色器中检测被裁剪的三角形:WebGL 顶点裁剪判定实战指南

图形学 【免费下载链接】webgl-fundamentals WebGL lessons that start with the basics 项目地址: https://gitcode.com/gh_mirrors/we/webgl-fundamentals 点击查看 免费下载 本指南源于 webgl-fundamentals 项目 Q&A 系列中的经典问题:当三角形的…

2026/10/15 15:10:54 阅读更多 →
Rust 1.93增强musl网络功能,提升云原生与系统编程性能

Rust 1.93增强musl网络功能,提升云原生与系统编程性能

1. Rust 1.93版本更新概述Rust 1.93版本带来了一项重要改进——对musl标准库的网络功能进行了显著增强。作为系统级编程语言,Rust与musl的深度整合一直是其跨平台能力的重要支撑。这次更新主要针对网络相关系统调用的封装进行了优化,使得基于musl构建的R…

2026/10/15 15:10:54 阅读更多 →
Reflector 7.4.1.179绿色注册版插件集成与投屏录屏实战指南

Reflector 7.4.1.179绿色注册版插件集成与投屏录屏实战指南

简介:Reflector 7.4.1.179 是截至 2011 年 11 月官方真实存在的最新版本,这款绿色注册版专门面向 .NET 开发者,内置 FileDisassembler 和 FileGenerator 两个插件,解决了反编译工作中最常遇到的插件分散、配置繁琐问题。压缩包采用…

2026/10/15 15:10:54 阅读更多 →
openclaw-cn 语音消息转写实战:Deepgram 音频转写(tools.media.audio)接入与配置详解

openclaw-cn 语音消息转写实战:Deepgram 音频转写(tools.media.audio)接入与配置详解

人工智能AI Agent即时通讯后端本地部署语音 【免费下载链接】openclaw-cn 中文社区版OpenClaw,同原版保持定期更新,已内置钉钉、企业微信、飞书、QQ、微信以及国内网络环境优化。你的专属个人AI助手。支持所有操作系统和平台。🦞 项目地址&am…

2026/10/15 15:10:54 阅读更多 →
小程序反编译实战:wxappUnpacker解包还原wxapkg源码

小程序反编译实战:wxappUnpacker解包还原wxapkg源码

简介:这是一份面向微信小程序开发者与安全研究人员的反编译工具资源包,内含 wxappUnpacker 完整项目文件。它支持解析微信小程序的主包与分包,将 .wxml、.wxss、.js、.json 等二进制格式还原为可读代码,便于分析业务逻辑、定位性能…

2026/10/15 15:10:54 阅读更多 →
AI Agent驱动的Android逆向工作流设计与实践

AI Agent驱动的Android逆向工作流设计与实践

1. 项目概述:当逆向工程遇上AI Agent,不是“拆APK”,而是让机器理解安卓世界的运行逻辑你有没有试过打开一个陌生的APK,点开JADX,盯着满屏的Smali代码发呆?不是看不懂,而是看懂了也难说清——这…

2026/10/15 15:09:53 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/15 9:49:14 阅读更多 →