
每年这个时候总能看到一批做课程设计或者毕业设计的同学围着PLC自动门控制系统这个题目来回打转。说实话这个题在工业自动化的大类里确实不算新但一点不夸张地讲它是我见过最适合拿来练手PLC完整开发流程的项目之一——麻雀虽小五脏俱全。从需求分析、硬件选型、I/O分配到梯形图编写、联调排错、报告撰写整个PLC项目开发的链路在这个题目里全都走得到而且成本低、见效快、逻辑也直观。这篇内容我打算按一个完整的项目交付视角来讲围绕S7-200这个型号展开。S7-200虽然已经是西门子的老产品序列但恰恰因为它的指令精简、资料多、教学版STEP 7 Micro/WIN软件易于上手所以至今仍是很多院校和培训机构的PLC入门首选。如果你手头正好要做基于PLC的自动门控制系统这个题目或者想通过一个完整的项目把PLC基础再磨一遍这篇文章基本能当一份从零到交付的参考手册来用。我会把硬件选型、I/O分配、梯形图逻辑设计、仿真联调、报告答辩准备都过一遍同时穿插一些我在实际调试中踩过的坑希望你能少走点弯路。1. 需求拆解与选型思路这个题目真正想考察的能力1.1 自动门控制系统的需求本质先别急着打开软件写程序。拿到任何一个PLC题目第一件事都是把控制需求拆清楚。自动门这个题目表面上是有人来就开门人走就关门但落到工程层面需求其实远不止两条。我习惯把它拆成五个子需求感应逻辑门口有人门自动打开。这里的检测到人通常靠红外传感器、微波雷达或两者的组合来实现。开门保持门打开之后不能立刻关上要给行人留出通过时间一般通过定时器来实现开门延时。关门与限位保护门关到位之后必须自动停止不能一直给电机供电否则电机会堵转烧毁这就必须依赖限位开关。防夹与安全保护关门过程中如果检测到人或障碍物门要立即停止关门并重新打开这是自动门最重要的安全功能。运行模式切换通常要支持自动模式和手动模式手动模式下操作人员可以强制开门或关门方便检修和维护。如果缺乏工程经验很容易把自动门理解成一个感应开关加一个电机但真正做完这个项目你会意识到PLC程序里最核心的部分恰恰不是开门这个动作本身而是那些边界条件——限位有没有触发、防夹有没有信号、延时有没有结束、模式处于手动还是自动。这些条件共同决定了输出什么时候该置位、什么时候该复位也就是PLC程序设计的真正难点。1.2 为什么S7-200在这个题目里仍是理性选择可能有同学会问西门子都已经把产品线推进到S7-1200、S7-1500了为什么选题还要用S7-200这种过气型号从纯工程角度讲S7-200确实已经是老一代产品但它在这个题目场景下并没有明显的性能短板。自动门控制需要的无非就是十几个数字量输入输出点、几个定时器和基本的逻辑运算S7-200的CPU224提供14个数字量输入和10个数字量输出I/O容量完全够用指令集覆盖了位逻辑、定时器、计数器、比较和传送指令项目里根本用不到超过这个范围的功能。更重要的是教学和课程设计场景下的两个现实因素一是S7-200的编程软件STEP 7 Micro/WIN体积小、安装方便、界面清晰梯形图编辑器的操作逻辑非常直观特别适合第一次完整接触PLC的学生二是这个型号在网上有海量的学习资料、案例程序、视频教程和仿真资源遇到问题基本都能搜到答案不会出现卡在一个地方几天动不了的情况。一句话总结我的选型观点这个题目的重点在控制逻辑设计而不是高端硬件应用。用S7-200可以把注意力集中在程序设计和调试本身这才是课设真正想训练的能力。1.3 系统整体架构三个环节一条链路整个自动门控制系统从结构上可以划分为检测、控制、执行三个环节三者信号流向非常清晰。检测环节由输入设备构成包括红外感应器、防夹传感器、限位开关、启动停止按钮、手动自动切换开关它们把物理世界的状态转换成PLC能够识别的数字量信号。控制环节就是S7-200本体它按照用户程序对输入信号进行逻辑运算得出输出控制指令。执行环节则由接触器、电机指示等组成接触器线圈得电或失电直接决定了门体的开闭动作。在画系统框图的时候很多同学只画传感器→PLC→电机这种单线箭头这是不对的。一个完整的系统图里限位开关和防夹传感器虽然也在传感侧但它们的信号是在电机动作之后才反馈回来的属于闭环的反馈支路。画图时应当体现出这个回路关系因为这在后续写程序时直接影响你的逻辑判断顺序。2. 硬件方案与I/O分配先让信号对号入座再写代码2.1 传感器选型红外、微波和防夹各自的分工自动门控制系统常用的检测元件有三种选型依据和接入方式各不相同。红外传感器是性价比最高的人体检测方案常见的有红外对射传感器和红外反射式传感器。对射式传感器的发射端和接收端分居门的两侧有人穿过时红外光束被遮挡接收端信号发生变化反射式传感器则利用人体反射红外线来触发。在课程设计里我推荐使用对射式传感器因为它检测区域更明确、抗干扰更好接线也简单——传感器输出端直接引到PLC的开关量输入端子即可。传感器的输出形式要注意选NPN常开型这样无遮挡时输出断开有遮挡时输出接通逻辑上更安全。微波雷达传感器检测的是移动物体的多普勒效应优点是灵敏度高、能穿透玻璃等非金属物、不受光线影响但它对静止目标不敏感且成本比红外高。超市自动门通常采用微波红外的双鉴方案来避免误判课设里用红外就足够微波可以作为扩展方向在报告展望里提一句。防夹传感器通常采用压力感应胶条安装在门扇的闭合边缘。当胶条碰到人或物体受到挤压时内部导电材料接通输出一个开关量信号。此外也可以用安全光幕在门两侧形成一道光束平面光束被遮挡即触发防夹。光幕安全性更好但成本高课设中用压力胶条最常见也最贴近实际工程。限位开关是保证门体运动到极限位置后能正确停止的关键元件一般选用机械式行程开关或接近开关。开门限位和关门限位各一个安装在门体导轨两端门体到达位置后触碰开关PLC收到信号后立即切断电机输出。2.2 电机驱动方案课设里最优的正反转接触器控制自动门电机有直流减速电机和交流电机的不同方案。直流减速电机控制简单改变电枢电压方向就能换向适合真正的自动门设备但成本高、驱动电路复杂在课设中不是首要选择。最贴合课程设计需求的是交流异步电机配合两个接触器实现正反转控制。开门接触器KM1得电时电机正转门体打开关门接触器KM2得电时电机反转门体关闭。两个接触器的主触点交换了相序从而实现电机换向。这个方案的好处在于它是一种最基础也是最规范的PLC控制电机的形式梯形图里需要处理正反转互锁、接触器联锁、热继电器保护等多个细节考察价值很高。自动门的门体运动速度不高对调速没有硬性要求所以不需要上变频器如果你想把项目做出亮点可以在扩展部分设计用变频器实现快慢速开关门——门开启动时全速接近限位时低速爬行既安静又更安全这在下面的报告部分我会展开说。2.3 I/O分配表不存在标准答案但要遵循规范I/O分配是连接硬件接线和程序编写之间的桥梁。下面的分配表基于CPU224默认地址编写你在自己的项目里完全可以根据实际调整但必须遵循一个原则输入地址和输出地址要跟实际接线一一对应否则程序写得再漂亮也没法运行。地址设备名称信号说明类型I0.0启动按钮SB1常开按下系统开始运行数字量输入I0.1停止按钮SB2常闭按下系统停止所有动作数字量输入I0.2室外红外感应器有人则为ON无人为OFF数字量输入I0.3室内红外感应器有人则为ON无人为OFF数字量输入I0.4开门限位开关SQ1门开到位为ON数字量输入I0.5关门限位开关SQ2门关到位为ON数字量输入I0.6防夹压力传感器触发时为ON数字量输入I0.7手动/自动切换开关SAON为手动OFF为自动数字量输入Q0.0开门接触器KM1得电时电机正转开门数字量输出Q0.1关门接触器KM2得电时电机反转关门数字量输出Q0.2运行指示灯HL1系统运行时点亮数字量输出Q0.3报警指示灯HL2防夹触发或故障时点亮数字量输出这里有两个细节要特别说明。第一停止按钮为什么用常闭点因为PLC的急停类信号按常闭接入是最安全的——如果外部接线断路PLC会直接判断为停止信号而不是等到按下按钮才动作这在工程上叫失电安全设计课设答辩时讲出来是加分项。第二I0.0用了启动按钮如果题目要求上电直接进入自动运行也可以省掉启动按钮用内部继电器做成上电自启动但保留启动/停止更贴合设备操作习惯。2.4 硬件接线的几个关键防坑细节接线是很多初学者最容易翻车的地方但翻车的原因往往不是不会接而是忽略了一些基础但致命的细节。第一个坑是传感器公共端的接法。以NPN型传感器为例棕线接24V正极蓝线接24V负极即公共端COM黑线为信号输出。此时PLC输入端子的公共端1M或2M要接到24V负极这是漏型接法反之PNP型传感器则接24V正极。搞反了轻则信号读不到重则直接烧坏传感器或PLC输入端子。接线前一定确认传感器是NPN还是PNP同时确认PLC输入公共端的极性要求。第二个坑是PLC输出端直接驱动交流接触器线圈。S7-200 CPU224的输出端子是继电器型输出理论上有一定带载能力但不能想当然地直接接220V交流接触器。接触器是感性负载断电瞬间会产生很高的反向电动势打在PLC内部继电器触点上时间长了触点寿命急剧下降严重的会粘连。正确做法是PLC输出先驱动24V中间继电器KA再由KA的触点去控制220V交流接触器线圈同时接触器线圈上并接RC阻容吸收装置或者压敏电阻。这一步是实际工程和课设纯演示之间的重要差别。第三个坑是正反转交流接触器之间必须做硬件互锁。PLC程序里可以做软件互锁但程序出了逻辑缺陷或者PLC上电瞬间输出状态未稳定时软件互锁是来不及的。必须在接触器线圈回路里把KM1的常闭触点串进KM2线圈回路、把KM2的常闭触点串进KM1线圈回路这样即使PLC误输出两个接触器也不可能同时吸合。3. 程序逻辑设计状态机、定时器与安全联锁3.1 自动门的运行状态五个状态一台戏拿到需求直接就开始写梯形图是编程初学者最常见的问题。更好的做法是先画状态转移图把运行过程抽象成几个明确的状态再逐个状态去填充置位复位逻辑。自动门程序可以抽象为以下五个状态S0 待机状态门处于关闭停止状态等待触发信号。S1 开门状态执行开门动作电机正转门体打开。S2 开门保持状态门开到位后停止运动开始延时等待行人通过。S3 关门状态延时结束后执行关门动作电机反转门体关闭。S4 防夹状态关门过程中检测到障碍物立即停止关门并转为开门。状态转移条件分别是S0触发条件为红外感应有信号或有开门指令S1转移条件为开门限位动作S2转移条件为延时时间到且无新的人员触发S3转移条件为关门限位动作或防夹触发S4转移条件为防夹信号消失后重新进入开门保持状态。有了这张状态表梯形图就变成对每个状态条件的映射编程难度会大幅下降。也正因为这一点我强烈建议在报告的软件设计部分把状态转移图放在程序梯形图之前这既是规范的工程表达方式也方便答辩时向老师解释你的设计思路。3.2 梯形图核心逻辑置位复位加互锁少用自保持写梯形图的时候很多初学同学习惯用一对常开触点串联线圈再画出自保持回路。这种写法本身没错但当状态多起来之后程序会非常乱线圈之间的互相干扰也很难排查。S7-200提供了置位S和复位R指令在这种带有明确状态转移的控制系统里用S/R指令会让程序结构清晰得多。举个例子。开门输出Q0.0的置位条件是自动模式下红外感应I0.2或I0.3为ON同时不在开门到位状态也就是I0.4的常闭点复位条件是开门限位I0.4为ON。关门输出Q0.1的置位条件是开门延时继电器T37完成且防夹传感器I0.6未动作且不在关门到位状态复位条件是关门限位I0.5为ON或者防夹触发。中间用M0.0作为系统运行标志位只有在M0.0为ON时才允许输出。在此基础上输出端必须加上互锁。虽然没有直接用线圈回路串常闭触点的方式画但逻辑上要保证Q0.0和Q0.1不可能同时为ON。一个非常有效的办法是在置位Q0.0的程序段里串联Q0.1的常闭作为保护置位Q0.1的程序段里串联Q0.0的常闭。写成梯形图就是标准的软件联锁。3.3 延时保持与防夹重开的处理开门保持时间用S7-200的定时器来实现。S7-200的定时器分为TON(接通延时定时器)、TOF(断开延时定时器)和TONR(保持型接通延时定时器)三种这里最适合用的是TON编号可以选T37。T37的使能端接开门限位I0.4的常开。当门开到位时I0.4动作T37开始计时定时值取决于预设值PT单位与定时器分辨率有关。S7-200的T37是100ms分辨率如果需要5秒延时PT值设为50。T37计时完成后其常开触点闭合作为关门状态的启动条件之一。这里要注意T37的PT预设值通常用一个常量直接填入即可但为了报告里体现规范可以定义符号名如开门保持时间并在程序注释里写清楚计算方法5s÷0.1s50。防夹重开是安全逻辑的核心。程序设计思路是在关门过程中如果I0.6防夹信号变为ON立刻复位Q0.1停止关门同时置位Q0.0重新开门。门退回到完全打开位置后I0.4开门限位触发再次复位Q0.0并重置T37开始新一轮的保持计时。这样行人通过后门会自然关上如果障碍物还在门会反复执行关闭→遇到障碍→退回打开的循环不会夹伤人。3.4 手动/自动切换的逻辑细节手动模式不是简单地把自动逻辑跳过它需要实现独立的控制路径。我建议用I0.7切换开关的状态来分域控制I0.7为ON时进入手动逻辑此时开门按钮和关门按钮作为点动操作信号按下时门动作松开即停止I0.7为OFF时进入自动逻辑。在编程上用一个中间继电器M0.1作为手动模式标志位自动逻辑的所有S/R指令使能端都要串入M0.1的常闭手动逻辑的使能端则串入M0.1的常开。这样两条路径互不影响。一个容易被忽略的细节是手动模式下的点动操作同样需要经过互锁和限位判断。比如手动关门时如果已经到了关门限位位置即使按着关门按钮输出也不得动作否则电机会堵转。我见过很多课设程序在手动模式下直接不管限位这是不对的。4. 从仿真到联调排查问题比编写程序更考验人4.1 用STEP 7 Micro/WIN做程序验证的边界S7-200的编程环境是STEP 7 Micro/WIN。写梯形图的过程不复杂新建项目、选择CPU型号、在符号表里定义I/O和M中间继电器的符号名、在程序块里画梯形图、编译通过后下载。很多同学忽略符号表的使用直接用I0.2、Q0.0这样的地址编程虽然也能运行但当程序上百行之后可读性极差答辩老师看着也头疼。规范的做法是给每个地址起一个容易理解的符号名比如室外红外开门电机关门限位等。说到仿真这里必须提前打个预防针STEP 7 Micro/WIN官方版本是不带仿真功能的。网上常用的S7-200仿真器是第三方开发的插件能够模拟一部分数字量I/O、定时器和计数器的逻辑但对一些高级指令如通信指令、中断程序支持并不完整甚至可能出错。它适合做逻辑功能的初步验证不能替代实物联调。用仿真器验证时大致流程是在Micro/WIN里写好程序并编译通过导出为文本格式再导入仿真器选择CPU型号加载程序通过开关按钮模拟输入信号观察输出指示灯的亮灭是否符合预期。我建议至少验证以下几组逻辑感应信号到来时门是否打开、门开到位后定时能否开始、定时结束门是否关闭、关门途中加入防夹信号门是否反转、手动模式能否点动控制、限位触发后输出是否立即断开。4.2 联调三步走先逻辑、再空载、后带载仿真通过之后进入实物联调阶段。实物联调的顺序非常重要我强烈建议按下面三步来走不要一上来就接电机第一步是纯逻辑测试。把PLC输出端接的负载全部换成指示灯或万用表不接任何外部执行元件。手动模拟输入信号观察每个输出点的动作时序是否符合设计。这一步的目的是排除程序逻辑错误因为不接负载时即使程序有问题也不会造成机械事故或电气损坏。第二步是空载测试。把PLC输出接到中间继电器中间继电器控制接触器但电机先不接机械负载——比如把电机和门体脱开或者直接用一个小功率电机代替。此时可以验证接触器吸合是否正常、正反转切换是否平稳、限位信号在电机转动后能否被正确触发。第三步才是带载测试。接上真实门体或模拟负载重点验证关门防夹功能是否灵敏、门体开闭过程是否顺畅、有无机械卡滞导致限位一直无法触发的情况。4.3 现场调试中最常见的三类故障和处理方式这里分享几个我调试过程中真实遇到过的问题也算是最常见的三类故障。第一类感应信号抖动导致的频繁开关门。红外传感器在检测到信号时输出电平在短时间内可能会有多次高低跳动PLC如果每次抖动都触发置位门就会频繁开关。解决办法是在程序里做一个输入滤波比如用一个定时器对输入信号做20~50ms的延时确认信号持续稳定后才认定为有效触发。有些传感器本身带灵敏度调节旋钮可以先调硬件再在程序里做两层防护。第二类PLC输出触点烧坏或粘连。原因就是我前面说的直接驱动了交流接触器线圈。现象是门动作几次之后输出端失灵或者一直输出来而不复位。处理办法是输出端加中间继电器隔离同时程序里确保正反转两个输出不会同时为ON。这个故障在课设中的出现率极高一旦出现基本就能断定是感性负载冲击问题。第三类限位信号不稳定导致门到位置后不停。可能是传感器安装位置松动也可能是信号被机械振动干扰。解决办法一是重新固定传感器二是看程序和硬件上是否有滤波处理三是检查传感器供电电压是否稳定。如果限位使用的是机械行程开关还要注意触点的氧化问题必要时加一个继电器隔离输入信号。5. 项目交付的最后一公里万字报告、图纸与讲解演示5.1 报告各章节的写作重心要落在设计过程上一份合格的课程设计报告老师最在意的不是你最终做没做出来而是你有没有把设计思路和过程表达清楚。如果报告只是从网上东拼西凑一堆概念图跟程序对不上号那基本就告别高分了。我建议报告按下面的框架来组织每个部分的写作重心都要明确绪论不要长篇大论地写随着社会的发展直接写清楚本设计要解决什么问题、完成什么功能、用到什么设备即可。背景一两页足够。总体方案论证重点写方案对比。比如为什么选继电器控制而不是单片机控制为什么选S7-200而不是S7-1200为什么用红外传感器而不是只用微波雷达。写清楚选择理由比堆砌十个优点更有说服力。硬件设计逐一点明每个硬件的选型依据、参数和工作过程配上I/O分配表和系统接线图。软件设计先画总体流程图再画状态转移图最后才是梯形图程序。程序的关键段要有文字说明不能只贴图。系统调试把调试过程中遇到的问题、分析过程、解决办法写出来。这是报告里最能体现工作量和个人能力的部分务必真实、具体。总结与展望总结要克制两三段讲清楚收获和不足即可。展望可以写未来如何扩展比如引入变频调速和触摸屏HMI。5.2 图纸与源文件的整理规范这里要特别强调图纸的规范性。系统原理图用CAD绘制元件符号和线号标注必须清晰如果条件允许用EPLAN绘制会更专业。接线图要跟I/O分配表完全一致这是答辩时老师检查的第一个点——图上写着I0.2接红外实际接线却在I0.3程序里用的是另一个地址三条线对不上那整个作品的可信度会大打折扣。源文件整理方面程序文件要保证打开就能看到完整的符号表和注释。我见过太多课设程序里一个注释都没有满屏都是I0.2、Q0.1这样的裸地址老师根本没法快速看懂逻辑。给每个网络Network添加段注释比如Network 2 开门输出控制这种小习惯在答辩时能帮你省掉大量解释的时间。元件明细表也要单独列出来包括元件名称、型号、数量、规格。这不仅是为了报告完备更是为答辩现场的老师提供对照参考他们经常会随机挑一个元件问这个元件为什么选这个型号成本多少有没有替代方案5.3 讲解演示的节奏设计答辩和讲解环节很多同学容易犯两个错误一是对着PPT从头念到尾二是只演示不看人说。正确的节奏是讲需求→讲方案→讲验证三步走每一步控制在一到两分钟总时长控制在八分钟左右。第一步用一分钟讲清楚我做的这个自动门有哪些控制需求最好配合动画或者状态图。第二步用三到四分钟讲硬件架构、I/O分配、程序核心逻辑重点强调安全联锁设计和防夹保护这是这个题目最能展示工程素养的部分。第三步用两分钟演示实物或仿真演示时一边操作一边解释现象比如按下防夹信号观察门是否反转。整个过程切忌长时间沉默操作要边演示边讲解让老师跟着你的思路走。讲解前我会建议做一张一页纸设计说明备用上面浓缩了系统框图、I/O分配表和核心逻辑三条主线。万一老师问到细节你可以快速定位到对应部分回答显得准备非常充分。这个题目做到最后你会发现收获最大的不是那几个梯形图而是你第一次完整地体验了从需求到交付的工程循环。自动门只是一个载体它真正训练的是你拆解需求、抽象逻辑、处理边界条件、排查故障的能力——这些东西换一个PLC型号、换一个被控对象依然成立。如果你做完这个题目还想继续加深试着把接触器正反转升级成变频器控制或者加上一块昆仑通态触摸屏做可视化监控你会看到同样的门在不同的控制架构下能玩出完全不一样的深度。