ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

电气工程师必修:PLC编程从入门到实战

电气工程师必修:PLC编程从入门到实战 很多电气工程师在职业成长过程中都会遇到一个明显的分水岭有人一直停留在“接线、看图、换元件”的层面有人则逐步进入“写程序、调逻辑、联通讯”的核心圈层。拉开这个差距的关键技能基本就是 PLC 编程。无论是刚入行的电工新手还是已经在设备维护、电气设计岗位工作几年的工程师掌握 PLC 编程都能直接拓宽职业路径。本文围绕“电气必学PLC 编程”这个主题从基础概念、品牌选型、梯形图思维、实战案例到通讯组网和排错经验整理一套完整的学习与落地路径。1. PLC 编程为什么是电气工程师的必修课1.1 从继电器控制柜到 PLC 控制早期工业设备控制主要依靠继电器、接触器、时间继电器等元件组成的硬接线逻辑电路。这种控制方式有两个明显问题一是逻辑一旦确定修改就要重新接线耗时费力二是元器件数量多故障点也多排查起来非常痛苦。继电器控制柜里密密麻麻的线缆对于维修人员来说是一个巨大负担。PLCProgrammable Logic Controller可编程逻辑控制器的出现本质上就是把原来由硬接线完成的逻辑判断改成了由用户程序完成的软逻辑。原本需要十几个继电器、几个时间继电器才能实现的顺序控制用 PLC 加一小段梯形图程序就能完成。修改逻辑时只需要在编程软件里改程序不再需要动柜内接线。从控制方式来看这是一个从“硬件决定逻辑”到“软件决定逻辑”的转变。对于电气工程师来说PLC 编程不是一门可选技能而是现代工业控制的底层能力。现在工厂里的产线设备、单机设备、机器人工作站、物流输送线几乎都以 PLC 作为控制核心。1.2 PLC 是什么和普通计算机编程有什么区别PLC 本质上是一台工业专用的微型计算机但它和普通电脑、手机编程有非常大的区别。普通计算机编程关注的是数据处理、界面交互、网络服务运行在通用的操作系统之上而 PLC 编程关注的是输入输出信号采集、逻辑运算、运动控制、过程控制运行在专用的实时任务环境里。从编程语言角度看PLC 编程最常用的不是 C 语言或 Python而是梯形图Ladder DiagramLD、指令表Instruction ListIL、结构化文本Structured TextST、功能块图Function Block DiagramFBD和顺序功能图Sequential Function ChartSFC。这些语言在 IEC 61131-3 标准中有统一定义。其中梯形图由于长得像继电器电路图是电气工程师最容易上手的语言。另一个重要区别是运行方式。普通程序通常是事件驱动的点击按钮触发一段逻辑PLC 程序则是循环扫描的CPU 会一遍又一遍地执行用户程序每个扫描周期包括“读取输入 → 执行程序 → 更新输出”。理解扫描周期是写出稳定 PLC 程序的前提。1.3 电气工程师学习 PLC 的典型路径结合大量从业者的经验电气工程师学习 PLC 编程大致可以分为四个阶段。第一阶段是看懂梯形图能对照继电器电路理解 PLC 程序的含义第二阶段是熟悉编程软件会建工程、写简单逻辑、下载程序、在线监控第三阶段是掌握定时器、计数器、比较指令、数据处理指令能完成中等复杂度的顺序控制第四阶段是进入通讯、模拟量处理、运动控制等高级主题能够参与整线联调。这四个阶段不需要完全按顺序走但基础逻辑必须先扎实。很多人一上来就买设备、看视频、抄程序结果遇到小问题就卡住根本原因是梯形图的底层思维没有建立。本文后面的章节会从底层逻辑开始逐步进入完整案例。2. 主流 PLC 品牌与编程环境选型2.1 常见品牌对比国内工业现场常见的 PLC 品牌非常集中选型时主要看项目要求、自身技术积累和地区生态。下面列几个最常用的品牌品牌常见系列编程软件主要应用场景西门子S7-200 SMART、S7-1200、S7-1500TIA Portal博途、STEP 7中大型项目、汽车、食品饮料、过程控制三菱FX 系列、L 系列、Q 系列GX Works2、GX Works3小型单机设备、注塑、包装、机床欧姆龙CP 系列、NJ/NX 系列CX-One、Sysmac Studio电子制造、包装、检测设备汇川H1U、H3U、AM 系列AutoShop、InoProShop国产替代、OEM 设备、伺服控制信捷XC 系列、XD 系列XD/XC 编程工具小型设备、标准机、教学实验台达DVP 系列、AS 系列WPLSoft、ISPSoft小型单机、温控、基础自动化不同品牌之间PLC 编程的底层逻辑是相通的都是“输入采集 → 程序执行 → 输出刷新”的循环。差异主要体现在软件操作、指令命名、地址编号和数据格式上。比如西门子的地址是 I、Q、M、DB 块三菱的地址是 X、Y、M、D初学者只要吃透一个品牌再切换到其他品牌时通常只需要一到两周的适应期。2.2 编程软件与学习环境说明因为硬件设备成本较高新手初期不一定需要马上买 PLC。常见的学习方式有三种。第一种是购买实体入门套件比如西门子 S7-200 SMART 或者三菱 FX 系列的小型 PLC外加一个 24V 开关电源、几个按钮开关和指示灯成本可控而且能真实体验接线、下载、在线监控的完整流程。第二种是使用厂家提供的仿真功能。TIA Portal 的 PLCSIM、GX Works 的仿真器都可以在不连接真实硬件的情况下模拟运行程序适合前期熟悉指令和调试逻辑。第三种是使用第三方虚拟 PLC。不过这种方式的体验和真实软件差别较大更容易出现环境配置问题不建议作为主路径。本文后续示例以小型 PLC 的控制逻辑为主品牌相关的操作会尽量抽象成通用思路。版本方面不同软件界面会略有差异但逻辑是一致的建议根据你手边的具体设备调整操作路径。2.3 新手选型建议如果是完全零基础我的建议是优先选择你所在地区或目标行业最常用的品牌。比如你在长三角做非标设备三菱、汇川、西门子都很常见做项目型工程西门子 S7-1200/1500 更主流做小型单机三菱 FX 或国产信捷、汇川性价比更高。学习阶段不要贪多。选定一个品牌、一个小型 PLC、一本官方编程手册把梯形图、定时器、计数器、基本指令练熟比同时接触五个品牌却每个都只会点亮一个灯要有效得多。3. PLC 核心编程语言与梯形图思维3.1 IEC 61131-3 标准中的编程语言IEC 61131-3 是 PLC 编程语言最重要的国际标准它定义了五种编程语言梯形图LD、指令表IL、结构化文本ST、功能块图FBD、顺序功能图SFC。梯形图与继电器电路图相似适合逻辑控制和顺序控制是电气工程师最友好的语言。指令表是类似汇编的文本指令形式虽然用的人越来越少但很多品牌的指令手册仍会以指令表形式给出示例。结构化文本更接近高级语言适合数据处理、算术运算和复杂算法。功能块图适合信号流清晰的控制逻辑常用于过程控制。顺序功能图适合步进式控制比如自动流程中的“启动 → 检测 → 加工 → 退出”多步骤流程。实际项目中经常混用这些语言。比如主流程用梯形图编写复杂的数据处理用结构化文本编写整个程序结构用功能块组织。3.2 梯形图的本质从继电器电路到扫描执行理解梯形图的起点是把它看作左母线到右母线之间的电流通路。梯形图程序从上到下按行排列左侧是母线右侧是输出线圈。条件是常开触点或者常闭触点当触点组合导通时右侧线圈得电。但 PLC 里的“电流”不是真正的物理电流而是逻辑上的能流。PLC 的 CPU 按扫描周期循环执行程序每次扫描先读取所有输入点的状态保存到输入映像区然后 CPU 根据程序从头到尾计算每一行梯形图的通断更新线圈状态最后把所有输出线圈的状态一起送到输出模块。这种“先读输入、再跑程序、最后写输出”的方式避免了程序执行过程中输入状态变化带来的不确定性。这里有一个初学者最常见的误区在梯形图里上方的程序行先执行下方的程序行后执行同一扫描周期内前面线圈的状态变化会影响后面程序行但输出刷新是周期末统一进行的。如果你想要“立即生效”的效果需要使用立即 IO 指令但一般情况下不建议滥用。3.3 梯形图最小示例电机启保停控制下面来看一个最经典的梯形图示例电机启动保持停止控制通常称为“启保停电路”。IO 分配如下地址含义X0启动按钮NOX1停止按钮NCY0接触器线圈 / 电机运行指示梯形图程序如下X0 X1 Y0 --| |------|/|-----( )-- | | | Y0 | |------| |--------|和继电器控制中的自锁电路一样按下启动按钮 X0 后Y0 得电同时 Y0 的常开触点闭合即使松开启动按钮Y0 仍然保持通电状态按下停止按钮 X1常闭触点后回路断开Y0 失电。这就是“自锁”逻辑。对应的指令表写出来逻辑非常直观LD X0 OR Y0 ANI X1 OUT Y0这里的 OR 指令实现并联自锁ANI 指令表示串联常闭触点。理解了这个最小案例就能理解大多数简单的启停控制逻辑。3.4 定时器与计数器定时器是 PLC 编程中使用频率最高的指令之一。几乎所有需要延时、定时、闪烁控制的场景都会用到定时器。以三菱 FX 系列为例定时器通常以 T 编号单位为 100ms 或 10ms具体精度取决于定时器类型。下面是一个通电延时定时器的示例LD X0 OUT T0 K50 LD T0 OUT Y0当 X0 接通后T0 开始计时50 × 100ms 5 秒后T0 触点导通Y0 输出。X0 断开后T0 自动复位。如果需要在定时过程中保持计时状态要选用保持型定时器具体要看不同品牌的数据手册。计数器用于统计脉冲次数常见场景包括产品计数、转数检测、流量脉冲累计等。以三菱为例计数器使用 C 编号通过 OUT 指令驱动计数K 值表示计数目标值。LD X0 OUT C0 K10 LD C0 OUT Y0X0 每从 OFF 到 ON 一次C0 值加 1。当计数达到 10 时C0 常开触点闭合Y0 输出。计数器达到目标后通常需要用 RST 指令手动复位这是和定时器的一个明显区别。3.5 常见误区围绕定时器和计数器有三个常见误区。第一个是定时器编号冲突在同一程序里重复使用同一个定时器编号导致逻辑互相干扰必须建立全局编号规范。第二个是计数器的复位问题程序中如果没有复位逻辑计数器到值后不会自动清零容易造成下次启动时状态错误。第三个是扫描周期导致的定时精度问题对于精度要求高的场合普通定时器可能不满足要求需要采用中断方式或专用高速定时器。4. 从继电器控制思维到 PLC 程序思维4.1 自锁、互锁、联锁在 PLC 里怎么写很多电气设计人员是从继电器电路转到 PLC 编程的这部分人画梯形图时往往很顺畅因为梯形图本身就是从继电器电路演化而来的。但继电器电路中的“自锁”“互锁”“联锁”对应到 PLC 中有各自的写法。自锁的写法就是前面提到的“OR 自身触点”。互锁是指两个输出不能同时导通典型应用是电机正反转控制。互锁的梯形图写法是在两个输出线圈的回路中互相串入对方的常闭触点。联锁则是多个条件之间必须满足先后关系比如液压系统压力到达后才能启动电机这属于流程逻辑的一部分。从工程安全角度看PLC 程序中的软互锁只能作为控制层的保护接触器硬件互锁仍然不可省略。如果软件逻辑出现异常硬件互锁是最後一道防线。这一点要作为设计红线对待。4.2 扫描周期与程序执行顺序PLC 程序的执行结果是“上下的顺序”和“扫描的循环”共同决定的。为了说明这个问题来看一个简单例子// 第一行 LD X0 OUT Y0 // 第二行 LD Y0 OUT Y1按照扫描顺序第一行执行时如果 X0 为 ON则 Y0 的映像寄存器变为 ON第二行再判断 Y0 时读到的已经是更新后的 Y0 状态因此 Y1 也会跟随 Y0 变化。如果把两行互换结果就会不一样// 第一行 LD Y0 OUT Y1 // 第二行 LD X0 OUT Y0此时第一行运行到的时候Y0 还是上一周期的旧状态Y1 不会立即跟随本次 X0 的变化。这类“顺序敏感”问题在复杂程序里非常隐蔽排查时需要仔细查看程序执行顺序。这也是为什么要强调“从上到下、从左到右”的梯形图阅读顺序。程序结构按照工艺流程分段组织能够显著降低这类逻辑错误的发生概率。4.3 常闭触点编程的坑用常闭触点接入 PLC 输入时编程逻辑和常开触点完全不同这也是初学者很容易踩的坑。比如急停按钮硬件上通常使用常闭触点串联在安全回路中接入 PLC 输入点时如果正常状态下按钮未按下输入点得到的信号是 ON。写程序时如果把它当作常开按钮来接逻辑方向就会反。在 PLC 程序里对于“停机类”信号常见做法是让输入触点使用常开逻辑即输入信号为 ON 表示“停止状态正常”。例如急停回路常闭信号接入 PLC按下急停后信号断开程序中使用常开触点就能正确判断“急停被触发”。如果习惯直接在梯形图里画常闭触点则要特别小心输入信号方向。这类问题的本质是“硬件触点类型”和“程序触点逻辑”两层概念之间的转换。做电气设计时IO 表里就应该写清楚每个输入点接的是常开还是常闭避免后期由程序来猜。5. 完整实战案例搅拌机 PLC 控制程序5.1 需求与 IO 分配用一个完整案例把前面讲的内容串起来。假设有一台小型搅拌机控制要求如下按下启动按钮后先启动搅拌电机搅拌 10 秒搅拌 10 秒后打开排料阀排料 5 秒5 秒后关闭排料阀整个流程结束运行过程中任何时候按下停止按钮所有输出立即断开需要运行指示灯和报警指示灯。IO 分配如下输入地址元件说明X0启动按钮常开X1停止按钮常闭X2电机过载信号常闭输出地址元件说明Y0搅拌电机接触器Y1排料阀Y2运行指示灯Y3故障指示灯5.2 控制逻辑设计这个控制流程是一个典型的顺序控制可以拆成三个状态状态 0待机状态等待启动状态 1搅拌状态Y0 输出定时 10 秒状态 2排料状态Y0 停止Y1 输出定时 5 秒状态 3结束状态所有输出复位等待下一次启动。使用内部继电器 M 表示当前状态例如 M0 表示待机M1 表示搅拌中M2 表示排料中。用顺序功能图来表示这个流程最直观但为了和大多数入门读者的编程习惯匹配下面用梯形图/指令表实现。5.3 梯形图程序实现以下是核心程序片段的指令表形式适合三菱 FX 系列其他品牌按对应指令调整* 启动条件按下启动按钮或者当前在待机状态 LD X0 OR M0 ANI X1 ANI M2 OUT M0 * 进入搅拌状态待机状态下按下启动 LD M0 AND X0 ANI X1 ANI X2 SET M1 RST M0 * 搅拌定时M1 状态下启动定时器 T010 秒 LD M1 OUT T0 K100 * 定时到后进入排料状态 LD T0 SET M2 RST M1 * 排料定时M2 状态下启动定时器 T15 秒 LD M2 OUT T1 K50 * 排料结束回到待机 LD T1 RST M2 * 输出部分 LD M1 OUT Y0 LD M2 OUT Y1 LD M0 ANI X1 OUT Y2 LD X2 OUT Y3这段代码的思路是使用状态继电器把流程切成几段每一段只负责一段逻辑程序结构非常清晰。定时器 T0 在 M1 为 ON 时开始计时10 秒后触点 T0 导通程序从搅拌状态切换到排料状态。停止按钮 X1 在启动条件和各状态转移条件中都用 ANI 串入保证任何时刻按下停止流程都会终止。需要说明的是上面是核心逻辑片段真实工程还需要考虑急停复位、报警记录、手动/自动切换等功能。编程时一个完整的工程由主程序、初始化程序、手动程序、自动程序、报警程序等多个程序块组成不要把所有功能都堆在一个程序段里。5.4 结构化文本 ST 实现如果在实际项目中选择了结构化文本编程上述搅拌机逻辑可以写成下面这样// 状态机实现 CASE state OF 0: // 待机 IF start AND NOT stop THEN state : 1; timerStart : TRUE; END_IF; 1: // 搅拌 motor : TRUE; IF timerValue 100 THEN motor : FALSE; state : 2; timerStart : TRUE; END_IF; 2: // 排料 valve : TRUE; IF timerValue 50 THEN valve : FALSE; state : 0; END_IF; END_CASE;ST 语言在处理状态机时非常直观代码的可读性和可维护性比梯形图更好。不过 ST 的语法风格接近 Pascal很多从电气转过来的工程师初期会不太习惯建议在梯形图熟练之后再去系统学习。5.5 调试步骤下载程序到 PLC 后按以下步骤进行调试先检查 IO 接线。把所有输入点强制或手动动作确认输入信号能正确进入 PLC输出点能正确驱动负载。空载调试。断开电机和阀门的主回路只保留 PLC 输出信号和指示灯确保逻辑正确后再接负载。逐步调试。按下启动按钮观察 M 状态继电器是否按预期切换T0、T1 定时值是否准确变化。异常验证。手动断开 X1相当于按停止或 X2过载信号确认输出能立即断开。完整运行。让设备连续运行多个周期观察是否存在状态卡死或输出不动作的情况。调试时一定要使用编程软件的在线监控功能实时监视梯形图上的触点和线圈状态能非常直观地看到每一条逻辑的通断。6. PLC 通讯与组网基础6.1 为什么现代 PLC 必须学通讯单台 PLC 只能完成设备本地的逻辑控制现代工厂里PLC 不是孤立存在的。上位机、触摸屏、变频器、伺服驱动器、机器人、视觉相机、传感器都通过通讯方式与 PLC 交换数据。对于电气工程师来说学会 PLC 通讯已经是从入门到进阶的必经之路。常用的通讯接口包括以太网、RS-232、RS-485、CAN 等。常用协议包括Modbus RTU、Modbus TCP、PROFINET、EtherNet/IP、S7 协议等。不同品牌、不同场景下通讯协议的侧重点不同。6.2 Modbus 协议基础Modbus 是工业现场最通用的通讯协议之一很多国产设备、变频器、仪表都支持这种协议。Modbus 分为串口版本 Modbus RTU 和以太网版本 Modbus TCP 两种。Modbus 协议的基本模型是主从模式。主站发送请求从站响应请求。最常见的功能码包括01H 读线圈、02H 读离散输入、03H 读保持寄存器、04H 读输入寄存器、05H 写单个线圈、06H 写单个寄存器、0FH 写多个线圈、10H 写多个寄存器。PLC 做 Modbus RTU 主站时典型场景是通过串口读取一台变频器的频率和电流。写请求帧时需要包含从站地址、功能码、寄存器地址、数据值和 CRC 校验。很多人卡在 CRC 校验上其实现在大部分 PLC 品牌都提供了 Modbus 指令库不必手动计算。以常见的小型 PLC 做 Modbus RTU 主站为例程序结构通常分三步初始化串口参数包括波特率、数据位、停止位、校验方式填写通讯请求报文指定从站地址、功能码、寄存器起始地址、读取长度发送请求并解析响应数据将读取到的值存放到指定的数据寄存器。这部分在初学阶段容易踩的坑是串口参数不一致、从站地址写错、寄存器地址偏移。排查时需要先确认通讯参数再用串口调试工具抓取报文判断问题在哪一层。6.3 PROFINET 与 EtherNet/IPPROFINET 是西门子主推的工业以太网协议在汽车、物流、制药等高端行业占有率很高。S7-1200、S7-1500 通过 PROFINET 连接分布式 IO、伺服驱动器、变频器、视觉系统都非常常见。用博途组态 PROFINET 网络时需要为每个从站分配设备名称和 IP 地址设备名称错误是联调阶段最常见的报错原因。EtherNet/IP 是罗克韦尔AB主导的工业以太网协议在很多美系设备和外资项目中也比较常见。国内学习资料相对较少但原理上与 PROFINET 有相似之处。掌握一个品牌的工业以太网组态后再学其他的会比直接从零开始容易很多。6.4 FB 块与模块化编程前面提到的“FB 块”是现代 PLC 编程中越来越重要的概念。FBFunction Block即功能块它把一组重复使用的控制逻辑封装成一个独立模块可以在程序中多次调用。比如一台设备有 8 个相同的搅拌工位每个工位的控制逻辑完全相同。如果不用 FB就要写 8 份相同的梯形图程序冗长且难以维护。使用 FB 块后只需要编写一个“搅拌控制 FB”然后生成 8 个实例即可。修改逻辑时只改 FB 内部所有实例自动生效。不同品牌对 FB 的实现方式略有区别。西门子在博途里使用 SCL 或 FBD 编写 FB调用时生成背景数据块信捷、汇川的小型 PLC 也在逐步支持类似的块编程方式。FB 块编程是 PLC 编程从“小打小闹”走向“工程化”的关键一步建议入门之后尽早学习。7. 常见问题与排查思路PLC 系统调试和使用过程中问题往往集中在硬件接线、程序逻辑、通讯配置三个层面。下面用表格整理高频问题问题现象常见原因解决思路PLC 无法下载程序通讯线缆/驱动未安装、IP 地址不在同一网段检查 PLC 与电脑的 IP 是否同网段确认通讯驱动和线缆型号输入点信号不亮传感器供电异常、接线极性错误、公共端未接好先查外部 24V 电源用万用表量输入点电压输出点有输出但负载不动作中间继电器/接触器线圈电压不匹配、输出点容量不足先测量 PLC 输出点电压再查中间继电器和负载回路程序运行结果和预期不一致顺序写错、常开常闭逻辑反、状态未复位使用在线监控逐行查看触点通断状态对照流程梳理定时器时间不准定时器精度选错、程序被其他逻辑重复驱动确认定时器编号和精度查驱动条件是否稳定Modbus 通讯不上波特率/校验不一致、从站地址错误、线缆问题用串口调试工具抓包确认请求帧和响应帧自动流程卡住不动作某个转移条件不满足、传感器信号缺失在监控画面里查看状态继电器确认卡在哪个状态PROFINET 从站报错设备名称错误、IP 冲突、从站掉线重新分配设备名称检查网络交换机端口从经验来看排查 PLC 问题时最有用的不是反复改程序而是“确认每一层都正常”。先查硬件再查通讯最后才查程序逻辑。很多工程师花了几个小时改程序最后发现只是某个传感器端子松了。8. 最佳实践与工程建议8.1 程序结构与命名规范PLC 程序不是能跑就行工程上更看重可维护性。程序结构建议按照“初始化 → 手动模式 → 自动模式 → 报警处理 → 通讯处理”的思路组织每个功能模块单独放置用注释清楚标记。命名方面IO 地址在程序里应当有明确含义。通过注释或者符号表把 X0 注释为“启动按钮”比直接用 X0 地址写程序要清晰得多。西门子的符号表、三菱的注释功能、博途的 PLC 变量表都应该被充分利用。内部继电器和寄存器建议分段规划。例如 M0-M99 用于自动流程状态M100-M199 用于报警M200-M299 用于手动模式等。寄存器 D 的规划也类似避免程序修改时出现地址冲突。8.2 安全与可靠性PLC 程序承担着设备控制任务程序异常可能带来人身安全风险。电气工程师必须建立几个基本观念。第一硬件安全回路永远优先于软件逻辑。急停回路、安全门回路必须采用硬接线不能完全依赖 PLC 程序。第二所有需要安全的输出建议采用“输出使能”方式用一个安全继电器或者主接触器控制输出电源程序异常时能够快速切掉输出电源。第三程序中使用互锁逻辑时不要省略硬件互锁。第四程序修改前必须备份原程序下载新程序前确认当前设备处于安全状态。8.3 调试与文档调试是 PLC 工程中最容易出现混乱的环节。建议在程序文件目录中建立三个子目录源代码、版本备份、调试记录。每次改动程序前保存一个版本版本号采用 v1.0、v1.1 的方式递增并在程序注释中写明修改内容、修改人和日期。现场调试时所有强制点都必须做记录。调试结束后要清除不必要的强制点恢复程序到正常模式。提交最终程序时应当附上一份 IO 对照表、一份通讯参数表、一份操作说明方便后续维护人员接手。8.4 从电气工程师到自动化工程师PLC 编程只是第一步。当你能熟练完成中小型单机设备的 PLC 程序后接下来的学习方向大致有三个分支运动控制方向伺服、步进、运动控制器、过程控制方向模拟量 PID 调节、温度控制、流量控制、通讯与信息化方向PLC 与 MES 对接、工业物联网、数据采集。三个方向都值得深耕也会直接影响未来的职业高度。对于刚入门的朋友现阶段不需要焦虑这些高级方向把文中的启保停、定时器、计数器、状态机案例亲手做一遍比囤积再多学习资料都更有用。准备一套可用的编程软件哪怕先用仿真功能把搅拌机这个案例完整跑通一次就已经比很多只看了视频教程的人前进了一大步。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进