PLC编程入门到进阶:扫描机制、梯形图与工程实践指南 PLC编程是电气自动化入门的核心技能。不管是在产线上维护设备还是从零设计一台小型专机PLC程序都是控制逻辑的载体。很多人刚开始学PLC编程时容易把注意力放在背指令上梯形图有哪些符号、定时器怎么填参数、计数器怎么复位。这些当然要学但真正的难点在于理解PLC的工作方式以及如何把继电器电路、设备动作流程转化成程序逻辑。这里不以某个具体品牌为主线而是围绕PLC编程的完整学习路径展开先讲清楚PLC的扫描机制和地址体系再用梯形图完成起保停电路、电机正反转、定时搅拌等典型控制案例接着讨论定时器、计数器、FB块等工程技能最后补充程序验证、通讯接线和故障排查方法。如果你正在学习西门子S7-1200、三菱FX系列或者国产信捷、汇川PLC这套思路都可以复用。1. 先搞清楚PLC编程到底在解决什么问题1.1 从继电器控制回路的局限说起在PLC普及之前自动化设备主要靠继电器、接触器、定时器组成的硬接线回路实现控制。每个按钮、限位开关接一根线每个动作由一组继电器逻辑决定。设备要改逻辑就要改接线重画图纸重新配柜。这种方式有几个明显的短板逻辑无法快速调整工艺一变电气柜内部就要重新改线。器件多、接线多、故障点多一个触点接触不良就可能导致整台设备停机。排查问题严重依赖图纸和个人经验新人很难快速上手。单台设备的控制方案难以复制到另一台设备设计成本高。PLC把逻辑从硬件接线中抽离出来放到程序里。输入接点接收按钮、传感器、开关信号输出接点驱动接触器、电磁阀、指示灯中间的逻辑判断由CPU执行用户程序完成。所以PLC编程本质上是“用软件定义自动化逻辑”。对比项继电器控制回路PLC控制逻辑载体硬件接线用户程序修改逻辑改接线、改柜子改程序并重新下载故障点器件多、接线多主要集中在输入输出端扩展方式增加继电器和接线增加程序段和I/O模块诊断手段万用表逐段测量在线监控、变量表、诊断缓冲区从这个角度看PLC编程不是“写代码”这么简单它背后是一套替代硬接线回路的完整思考方式。读懂电气原理图、理解设备动作流程、把流程写成程序这三件事缺一不可。1.2 扫描机制是PLC编程的基础PLC运行程序不是“执行一遍就结束”而是循环执行。以西门子S7-1200为例CPU在每个扫描周期内按固定顺序工作操作系统刷新输入映像区把物理输入点的状态读到内存中。CPU按程序段顺序执行用户程序。程序执行结束后把输出映像区写到物理输出点。处理通讯请求、诊断和自检。进入下一轮扫描。这一套机制带来一个很重要的结论在同一个扫描周期内程序读取的输入值是扫描开始时统一采样的快照而不是读取瞬间的物理值。PLC程序因此具有很好的确定性和抗干扰能力适合工业控制场合。扫描周期的长短会影响系统响应速度。程序段越多、通讯任务越重扫描周期越长。学习时可以用博途或GX Works等软件的在线诊断信息查看当前循环时间。做运动控制或高速计数这类对实时性要求高的项目时要单独评估响应时间是否满足要求必要时使用中断程序。要特别注意如果在一个扫描周期内对同一个输出线圈写多次最终生效的是最后一次写的结果这就是常说的“双线圈问题”。程序逻辑看起来是对的但实际输出和预期不一致时优先排查这类情况。1.3 主流品牌、软件和编程语言怎么选国内自动化项目中西门子、三菱、信捷、汇川是比较常见的几个品牌。它们各有特点和生态初学时不必追求全部掌握选一款主流PLC入门跑通几个项目后再横向迁移。品牌典型系列常用软件风格特点西门子S7-200 SMART、S7-1200/1500STEP 7 (TIA Portal)地址体系清晰支持IEC语言库和FB块完善三菱FX3U、FX5UGX Works2/3日系风格软元件命名习惯指令简洁信捷XD/XC系列XDPPro国产性价比高兼容三菱风格也支持功能块汇川H3U/H5UInoProShop国产运动控制能力强易用性好西门子博途支持IEC 61131-3的多种语言包括梯形图LAD、功能块图FBD、结构化文本SCL、顺序功能图SFC等。三菱和多数国产PLC以梯形图和结构化文本为主。初学阶段建议先把梯形图吃透因为它最接近继电器电路容易把控制思路和电路联系到一起。不要一上来就追求SCL写复杂算法先用梯形图把基础指令、输入输出对应、运行逻辑搞明白。2. 学习PLC编程前先把软元件和地址体系对齐2.1 位、字节、字、双字与数据类型PLC里的数据以位bit为最小单位8个位组成一个字节byte两个字节组成一个字word四个字节组成一个双字dword。输入输出是最常见的位信号而模拟量、定时器当前值、计数器当前值、数据计算常常用到字和双字。数据类型不同可访问的范围就不同。以无符号数和整数为例几个关键类型如下类型位宽取值范围BOOL位1 bitTRUE/FALSEBYTE字节8 bit0~255WORD字16 bit0~65535DWORD双字32 bit0~4294967295INT整数16 bit-32768~32767DINT双整数32 bit-2147483648~2147483647REAL浮点32 bit大约±3.4e38为什么反复强调数据类型因为实际项目里最常见的错误之一就是类型不匹配。把一个16位的定时器当前值赋值给32位浮点变量或者把模拟量读到的原始值直接当工程值比较编译可能不报错但运行结果完全对不上。处理这类问题时先确认数据类型再看具体数值。2.2 西门子S7-1200的地址I、Q、M、DB以及“%MB2000”这类写法西门子S7-1200/1500的地址和S7-200/300不太一样。博途里常见的地址前缀有I输入信号地址例如I0.0、IW64、ID100。Q输出信号地址例如Q0.1、QW10、QD14。M位存储区例如M0.0、MB20、MW200、MD240。DB数据块例如DB1.DBX0.0、DB1.DBD4。很多初学者看到“%MB2000”会问这是什么类型。这里的百分号%是IEC地址表示法的前缀MB表示M存储区中按字节Byte寻址2000表示字节偏移地址。所以%MB2000表示M区中从第2000字节开始的8位数据。如果写作%MW2000则是M区从第2000字节开始的16位数据%MD2000是从第2000字节开始的32位数据。注意S7-1200的M区大小受CPU型号限制不是无限大的。在博途的PLC属性里可以查看当前CPU支持的M区大小。项目里不要随意把地址写到上千字节要先确认CPU规格并观察软件编译时是否报地址越界。不要只记“MB2000等于某个固定地址”而是要理解前缀表示区域和访问宽度后面的数字表示以对应宽度为单位的偏移。不同品牌对地址的表示差异很大换PLC时最容易在这一步踩坑。2.3 不同品牌软元件命名差异三菱FX系列用X代表输入、Y代表输出、M代表内部继电器、D代表数据寄存器。信捷PLC继承了类似的风格X、Y、M、D这些软元件在三菱系程序里很常见。汇川H3U/H5U既支持类似三菱的写法也支持接近IEC的表示方式。含义西门子S7-1200三菱FX系列/信捷XD汇川H3U数字输入I0.0 / %I0.0X0X0数字输出Q0.0 / %Q0.0Y0Y0中间继电器/标志位M0.0M0M0数据寄存器MD0 / DBD0D0这里要特别提醒三菱系输入输出编号是八进制的X0到X7之后是X10而不是X8。很多从西门子转三菱的人会在这个细节上出问题。3. 用梯形图跑通第一个PLC程序起保停与电机控制3.1 梯形图的基本元素梯形图可以理解为“按电路图思维写出来的程序”。每个网络由左右母线、触点和线圈构成。常开触点当对应信号为TRUE时触点闭合导通。常闭触点当对应信号为FALSE时触点闭合导通。线圈把前面的逻辑运算结果输出到某个位地址。要让电机在按下启动按钮后启动松开后仍然保持运行需要用到“自保持”结构。这是一个典型网络文本表示如下| I0.0 启动 I0.1 停止未按下 | |--[ 启动按钮 ]---[ 停止按钮未按下 ]--------( Q0.0 电机 )--| | | | | Q0.0 自锁 | |--[ 电机运行自锁 ]-------------------------|这里的逻辑是启动按钮I0.0为TRUE停止未按下信号I0.1为TRUE线圈Q0.0得电同时Q0.0的常开触点闭合即使启动按钮松开回路也通过自锁触点保持导通。按停止按钮后I0.1变为FALSE常开触点断开线圈失电电机停止。要注意一个容易混淆的点图中I0.1画的是常开触点但它读的是“停止按钮未按下”这个状态。如果停止按钮在物理接线上使用常闭触点接入PLC输入那么未按下时PLC输入点为TRUE按下后为FALSE。程序里用常开触点读取该输入就能实现“未按下保持导通、按下后断开”的效果。在软件里画这个结构时使用并联分支即可。写完编译后下载到PLC再进行在线监控能看到输入输出状态实时变化。3.2 程序里如何使用急停和停止按钮实际电柜中的急停按钮、停止按钮规范接法是使用物理常闭触点接入PLC输入。这样做的原因很直接如果输入线断线PLC读到的是FALSE程序会让设备停止而不是继续运行符合安全方向。物理接法与程序符号的对应关系如下按钮类型与接法未动作时PLC输入动作时PLC输入程序里的推荐处理启动按钮常开接入FALSETRUE使用常开触点按下瞬间导通停止按钮常闭接入TRUEFALSE使用常开触点表示“未按下保持回路导通”急停按钮常闭接入TRUEFALSE使用常开触点串联在关键回路中也就是说物理使用常闭触点并不代表程序里一定要画常闭触点。关键是先确认输入状态和物理按钮状态的对应关系再决定程序中用什么触点。3.3 电机正反转控制的联锁设计可逆电机控制是自动化设备里最常见的控制场景之一。要避免正转接触器和反转接触器同时吸合必须做双重互锁程序互锁和硬件互锁。正转回路的梯形图思路如下| I0.0 正转启动 Q0.1 反转接触器 | |---[ 正转启动 ]-----[ 反转未吸合 ]-------( Q0.0 正转电枢 )--| | | | | Q0.0 自锁 | |---[ 正转自锁 ]--------------------------|反转回路的思路对称串联Q0.0的常闭触点。这样在程序中如果Q0.1为TRUEQ0.0不可能得电反过来也一样。硬件层还要在正反转接触器之间加入机械互锁触点或辅助触点互锁防止程序失控时两个接触器同时吸合。不要只做软件互锁。接触器吸合和释放都有机械延迟如果正转接触器还没完全释放反转接触器又得电可能造成相间短路。项目里必须加硬件互锁并在需要正反转切换时加入延时或等待接触器辅助触点反馈。3.4 搅拌机控制案例定时、正反转与自动循环把前面的基础逻辑组合起来设计一个典型的搅拌机控制案例。假设一台搅拌机的工作流程按启动后正转搅拌10秒。停止2秒。反转搅拌10秒。停止2秒。循环执行直到按停止按钮。这个案例会用到定时器TON和步骤状态。用结构化文本SCL描述逻辑更清晰// 状态机示例目的是展示动作顺序拆分方式 // 具体指令语法以所用编程软件和PLC型号为准 IF start AND NOT stop THEN running : TRUE; END_IF; IF stop THEN running : FALSE; motorFwd : FALSE; motorRev : FALSE; step : 0; END_IF; IF running THEN CASE step OF 0: // 正转搅拌10秒 motorFwd : TRUE; motorRev : FALSE; tonFwd(IN : TRUE, PT : T#10S); IF tonFwd.Q THEN motorFwd : FALSE; step : 1; tonFwd(IN : FALSE); END_IF; 1: // 停止2秒 motorFwd : FALSE; motorRev : FALSE; tonStop(IN : TRUE, PT : T#2S); IF tonStop.Q THEN step : 2; tonStop(IN : FALSE); END_IF; 2: // 反转搅拌10秒 motorFwd : FALSE; motorRev : TRUE; tonRev(IN : TRUE, PT : T#10S); IF tonRev.Q THEN motorRev : FALSE; step : 3; tonRev(IN : FALSE); END_IF; 3: // 停止2秒后回到正转 motorFwd : FALSE; motorRev : FALSE; tonStop2(IN : TRUE, PT : T#2S); IF tonStop2.Q THEN step : 0; tonStop2(IN : FALSE); END_IF; END_CASE; ELSE motorFwd : FALSE; motorRev : FALSE; END_IF;这段代码的关键不是语法细节而是状态机思路用step变量表示当前处于第几个动作每个分支只负责一个动作输出之间不会互相冲突。实际项目中还要加入急停、手动自动切换、故障报警等逻辑。4. 从指令到工程定时器、计数器、比较指令与FB块4.1 定时器和计数器怎么选PLC定时器常见类型有TON接通延时输入为TRUE后开始计时时间到Q为TRUE输入变FALSEQ立即变FALSE。TOF断开延时输入为TRUE时Q为TRUE输入变FALSE后再计时时间到时Q变FALSE。TONR保持型接通延时累计计时需要复位指令清零常用于维护计时等场合。计数器常见类型有CTU加计数器。CTD减计数器。CTUD加减计数器。选择原则是定时器用于“等待某个状态持续一段确定时间后再动作”计数器用于“统计脉冲次数或事件次数”。项目里经常组合使用。例如传送带收集包装箱光电传感器每检测到一个箱子就产生一个上升沿信号使用计数器累加达到设定数量后让挡停气缸动作。4.2 比较、传送、数学运算指令比较指令EQ、NE、GT、GE、LT、LE用于判断数值关系。传送指令MOVE用于把源数据复制到目标地址。数学运算指令ADD、SUB、MUL、DIV用于计算。项目里常见的应用是模拟量传感器采集温度到PLC先转换为工程值再与设定温度比较决定加热器是否开启。指令/功能典型用途常见错误MOVE复制数据、传递设定值源和目标类型不一致比较指令判断温度、压力、计数值是否越限浮点和整数混用数学运算模拟量换算、累计计算除法除零、精度损失定时器TON延时启动、延时停止忘记复位或把TONR当TON用例如4~20mA信号经模拟量模块转换后西门子系列常见原始值是0~27648三菱等日系可能是0~4000或其他范围需要线性映射成实际工程量。初学者经常忘记做量程缩放直接用原始值比较导致控制异常。做这类换算时先把数据类型和量程范围列清楚再写计算程序。4.3 FB块是什么为什么项目里要用FBFunction Block功能块是带背景数据块、有记忆功能的程序组织单元。同样是一台电机的启停控制如果不用FB每台电机的逻辑都要复制一遍用FB把启动、停止、运行反馈、故障信号作为输入把接触器输出作为输出定义一次逻辑项目中多次调用。热搜里有“信捷PLC怎么设置FB块”。在信捷的XDPPro软件里不同系列添加功能块的方式略有差异但整体流程通常是在工程树中新建函数功能块选择FB类型编辑内部逻辑然后在主程序中实例化调用并为每个实例分配背景数据区。西门子博途里则是新建一个FB编写接口变量然后在程序中把多个实例拖入调用。FB与FC的区别是FC没有背景数据块不保存静态数据FB有背景数据块能保存实例内部状态。项目里有多个同结构设备时优先用FB而不是复制粘贴。例如产线上有10台相同的加热炉正确做法是创建一个加热控制FB主程序里调用10次。接口类型变量名数据类型说明InputStartBOOL启动按钮InputStopBOOL停止按钮InputFaultBOOL设备故障信号OutputRunBOOL输出到接触器StaticStateINT内部状态5. 程序写完之后如何仿真、下载、验证和排查5.1 先仿真后下载养成“小步验证”习惯学习阶段没有实物PLC也可以先熟悉指令。西门子博途提供PLCSIM仿真器三菱GX Works也有仿真功能。仿真时可以在变量表里强制输入点观察输出点变化。但仿真替代不了实物接线和真实负载验证。输入点接线、外部传感器供电、接触器线圈电压、输出点容量这些必须在上电前逐项检查。一个规范的下载步骤是编译程序处理所有错误和警告。检查PLC与上位机的通讯连接设置好接口和IP地址。把程序下载到CPU。将CPU切换到RUN模式。打开在线监控或变量监控表逐个测试输入输出。不要只验证程序能启动还要验证输入、输出、异常分支和日志是否符合预期。尤其是急停、限位、传感器断线这类非正常条件往往比正常流程更容易暴露问题。5.2 从现象倒推原因的排查链路常见的PLC控制异常现象和排查方向如下现象可能原因检查顺序PLC运行灯不亮或CPU STOP程序错误、硬件故障、电源异常检查CPU状态、诊断缓冲区、电源输入指示灯不亮但外部有信号接线端子松动、传感器供电缺失、模块通道损坏用万用表量输入端电压确认公共端程序逻辑正确但输出不动作输出点故障、外部负载接线错误、输出电源缺失量输出点电压、检查输出指示灯、确认线圈没有被重复赋值程序能运行但不按预期执行地址写错、双线圈、外部线路影响在线监控变量值逐段跟踪排查顺序建议先看PLC本身状态CPU有没有报错、是否STOP。看输入外部信号有没有到达模块程序里地址对不对。看程序是否有双线圈有没有被置位/复位指令影响。看输出输出点有没有电负载有没有电公共端有没有接。看通讯上位机或从站和PLC之间的通讯是否建立地址映射是否一致。5.3 项目中至少踩过四次的坑坑1双线圈。同一个Q地址在多个网络里被赋值最终结果由最后一个网络决定排查时很难发现。解决办法是把该输出逻辑合并到一个网络或使用中间变量M。多个条件都去置位或复位同一个M最后统一输出到Q。坑2安全按钮逻辑接反。急停或停止按钮物理上使用常闭触点接入时程序里如果用常闭触点会导致未按下时回路断开、按下时回路导通逻辑完全反了。正确做法是针对“未按下”状态使用常开触点串联。坑3数据类型不匹配。定时器当前值、计数器值和模拟量读数被赋值给不匹配的变量编译不报错但运行结果异常。处理时先看数据类型再看变量值必要时使用转换指令。坑4晶体管输出驱动感性负载没有保护。S7-1200等PLC的晶体管输出电路使用MOS管作为开关器件直接驱动继电器线圈或电磁阀时感性负载关断会产生反电动势可能损坏输出点。直流负载应并联续流二极管交流负载应并联阻容吸收。6. PLC与外部设备通讯从Modbus到Profinet6.1 通讯方式怎么选PLC与PLC、PLC与触摸屏、PLC与相机或上位机之间经常需要通讯。按总线类型分串口通讯RS232、RS485常用Modbus RTU协议距离短、速率低适合小数据量。工业以太网Profinet、EtherNet/IP、Modbus TCP速率高、接线方便是现代项目的主流。现场总线CC-Link、DeviceNet等视设备生态选择。选择原则是新项目优先考虑以太网类通讯因为扩展性好、排查方便调试时还可以抓包分析。老设备或距离近、协议简单的场合可以继续用RS485。康耐视InSight相机与西门子PLC做Profinet通讯时常见流程是在相机侧配置Profinet设备名和IP地址在博途中导入相机的GSDML文件把相机作为IO设备分配给PLC然后通过I/O映射区读写控制字和状态字。这样的项目里大部分时间不是花在指令上而是花在设备名、IP和映射地址对齐上。6.2 信捷PLC作为Modbus TCP服务器与相机通讯热搜里有“配置信捷PLC作为Modbus TCP服务器与海康相机进行通讯”。这个场景实际是视觉检测结果下发到PLC。以PLC作为Modbus TCP服务器为例一般工作流程是PLC侧使能Modbus TCP功能设置端口号常用502、从站地址和允许访问的寄存器区。PLC把相机判定结果写到指定的保持寄存器中例如把OK/NG结果写到D0。相机或上位机作为TCP客户端连接PLC的IP和端口读写对应寄存器。双方确认寄存器地址、字节序和数据格式。PLC侧地址规划示例寄存器地址数据含义数据类型读写方向D0检测结果0OK1NGINTPLC到上位机D1产品批次号INTPLC到上位机D100相机触发命令INT上位机到PLC实际配置时要确认PLC作为Modbus TCP服务器时使用哪个寄存器映射表。不同品牌的映射规则不一样有的直接对应D区有的需要设置Modbus地址偏移。如果没有按协议映射上位机读到的数据会错位。具体到信捷PLC不同系列对Modbus TCP的支持方式也不同配置前一定要查对应型号的手册。6.3 西门子PLC与Intouch上位机地址对应Intouch是常见上位机组态软件和西门子PLC通讯时通常通过OPC Server或专用IO Server访问PLC变量。同一个PLC地址在不同驱动中的写法可能完全不同。例如“VD200”这类地址在Intouch的标签里可能需要写成“V200”或者“S7:[VD200]”这样的格式具体要看使用的驱动类型和版本。这里的关键是地址语法由驱动决定不是由Intouch决定。调试时如果标签访问不了先打开驱动自带的诊断工具或OPC客户端确认驱动和PLC之间的通讯是否正常标签类型是否选对地址字符串是否符合语法。不要直接在Intouch里猜。LabVIEW做上位机实时监控时本质也是通过OPC或Modbus访问PLC寄存器。只要通信链路通、寄存器地址对齐上位机用什么工具开发对PLC侧来说差异不大。6.4 通讯排查顺序通讯故障是自动化项目中最耗时的部分。推荐按以下顺序排查物理层网线、交换机、IP地址、子网掩码是否一致串口的引脚、终端电阻是否接好。数据链路用电脑测试是否可以Ping通PLC用Modbus客户端工具是否能读取寄存器。协议层功能码、寄存器地址、数据类型、字节序是否一致。应用层PLC程序里是否周期性地把数据写入通讯映射区上位机读的是不是同一地址。检查项常见错误检查方法IP地址PLC与上位机不在同一网段ping、查看IP属性端口号使用非502端口但未同步确认客户端端口配置寄存器地址偏移量不一致用Modbus工具读写测试字节序高低字节顺序不匹配对比实际值和预期值扫描周期数据刷新不及时查看通讯诊断和程序块7. AI辅助PLC编程、双模趋势与电气新手的实践建议7.1 AI辅助PLC编程怎么用才靠谱现在已经有AI工具能根据自然语言描述生成SCL或ST代码框架“AI PLC代码生成”也已经出现在很多人的工作流里。对电气工程师来说AI可以这样用把设备动作流程描述成自然语言让AI生成SCL/ST代码框架。让AI解释看不懂的指令块或报错日志。让AI帮助生成注释、变量表和功能块接口。但AI生成的代码不能直接下载到PLC。原因是PLC代码必须和实际硬件地址、输入输出映射、安全回路、设备工艺完全匹配而AI不知道你的硬件组态、PLC型号、急停回路怎么接。合理用法是AI生成参考工程师负责审查和适配。把AI当作快速起草工具而不是替代工程判断。在电气行业传统的手写梯形图、逐段验证、逐条注释仍然是最可靠的工程基础。7.2 PLC双模技术未来发展方向“PLC双模技术”在不同厂商语境下含义并不统一有的指逻辑控制与运动控制一体化有的指PLC与边缘计算结合。从工程趋势看可以关注几个方向PLC与运动控制融合中高端PLC已经支持多轴插补、电子凸轮等运动控制功能传统“PLC加独立伺服控制器”的方案在小型设备上逐渐合并。PLC与IT系统融合OPC UA、MQTT等协议让PLC数据更容易上传到MES或SCADAPLC从单机控制节点变成数据节点。PLC与AI边缘计算融合视觉检测、振动分析等AI任务在边缘设备或工业PC完成PLC负责执行和控制二者通过标准通讯协同。这些方向适合作为进阶学习线索但初学者还是先把顺序控制、运动控制基础、通讯协议这三块掌握扎实。7.3 给电气新手的实践建议与可复用清单学习PLC编程最快的方式是先逐个功能跑通再组合成一个完整小项目。可以按下面的顺序练习会用一款主流PLC软件跑通起保停程序。做电机正反转、灯闪烁、定时器计数器组合练习。学习模拟量处理做温度或压力超限报警。学习通讯让PLC和触摸屏或上位机交换数据。独立完成一个包含手动、自动、急停、报警的小项目。安装或上电前把下面这份清单过一遍能省去大量查错时间核对图纸和PLC地址表输入输出点是否和传感器、接触器一一对应。检查供电PLC电源电压、输入公共端、输出负载电源是否都正确。检查安全回路急停、门锁等安全信号是否串联在关键回路中。编译并处理所有警告在线下载前确认没有未规划的地址。逐个点动测试先强制一个输出确认接触器和执行机构动作正常再测试下一个。测试非正常条件断线、急停、超时、数据异常时程序是否进入安全状态。备份程序清楚标注版本保存符号表和注释。学完基础指令后回头再看那些“编程100例”类的资料你会发现核心不是背程序而是理解每个例子背后的接线方式、地址规划和控制思路。把梯形图、SCL、FB块、通讯这几条线串起来才算是真正入了PLC编程的门。

相关新闻

最新新闻

Penpot 完整指南:开源设计协作平台

Penpot 完整指南:开源设计协作平台

Penpot 完整指南:开源设计协作平台 【免费下载链接】penpot Penpot: The open-source design platform for Product teams that need scalable collaboration. 项目地址: https://gitcode.com/GitHub_Trending/pe/penpot 设计师发来一张 PNG,附一…

2026/9/7 4:47:58
Python期末复习模拟卷:核心考点与易错题解析

Python期末复习模拟卷:核心考点与易错题解析

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

2026/9/7 4:47:58
FunASR语音识别实战拆解:从流水线到落地部署

FunASR语音识别实战拆解:从流水线到落地部署

FunASR语音识别实战拆解:从流水线到落地部署 【免费下载链接】FunASR Open-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compatible/MCP serving. 项目地址: https…

2026/9/7 4:47:58
技术写作拒绝虚构:如何构建真实可复现的CSDN教程

技术写作拒绝虚构:如何构建真实可复现的CSDN教程

很抱歉,当前提供的标题“真神复活,需要的直接领取。”没有包含可用的技术主题、项目背景或实操材料,我无法基于它生成一篇真实、可复现的 CSDN 技术教程。这类标题通常用于资源分享或营销场景,无法确定“真神”指代的具体软件、框…

2026/9/7 4:47:58
三级流域划分与GIS应用:从编码规则到空间分析实操全解析

三级流域划分与GIS应用:从编码规则到空间分析实操全解析

简介:中国三级流域数据集是一套面向GIS分析人员、水利科研人员和环境规划者的地理空间资源,用于全国流域三级分类、编码查询、水系边界可视化及水文环境研究。资源依据自然地理和水文条件划分流域,逐级细化至支流次级水系,可服务于…

2026/9/7 4:47:58
YOLO26模型导出实战:从ONNX到TensorRT的避坑全攻略

YOLO26模型导出实战:从ONNX到TensorRT的避坑全攻略

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

2026/9/7 4:42:58