PLC编程入门:从基础指令到实战应用,掌握工业自动化核心语言
1. PLC指令从“开关”到“大脑”的工业语言如果你刚接触工业自动化看着控制柜里那些方方正正的PLC可编程逻辑控制器可能会觉得它很神秘。但说穿了它的核心工作就是“听”输入信号比如按钮、传感器“想”逻辑关系就是你写的程序然后“指挥”输出信号比如电机、阀门。而“想”这个过程靠的就是一套特定的语言——PLC指令。这就像你用中文的“主谓宾”造句来指挥别人做事一样PLC指令就是工程师用来指挥机器动作的“工业造句法”。很多人包括一些刚入行的朋友容易把PLC编程想得过于复杂或者过于简单。过于复杂是觉得它像C、Java那样深奥过于简单是以为就是画几个梯形图的“启保停”。实际上PLC指令是介于两者之间的一种存在它语法极其简单、直观尤其是梯形图但组合起来却能构建出控制整条产线、整个车间的复杂逻辑。今天我们不谈高深的算法库、通信协议就回归最本质的东西把那些最常用、几乎每个程序都离不开的指令掰开揉碎了讲清楚。无论你是用西门子、三菱、欧姆龙还是国产的汇川、信捷这些基础指令的思想都是相通的掌握了它们你就拿到了打开PLC世界大门的钥匙。2. 基础逻辑指令构建程序的“砖瓦”如果把一个PLC程序比作一栋大楼那么基础逻辑指令就是砌墙的砖块。它们直接对应着最基本的“与”、“或”、“非”逻辑关系是构成所有复杂控制的基础。这部分指令学不好后面的程序就像建在沙滩上的城堡。2.1 LD、LDN、OUT程序的起点与终点LD (Load)这是所有梯形图程序的“起手式”。它的作用很简单读取一个输入触点比如I0.0或者一个内部继电器比如M0.0的当前状态ON或OFF1或0并将这个状态加载到当前逻辑运算的“栈顶”或理解为当前逻辑行的起点。你可以把它看作一个“开关检查员”它去查看某个开关是不是按下了。LDN (Load Not)和LD是孪生兄弟作用相反。它读取指定触点的状态然后取“反”后再加载。也就是说如果那个触点是OFF0LDN加载的结果就是ON1。这常用于需要“常闭”条件触发的场景比如“安全门未关闭时报警”。注意不同品牌的PLC常闭触点的画法和指令可能不同。在梯形图上常闭触点通常显示为“||/||”。有些品牌直接用LD指令加载常闭触点地址系统会自动识别为取反逻辑有些则明确使用LDN指令。编程前务必查阅对应品牌的手册。OUT (Out)这是逻辑行的“终点”和“执行者”。它把前面一系列逻辑运算的最终结果输出到一个线圈上。这个线圈可以控制一个实际的输出点比如Q0.0连接着一个继电器也可以是一个内部的辅助继电器M点或者一个定时器/计数器的线圈。OUT指令就是“下令”根据前面的逻辑是真是假来决定让这个线圈得电ON还是失电OFF。一个最经典的例子——电机启保停控制假设启动按钮接I0.0常开停止按钮接I0.1常闭电机接触器线圈由Q0.0控制。 梯形图逻辑通常表现为网络1 |--| |---|/|---( )---| | I0.0 I0.1 Q0.0 | | | |--| |----------------| | Q0.0 |用指令表IL来写就是LD I0.0 // 检查启动按钮是否按下 OR Q0.0 // 或上电机自锁触点 ANDN I0.1 // 与上停止按钮常闭故用ANDN OUT Q0.0 // 输出结果到电机线圈这段程序清晰地展示了LD作为起点经过OR或、ANDN与非的逻辑组合最终由OUT执行输出的完整流程。这里有个关键点OR Q0.0实现了“自锁”。当I0.0按下后Q0.0得电其常开触点闭合即使I0.0松开了电流仍能通过Q0.0自身的触点保持流通这就是“保持”功能。而ANDN I0.1意味着只有当停止按钮I0.1物理上是常闭触点正常时导通没有被按下时通路才完整。2.2 AND、ANI、OR、ORI逻辑的串联与并联单个条件往往不够我们需要组合条件。AND (And)串联一个常开触点。意思是“而且”只有当前面的逻辑结果和这个触点的状态都为“1”时整体结果才为“1”。在梯形图上就是两个触点的串联。ANI (And Not)串联一个常闭触点。只有当前面的逻辑结果为“1”而且这个触点的状态为“0”时整体结果才为“1”。OR (Or)并联一个常开触点。意思是“或者”当前面的逻辑结果或这个触点的状态有一个为“1”时整体结果就为“1”。在梯形图上就是从一个触点后面并出去一条支路。ORI (Or Not)并联一个常闭触点。应用场景两地控制一台电机。地点A的启、停按钮为I0.0和I0.1地点B的启、停按钮为I0.2和I0.3。电机Q0.0。 逻辑可以写为(I0.0 OR I0.2) AND (I0.1 AND I0.3的非逻辑)。用指令可以灵活组合。这体现了AND用于串联必要条件两个停止按钮都必须满足OR用于并联充分条件任意一个启动按钮均可。2.3 SET 与 RST状态的“锁定”与“解锁”这是比OUT更强大的输出指令也是理解PLC记忆功能的关键。SET (Set)置位指令。当SET前面的逻辑条件从“0”变为“1”即上升沿时它会把指定的线圈可以是输出Y/Q也可以是内部继电器M强制变为“1”ON状态。最关键的是即使SET前面的条件随后又变成了“0”这个被置位的线圈也会一直保持为“1”状态直到被RST指令复位。这就像一个带自锁的开关按一下开就永远保持开。RST (Reset)复位指令。当RST前面的逻辑条件从“0”变为“1”时它会把指定的线圈强制变为“0”OFF状态并同样保持直到被SET指令置位。它也可以用来复位定时器T、计数器C的当前值以及数据寄存器D的内容。SET/RST 与 OUT 的核心区别保持性OUT指令的输出状态完全依赖于其前面逻辑运算的即时结果。前面通它就有输出前面断它就没输出。而SET/RST具有“锁存”功能一旦执行状态就保持不受前面逻辑后续变化的影响除非遇到相反的指令。编程灵活性SET和RST可以成对出现但不必在同一个程序段或同一个扫描周期内。你可以在程序的任何地方用任何条件去SET一个标志位然后在很远的地方用另一个完全不同的条件去RST它。这在设计复杂的状态机、故障报警复位、模式切换时极其有用。优先级当同一个线圈在同一扫描周期内既被SET又被RST时通常后执行的指令有效。但为了避免这种逻辑混乱良好的编程习惯是确保对同一个线圈的SET和RST条件互斥。实战案例一个简单的报警指示灯控制。当故障信号I0.4到来时上升沿报警灯Q0.1要点亮并保持闪烁直到维修人员按下复位按钮I0.5。网络 10 报警触发与锁定 LD I0.4 // 故障信号 SET M0.0 // 置位报警标志位M0.0将一直为1 网络 11 报警复位 LD I0.5 // 复位按钮 RST M0.0 // 复位报警标志位M0.0将变为0并保持 网络 12 报警灯输出闪烁 LD M0.0 // 检查报警是否激活 AND SM0.5 // SM0.5是PLC系统自带的1秒时钟脉冲0.5秒ON0.5秒OFF OUT Q0.1 // 输出到报警灯实现闪烁在这个案例中SET M0.0和RST M0.0完美实现了状态的锁定和解除而报警灯的具体动作闪烁则由M0.0的状态和时钟脉冲组合控制。这种将“状态”和“动作”分离的编程思想让程序结构更清晰更容易维护。3. 定时与计数指令让程序拥有“时间感”和“数量感”机器控制离不开时间和数量。定时器让PLC能“等待”计数器让PLC能“数数”。它们是实现顺序控制、流程节拍、产量统计的核心。3.1 定时器指令TON, TOF, TP不同品牌的定时器分类和名称略有差异但思想一致。以常见的西门子S7-200/1200系列为例TON (On-Delay Timer)接通延时定时器。这是用得最多的定时器。当TON的使能输入端IN为“1”时定时器开始计时当前值Txxx从0开始增加。当当前值达到预设值PT时定时器的状态位Txxx变为“1”其常开触点接通。只要IN端保持为“1”定时器状态就保持为“1”。当IN端变为“0”时定时器立即复位当前值清零状态位变为“0”。典型应用电机星三角启动。按下启动按钮后先以星形Y运行延时8秒后自动切换到三角形△运行。LD I0.0 // 启动按钮 AN I0.1 // 停止按钮常闭 M10.0 // 启动中间继电器 LD M10.0 TON T37, 80 // 启动一个100ms基时的定时器T37预设80*100ms8秒 LD M10.0 AN T37 // 启动后定时未到 Q0.0 // 输出星形接触器 LD M10.0 A T37 // 启动后定时已到 Q0.1 // 输出三角形接触器TOF (Off-Delay Timer)断开延时定时器。当IN端从“0”变为“1”时定时器状态位立即变为“1”但不计时。当IN端从“1”变为“0”时定时器才开始从0开始计时。计时达到预设值PT后状态位才变为“0”。在计时过程中状态位保持为“1”。典型应用走廊照明灯。按下开关灯亮松开开关后灯延时30秒自动熄灭。TP (Pulse Timer)脉冲定时器。当IN端从“0”变为“1”时定时器状态位立即变为“1”并开始计时。无论IN端保持“1”多久只要计时达到预设值PT状态位就立即变为“0”输出一个宽度为PT的固定脉冲。如果IN端在计时结束前就变为“0”状态位也立即变为“0”。重要心得定时器的“时基”或“分辨率”如100ms、10ms、1ms非常关键。它决定了定时器的精度和最大定时范围。选择一个8秒的延时用100ms时基的定时器预设值就是80如果用1ms时基预设值就是8000。预设值不能超过该类型定时器的最大值通常是32767。在需要高精度定时的场合如几十毫秒要选用更小时基的定时器。3.2 计数器指令CTU, CTD, CTUD计数器用来对输入脉冲的上升沿进行计数。CTU (Count Up)加计数器。每个CU计数脉冲输入端的上升沿计数器的当前值Cxxx加1。当当前值大于或等于预设值PV时计数器的状态位Cxxx变为“1”。复位输入R为“1”时计数器当前值清零状态位复位。CTD (Count Down)减计数器。装载输入LD为“1”时将预设值PV装入当前值。每个CD计数脉冲输入端的上升沿当前值减1。当当前值减到0时计数器的状态位变为“1”。CTUD (Count Up/Down)加减计数器。同时具备加计数和减计数功能有两个脉冲输入端CU和CD以及复位端R和装载端LD。当前值在-32768到32767之间变化。实战案例流水线产品数量统计与批量打包。 假设每个产品经过传感器I0.6产生一个脉冲。网络 20 产品计数 LD I0.6 // 产品检测传感器 EU // 上升沿检测指令每个产品只计一个数 CTU C10, 100 // 加计数器C10预设值100 网络 21 满100个打包并复位计数 LD C10 // 当C10状态为1计数值100 S Q0.2, 1 // 置位打包机构动作 TON T38, 50 // 打包动作时间5秒 LD T38 // 打包时间到 R Q0.2, 1 // 复位打包机构 R C10, 1 // 复位计数器C10当前值清零为下一批计数准备这里的关键是使用了EU上升沿检测指令来确保每个产品只触发一次计数避免传感器抖动或产品停留导致重复计数。CTU指令的R端复位通常由一个独立的条件如打包完成触发确保计数周期清晰。4. 数据处理与比较指令程序中的“算盘”和“裁判”PLC不仅要处理开关量还要处理数字。比如读取温度传感器的数值0-27648对应0-100℃或者设定一个速度参数。这就需要数据处理指令。4.1 数据传送指令MOV这是最基础的数据操作指令。功能是将一个数据从源地址“复制”到目标地址。源数据可以是常数、输入映像区、输出映像区、变量存储区等目标地址通常是变量存储区或输出映像区。应用设定参数。例如将常数1000传送到数据寄存器D100作为某个速度环的预设值。LD M1.0 // 当某个初始化条件满足时 MOV 1000, D100 // 将常数1000传送到D100应用数据转移。将模拟量输入通道AIW0读到的值传送到变量区VD200进行后续处理。LD SM0.0 // SM0.0是常ON的特殊继电器 MOVW AIW0, VW200 // 将AIW0字传送到VW2004.2 比较指令CMP (, , , , , )比较指令用于比较两个数值可以是整数、双字整数、实数的大小或相等关系。比较结果为真时其触点接通。比较指令通常以“触点”形式出现在梯形图中如CMP D10, K50表示比较D10是否等于常数50。在指令表中可能是LDW D10, 50。应用温度控制。假设温度值存储在VD300中。网络 30 温度过低加热 LDW VD300, 2000 // 温度值 2000 (假设对应50℃) Q0.3 // 开启加热器 网络 31 温度过高报警 LDW VD300, 2500 // 温度值 2500 (假设对应62.5℃) S M1.1, 1 // 置位高温报警标志应用区间判断。判断一个产量值D200是否在合格范围内1000到2000之间。LDW D200, 1000 // D200 1000 AW D200, 2000 // 并且 D200 2000 M2.0 // 置位合格标志4.3 数学运算指令ADD, SUB, MUL, DIV基本的四则运算指令。需要注意的是数据类型要匹配字节、字、双字、实数以及运算结果可能溢出。应用计算平均值。连续采集5次压力值存储在D101-D105求平均值存到D110。LD M3.0 // 计算使能 I D101, D110 // D110 D101 I D102, D110 // D110 D101 D102 I D103, D110 // 累加... I D104, D110 I D105, D110 // D110 总和 MOV 5, D120 // 除数5 /D D110, D120 // D110 总和 / 5 (注意整数除法会舍去小数)踩坑提醒整数除法会丢失余数如果需要小数结果必须使用实数浮点数运算。即先将整数转换为实数使用ITD, DTR指令然后用实数除法指令DIV_R进行计算最后结果才是带小数的平均值。这是新手常犯的错误。5. 程序控制与高级功能指令这些指令用于优化程序结构、处理复杂逻辑和特殊功能。5.1 跳转与标签指令JMP, LBLJMP跳转和LBL标签配合使用可以实现程序的无条件或条件跳转。当JMP指令前面的逻辑条件满足时程序将跳转到指定的LBL标签处继续执行中间的指令被跳过。作用用于程序的分支选择、跳过某些无需执行的程序段如设备未上电时的初始化、或者构建循环。滥用跳转会严重破坏程序的可读性和扫描周期逻辑务必谨慎使用。通常用子程序调用是更好的结构化选择。5.2 子程序调用指令CALL, SBR, RET这是实现结构化、模块化编程的关键。将特定的功能如手动模式、自动模式、报警处理、配方调用编写成独立的子程序SBR在主程序中通过CALL指令来调用。子程序执行完毕后通过RET指令返回主程序。优点模块化程序结构清晰易于理解和维护。可重用相同的功能如气缸动作只需编写一次子程序多次调用即可。节省内存主程序扫描时只扫描被调用的子程序未被调用的不扫描。5.3 上升沿/下降沿检测指令EU, ED这是两个极其重要但容易被忽略的指令。它们不直接操作数据而是检测其前面逻辑状态的变化沿。EU (Edge Up)上升沿检测。当其前面的逻辑状态从“0”变为“1”时EU指令输出一个单扫描周期的脉冲“1”之后即使前面逻辑保持为“1”EU输出也变回“0”。ED (Edge Down)下降沿检测。当其前面的逻辑状态从“1”变为“0”时ED指令输出一个单扫描周期的脉冲“1”。为什么重要因为很多操作我们只想执行一次。比如前面计数器的例子如果不加EU传感器信号持续为“1”的期间每个扫描周期计数器都会加1导致计数错误。加上EU后只有信号从无到有的那个瞬间计数一次。另一个典型场景单按钮启停控制。用一个按钮I0.0控制一盏灯Q0.0的亮和灭。按一次亮再按一次灭。LD I0.0 EU // 取按钮的上升沿 M0.0 // M0.0是一个单脉冲 LD M0.0 XOR Q0.0 // 对Q0.0的状态取反异或操作 Q0.0 // 输出结果回Q0.0这里EU指令确保了每次按下按钮只产生一个瞬间脉冲M0.0用这个脉冲去触发Q0.0的状态翻转。如果没有EU按钮按下的整个期间Q0.0会在每个扫描周期都翻转一次导致状态完全不可控。6. 指令应用中的常见陷阱与最佳实践掌握了指令的语法只是第一步在实际项目中灵活、正确地运用它们才是真正的挑战。这里分享一些从坑里爬出来的经验。6.1 双线圈输出逻辑的“精神分裂”这是PLC编程的大忌。指在同一个程序扫描周期内对同一个输出线圈Y/Q或内部线圈M进行了多次OUT、SET或RST操作。由于PLC是顺序扫描执行的写在后面的指令会覆盖前面的指令结果导致程序行为与你的梯形图逻辑看起来完全不符。错误示例网络1 自动模式启动电机 LD I0.0 // 自动启动 Q0.0 网络2 手动模式启动电机 LD I1.0 // 手动启动 Q0.0在这个程序里无论I0.0和I1.0是什么状态Q0.0最终只受网络2的控制因为网络2后执行。网络1的逻辑完全失效。解决方案集中输出将对同一个线圈的所有控制逻辑集中到一个程序段中用“或”的关系合并条件。LD I0.0 // 自动启动条件 O I1.0 // 或 手动启动条件 AN I0.1 // 与 停止条件常闭 Q0.0 // 集中输出使用中间标志位在不同的程序段中将控制逻辑输出到不同的中间继电器M点最后再用这些M点的逻辑组合去驱动最终的输出线圈。网络1 LD I0.0 M10.0 // 自动启动标志 网络2 LD I1.0 M10.1 // 手动启动标志 网络3 LD M10.0 O M10.1 AN I0.1 Q0.0 // 集中输出使用SET/RST在条件分散且需要保持的场合用SET和RST指令。确保置位和复位条件互斥且逻辑清晰。网络1 LD I0.0 SET Q0.0 // 自动启动置位 网络2 LD I1.0 SET Q0.0 // 手动启动也能置位条件可或 网络3 LD I0.1 RST Q0.0 // 停止条件复位6.2 扫描周期与信号抖动看不见的“时间幽灵”PLC程序是循环执行的一个循环称为一个扫描周期包括输入采样、程序执行、输出刷新。这个特性会导致一些时序问题。问题1用同一个物理按钮的常开触点既作为启动条件又作为停止条件并且没有使用边沿检测。由于机械按钮按下时会有数毫秒到数十毫秒的抖动在抖动期间PLC可能已经扫描了多个周期导致一次按下被误判为多次动作。对策务必对来自物理按钮、行程开关等机械触点的信号进行去抖动处理。最简单有效的方法就是使用EU或ED指令只检测稳定后的状态变化沿。更复杂的可以用定时器实现软件滤波。问题2“竞态条件”。在两个不同的程序段一段用条件A的上升沿SET一个标志M另一段用条件B的上升沿RST同一个标志M。如果A和B在同一个扫描周期内同时为真那么最终M的状态取决于SET和RST指令在程序中的先后顺序。后执行的指令会覆盖先执行的。对策仔细规划程序逻辑尽量避免对同一地址的置位/复位条件在理论上可能同时发生。如果无法避免需要明确设计优先级或者引入中间状态进行互锁。6.3 数据类型的匹配与转换小心“数值失真”这是数据处理中最常见的错误。比如将一个16位整数范围-32768~32767直接传送到一个32位实数地址或者用整数除法指令去做平均值计算。黄金法则在进行任何数学运算或比较前确保参与运算的两个操作数数据类型完全一致。操作流程读取源数据明确源数据是什么类型是来自模拟量输入的16位整数INT还是来自编码器的32位双整数DINT或者是触摸屏输入的实数REAL选择指令根据目标操作选择正确的指令。加法有整数加法ADD_I、双整数加法ADD_DI、实数加法ADD_R。必要转换如果类型不一致先用转换指令。例如将整数转换为双整数I_DI再将双整数转换为实数DI_R然后进行实数运算。存储结果将结果存放到足够大、类型匹配的存储区。实数运算的结果一定要存到实数地址如VDxxx中。例如计算 (D100 D102) / 2 的平均值并保留小数LD SM0.0 // 常通持续计算 ITD D100, VD200 // 将整数D100转换为双整数存到VD200实际占用VD200-VD203 DTR VD200, VD204 // 将双整数转换为实数存到VD204 ITD D102, VD208 // 转换D102 DTR VD208, VD212 // 转换为实数 R VD204, VD212 // 实数相加结果在VD212 MOVR 2.0, VD216 // 将常数2.0以实数形式存入VD216 /R VD212, VD216 // 实数除法平均值在VD216 MOVR VD216, VD220 // 将最终平均值存到VD220虽然看起来步骤多了但这保证了计算的精确性。在工业控制中一个参数的小数点后误差可能导致整批产品不合格。6.4 保持性与初始化设备重启后的“记忆”有些数据比如生产累计数量、设备运行时间、当前配方号需要在PLC断电重启后还能保持。而有些数据比如临时运算中间值、单次循环的状态标志则需要每次上电都清零。如何设置PLC硬件组态/系统块设置在编程软件中通常有专门的“保持性寄存器”设置区域。你可以指定哪些数据区如MB0-MB13, VB0-VB199在断电后由PLC的超级电容或电池保持。务必根据实际需要设置不要盲目扩大保持区范围因为这会增加电池负荷和潜在的数据错误风险。软件初始化在程序的开头通常放在主程序的第一段使用一个仅在上电第一个扫描周期为ON的特殊继电器如西门子的SM0.1三菱的M8002来对需要清零的变量进行复位操作。LD SM0.1 // 首次扫描为ON MOV 0, VD100 // 清零累计产量 MOV 0, VD104 // 清零临时变量 R M10.0, 16 // 复位M10.0开始的16个位保持性数据的恢复判断对于保持性数据上电后可能需要判断其有效性。例如可以设置一个“上电确认”标志在设备正常停机时将其置位并保持。上电后如果发现这个标志是置位的说明上次是正常关机保持的数据有效如果发现是复位的说明可能是异常断电保持的数据可能不可靠需要进行默认值加载或报警提示。指令是PLC编程的基石但比记住所有指令更重要的是理解其背后的逻辑思想和应用场景。最好的学习方法不是死记硬背而是找一个小型的实物PLC或者一个靠谱的仿真软件比如西门子的S7-PLCSIM三菱的GX Simulator把每一个指令都搭一个小程序观察其运行状态改变输入条件看输出如何变化。当你真正理解了LD/OUT是如何构建电流通路的SET/RST是如何锁存状态的TON是如何累积时间的你就能用这些简单的“词汇”写出控制复杂机器的“篇章”。编程到最后拼的不是记住了多少晦涩的指令而是逻辑的严谨和对工艺的深刻理解。

相关新闻

LVDS接口技术解析:从差分信号原理到硬件设计实战

LVDS接口技术解析:从差分信号原理到硬件设计实战

1. 从“点对点”到“差分对”:为什么LVDS成了液晶屏接口的主流? 如果你拆过一台老式的CRT显示器或者早期的笔记本电脑,可能会对里面那捆又粗又硬的排线印象深刻。那通常是TTL(晶体管-晶体管逻辑)接口,几十根…

2026/8/1 4:56:38 阅读更多 →
SingleFlight 深度解析:从原理到源码,一文读懂请求合并利器

SingleFlight 深度解析:从原理到源码,一文读懂请求合并利器

一、引言:那个让数据库瑟瑟发抖的瞬间想象这样一个场景:凌晨三点,一个热点缓存 key 恰好过期。下一秒,成千上万的请求如潮水般涌向你的服务——每一个请求都发现缓存为空,于是不约而同地冲向数据库。数据库连接池瞬间被…

2026/8/1 4:56:38 阅读更多 →
二进制安装Kubernetes(k8s)v1.36.0

二进制安装Kubernetes(k8s)v1.36.0

二进制安装Kubernetes(k8s)v1.36.0 为什么选择二进制安装?在生产环境中,Kubernetes集群的安装方式直接决定了后续运维的复杂度。虽然kubeadm提供了便捷的一键部署,但二进制安装有几个不可替代的优势:- 完全…

2026/8/1 4:56:38 阅读更多 →

最新新闻

家用灭蚊灯真的管用吗?电灭蚊灯哪个牌子好一点?10款高质量灭蚊器榜单对比实测!

家用灭蚊灯真的管用吗?电灭蚊灯哪个牌子好一点?10款高质量灭蚊器榜单对比实测!

​夏日夜晚,蚊子不止是扰民的“噪音源”,更是多种传染病的移动载体。近年来,登革热、基孔肯雅热等蚊媒疫情在东南亚和我国南方地区时有暴发——仅2026年夏季,广东、云南等地就因蚊密度升高报告了多例本地感染病例,多地…

2026/8/1 5:38:54 阅读更多 →
hermes最新版安装指南

hermes最新版安装指南

Hermes Agent Web UI 在 Windows 10/11(WSL2)下的完整安装指南 本指南适用于希望在一台 Windows 电脑上通过 WSL2 部署 Hermes Agent(命令行界面)和 hermes-web-ui(Web 管理界面)的用户。所有步骤均经过验…

2026/8/1 5:38:54 阅读更多 →
Qwen3.8正式版即将开源!2.4T参数的通义千问新秀,预览版已上线,限时1折抢先体验

Qwen3.8正式版即将开源!2.4T参数的通义千问新秀,预览版已上线,限时1折抢先体验

原创:凯哥Java本文标签:Qwen3.8、通义千问新模型、2.4T大模型、阿里云AI、大模型开源大家好,我是凯哥Java。做AI开发这么多年,凯哥深知一个道理:大模型这东西,跟手机一样,更新换代快得离谱。这不…

2026/8/1 5:38:54 阅读更多 →
孔雀石SDR开箱评测:百元级性价比之王的硬件优化与实战玩法

孔雀石SDR开箱评测:百元级性价比之王的硬件优化与实战玩法

1. 从好奇到上手:我的孔雀石SDR开箱初体验最近几年,软件定义无线电(SDR)这个圈子越来越热闹,从最初动辄上千的专业设备,到现在几百块就能入门的“玩具级”硬件,门槛降低了不少。作为一个对无线电…

2026/8/1 5:38:54 阅读更多 →
SpringBoot2+Vue3+MyBatis-Plus构建现代化租赁系统

SpringBoot2+Vue3+MyBatis-Plus构建现代化租赁系统

1. 项目概述:一个现代化租赁系统的技术实现这套基于SpringBoot2Vue3MyBatis-PlusMySQL8.0的网上租赁系统,是我最近完成的一个企业级项目。不同于简单的CRUD示例,它完整实现了租赁业务的全流程管理,包括商品展示、租约管理、支付结…

2026/8/1 5:38:54 阅读更多 →
嵌入式学习第十一天:深入理解C语言指针

嵌入式学习第十一天:深入理解C语言指针

📚 学习目标 今天是嵌入式学习的第十一天,我们深入探讨了C语言中最重要的概念之一——指针。指针是C语言的精髓,也是嵌入式开发中直接操作硬件、管理内存的核心工具。 🎯 核心知识点总结 1. 指针的基本概念 1.1 地址与指针 地址&a…

2026/8/1 5:37:54 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/8/1 5:19:34 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →