供热季你会发现一个有意思的现象越是在半夜换热站的自控系统越“忙”。我参与调试过的一个项目里循环泵1号已经连续运行了288小时按照设定凌晨2点30分程序会把主泵切到2号整个过程只需要几个PLC扫描周期循环泵自动切换完成后供水压力曲线几乎看不出波动。这就是标题里“一拖二换热站自控系统程序”要解决的核心问题两个供热回路两台循环泵两台补水泵全部按一用一备配置不需要人工干预、按设定时间自动轮换。这个项目适合谁参考如果你是做暖通自控的调试工程师、刚入行的PLC编程人员、换热站运维负责人这篇文章正好命中你们日常最常碰到的需求。“一拖二”本身不新鲜但“循环泵与补水泵都做一用一备、并且用时间触发自动切换”的组合很多项目里容易做成半吊子要么只有故障切换要么时间轮换做了但没考虑故障闭锁。下面我把这套程序从需求拆解到PLC实现再到现场调试的完整经验分享出来。1. 一拖二换热站的控制对象和“一用一备”的真实含义1.1 先搞清一拖二的项目边界“一拖二”在不同项目里指的东西不一样。有的项目是一台换热器带两个用户分区有的项目是两套换热器共用一个控制柜还有的是两个独立的供热回路共用一次侧热源入口。我在做的这个项目属于比较典型的高区/低区分区供热一次侧从市政热网进来经过板式换热器后分两路一路供高区一路供低区两个分区各自有循环泵和补水泵。搞清楚边界对写程序很重要因为一拖二意味着控制系统要同时管理两套相对独立的工艺但机柜、CPU、HMI是共用的。你不能把两套系统的逻辑硬塞进一个程序而不做隔离。我的做法是把每套回路的泵控制各做成一个功能块两个回路调用同一个功能块只是传入不同的IO地址和参数。这样程序结构干净调试的时候也能单独看某一个回路的内部状态改逻辑只改功能块本体不用复制两份改两遍。再说测点清单这是后面写程序的依据。一个标准换热站回路最少要有供水温度、回水温度、供水压力、回水压力、循环泵运行/故障/手自动反馈、补水泵运行/故障/手自动反馈、补水流量、水箱液位。如果带变频器还要有频率反馈和模拟量通道。两个回路加起来测点数量翻倍但IO点位上尽量留余量尤其DO点继电器线圈和接触器驱动的电流要分开算别为了省点位数把安全裕量牺牲掉。1.2 循环泵和补水泵切换逻辑的出发点完全不同很多人把循环泵和补水泵都叫“泵”以为一用一备逻辑写一份复制两份就行。实际上这两类泵的切换逻辑出发点完全不同。循环泵解决的是“循环”问题它让热水在二次侧管网里持续流动把热量送进用户家里。循环泵一用一备首要目标是保证系统24小时不间断循环。时间轮换的目的是均衡两台泵的机械磨损避免一台泵长期运行、另一台泵长期闲置导致备用泵启动时轴承卡滞或者叶轮锈死。供热季结束后拆开检查会发现长期不转的泵比长期运转的泵更容易出问题这就是为什么不能等故障了才切换。补水泵解决的是“静压”问题它向二次侧管网补水维持系统压力在设定范围。补水泵的启停频率比循环泵高很多而且受泄漏量影响可能一天启停几十次。补水泵一用一备的切换关注点不是单纯的磨损均衡而是防止两台泵同时运行造成过补、以及防止切换过程中压力掉得太狠。补水系统通常还带水箱液位联锁液位低到一定程度必须停泵这个保护优先级比时间轮换更高。所以程序里循环泵和补水泵是两套逻辑循环泵侧重“带载切换的平稳”补水泵侧重“压力与联锁的可靠”。虽然都叫一用一备但故障判断条件、切换前置条件、闭锁条件都不一样。我见过不少项目把一套逻辑套用在两种泵上结果补水泵切换时补过头导致安全阀起跳或者循环泵切换时因为压力波动触发低压力停机都是教训。1.3 为什么用“时间自动切换”而不是等故障才切很多运维人员不理解泵没坏为什么要切切换来切换去反而增加故障率。这个想法可以理解但站在设备全生命周期管理的角度时间自动切换恰恰是为了降低长期故障率。第一均衡磨损。两台泵型号相同如果长期只用一台运行泵的轴承、机械密封持续磨损备用泵的轴和叶轮却可能因长期静置出现锈蚀、抱死。等到故障泵停机再启备用泵备用泵能不能起来都是问题。轮换运行让两台泵都保持“活”的状态任何一台随时都能接手。第二轴承润滑和机械密封的养护。离心泵在长期运行和长期静置两种状态下故障模式完全不同。每7到15天切换一次能让机械密封的动静环和轴套都得到交替磨合减少单点长期受力。第三便于维护计划。时间轮换可以做成可预期的计划性事件运维人员知道哪天该关注哪台泵备件和保养计划可以提前排。而故障切换是不可预期的半夜发生的故障切换如果不带自动起备功能可能整个供热分区都要停。当然时间切换不是万能的它必须和故障切换配合使用运行泵出现故障信号时不管到没到切换时间备用泵必须无条件顶上。这个逻辑在下一节展开。2. 主备切换的控制策略时间轮换、故障切换与闭锁条件2.1 时间轮换的三要素周期、时间窗、执行方式一用一备的时间轮换不是简单地“运行时间到了就切”。直接这么做会在白天供热高峰期引起供水温度波动用户投诉接踵而至。实际项目里时间轮换包含三个要素轮换周期、切换时间窗、执行方式。轮换周期指的是累计运行时间比如设定168小时7天泵1累计运行达到168小时后触发轮换请求。这里要注意用的是累计运行小时不是自然天数。如果泵1期间故障停机、手动停过它的累计时间会延后用自然天数计算是不准确的。我用的功能块上带有累计时间功能累计泵的运行反馈信号时间断电后还能保持。切换时间窗指的是允许执行切换动作的时间段。我一般建议默认设在凌晨02:00到04:00这个时间段供热负荷低二次侧回水温度和压力都相对稳定切换带来的扰动最小。如果轮换请求在白天已经产生程序会挂着等到时间窗开启才真正执行切换。这样的好处是轮换动作永远是“计划性事件”而不是“随机事件”。执行方式上我强烈建议“先启后停”先启动备用泵等它的运行反馈到位、且当前运行泵的出口压力没有异常掉落后再停止原运行泵。这样能保证用户侧管网始终有泵在循环不存在断流窗口。有人图省事先停旧泵再启动新泵切换瞬间管网流量和压力会出现一个突跳严重一点会触发压差过低保护。注意一个细节先启后停的前提是电路上允许两台泵在短时间内同时带电。如果电气上因为共用变频器或母排容量不够而不允许双泵同启那就必须增加一个“短时允许同启”的旁路或者采用变频软起的时序方案。这个在提资阶段就要和电气专业确认别等程序写完再改。2.2 故障切换与时间切换的优先级故障切换的优先级永远高于时间轮换。程序里我习惯用一个统一的主备选择变量来管理泵的状态0表示无主备1表示1号泵为主2表示2号泵为主。时间轮换和故障切换都会写这个变量但故障切换的触发条件更紧急。举一个典型场景泵1运行为主程序在凌晨2点检测到轮换请求准备切到泵2。就在切换指令发出、泵2启动反馈还没回来的半秒钟里泵1报出过载故障。程序应该怎么处理正确逻辑是立刻把泵1的启动指令封掉同时持续保持泵2的启动指令并且弹出“故障切换”报警。如果程序写得死板先执行完时间轮换再处理故障就可能出现泵1故障还带着接触器不肯放、泵2又转起来两台泵同时带电的恶劣工况。故障切换之后必须加闭锁故障泵在故障复位之前不允许参与轮换。比如泵1过载故障切换切到泵210分钟后泵1的过载保护复位了程序不应该立刻又切回泵1否则可能出现泵1反复故障、反复切换的振荡。我的做法是故障切换后设置一个“故障记忆位”需要人工在HMI上确认复位后才解除闭锁这个动作同时把该泵的累计运行时间清零从零开始计算新周期。2.3 启动顺序的补水变体频率预给定与压力稳定先启后停在循环泵上相对简单但在补水泵上要做变体处理。补水泵的启停会直接扰动管网压力如果备用泵刚启动还没稳定就把主泵停了压力可能先是过冲、再快速回落补水PID会跟着来回摆动。更稳的顺序是三步走先把备用补水泵的频率给定设为与当前主泵相同。如果是软启或变频控制的泵这步能保证起步阶段流量接近。启动备用泵等待其频率反馈和压力反馈稳定通常需要2到5秒具体时间看管网容水量。关停主泵同时把补水PID的输出通道切换到备用泵的频率给定。如果两台补水泵都是工频直接启停没有变频则切换时更要关注水位联锁水位低于低报值时必须禁止切换防止备用泵吸入空气。这个联锁在补水系统里比循环系统重要得多循环泵抽空一般不会补水泵抽空之后扬程全失系统直接失压。2.4 切换周期的经验取值按设备特性和负荷动态调整轮换周期设多少合适我的经验值是这样循环泵常规取168小时7天补水泵常规取240小时10天左右。为什么补水泵周期可以长一点因为补水泵本身启停频繁每次启停都有短暂的动态过程如果周期太短等于在频繁启停的基础上又叠加频繁切换机械密封和接触器的寿命都会受影响。冬季高负荷阶段循环泵24小时全速运转累计运行小时数涨得很快此时可以把轮换周期适当缩短到120小时左右避免单台泵连续高负荷运行超过5天。春秋季负荷低循环泵可能处于低频运行甚至间歇运行累计小时数涨得慢周期可以放到240小时。所以这个参数不要写死在程序里最好放到HMI参数页让运维根据季节调节。3. PLC程序落地定时轮换控制块从积木到系统3.1 IO分配与运行时间累计的掉电保持程序落地第一步是IO分配。我用的是通用PLC逻辑具体品牌指令以西门子系为代表但结构可以迁移到任何平台。两个回路共用的IO点建议这样分配每台泵DI运行反馈、DI故障信号、DI手/自动转换、DO启动指令。如果带变频AI频率反馈、AO频率给定、DI变频故障、DO变频启动/停止。每套回路AI供水温度、AI回水温度、AI供水压力、AI回水压力、补水电动阀开/关。公用AI水箱液位计4-20mA信号液位开关高报/低报/低低报。IO分配有一个关键惯例每台泵的故障信号必须接常闭触点。正常时给PLC的是闭合信号一旦断线PLC读到的就是“有故障”程序会拒启或停机保障安全。如果接成常开断线时程序还以为泵正常那个隐患就大了。运行时间累计是轮换的核心数据。每台泵的累计运行时间要用掉电保持的DB块存储并且每个扫描周期用一个秒脉冲对“泵运行且运行反馈正常”进行累加。我通常用秒级累计HMI显示成小时保留一位小数。这样即使中途停电累计时间不会丢重启后继续累加不会出现“永远切不到备用泵”的问题。3.2 轮换计时、时间窗判断的标准写法这里给出结构化文本的伪代码思路方便看懂逻辑换成梯形图或功能块图也都是同一种思想。先做运行时间累计IF Pump1.IsRunning AND NOT Pump1.IsFault THEN Pump1.RunTimeSec : Pump1.RunTimeSec 1; END_IF; // 每小时转存到Hour变量 IF Pump1.RunTimeSec 3600 THEN Pump1.RunTimeSec : Pump1.RunTimeSec - 3600; Pump1.RunTimeHour : Pump1.RunTimeHour 1.0; END_IF;然后是轮换请求IF Pump1.IsRunning AND Pump1.RunTimeHour RotationSetHour AND NOT RotationRequest THEN RotationRequest : TRUE; RotationRequestTime : CURRENT_TIME; // 记录请求产生时间 END_IF;时间窗判断要小心跨午夜。比如窗口设在23:00到01:00如果不处理跨天凌晨0点30分这个合法时间会被判定为不在窗口内轮换永远不执行。换算成分钟数后这样判断IF (CurrentMin WindowStartMin AND CurrentMin WindowEndMin) OR (WindowStartMin WindowEndMin AND (CurrentMin WindowStartMin OR CurrentMin WindowEndMin)) THEN InWindow : TRUE; END_IF;两段判断合在一起轮换执行条件就清晰了IF RotationRequest AND InWindow AND NOT Pump2.IsFault AND NOT Pump2.ManualMode AND NOT Pump2.Running THEN Pump2.StartCmd : TRUE; END_IF; // 等待备用泵运行反馈到位再停主泵 IF Pump2.StartCmd AND Pump2.IsRunning THEN Pump1.StartCmd : FALSE; RotationRequest : FALSE; Pump1.RunTimeHour : 0.0; Pump1.RunTimeSec : 0; Pump2.RunTimeHour : 0.0; Pump2.RunTimeSec : 0; SwitchLog : TimeRotation_OK; END_IF;这里两台泵的运行小时要同时清零。如果只清零泵1不清零泵2泵2刚启动就带着泵1之前累计的几十上百小时会导致泵2很快又触发轮换整个逻辑就乱了。3.3 主备选择与输出互锁的安全底线主备选择变量我习惯直接用一个整数1表示泵1为主2表示泵2为主。每次轮换成功后翻转一次故障切换后强制设为主用的那台。输出互锁是安全底线。无论程序怎么跑同一回路两台泵的DO启动指令不能在同一个扫描周期内同时为TRUE除非电气上专门设计了双机同运回路。轮换过程中因为先启后停确实存在一个“两台泵同时带电”的短暂窗口所以这个互锁不能简单等于“禁止同启”而要允许一个“启动确认窗口”备用泵运行反馈到位之前主泵不允许停。我实际的做法用置位和复位指令实现。先置位备用泵的DO等运行反馈确认后再复位主泵的DO。PLC扫描周期毫秒级电气上接触器动作也是毫秒级只要电气设计允许短时双接触器吸合运行上没有问题。3.4 故障报警与复位后的恢复逻辑故障处理这部分我给每台泵建了三个报警运行反馈丢失、启动超时、变频故障。其中启动超时特别重要——当程序发出启动指令后5秒内没有收到运行反馈说明接触器可能没吸合或者反馈回路断了程序要立刻撤销启动指令并报“启动超时”防止在接触器粘连状态下程序反复给出启动信号给电机造成两次冲击。故障复位后的恢复逻辑有几个细节故障泵在未复位前不能作为下一轮的主泵。故障泵复位后如果备用泵当前运行正常不需要立刻切回来等下一个轮换周期自然切换即可。如果故障泵是唯一能运行的泵程序应该允许强制启动但要经过3秒声光报警提醒操作员确认。我把这些逻辑单独封装成泵控制功能块输入是泵的IO和参数输出是状态和报警。两个回路各自调用一次维护极其方便。4. HMI界面与参数设置让运行人员能放心操作4.1 参数页轮换周期、时间窗、当前主备程序再漂亮运行人员不会用就等于没写。HMI设计上我坚持一个原则运行工不需要看懂程序逻辑但必须能看懂“现在是谁在干活下次什么时候换人”。参数页面至少要有这几个设定项轮换周期小时默认168小时允许范围24到720小时。切换窗口起始时间默认02:00。切换窗口结束时间默认04:00。当前主泵显示1号或2号以及各泵累计运行小时。最近一次切换记录显示“昨晚02:30完成切换原因时间轮换”。为什么切换窗口要单独配置如果现场白天负荷高或者站里白天有人做检修把窗口调整到凌晨更合适。窗口可配置比固定写在程序里灵活得多运维也能自助调整不用天天找程序员改逻辑。4.2 参数上下限保护防止误设置参数能改但不能乱改。HMI里设定值必须做上下限限制轮换周期小时数范围24到720。时间窗口的开始和结束值必须是0到23小时内的合法时分格式。如果起始时间等于结束时间HMI应该报“无效窗口”并拒绝写入。这些限制看起来简单但能少很多麻烦。我遇到过现场运维把轮换周期填成0程序里除零直接跑飞整个站停了半天。从那以后凡是HMI写的参数PLC侧还要再过滤一层小于下限按下限处理大于上限按上限处理彻底杜绝非法值进入逻辑运算。4.3 手动、自动、远程三种模式并存泵控模式至少三态就地手动、远程自动、远程手动。三态要体现在HMI上但优先级不同。就地手动优先级最高当转换开关打到就地PLC的DO指令必须被强制封锁只保留监视功能。远程自动是正常运行模式程序自主执行PID和轮换。远程手动是调试模式操作员在HMI上可以单点启停某台泵但不参与轮换逻辑。我见过一个事故值班人员以为在HMI上点了“泵1启动”泵就转了实际上现场转换开关打到了就地位置HMI点启动一点反应都没有他跑来问“程序是不是坏了”。其实不是程序坏了是三态切换的说明没给到位。所以我在HMI显眼位置放一个“当前控制模式”显示块就地/远程一目了然减少这种误会。5. 现场调试实录五个坑和对应的排查思路5.1 坑一时间到但切换失败启动超时报警第一次联调时凌晨轮换请求触发泵2的DO指令给出但3秒后没有运行反馈启动超时报警弹出程序撤销指令泵1继续转。用万用表一量泵2接触器线圈没得电。查下来是DO中间继电器选型问题线圈电压对上了但触点容量不够驱动接触器线圈瞬间拉弧触点烧蚀。换上额定电流更大的继电器后问题解决。排查思路分享启动超时报警不要只盯程序。先看DO输出指示灯是否亮亮了再看中间继电器是否吸合吸合了再看接触器线圈两端电压电压正常再看电机端子。一级一级往下找基本都是硬件问题程序里预留的启动超时报警就是用来快速定位这种“指令发了但没执行”的故障。5.2 坑二运行时间掉电清零导致“永远不切换”项目上线后两个星期运维打电话说泵1一直运行没切换。查程序发现累计运行小时停留在286.4小时不再增加。进一步查发现用的是普通DB块没有设置掉电保持属性。某天凌晨短暂停电数据被清零过重新开始累计后理论上17天后才会再次触发轮换。这个问题的正确做法有两步一是累计运行时间必须放在掉电保持区这和3.1说的一致二是程序上电时做一个“上电复位检查”如果发现累计时间出现异常跳变HMI上弹出一条提示让运维知道发生过断电但不必停机处理。有了这两个保障“永远不切换”基本不会再现。5.3 坑三补水泵切换瞬间压力波动过大补水泵切换调试时压力曲线显示切换瞬间二次侧压力从0.42MPa掉到0.36MPa又快速冲高到0.46MPa系统安全阀都有点发紧。查原因是先启后停的等待时间不够备用泵刚启动2秒就停了主泵备用泵的频率尚未跟上管网已经失压。后来把切换时序改成三步第一步给备用泵频率预给定等于主泵当前频率第二步启动备用泵等待“频率反馈大于等于预给定90%且压力偏差小于0.02MPa”条件成立第三步停主泵并将PID输出切换到备用泵通道。整套时序控制在10秒以内。改成这个逻辑后切换压力波动不超过0.02MPa运行半年没再出问题。5.4 坑四两台泵互为备用故障时同时停机程序初版在主备切换逻辑里有个漏洞泵1在自动模式下设为主泵但它的故障信号来了程序尝试把主泵切给泵2此时泵2如果处于手动检修状态故障切换被屏蔽程序又没有兜底逻辑结果两台泵都没有启动指令整个回路循环中断。排查过程很经典。报警记录里能看到泵1故障、泵2手动模式但程序没有生成“无可用泵”的系统级报警。修复方案很简单程序增加一个“可用泵数量”判断当可用泵数量为0时立刻触发系统报警并保持最近一台运行泵的启动指令哪怕它报了故障同时HMI弹窗提示人工干预。供热系统的第一原则是保循环宁可带着故障运行也不能让用户室温掉。5.5 坑五HMI时间未校准凌晨切换变成下午切换又是一次现场“打架”事件。HMI面板和PLC时钟差了12个小时程序时间窗判断用的是PLC时钟HMI显示用的是面板时钟运维看到窗口是凌晨2点实际PLC到下午2点才执行切换。白天负荷不低切换时供水温度有波动用户投诉就上来了。教训PLC的时间源必须统一。最好让PLC和上位机周期校时HMI只做显示。如果现场没有校时源至少每周人工核对一次并且把“PLC时钟显示”直接放在HMI主画面让运维能看到真实时间。这个坑不大但造成的直接后果往往是人力和口碑损失。6. 从一拖二到更多场景这套逻辑还能怎么复用6.1 多泵轮换与按需加泵的扩展思路一拖二的逻辑扩展成三台泵、四台泵并不难。核心是把主备选择变量改成队列轮换规则从“单轮”改成“循环队列”运行时间最长的泵优先停运行时间最短的泵优先启。多泵工况下要增加“按需加泵”判断比如同时运行两台才能满足负荷时系统自动把第三台泵切入。多泵轮换有一个额外注意点运行小时数要做归一化处理否则新增一台泵之后轮换顺序会乱。我的习惯是按“运行小时数最小优先启动、最大优先停止”排序每次都选当前最“闲”的泵参与运行。6.2 变频切换与工频切换的时序差异前面补水泵切换的例子带的就是变频泵。变频切换比工频切换多一个频率预给定的步骤还要处理变频器的启动时序先给频率再给定启动还是先启动再升频取决于变频器面板参数设置和电气接线。两台变频泵共用一台变频器时切换必须做变频器的“摘挂”处理这个过程复杂得多。如果条件受限建议至少增加一个旁路接触器控制保证共用变频器故障时仍有一台泵能通过工频方式运行。6.3 上位机联动把切换事件做成台账最后分享一个能让业主满意度明显提升的小功能把每次时间轮换和故障切换都通过通信模块推送到上位机SCADA形成一个“切换事件台账”。台账里记录切换时间、原因时间轮换、故障切换、手动强制、切换前主泵、切换后备泵、当时压力温度数据。这个台账的好处在于供热季结束做设备总结时能直接统计出两台泵各运行了多少小时、切换了多少次、故障集中在哪台泵。对于备品备件采购和设备寿命评估这些都是很实在的数据。实现上不复杂无非是把切换完成位的上升沿打包成一条记录扔到MODBUS TCP的保持寄存器里上位机做轮询采集。这套程序跑完两个供热季后我最大的体会是一用一备的自动切换看似是个小功能但“切得准、切得稳、切得有记录”三个层次都能做好才能真正让运维人员睡个安稳觉。如果你正在做类似的一拖二换热站项目建议先从本文的需求拆解和控制策略开始把轮换周期、时间窗、故障优先级这些边界条件想清楚再动笔写程序。先把逻辑理顺后面的沟坎会少一半。
企业数字化 ERP 产品动态
相关推荐
智能书店推荐系统:从协同过滤到Spring Boot+Vue落地 1. 从“图书管理”到“智能书店”,真正的增量是推荐这条链路在开始做这套基于推荐算法的智能书店系统之前,我认真翻过不少同类项目的代码。大部分所谓的“书店系统”其实只完成了最表层的事情:书籍列表、分类查询、购物车、下单结算ÿ… · 2026/9/26 6:55:21
248.双平台底层救砖方案:EDL/BROM 模式深度实操与排错 摘要:本文从安卓系统启动链的底层原理出发,系统讲解Bootloader解锁、Fastboot协议、Recovery模式、分区刷写、镜像提取与修复的完整技术路径。结合高通与联发科两大平台的真实维修案例,提供可直接运行的ADB/Fastboot脚本与分区操作代码,并总结刷机过程中高频故障的排查方法… · 2026/9/26 6:55:15
VFP缓冲表入门:用CURSORSETPROP与TableUpdate把增删改做稳 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 7:54:55
4K计算全息效率与质量平衡:LiftHolo工程实践 1. 4K计算全息到底卡在哪1.1 LiftHolo是什么,我为什么要做这件事我最近一直在折腾一个叫LiftHolo的4K计算全息项目。名字里带个“Lift”,翻译过来就像把二维图像从屏幕上“抬”起来,在空间里重新构建出真实的光场。说人话就是:输入… · 2026/9/26 7:54:55
老游戏闪退?PhysXLoader.dll缺失、位数与MOD冲突排查指南 双击快捷方式,屏幕闪了一下,回到桌面。没有报错弹窗,没有崩溃记录,就仿佛这个游戏压根没被启动过。如果你去游戏安装目录翻日志,多半能找到一行 physxloader.dll 的字样——老游戏里的 PhysX 物理引擎运行库缺了或者… · 2026/9/26 7:54:55
PROJECT.md:给AI Agent一份稳定的项目记忆 我最近养成了一个习惯:不管接手什么科研项目,第一件事不是跑代码,不是读论文,而是先把项目的所有关键信息写进一个叫 PROJECT.md 的文件里。然后,在我用 AI Agent 辅助干活的时候,让它先把这份文档完整读一… · 2026/9/26 7:54:55
工业环境监控中台:多协议数据归一化实战 1. 项目缘起与整体设计思路1.1 为什么会有这个中台需求我在一家做工业环境监控的集成商待了快八年,前六年基本都在现场跑。最早那批项目,一个车间里可能就三五个温湿度传感器,走的是RS485手拉手串起来,末端接个串口服务器转成以太… · 2026/9/26 7:54:43
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46