基于博途S7-1200的四病房八床位呼叫控制系统设计与梯形图实现

做PLC项目这些年,呼叫提示类的控制系统看着不难,但真落到实处,要照顾的细节远比想象中多。最近完成的一套“No.101 博途1200 PLC四病房八床位呼叫控制系统”,就是典型的中小型离散控制任务:四间病房、八个床位,每个床位都能独立发出呼叫,护士站一眼就能看出是哪间病房、哪张床在呼叫,同时有蜂鸣器和指示灯双重提醒。主线用西门子S7-1200 PLC搭配博途(TIA Portal)编程环境,梯形图实现,逻辑直白,但很多细节——比如呼叫怎么锁存、多个呼叫同时出现时怎么处理、复位按钮到底放在哪里——都是靠实践一点点磨出来的。写这篇博客,既是给做类似项目的同行一个完整参考,也顺便帮刚碰博途的朋友少走几条弯路。

1. 四病房八床位呼叫系统的方案设计与I/O分配

1.1 需求拆解:呼叫、指示、复位三件事

这个系统听上去简单,就是几个按钮几个灯,但真正动手之前,需求必须拆到具体行为。原版需求是一间护理机构提出的:四间病房,每间两张床,病人在床上伸手就能按到呼叫按钮;护士站要有声光提醒,并且要准确显示到床号;护士处理完呼叫后,要能手动复位指示灯和声音。

拆解下来,系统必须完成以下几件事:

  • 呼叫登记与锁存:按钮按下的瞬间,系统要“记住”这次呼叫,不能因为手指松开就丢信号。这是呼叫系统最核心的功能。
  • 就地指示与远程指示:床头或病房门口要有灯亮,护士站也要有灯亮,并且能区分到具体床位和病房。
  • 声音提示:护士站配蜂鸣器,防止护士低头写东西时漏看灯光。
  • 手动复位:护士到床前处理完事情,回到护士站按复位按钮,对应呼叫清除。
  • 多呼叫并发:如果多个床位同时呼叫,信号不能互相覆盖,所有呼叫都要被“看见”。

被忽略的往往是最后一条。如果你只用普通输出线圈做闪烁,后按的按钮会把前一个呼叫顶掉,这是实际项目中很容易踩的坑。

1.2 为什么选S7-1200:中小型控制任务的稳妥选择

这套系统的输入输出点数合计不到20点,按理说继电器或单片机方案也能做,但从可靠性、可维护性和扩展性三个角度看,S7-1200是更稳妥的选择。S7-1200属于西门子小型PLC,性价比高,接线方式灵活,而且和触摸屏、上位机通信都方便。CPU型号我选了1214C DC/DC/DC,自带14点数字量输入和10点数字量输出,本系统输入约12点、输出约13点,点数刚刚好,不必额外加信号模块。

博途(TIA Portal)这个平台把硬件组态、PLC编程、HMI组态、仿真调试统一在一个工程里,适合这种小项目“一把梭”。如果用老式STEP 7去写1200程序反而麻烦。程序语言上,我没有用SCL,全部用梯形图,原因很简单:后续维护这台的可能是刚入行的电工师傅,梯形图对他们友好得多。

对比继电器控制方案,PLC另一个优势是改动逻辑不用拆线。比如后续想把“持续响铃”改成“间歇响铃”,在软件里改定时器逻辑就行,不用动电柜。这就是现代控制系统的价值。

1.3 I/O点分配:把每个按钮、每盏灯对应到位

I/O分配是整个项目的地基。我最开始画了表格,按病房顺序把床号编码:病房1对应床1、床2,病房2对应床3、床4,以此类推。输入侧用I0.0到I0.7接八个床位的呼叫按钮,I1.0到I1.3接四个病房的复位按钮。输出侧用Q0.0到Q0.7接八个床位的指示灯,Q1.0接护士站蜂鸣器,Q1.1到Q1.4接四个病房的分区提示灯。

具体分配如下:

地址功能说明地址功能说明
I0.0床1呼叫按钮Q0.0床1指示灯
I0.1床2呼叫按钮Q0.1床2指示灯
I0.2床3呼叫按钮Q0.2床3指示灯
I0.3床4呼叫按钮Q0.3床4指示灯
I0.4床5呼叫按钮Q0.4床5指示灯
I0.5床6呼叫按钮Q0.5床6指示灯
I0.6床7呼叫按钮Q0.6床7指示灯
I0.7床8呼叫按钮Q0.7床8指示灯
I1.0病房1复位按钮Q1.0护士站蜂鸣器
I1.1病房2复位按钮Q1.1病房1分区灯
I1.2病房3复位按钮Q1.2病房2分区灯
I1.3病房4复位按钮Q1.3病房3分区灯
Q1.4病房4分区灯

复位按钮按病房分配,而不是放一个总复位,是因为护士实际处理时基本是一个病房挨着一个病房处理,分区复位更符合工作习惯。这里没必要省按钮,四块钱一个的按钮,换来的是使用逻辑的清晰。

I/O地址只是表层,更关键的是在博途的PLC变量表里把每个地址重新命名成带语义的符号,比如“Bed1_Call_Button”、“Bed1_Lamp”这样的名字。程序里尽量只引用符号名,不要直接写绝对地址。这看起来多了一步,但调试的时候,监控表里看到的是一排有意义的名称而不是一堆I0.0、Q0.5,差异非常大。

2. 博途中创建项目与硬件组态的实操要点

2.1 新建项目与CPU型号选择的细节

打开博途后,第一步是创建新项目。项目名称我习惯直接写成设备名加版本号,比如“Call_System_v2”,因为这类小项目后期往往会有改动,版本号能让归档不那么混乱。然后进入“组态设备”,添加CPU。这里有个很容易忽略的地方:CPU的固件版本要和实物一致。你选一个比实物高的固件版本,程序下载时可能提示固件更新;选低了,部分功能无法使用。稳妥的办法是先看CPU外壳上的固件标识,再在博途里选对应版本。

CPU型号选择上,如果只做呼叫控制,1214C DC/DC/DC足够。但如果你预感到后续会加触摸屏、加以太网通信,尽量选带PN接口的型号,S7-1200全系列都有以太网口,这点很方便。

硬件组态界面里可以配置数字量输入的滤波时间。默认是6.4ms,对呼叫按钮来说够了。但现场如果有变频器等干扰源,可以把滤波时间调到20ms以上的档位,能滤掉一部分高频毛刺。这个参数在“设备组态” -> “数字量输入”属性里,不同固件版本界面略有差异,找不到就按F1搜索“input filter”。

2.2 接线方式与公共端处理的避坑提醒

S7-1200的数字量输入支持漏型接线,也就是公共端接0V,按钮一端接24V,另一端接输入点,按下时输入点得到高电平。这个项目里所有呼叫按钮都按这个方式接,简单统一。

接线时重点注意三个地方:

  • 按钮选择常开触点。有人为了“安全”用常闭触点接PLC,程序里再做反逻辑,但呼叫按钮的使用者大多是病人,常闭按钮按下反而断开信号,程序又需要持续检测断开状态,一旦线路松脱会出现误判断。用常开按钮,程序检测上升沿,逻辑最直观。
  • 指示灯建议选DC 24V的LED灯,功耗小,寿命长,而且可以直接接PLC输出。如果选了220V灯,还得加继电器中转,完全没有必要。
  • 蜂鸣器要选带内置驱动电路的,额定电压DC 24V,不要选那种需要外接振荡电路的裸蜂鸣器。PLC的数字量输出只能提供开关信号,不能让裸蜂鸣器自己响出声音。

输出侧的公共端处理也要看具体接线。继电器输出型CPU的输出公共端可以接24V或0V,取决于负载公共端怎么接。如果所有指示灯都共用24V正极,输出点要接负载另一端到0V,这种接法叫源型输出。确定好一种方式后,所有输出回路统一走一种接法,别混着来,否则查线时很容易犯晕。

2.3 程序块结构:OB1、FC、DB的分工

程序逻辑虽然不复杂,但不建议把几百行梯形图全堆在OB1里。工程上有一个约定俗成的原则:OB1只做调用,具体功能放到函数FC里,数据放到全局数据块DB里。这样变量集中、逻辑内聚、在线监控方便。

这套项目的程序结构我是这样安排的:

  • OB1:主程序组织块,只调用FC1。
  • FC1:命名为“Call_Handle”,包含所有呼叫逻辑,包括锁存、复位、闪烁、蜂鸣器输出。
  • DB1:命名为“Call_Signals”,存放八个床位的锁存位、闪烁定时器的时间值、中间标志位等。

为什么把锁存位放在DB而不是直接用M区地址?M区虽然简单,但是M地址分配比较随意,程序大了以后很难管理。DB是结构化的,直接在DB里建一个数组或一组Bool变量,每个变量都有符号名,HMI组态时也能直接引用。

DB变量需要设置保持性。如果要求断电后呼叫记录保留,也就是停电再来电后,之前的呼叫还在,就要把对应的锁存位设置为“保持”。如果不需要掉电保持,可以设为非保持。实际站点里,我更倾向于不保持,因为断电后再次上电,护士需要重新巡视病房,旧的呼叫信号反而会造成干扰。这个根据现场实际要求设定,没有标准答案。

3. 核心梯形图逻辑:呼叫锁存、声光联动、手动复位

3.1 呼叫登记与锁存:用置位指令记住“谁在叫”

呼叫锁存是整个系统的灵魂。逻辑要求是:病人按下呼叫按钮,信号必须被记住,直到护士手动复位。实现方式是用上升沿检测配合置位指令。

博途里的上升沿指令叫R_TRIG,它检测输入信号从0变1的那一瞬间,输出一个扫描周期的脉冲。把这个脉冲接在置位线圈的使能端,就能实现“按下按钮一次,锁存位置位并一直保持”。

用梯形图画出来,单个床位的逻辑大概是:

  • 网络1:常开触点“床1呼叫按钮”(I0.0)串联一个R_TRIG指令,R_TRIG的Q端接“床1锁存位”(DB里的Bool变量)的置位线圈(S)。
  • 网络2:常开触点“病房1复位按钮”(I1.0)串联一个R_TRIG指令,R_TRIG的Q端接“床1锁存位”的复位线圈(R)。
  • 网络3:常开触点“床1锁存位”直接接“床1指示灯”(Q0.0)。

这里最关键的区别在于:置位(S)和复位(R)是记忆性指令,输出状态会保持;而普通输出线圈(=)是扫描型的,当前扫描周期条件不满足了,输出就断开。用普通线圈写呼叫锁存是新手最常见的错误,效果就是病人手一松,灯就灭了,护士根本来不及看是哪个床在呼叫。

八张床的锁存逻辑完全同理,区别只是各自绑定不同的按钮、锁存位和灯。在FC1里,我会把八组逻辑复制出来,然后把每个符号名改到位。千万不要试图用循环指令来做这件事,这不是大量重复点位,循环反而让逻辑绕弯子,可读性差,维护时也费劲。

3.2 闪烁与蜂鸣器控制:让信号真正被看见

护士站如果只是一个常亮灯,长时间盯着很可能被忽略。实际体验告诉我,警示信号要“动起来”,灯光闪烁加蜂鸣器才能让人注意到。所以我们做了一个闪烁功能,让呼叫指示灯以固定频率闪烁。

闪烁功能的实现思路是建立两个IEC定时器。IEC定时器是博途里的标准定时器指令,需要分配一个定时器上下文数据,通常是DB块里的静态变量。具体做法:

  • 第一个定时器TON,预设值500ms,输入信号为“闪烁运行标志”,定时器输出Q作为中间位。
  • 第二个定时器TON,预设值500ms,输入信号是第一个定时器的反相,输出作为“闪烁输出位”。
  • 由闪烁输出位去控制灯的亮灭,最终效果就是灯亮500ms、灭500ms,不断循环。

这组定时器只需要写一次,生成一个通用的闪烁标志位。后面所有需要闪烁的输出,比如八盏床位指示灯和病房分区灯,都通过串联一个“闪烁输出位”的常开触点来实现。常亮和闪烁也能切换,只要增加一个模式选择位,闪烁输出位串联或并联就能控制。

蜂鸣器控制则是一个“或”逻辑。八个锁存位,任意一个为ON,蜂鸣器就响。这里做了一点优化:蜂鸣器不采用持续响铃,而是和灯光一样做成断续响,也就是响0.5秒、停0.5秒。断续的声音比持续长鸣更容易被人察觉,而且护士长时间听着也不会太烦躁。在梯形图里,把八个锁存位并联后和“闪烁输出位”串联,再输出到蜂鸣器。

强调一点:蜂鸣器的驱动能力非常关键。如果PLC输出点直接驱动蜂鸣器,就要确认蜂鸣器额定电流不超过输出点允许的最大电流。1214C的输出点承受能力有限,如果蜂鸣器功率偏大,要改成输出点控制一个中间继电器,由继电器触点去接通蜂鸣器电源。这一点不处理好,调试时就会出现输出点烧坏或者PLC进入保护状态。

3.3 复位逻辑与优先级处理的思路

护士处理完呼叫后要复位。复位按钮按病房分配,每个病房一个。按下病房1的复位按钮,只清除病房1里两张床的锁存位,不会影响其他病房。这个设计的核心是“操作粒度”,护士在现场可能只处理了其中一间病房,总复位按钮会把所有没处理完的呼叫也清掉,反而造成漏处理。

复位逻辑同样用R_TRIG上升沿检测,然后对两个锁存位做复位。不要用常闭触点直接输入到复位线圈,因为一旦程序处于扫描周期中间状态,常闭触点从断开到闭合的微小时间差可能导致不稳定的复位时机。上升沿检测是最干净的处理方式。

关于多呼叫并发,很多人会想到优先级排序。实际项目里,这套系统不需要太复杂的排序,因为四间病房的病床呼叫不分紧急程度。所有锁存位都会同时保持,八个灯都亮,蜂鸣器都响,护士自己决定先去哪个病房。如果硬要设计成“最早呼叫优先显示”,反而需要时间戳功能,CPU里要额外记录呼叫发生的时间,逻辑复杂度直线上升,而现场收益并不明显。

唯一可以考虑的优先级扩展是“紧急呼叫”按钮,比如卫生间跌倒报警,这种按钮可以单独接一个输入点,对应一个独立的紧急指示灯和特定的急促蜂鸣声。这种扩展结构上很容易做,不影响现有呼叫逻辑,我把它列进了后续升级清单,但第一版先不做。

4. 博途仿真与现场上电常见问题排查

4.1 博途仿真工具的使用心得

博途自带的PLCSIM仿真工具可以完全模拟S7-1200的运行。把程序下载到仿真PLC后,可以强制输入信号,模拟按钮按下的状态,再观察输出和DB变量变化。

我在写这套程序的初期几乎每一步都会在仿真里过一遍。流程是:把八个床位的按钮输入做成一张监控表,按下任意一个输入,到PLC变量表里看对应的锁存位是否置位,再到输出变量表里看指示灯输出是否动作。这种三步验证法虽然原始,但能把逻辑漏洞尽早暴露出来。

PLCSIM有一个非常实用的功能:修改输入状态时,可以选择“强制”或“修改”。强制会把输入状态一直固定在某个值,比如强制I0.0为TRUE,相当于一直按住呼叫按钮;修改则只是触发一次状态变化。这里要区分清楚,调试锁存逻辑时用“修改”,把按钮从0改成1再改回0,看锁存位是否保持;调试复位逻辑时,修改复位按钮的输入状态。使用强制时记得最后要取消强制,否则现场上电后信号会一直被强制,容易误判。

不过仿真永远代替不了真实接线。仿真环境里没有接线干扰、没有电源波动、没有按钮抖动。程序在仿真里跑通了,只能说逻辑层面上没问题,现场调试仍然必不可少。

4.2 现场调试中典型的四个问题

现场调试时最容易出的问题,几乎都有规律可循。我把最常见的几个写出来,做了一个排查速查表:

问题现象可能原因排查方法
按下呼叫按钮,指示灯不亮输入点没收到信号;输出公共端接线错误用监控表看输入点状态是否变化;用万用表查输出点是否有24V
按一下灯亮,松手后灯灭程序里用了普通线圈而没有用置位指令检查梯形图,确认锁存位是否被S/R指令控制
蜂鸣器一直响不停某个锁存位始终为ON,未被复位监控DB里的锁存位,找到未复位的那个床位
复位按钮按了没反应复位输入接错;用了下降沿或常闭逻辑确认I1.x输入有信号,检查R_TRIG是否调用正确
灯闪烁频率异常定时器上下文类型配置错误或两个定时器逻辑不同步单步监视两个TON的当前值,看预设时间是否生效

除了这些逻辑问题,接线问题也遇到过。印象最深的一次,是某个床位的按钮线经过线槽时被压断,但线皮是好的,绝缘没破,测通断一直显示通,结果是在振动时偶尔断开。排查了很久才发现是线槽压线问题。这段经验后来总结成一条规矩:所有按钮线在过线槽时都套一根波纹管,并且在线槽内预留5到10厘米余量,防止线束拉扯。

另一个值得提醒的是输入滤波时间。呼叫按钮如果安装位置离电柜远,线路长,容易感应到变频器、电磁阀的干扰信号。如果监控表里看到输入点在没人按按钮时偶尔闪一下,大概率是干扰,此时调整数字量输入的滤波时间,比如从6.4ms改到20ms,通常能解决。如果还不行,就要考虑加装中间继电器隔离,或者改用屏蔽线。

4.3 后续扩展:触摸屏、数据追溯与病房分区展示

这套系统预留了很好的扩展空间。S7-1200自带以太网口,直接可以连接博途组态的触摸屏。在触摸屏上建一个床位布局图,八个床位用圆圈表示,呼叫时圆圈变红并闪烁,护士点击对应的圆圈就能实现远程复位。这个扩展对硬件唯一的改动是加一块触摸屏,程序里的DB变量可以完全复用。

更进一步的扩展是呼叫记录与响应统计。如果用上位机或者支持数据记录的触摸屏,可以把“呼叫发生时刻”和“护士复位时刻”记录下来,算出每次呼叫的响应时长。这对护理质量管理很有用。实现上需要在程序里增加两个触发器:锁存位置位时记录当前时间戳,复位时再记录一次时间戳,两值相减就是响应时长。S7-1200读取系统时间用RD_LOC_T指令,取出的时间写成字符串存到数据块里,上位机再做采集展示。

分区展示也很值得加。护士站除了显示床号,还可以做一个病房汇总:Q1.1到Q1.4已经带了病房分区灯,后续在触摸屏上把病房号放大显示,哪个病房有呼叫,对应区域数字就闪烁。这套系统再往后走一步,可以把呼叫信号通过PROFINET或Modbus TCP上传到护士站电脑,配合现成的护理管理软件,就是一套完整的病房呼叫信息系统了。S7-1200的通信能力完全能支撑,前期程序做好结构,后续加通信块不会推翻重来。

做这套系统让我最大的体会是:设备点位虽然少,但每一处细节都对应真实的使用场景。按钮按下去能不能被记住,护士抬手能不能看得见,处理完能不能清得干净,这些问题都直接影响使用体验。做自动化项目,逻辑写得出来只是基础,真正有价值的是把这些“人怎么用”的细节想透。最后分享一个小习惯:程序里的变量命名务必和床号、病房号一一对应,比如“Bed1_Call_Latched”、“Ward1_Reset_Button”,命名不要图省事用“M0.0”、“Tag_1”这种。维护的时候你会庆幸自己当初多敲了几个字。

相关新闻

Artcraft:数字创作中的手工感与参数直觉

Artcraft:数字创作中的手工感与参数直觉

1. “Artcraft”不是新软件,而是一类被长期低估的创作范式最近在几个设计类社区和开源项目讨论区里,“artcraft”这个词突然高频出现,但翻遍主流技术文档、设计手册甚至英文维基,都找不到一个权威定义。它既不指代某款刚发布的AI绘…

2026/10/20 6:24:32 阅读更多 →
演示文稿自动化工具设计:模板驱动与数据填充实战

演示文稿自动化工具设计:模板驱动与数据填充实战

1. 从零拆解一个演示文稿自动化工具的设计思路第一次看到 "ppt-master" 这个命名,我的直觉是:这大概率是一个围绕演示文稿(PPT)做自动化生成或批量处理的工具项目。在办公自动化这个领域摸爬滚打这些年,我见…

2026/10/20 6:24:32 阅读更多 →
WSL2 + pnpm 环境下部署 Paperclip:从 Node 版本到权限控制

WSL2 + pnpm 环境下部署 Paperclip:从 Node 版本到权限控制

WSL2 pnpm 环境下部署 Paperclip:从 Node 版本到权限控制 【免费下载链接】paperclip The open-source app everyone uses to manage agents at work 项目地址: https://gitcode.com/GitHub_Trending/papercl/paperclip Paperclip 把自己定位为"每个人…

2026/10/20 6:24:32 阅读更多 →

最新新闻

Pallas引擎如何看穿AI写作?从降AI到人机协同的正确路径

Pallas引擎如何看穿AI写作?从降AI到人机协同的正确路径

先说结论:2026年了,还在问“怎么降AI”的人,思路本身就反了。真正的答案不是研究怎么骗过Pallas引擎,而是研究为什么它盯上你。我把国内外主流AIGC检测工具,包括知网近期升级的Pallas引擎思路做了拆解,结合…

2026/10/20 7:14:56 阅读更多 →
Boost PFC CCM平均电流控制与相位补偿的Plecs仿真实战

Boost PFC CCM平均电流控制与相位补偿的Plecs仿真实战

做开关电源仿真绕不开PFC这个话题。最近我把Boost PFC的CCM平均电流控制叠加电流相位补偿控制,在Plecs里完整跑了一遍仿真,从主电路参数计算到控制环路搭建,再到波形分析和问题排查,整个过程踩了几个坑,也把原理重新梳…

2026/10/20 7:14:56 阅读更多 →
批量出图怎样做到像素级可控?规则渲染管线实战解析

批量出图怎样做到像素级可控?规则渲染管线实战解析

这个需求最近真的很多人问。我自己的项目里也是碰到一模一样的瓶颈:业务方要求批量出图,图片里不能有丝毫随机性——同样的输入必须产出同样的构图、同样的配色、同样的文字位置。拿通用多模态生成模型试了几轮,效果确实惊艳,但根…

2026/10/20 7:14:56 阅读更多 →
litellm:统一大模型接入层,解决多模型切换与适配之痛

litellm:统一大模型接入层,解决多模型切换与适配之痛

最近在做一个多模型调度的内部项目时,我把团队的模型接入层整体切换到了 litellm。这个决定帮我省掉了大量重复的适配代码,也让我们在评估不同大模型服务时效率高了不少。如果你同样被"每个模型一套 SDK、一套请求格式、一套报错风格"折磨过&a…

2026/10/20 7:14:56 阅读更多 →
新手考古路线图:3 步定位登月舱降落代码 BURN, BABY, BURN——从 Luminary099 源码索引到 P63 着陆算法

新手考古路线图:3 步定位登月舱降落代码 BURN, BABY, BURN——从 Luminary099 源码索引到 P63 着陆算法

新手考古路线图:3 步定位登月舱降落代码 BURN, BABY, BURN——从 Luminary099 源码索引到 P63 着陆算法 【免费下载链接】Apollo-11 Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules. 项目地址: https://gitcode.com/…

2026/10/20 7:14:56 阅读更多 →
投机推理:突破大模型自回归瓶颈的并行验证加速技术

投机推理:突破大模型自回归瓶颈的并行验证加速技术

1. 大模型推理的“车堵一条道”困局老做推理优化的朋友都有过这种体验:GPU 明明算力爆炸强,但每次生成一个 token 都得几毫秒甚至几十毫秒,batch 稍微大一点,延时就像坐火箭一样往上蹿。一开始我们都骂“模型太大了”,…

2026/10/20 7:13:55 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

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

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

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

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

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

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 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/19 2:54:50 阅读更多 →
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/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练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/18 12:16:16 阅读更多 →