PLC实验复习指南:八段LED与交通灯核心要点 简介这份资源面向电气工程及其自动化等专业学生与PLC初学者围绕S7-1200可编程控制器与TIA Portal V13提供八段LED编程与智能交通红绿灯两个实验的完整实践方案帮助读者从软件操作、梯形图编程到HMI画面设计逐步上手。压缩包共1个docx文件约1.62MB以实验报告形式组织涵盖实验目的、仪器设备、操作步骤、思考题与反思总结等模块。内容具体展开八段LED的变量表设置、定时器与MOVE指令应用、16进制段位码显示0至8的循环控制以及触摸屏图形组合、按钮事件与变量关联交通灯部分则涉及手自动切换、通行时序与HMI时间设定。已有451人学习适合课程设计、实验预习与仿真验证时对照参考也能为定时器编号冲突等常见问题提供排错思路。1. 从一张 I/O 地图看 PLC 实验八段 LED 与交通灯到底在练什么很多人复习 PLC 实验时第一反应是背梯形图指令结果一上机就翻车定时器编号冲突、HMI 变量关联错对象、手动自动切换忘了复位。问题不在指令记得少而在于没先看清这两个实验共用的一张底层地图——输入采集、逻辑运算、输出驱动、人机交互。八段 LED 练的是「编码 时序 显示」交通灯练的是「状态切换 互锁 参数可调」两者都跑在 S7-1200 加 KTP700 这套硬件组合上都用 TIA Portal 完成组态、编程与仿真。把这张地图先立起来再去抠段码表、定时器、HMI 动画复习才不会变成零散记忆。这份笔记按知识模块重新梳理适合正在做课程设计、准备实验验收或期末复习的人对照查漏。2. 硬件与工程骨架S7-1200、KTP700 和 Portal 项目怎么搭2.1 设备选型与网络组态两个实验的硬件底座是同一套CPU 1214C DC/DC/DC订货号 6ES7 214-1AG40-0XB0加 KTP700 触摸屏通过 PROFINET 连接。复习时最容易含糊的是「DC/DC/DC」这三个字母分别指什么——电源、输入、输出均为直流 24V这决定了实验箱上接线端子的接法也决定了输出点不能直接驱动交流负载。组态顺序是先在项目视图里添加新设备再添加 HMI最后把 PLC 与 HMI 用 PROFINET 连起来。IP 地址分配是验收时必查的一项实验里给出的规划是 PLC 为 192.168.0.200、HMI 为 192.168.0.201两者必须在同一网段且不冲突。梳理下来会发现这一步出错的表现很典型程序下载正常但 HMI 上所有关联变量都显示异常或无法写入因为通信根本没建立。组态项PLC 侧HMI 侧常见错误设备型号CPU 1214C DC/DC/DCKTP700型号选错导致编译报错通信协议PROFINETPROFINET只连了网线未做设备组态IP 地址192.168.0.200192.168.0.201同网段冲突或子网掩码不一致变量访问全局变量表 / DB 块关联 PLC 变量关联到同名但不同对象的变量2.2 程序结构OB、FC、DB 的分工交通灯实验的程序骨架值得单独记新建 DB 块命名为「交通灯_DB」存放运行变量新建 FC 块命名为「交通灯」写梯形图逻辑最后在 main 组织块里把 FC 直接拖进程序段 1 调用。这个「OB 调用 FC、FC 读写 DB」的结构是 S7-1200 编程的基本范式八段 LED 实验虽然简单但同样遵循「变量表定义 I/O、程序块写逻辑」的思路。为什么要把变量放进 DB 而不是全用 M 区DB 块支持结构化命名和掉电保持设置变量多了以后可读性差距非常明显。复习时如果只记「新建 DB 块」这个动作而不理解它是为了集中管理交通灯的计时参数和状态标志考试画程序结构图就容易漏掉这一层。提示FC 块没有自己的存储区所有需要保持或跨扫描周期使用的量都必须落在 DB 或 M 区这是判断程序结构是否合理的硬标准。3. 八段 LED 实验段码编码、定时循环与 HMI 显示3.1 段码表与 MOVE 指令的配合八段 LED 的核心是一张编码表a 到 g 七段加小数点 dp每个数字对应一组亮灭组合把这组组合写成一个十六进制字节就是段位码。实验里的做法是把数字 0 到 8 的段位码通过 MOVE 指令送到数码管的输出字节输出点按位驱动各段。理解这张表的关键是「位与段的映射关系」——哪一位对应 a 段、哪一位对应 dp必须和实验箱接线一致否则显示出来就是乱码。# 段码映射示意共阴接法1 点亮位序 dp g f e d c b a # 数字 0a b c d e f 亮g 灭 - 0011 1111 - 0x3F # 数字 1b c 亮 - 0000 0110 - 0x06 # 数字 2a b d e g 亮 - 0101 1011 - 0x5B # 数字 3a b c d g 亮 - 0100 1111 - 0x4F # 数字 6a c d e f g 亮 - 0111 1101 - 0x7D上面这组值只是位序约定下的一种写法实际实验要以指导书给的编码表为准因为共阴共阳、位序高低会整体翻转。复习时不要死背十六进制数而要会推先写出该数字点亮哪几段再按位序拼成二进制最后转十六进制。思考题里问「不用十六进制段位码还有什么方法」答案就是把 a 到 g 每个输出点当成独立常开触点显示 1 就接通 b、c显示 2 就接通 a、b、d、e、g本质是用触点组合替代编码表程序更长但逻辑更直白。3.2 接通延时定时器与 1 秒自动跳转让数字自动循环显示靠的是接通延时定时器 TONPT 设为 1s计时到后定时器输出接通触发数字加一或切换到下一个段码同时复位定时器重新计时。实验步骤里写的是「1s 后自动接通LED 显示 0」然后按此时序让 0 到 8 每个数字间隔 1s 跳转。这里有个血泪经验多个程序段如果靠复制粘贴生成定时器编号会重复编译时每一段都引用同一个定时器运行时表现为所有跳转同时发生或干脆不跳。正确做法是每段从右侧指令库重新拖取定时器并分配不同编号或者用定时器多重背景放在 DB 里统一管理。复习时把「定时器编号唯一」当成一条铁律记比记 TON 的引脚名更实用。// 梯形图逻辑的文字化描述非实际代码用于复习时序 // 程序段1启动按钮 I0.0 自锁驱动运行标志 M0.0 // 程序段2M0.0 接通时TON 定时器 T1 开始计时PT T#1S // 程序段3T1.Q 上升沿触发计数器 C1 加 1同时复位 T1 // 程序段4C1 当前值经比较指令选择对应段码MOVE 到输出字节 QB0 // 程序段5停止按钮 I0.1 断开自锁C1 与 T1 复位这段描述对应实验里「启动按钮与停止按钮串联实现控制」的要求启动自锁、停止断开是所有连续运行程序的标准起手式。参数上要盯住三处——TON 的 PT 决定跳转间隔计数器的 PV 决定循环到几MOVE 的源决定当前显示哪个数字。3.3 HMI 八段形状与变量动画触摸屏侧的八段 LED 不是现成控件而是用矩形基本对象拼出来的七个矩形按八段位置摆放每个矩形关联一个 PLC 输出变量变量为 1 时显示点亮颜色为 0 时显示熄灭颜色这就是实验里说的「动画设计、关联 PLC 变量、颜色变化动画」。再添加静态文本标注数字添加启动停止按钮并编辑按钮的按下与释放事件。复习时容易忽略的是「HMI 上的显示和 PLC 实际输出是两套东西」HMI 只是读取变量并渲染颜色它不参与段码运算。所以仿真时如果 HMI 显示正常而实验箱数码管不亮问题在输出接线或段码位序如果实验箱正常而 HMI 不亮问题在变量关联或动画配置。把这两个故障域分开排查效率会高很多。4. 交通灯实验状态机、手自动切换与参数化时间4.1 自动运行的顺序功能与输出分配交通灯自动模式的本质是一个四状态循环南北绿东西红 → 南北黄东西红 → 南北红东西绿 → 南北红东西黄 → 回到起点。实验给出的输出分配是 Q0.0 南北红、Q0.1 南北黄、Q0.2 南北绿、Q0.3 东西红、Q0.5 东西绿注意 Q0.4 在描述里没有出现复习画 I/O 表时要按指导书原样保留不要自行补齐。启动逻辑有个前置条件按下启动按钮 I0.0 后还要看 I0.1 的电平——I0.1 为低电平时进入自动状态为高电平时进入手动状态。自动状态启动时先初始化把所有灯输出复位再输出南北绿和东西红这个「先复位再置位」的顺序不能颠倒否则上一次运行的残留输出会让第一个状态显示错误。状态南北方向东西方向持续时间来源1绿灯 Q0.2红灯 Q0.3HMI 设定通行时间2黄灯 Q0.1红灯 Q0.3HMI 设定黄灯时间3红灯 Q0.0绿灯 Q0.5HMI 设定通行时间4红灯 Q0.0黄灯 Q0.1HMI 设定黄灯时间状态切换靠定时器串联当前状态定时到复位本方向灯置位下一状态灯。实验里强调「经过触摸屏设定的通行时间后切换」说明定时器的 PT 不是常数而是来自 HMI 写入的变量这是本实验和八段 LED 实验最大的区别——时间参数在线可调。4.2 手动模式与互锁复位手动模式下I0.2 为高电平表示南北通行输出南北绿 Q0.2 和东西红 Q0.3I0.3 为高电平表示东西通行输出东西绿 Q0.5 和南北红 Q0.1。这里必须做互锁南北通行和东西通行不能同时有效否则会出现两个方向绿灯同时亮的荒谬状态实际路口就是事故。实验步骤明确写了「手自动切换时复位所有灯输出」这条是易错重灾区。切换瞬间如果不复位自动模式残留的绿灯会和手动模式新置位的绿灯叠加或者黄灯卡在中间状态。梳理下来会发现交通灯程序的健壮性几乎全押在「切换即复位」这一条上写程序时应该把它放在模式判断的最前面而不是散落在各状态里。4.3 HMI 参数域与颜色动画交通灯 HMI 比八段 LED 复杂在交互元素更多指示灯、文字、按钮还要加 IO 文本域设置绿灯时间和黄灯时间。文本域的配置要点是选对关联变量、设为输入输出模式、指定显示格式这样操作员输入的数字才能写回 PLC 的 DB 变量并被定时器引用。指示灯的颜色动画要关联对应 PLC 变量并设计两种颜色分别对应亮和灭。实验反思里提到一个真实坑设置外观变量时下拉表里有两个相似名称选错后灯不按预期变色。避免方法是给 DB 变量起名时带方向前缀比如「南北_绿」「东西_红」从源头消除歧义而不是靠记忆去分辨。5. 易错点清单这五个坑复习时最容易漏5.1 易错点一定时器编号重复为什么漏用复制粘贴快速生成多个程序段时定时器实例被一起复制编号不变编译不报错但运行逻辑全乱。怎么补每段定时器从指令库重新拖取并逐一改编号或统一用 DB 多重背景编译后检查交叉引用里每个定时器只被一个程序段驱动。5.2 易错点二HMI 变量关联到同名不同对象为什么漏PLC 变量表和 DB 里可能存在同名变量下拉列表按名称排序时肉眼难辨。怎么补变量命名加模块前缀关联后到 HMI 变量的属性里核对绝对地址而不是只看名字。5.3 易错点三手自动切换未复位输出为什么漏注意力集中在模式判断条件上忘了切换动作本身需要清场。怎么补把「切换沿触发 → 所有灯输出复位」写成独立程序段放在模式判断之前作为进入任何模式的前置动作。5.4 易错点四段码位序与接线不一致为什么漏编码表抄的是共阴还是共阳、位序从 a 还是从 dp 开始指导书不同版本可能不同。怎么补先只点亮一段验证位序确认 a 段对应哪一位后再套整张表不要一上来就全量显示。5.5 易错点五仿真通过就认为实机通过为什么漏PLCSIM 仿真不校验实际接线、输出驱动能力和触摸屏通信链路。怎么补仿真只验证逻辑实机验收前单独检查输出端子接线、PROFINET 连接状态和 HMI 在线变量是否刷新。6. 复习落地一张自查表加一套仿真验证顺序复习到这一步建议不要再从头翻指导书而是拿一张自查表逐项打勾再用固定顺序跑一遍仿真。自查表按「组态—变量—逻辑—HMI—仿真」五层组织每层只问一个能判对错的问题层次自查问题判错信号组态PLC 与 HMI 型号、IP 是否与规划一致下载正常但 HMI 变量不刷新变量I/O 表地址是否与指导书逐点对应按钮按下无反应或灯亮错位逻辑定时器编号是否唯一、切换是否复位跳转不同步、双绿同亮HMI动画变量是否关联到正确绝对地址灯色与 PLC 输出不符仿真启动停止、手自动、参数修改是否都走通单一场景通过、组合场景失败仿真验证的顺序也有讲究按「先单点后组合」推先手动强制每个输出点确认接线与地址再跑八段 LED 的 0 到 8 循环看间隔是否稳定 1s然后跑交通灯自动四状态改一次 HMI 通行时间看是否生效最后切手动、切回自动观察复位是否干净。这个顺序能把故障定位到具体层而不是一上来就跑全流程然后对着现象猜。-- 验收前用变量监控表核对的关键量示意按实际项目替换地址 -- 八段 LEDQB0 当前段码、T1.ET 已计时、C1.CV 当前数字 -- 交通灯DB.南北绿、DB.南北黄、DB.南北红、DB.东西绿、DB.东西红 -- 检查原则任一时刻同一方向最多一个灯为 1两方向绿灯不得同时为 1 SELECT 南北绿, 南北黄, 南北红, 东西绿, 东西红 FROM 交通灯_DB WHERE (南北绿 1 AND 东西绿 1) OR (南北绿 南北黄 南北红 1);这条查询式的检查思路本质是把「互锁」变成可验证的约束结果集为空才说明状态合法。我第一次做交通灯验收时就是靠这个思路发现手动模式残留输出的——当时仿真看着一切正常直到把两个方向绿灯同时为 1 的条件单独拎出来查才暴露切换瞬间的复位缺失。从那以后我每次做状态机类实验都强制先把「非法状态组合」列出来逐条验证再去看正常流程。希望这份梳理能帮你在验收前把该堵的洞都堵上。本文还有配套的精品资源点击获取