ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

S7-200 PLC与组态王实现图书馆照明控制系统详解

S7-200 PLC与组态王实现图书馆照明控制系统详解 图书馆照明控制听起来是个老实的课程设计题目认真做一遍你会发现S7-200 PLC、组态王、梯形图程序、接线图、原理图这几样东西刚好把自动化入门阶段的硬件选型、软件编程、上位机组态、低压电器控制全部串了起来。我最近帮人完整复现了一套图书馆照明控制方案从I/O分配、梯形图逐网注释到组态王监控画面再到现场接线调试走完一遍之后踩的坑比闷头看书一个月学到的都多。这篇文章把整套做法梳理出来给正在做课程设计、毕业设计、或者单纯想拿PLC练手做个真项目的你一份可以直接照做的参考。文章不堆理论全是从图纸到程序、从软件到硬件的实操记录。1. 这个题目到底要解决什么问题需求拆解与方案选型1.1 图书馆照明的控制需求很多同学拿到这类题目第一反应是“不就是用PLC控制几盏灯嘛”。真到设计阶段才发现图书馆照明并不是一个开关控制一个灯泡那么简单它至少包含四层需求第一层是分区控制。图书馆一般会有大厅、阅览区、书架区、走廊、办公区、卫生间每个区域的功能不同开关时间不同。阅览区可能晚上10点还有学生自习大厅闭馆后就没人了走廊则需要通宵保留基础照明。如果所有灯一条回路控制那基本没法用。第二层是时间控制。图书馆有固定的开馆闭馆时间比如工作日8点到22点周末9点到21点这个时间表不能靠人每天手动开灯应该由系统根据实时时钟自动判断。第三层是节能联动。有些无人区域可以采用“人体感应延时关灯”的方式人来灯亮、人走灯灭。再讲究一点的还会叠加上光照度检测晴天下午自然光足够时即使有人也不开灯阴天或傍晚再自动补光。第四层是远程监控与手动干预。值班室需要看到每个区域的灯当前是什么状态也要能在特殊情况下远程开灯或关灯比如有活动、加班、临时闭馆清场。也就是说完整的图书馆照明控制系统至少要具备分区独立控制、按时间自动切换、人体感应联动、远程组态监控、手动应急干预。这五个功能才是题目的完整需求只做一个灯亮灯灭的程序分数大概率不会高。1.2 为什么偏偏是S7-200加组态王这套方案用了西门子S7-200 PLC搭配组态王很多人会问现在不是已经有S7-200 SMART、S7-1200这些新产品了吗为什么还要用老掉牙的S7-200理由其实很实际。S7-200是高校和培训机构里存量最大、资料最全的PLC型号课程设计箱里十套有八套是CPU224周边教材和历年参考程序到处都是。更重要的是S7-200的编程软件Micro/WIN和组态王之间的PPI通讯非常成熟一个USB-PPI编程电缆就能完成上下位机连接不需要额外买以太网模块成本低、出错率也低。对于教学场景和入门项目稳定好用比追新更重要。组态王KingView是国内工业组态软件里占有率很高的产品6.60这个版本到现在还有很多工厂在用。它最大的优点是对PLC驱动支持非常完善S7-200的PPI驱动是自带的标准配置定义好COM口和波特率基本不用折腾。画面组态方式也比较直白画图、建变量、连动画入门门槛不高。还有一个原因题目的输出物是“梯形图程序接线图原理图组态画面”这正好是自动化课程设计的标准交付物。用S7-200加组态王正好把PLC编程、电气图纸设计、上位机组态三个技能点全覆盖一个项目练三样本事。这套组合虽然老但教学价值和工程参考价值都在。如果你手头有的是S7-200 SMART逻辑基本通用后面我偶尔会提一句差异。2. 硬件清单与I/O分配做对选型少走一半弯路2.1 核心器件清单项目开始之前先列器件清单别急着画图。我实际使用的一套配置如下你完全可以照搬序号元器件名称推荐型号/规格数量用途说明1PLC主机西门子CPU22414DI/10DO继电器输出1系统核心控制逻辑2扩展模块可选EM22316DI/16DO按需分区超过10个输出时扩展3编程下载线USB-PPI编程电缆1程序下载与组态王通讯4转换开关三挡位手动/停止/自动1手自动模式切换5人体红外感应开关吸顶式/壁挂式输出干接点按区域无人时自动延时关灯6中间继电器24VDC线圈2开2闭例如LY2NJ10PLC输出点扩展驱动能力7交流接触器线圈220VAC触点25A按回路控制220V照明主回路8断路器/熔断器C型1P/2P小断路器若干各支路短路保护9开关电源明纬220VAC转24VDC 2A以上1给PLC和继电器供电10指示灯/蜂鸣器220VAC或24VDC若干柜面状态指示和报警PLC主机选CPU224而不是更便宜的CPU221主要原因是CPU224有14个输入点和10个输出点本机资源在这个项目里刚好够用。只有8个照明分区加几个输入点的时候CPU224不需要扩展模块控制柜里的东西少接线也简单。如果用的是CPU226输入输出点数更多但价格更高没有必要。中间继电器这一项很多人会忽略。S7-200继电器输出点本身触点容量是2A能不能直接带灯小功率实验可以但图书馆一个照明回路可能是十几盏灯并联启动电流很容易超过2A直接烧触点。正规做法是PLC输出点先带24VDC中间继电器的线圈中间继电器触点再去接220V交流接触器的线圈交流接触器主触点带照明负载。这样形成了两级放大也实现了强弱电隔离。电压等级混接是焚毁PLC的最常见原因后面排错部分我会细讲。2.2 I/O地址分配表I/O点规划设计得好不好直接决定程序好不好写。我按照8个照明分区来做地址分配这是在课程设计和实际工程中最常看到的规模。如果区域少于8个删掉多余的就行多于8个把对应输出点平移到扩展模块上。输入点分配地址注解信号类型I0.0手自动切换开关ON自动干接点I0.1大厅人体感应干接点I0.2阅览区A人体感应干接点I0.3阅览区B人体感应干接点I0.4走廊人体感应干接点I0.5手动开灯按钮远程/面板干接点/按钮I0.6手动关灯按钮远程/面板干接点/按钮I0.7闭馆强制复位信号干接点输出点分配地址注解控制对象Q0.0大厅照明中间继电器KA1Q0.1阅览区A照明中间继电器KA2Q0.2阅览区B照明中间继电器KA3Q0.3走廊照明中间继电器KA4Q0.4书架区照明中间继电器KA5Q0.5办公区照明中间继电器KA6Q0.6系统运行指示灯柜面指示灯Q0.7报警输出可接蜂鸣器蜂鸣器/指示灯输入输出中间预留了一个“M区规划”程序里需要用到的中间继电器地址统一约定M0.0作为自动模式标志M0.1作为开馆时间使能标志M0.2作为组态王远程手动命令M0.3作为闭馆检修模式。M区变量提前规划好梯形图写起来会清爽很多否则程序写一半才发现要用某个M点回去找地址会非常痛苦。2.3 接线图和原理图的关键细节接线图和原理图是题目的交付重点但很多同学画的图只有PLC端子和灯完全不符合电气规范。我画图纸时坚持几条原则。第一强弱电分区绘制。一张图纸上24VDC控制回路和220VAC动力回路一定要从物理布局上分开否则现场接线时极易混淆。实际配电柜里也是分线槽走线的弱电走一侧强电走另一侧图纸上如果不分开审核都过不了。第二PLC输入接线的公共端问题。S7-200的DC输入电路分漏型和源型两种接法。使用三线制NPN型传感器时传感器输出低电平有效公共端M接24V正极输入点I接传感器信号线使用PNP型传感器时公共端M接24V负极输入点I接传感器输出。最稳妥的方法人体红外感应开关选输出干接点型相当于一个无源触点一端接公共端M另一端接输入端子。干接点不涉及极性接错概率最低强烈推荐。第三输出回路的隔离。PLC每个输出公共端1L、2L、3L默认独立可以用不同电压。项目里我让所有输出公共端统一接24VDC正极Q0.0到Q0.7的输出点分别接到各中间继电器线圈正极所有继电器线圈负极统一接24VDC负极。中间继电器触点侧单独接220VAC回路带动接触器线圈。这样PLC侧永远只接触24V强弱电之间靠继电器隔离安全性最好。第四原理图里一定要标线号。这是我吃过亏的地方。每个端子排的位置、每根线的线径、线号管编号都要在图纸上体现。现场调试时拿着图纸查线如果线号标注清楚30分钟能排查完的问题没标线号可能要搭进去半天。课程设计图纸虽然没有企业那么严格的标准化要求但养成标线号习惯对你之后干工程项目极有帮助。图纸画法上用AutoCAD Electrical或者EPLAN都可以如果手上没有专业电气软件用普通AutoCAD也能画。关键是站对视角原理图表达“怎么工作的”接线图表达“线从哪到哪”。两者不是同一张图不要混为一谈。3. 梯形图程序逐网拆解带解释的完整逻辑3.1 程序框架与“一个输出只写一次”原则梯形图程序是这个项目的灵魂也是最能被评判老师看出水平的部分。我们先定框架整体程序分为四个模块系统状态模块、时间判断模块、分区控制模块、输出综合模块。每个模块用网络注释分隔开程序的可读性直接提升一个档次。开始写之前记住一条铁律同一个Q点在整个程序中只能有一个输出线圈。比如Q0.0输出大厅照明那么整个程序里Q0.0这个线圈只能出现一次所有控制Q0.0的条件全部并联到这一个线圈前面。有人写的程序里Q0.0出现了两次或三次逻辑上看似没问题实际运行时后面的线圈会直接覆盖前面的结果输出根本不受前面的条件控制。这个问题在考场和实际工程里都高频出现下面的程序例子也完全遵循这个原则。3.2 手动/自动切换与实时钟读取第一个网络处理模式切换很简单Network 1手自动模式切换 LD I0.0 M0.0当转换开关打到ON位置时I0.0为ONM0.0自动模式标志置位。如果打到OFF则M0.0复位系统进入手动状态。这个网络看起来小儿科但它是整个程序的总开关后面所有自动逻辑都必须串联M0.0的常开触点手动逻辑则串联M0.0的常闭触点。第二个网络是实时钟读取这是很多人不熟悉但非常实用的功能Network 2读取系统实时时钟 LD SM0.0 TODR VB0SM0.0是特殊继电器上电后一直为ON所以这段程序在PLC运行的每个扫描周期都会执行一次。TODR是S7-200的读实时钟指令执行后会把当前时间写入VB0开始的8个字节里。这8个字节的排列顺序是固定的VB0是年、VB1是月、VB2是日、VB3是时、VB4是分、VB5是秒、VB6是保留、VB7是星期。也就是说我们需要用到的“小时”存放在VB3里。S7-200没有内置超级电容保持时钟断电后时间会丢失但重新上电后只要系统里有备用电池CPU224后面有电池槽时间还是能维持的。没有电池的话每次开机时用Micro/WIN的PLC菜单里的“设置时钟”功能校时一次即可。3.3 时间使能判断用TODR读出小时再比较有了VB3这个小时数接下来就可以做时间窗口判断。假设图书馆开馆时间是8点到22点Network 3开馆时间使能判断 LDB VB3, 8 AB VB3, 22 AN M0.3 M0.1LDB是字节大于等于比较AB是字节小于比较。两个条件串联意思就是当前小时数大于等于8且小于22同时不在检修模式M0.3下则M0.1置位表示当前处于开馆有效时间。M0.1在后面的所有自动分区逻辑中都要作为公共条件串联进去。为什么用“小于22”而不是“小于等于22”因为22点这个词本身是一个时刻从22:00开始到22:59这段时间小时数仍然是22刚到22点整就该闭馆了。如果你的闭馆时间是22:30那用“小时数小于22且分钟数小于30”这种双条件组合也能做但更简单的做法是直接缩小开馆时间窗口比如设置到21:59或者固定闭馆时间在整点。这里我直接设定22点闭馆省掉分钟比较逻辑干净。另外一个容易踩坑的点S7-200的字节比较指令在梯形图里符号是LDB或者AB但很多教材版本里比较指令的输入操作数必须指定是字节、整数还是双整数。VB3是字节所以用B开头的指令LDB、AB而不是W或D指令。有人用LDW比较VB3结果数值范围变成了16位边界判断很容易出现莫名其妙的偏差。3.4 人体感应联动与无人延时关断下面进入最核心的分区控制逻辑。我拿大厅这一路来详细拆解其他分区完全同理把感应点地址换掉就行。大厅照明的自动模式逻辑Network 4大厅照明自动控制 LD M0.0 // 自动模式 A M0.1 // 开馆时间有效 A I0.1 // 大厅人体感应有信号 O Q0.0 // 自保持灯已亮时保持 AN T37 // 无人延时定时器未到未超时 AN I0.7 // 闭馆强制复位信号 Q0.0 // 驱动大厅照明输出这段程序的含义要逐条说清楚。LD M0.0是系统处于自动模式A M0.1是当前时间在开馆窗口内A I0.1是感应器检测到有人这三个条件同时满足Q0.0当然要亮。O Q0.0是自保持回路意思是即使感应器信号瞬间消失只要Q0.0还亮着线圈就能通过这个常开触点继续得电。这一步非常关键因为人体红外感应器输出的是脉冲或者短时闭合信号如果没自保持人稍微动一下就熄灯了。AN T37是“无人延时定时器没有动作”这个条件。T37定时器在“大厅无人”状态下开始计时计时满60秒后T37常闭触点断开让Q0.0失电。这个逻辑保证了人离开后灯还能亮60秒不是瞬间熄灭符合实际使用习惯。AN I0.7是闭馆强制复位闭馆清场后值班人员按下I0.7无论什么条件大厅灯都强制关闭。大厅无人延时定时器还要单独一个网络写Network 5大厅无人60秒延时定时器 LD I0.1 // 大厅有人 TON T37, 600 // 延时60秒TON是接通延时定时器当I0.1为ON时定时器一直复位不计时只有I0.1变为OFF后开始计时600是60.0秒S7-200 TON的时基是0.1秒。人离开60秒后T37动作T37常闭触点断开Q0.0被切断。如果在这60秒内又有人进来I0.1重新变为ON定时器复位清零重新开始等待灯继续亮。这个“人走灯亮60秒”的体验非常常见实际工程里一般设置在30秒到90秒之间太短体验差太长浪费电。用同样的套路复制Network 4和Network 5把I0.1换成I0.2、T37换成T38输出的Q0.0换成Q0.1就是阅览区的控制逻辑。书架区、走廊区域都是同一个模板。注意每个分区延时定时器要独立否则一个区域没人会触发另一个区域的灯熄灭。3.5 远程手动控制与最终输出汇总手动模式并不是说完全让操作员去现场按墙上的开关组态王远程控制一样可以在手动模式下使用。程序如下Network 6组态王远程手动控制大厅灯 LD M0.2 // 组态王远程“开”命令 O Q0.0 // 或当前已经亮 AN M0.4 // 组态王远程“关”命令 AN I0.7 // 闭馆强制复位 Q0.0M0.2和M0.4是组态王画面上的按钮控制的中间变量。组态王按下“开”按钮M0.2瞬时置位按下“关”按钮M0.4瞬时置位。这里利用O Q0.0自保持让灯状态在无操作时保持不变。你可能会问这个网络里的Q0.0怎么又出现了一次注意整个程序的结构Network 4里有Q0.0线圈Network 6里也有Q0.0线圈这不就违反“一个输出只写一次”原则了吗所以最终输出综合网络要单独做。上面的Network 4其实是“自动逻辑中间变量”网络输出不直接给Q0.0而是给一个中间变量M0.5。同理Network 6输出给M0.6。最后再加一个网络Network 7大厅照明最终输出 LD M0.5 // 自动模式逻辑结果 O M0.6 // 手动/远程模式逻辑结果 AN M0.7 // 故障或检修强制关断 Q0.0 // 最终驱动输出这样Q0.0只在Network 7出现一次前面所有条件都汇总成中间变量再在输出网络合并。这种结构叫“逻辑分解输出集中”工程上非常常用。好处很明显未来想加检修模式、加故障保护、加报警条件只需要在Network 7里串并联一条线路不需要去翻前面的自动逻辑。其他分区的输出也采用这个套路每个分区的自动逻辑和手动逻辑各自放到独立的中间变量里最后统一汇总到对应Q点。调试的时候你可以用Micro/WIN的状态表监控M0.5、M0.6等中间变量快速定位问题出在自动逻辑还是手动逻辑里效率高得多。完整程序逻辑框架表如下网络编号功能关键输出1模式切换M0.02读取实时钟VB0-VB73时间窗口判断M0.14-5大厅自动逻辑延时M0.5/T376-7大厅手自动汇总Q0.0依次类推各分区独立逻辑Q0.1-Q0.54. 组态王监控画面把PLC的数据变成一张图4.1 设备通讯配置让组态王和S7-200“对上话”组态王的功能是让值班室电脑上能实时看到图书馆每个区域的照明状态并且能远程干预。第一步是建立组态王与PLC的通讯。安装好组态王6.60之后打开工程管理器新建一个工程。双击进入开发系统左侧工程树里找到“设备配置”双击“新建”设备驱动选“PLC”下的“西门子”再选“S7-200系列”最后选“PPI”。这里别选成MPI或者以太网USB-PPI编程电缆走的就是PPI协议。通讯参数设置是关键。选择好串口号一般是COM3或更高取决于USB转串口驱动分配的编号波特率默认9600这个必须和PLC实际参数一致。S7-200出厂默认波特率是9600如果你在Micro/WIN里修改过PPI参数组态王这边也要跟着改两边不一致的典型症状是设备报“通讯失败”或者变量全部变成0/灰色。连接好编程电缆在组态王里点“测试”如果能看到返回正常说明通讯链路已经通了。这一步是很多新手卡住的地方我见过有人在组态王里摆弄了一上午变量定义结果根本原因只是COM口号选错。所以记住先做设备测试再定义变量。4.2 数据词典I/O变量与内存变量怎么定组态王里所有要和PLC交换的数据都要先在“数据词典”里定义变量。双击“数据词典”新建变量。对于本项目需要定义的变量分为两类。I/O变量这种变量直接映射PLC的I/Q/M区地址是组态王从PLC实时读写的通道。常用变量如下表变量名变量类型连接设备寄存器数据类型读写属性大厅照明I/O离散PLC1Q0.0读写阅览区A照明I/O离散PLC1Q0.1读写阅览区B照明I/O离散PLC1Q0.2读写走廊照明I/O离散PLC1Q0.3读写书架区照明I/O离散PLC1Q0.4读写办公区照明I/O离散PLC1Q0.5读写自动模式指示I/O离散PLC1I0.0只读大厅人体感应I/O离散PLC1I0.1只读闭馆复位命令I/O离散PLC1M0.7读写远程大厅开I/O离散PLC1M0.2读写远程大厅关I/O离散PLC1M0.4读写这里最容易出错的是寄存器地址的写法。在组态王里S7-200的I区寄存器填I然后地址填0.0Q区填Q地址0.0M区填M地址0.2。要注意I0.0和Q0.0是两个完全不同的地址变量定义时千万不要把“大厅照明”这个输出变量误选到I区否则画面上永远显示不了正确的状态因为I0.0是转换开关不是灯。内存变量这种变量不出PLC只在组态王内部使用比如画面上的“操作员登录状态”、“当前时间显示”等可以定义成内存离散或内存字符串。如果不需要复杂逻辑本项目内存变量用一两个就够了大部分信号直接走I/O变量。还有一点细节组态王变量采集周期默认是1000毫秒也可以改成200毫秒刷新速度越快CPU占用越高照明监控这个场景1000毫秒完全够用不用追求高刷新。4.3 画面组态平面图、指示灯、按钮与动画连接画面设计是组态王里最有成就感的部分。新建画面后按照图书馆平面图布局用矩形工具画出大厅、阅览区A、阅览区B、走廊、书架区这几个区域。每个区域图形做两套外观亮灯时填充淡黄色灭灯时填充灰色。实现方法是在矩形上右键“动画连接”选择“填充颜色”关联对应的I/O离散变量。组态王支持根据变量值切换颜色变量为1时显示颜色一变量为0时显示颜色二整个过程不需要写脚本。我实测下来这种“颜色切换”的可视化比用“隐含”功能更直观一眼能看出哪个区域亮着。画面上再放几个按钮。按钮的“弹起时”动作和“按下时”动作要分开设置远程开灯按钮在按下时置位对应的M变量例如M0.2弹起时不用管PLC里的自保持逻辑会维持状态远程关灯按钮按下时用“置位M0.4”让关命令生效然后再加一个延时或复位逻辑把M0.4清掉否则关命令一直保持灯永远开不了。这里有个实操技巧组态王按钮的“按下时”事件里可以写“\本站点\远程大厅关1;”而在“弹起时”事件里写“\本站点\远程大厅关0;”。这样M0.4只在按下瞬间为ON松开后自动复位和PLC程序里的设计完全对上。很多教程只教“按下时置位”不教“弹起时复位”结果就是变量一直为1灯关了一次之后再开就开不起来了。画面最后加一个系统时间显示可以调用组态王自带的系统变量或脚本显示在画面角落。这一项很加分现场值班人员看到监控画面上的时间会觉得很专业实际上就是一行文本加一个变量的事。数据记录方面如果课程设计需要展示趋势曲线可以用组态王的“历史趋势曲线”控件把每个照明分区的变量加进去运行时就能看到每个区域的开灯时段。不做趋势曲线也完全不影响功能属于锦上添花。5. 现场接线调试与常见问题排查5.1 调试顺序空载、半载、满载软件程序写完组态王画面做完真正的考验在调试阶段。很多项目前几步顺风顺水一到接线上电就翻车原因就是没有按秩序分阶段调试。第一步是空载调试。PLC只接24V电源不接任何输入输出负载。把程序下载到PLC用Micro/WIN状态表监控M0.0、M0.1、T37这些中间变量的变化。转换开关切到自动观察M0.0是否正确置位临时改一下PLC系统时间看M0.1时间窗口判断是否正确。这个阶段所有信号靠状态表验证不接外部设备目的是先确认程序逻辑本身是对的。第二步是半载调试。接上手自动转换开关、人体感应器、按钮这些输入设备在PLC输出端子上临时接发光二极管代替真实照明负载。注意人体感应器刚上电会有一段稳定时间部分感应器通电后前30秒会一直输出有信号这是正常现象不是故障等它稳定后再测试。逐个人体感应点测试过去看看对应的输出灯是否正确亮起、延时关断是否正常。这一步如果直接把220V照明接上去万一PLC程序里哪个条件写错了导致灯乱跳调试时反复通断照明设备灯具寿命损耗非常严重也容易出安全事故。第三步才是满载调试。PLC输出端通过中间继电器、接触器接真实照明回路。全载测试时重点看接触器吸合是否有异响、继电器动作是否干脆、照明回路的断路器有没有误跳。全载状态下多跑几个循环让每个输出点都动作几十次确认在长时间运行下没有触点粘连或异常发热的情况。5.2 高频故障与排查方法我把实际调试中遇到的典型问题整理成了速查表对你排查故障很有用现象可能原因排查方法组态王所有变量显示灰色或0COM口选错/波特率不一致/编程电缆驱动没装好先到设备配置里做通讯测试再查设备管理器里的端口号PLC输入指示灯不亮但信号确实已经触发公共端M接线错误或者感应器类型选错万用表测输入端子与M之间的电压该有24V没电压就是公共端问题灯一亮就灭或者无人时也亮人体感应器输出信号类型和PLC输入极性不匹配用万用表量感应器输出信号是否随人体移动变化确认干接点还是PNP/NPN程序监控里Q0.0已经为ON但灯不亮中间继电器线圈电压不匹配/输出公共端没接24V/接触器故障按信号链路逐级量电压PLC输出端、继电器线圈两端、继电器触点、接触器线圈远程按钮按下去灯开了再按关也关掉但下次开不了组态王关命令变量没有在弹起时复位M0.4一直为ON检查按钮弹起事件是否写了变量赋0最稳妥做法改为用鼠标弹起事件复位程序下载后运行正常断电重启后时间全错S7-200后备电池没装或没电CPU224电池槽装CR1025电池用软件重新校时某个分区灯一通电就亮不受程序控制Q输出点被多个网络重复赋值后面网络覆盖了前面检查梯形图里Q0.x线圈出现次数统一改成中间变量最终输出结构人体感应器是最容易出问题的外部设备。我踩过的一次坑是买了一批输出为PNP型三线制的人体感应模块接线时按干接点接法接到PLC输入端结果公共端电压一直建立不起来所有感应信号全部失效最后是拿万用表逐个测电压才定位到问题。所以采购感应器时一定要问清楚输出方式优先选干接点型省去一大半麻烦。5.3 几个值得记住的实操习惯调试经验攒下来几个小习惯非常值得培养。一是每次修改程序前备份。很多人用Micro/WIN时喜欢直接在下载程序上改结果改到第好几版发现新程序还不如旧程序稳定想回退却找不到原始版本。我在项目目录下建一个版本文件夹程序按v0.1、v0.2命名每改一次另存一个新版本加一句话注释改动内容。这个习惯救了我很多次。二是现场一定要随身带万用表。很多故障不是逻辑问题是线松了、端子没拧紧、断路器跳闸了。万用表电压档放在顺手位置先量电压再怀疑程序。我见过有人对着PLC状态表看了两个小时最后发现是中间继电器线圈的一根线从端子上掉下来了。电工作业的基本功永远不能不备。三是在PLC程序里加运行状态输出。最典型的做法是用SM0.0驱动一个慢闪输出接到柜面指示灯上证明PLC程序在正常循环。程序卡死、PLC进入STOP状态、通讯中断时这个灯会以不同状态提醒值班人员。我项目里把Q0.6定义成系统运行指示灯1秒周期闪烁效果非常直观。四是图纸要跟着现场改。前期画的接线图和实际接线如果存在偏差要第一时间更新图纸不要觉得“我知道哪根线是干嘛的”就一直不改。半个月后你自己都会忘记偏差在哪更别说下一个接手的人。项目最终交付时图纸和实际接线必须完全一致这是职业底线也是课程设计评分的重要加分项。6. 写到最后一点实操体会这套S7-200加组态王的图书馆照明项目表面上是“用PLC点灯”实际上把自动化专业的几项核心基本功全过了一遍I/O规划、梯形图编程、电气图纸设计、上下位机通讯、现场调试排障。我在实际做的时候体会最深的一句话是凡是能在图纸上解决的事千万不要留到接线现场去解决。I/O分配表多花一小时反复核对后面能省一天改线的时间梯形图里输出点统一汇总调试时能少掉一大半头发组态王变量定义先写清楚寄存器地址通讯出问题时定位也会快得多。这套方案做完之后你手里积累的不只是一个及格的项目而是一套可以迁移到更多控制场景的完整方法论。如果后续想扩展加个光照度模拟量输入模块就是自动调光加个MCGS或力控组态就是换一套上位机核心逻辑几乎不用变。
返回列表