第四章 系统软件部分的设计

4.1 程序流程图设计

基于PLC的智能家居控制系统程序流程如图4-1所示。

图4-1 系统程序流程图

这两张图分别展示了基于PLC的智能家居控制系统的手动和自动运行程序流程。手动模式下,系统开始运行后进入手动操作状态,根据需求手动开启或关闭空调加热、空调制冷、走廊灯以及燃气报警等设备,操作简单直接,能满足用户即时的个性化控制需求

自动模式体现系统的智能化特性。制热模式下,系统先进行温度检测,当当前温度小于开始加热温度时,空调制热开启;当温度上升至大于停止加热温度时,空调制热关闭。制冷模式依据温度检测结果控制空调制冷的开启与关闭。在有人检测的自动流程中,检测到有人后进行光强检测,若当前光强小于开启走廊灯设定强度,走廊灯自动开启;当光强大于停止走廊灯强度设定时,走廊灯关闭。对于燃气浓度检测,当燃气浓度大于报警设定浓度,报警器响应;当浓度降低至小于报警器设定关设定值时,报警器关闭。整个自动模式通过传感器实时采集环境数据,依据预设条件进行逻辑判断,实现设备的自动控制。

4.2 编程软件的介绍

本次设计采用了西门子S7-1200 PLC作为核心控制单元,为了编写程序和设计触摸屏画面,选择了博途TIATotally Integrated Automation),这是一个集成的软件平台,提供了友好的用户界面和丰富的功能模块。博途TIA整合了编程、组态、调试、诊断等多种功能,能显著提高工作效率。用户可借助其完成对西门子各类自动化设备的配置和编程,像PLCHMI、驱动装置等。该平台提供直观的图形化界面,即使是新手也能快速上手。博途TIA具备强大的诊断功能,能快速定位和解决系统故障。在数字化转型浪潮中,博途TIA以其高效、集成的特点,成为工业自动化领域广泛应用的软件工具。

4.3 PLC程序设计

本次智能家居控制系统的梯形图程序包括运行指示、手动/自动控制、时间处理、温度模拟调节、燃气浓度监测报警以及走廊灯控制等功能。各类传感器信号和控制按钮状态的读取,利用逻辑运算和数据处理指令,实现设备控制,本次设计的PLC程序如下所示。

  1. 当运行指示(Q0.0)和手动指示(Q0.1)有效时,按下空调制冷开按钮(I0.4) 或组态空调制冷开(M0.4)信号有效,就会置位空调制冷输出(Q0.3),程序如图4-2所示。

图4-2 PLC程序段1

  1. 系统首次扫描(M9.0)时执行数据传送操作,MOVE指令,分别将2025、2、20、12、29、30这些数值依次传送到数据块2中的“nian”(年)、“yue”(月)、“ri”(日) 、“shi”(时)、“fen”(分)、“miao”(秒)对应的存储地址。用于初始化智能家居控制系统中的时间参数,为后续基于时间的自动化控制功能提供基础数据。程序如图4-3所示。

图4-3 PLC程序段2

  1. NORM_X和SCALE_X指令,将光强信号(IW96)转换成实际光照强度值存储于MD24;程序段3对燃气浓度信号(IW98)做类似处理,转换结果存于MD32 ;程序段4则是将温度信号(IW100)转换为实际温度值,存于MD40。程序如图4-4所示。

图4-4 PLC程序段3

  1. 程序段9中,当手动指示有效时,调用手动程序(FC1) ;程序段10里,自动指示有效则调用自动程序(FC2)。程序段11实现按下自动按钮(M0.3),且手动按钮(M0.2 及其组态)未触发时,自动指示置位,系统进入自动运行模式。程序如图4-5所示。

图4-5 PLC程序段4

  1. 程序段12利用RD_SYS_T指令读取系统当前时间,将返回值存入数据块1的“int_biaozhi”(DB1.DBW12),时间数据存于“data_now”(P#DB1.DBX0.0),方便系统基于当前时间进行控制逻辑判断。程序段13中,当数据块2的“zhixin”(DB2.DBX28.0)条件满足,通过WR_SYS_T指令将“inouttime”(P#DB2.DBX0.0)设定的时间写入系统,实现时间设定功能。程序如图4-6所示。

图4-6 PLC程序段5

  1. 当M300.0(“Tag_1”)为低电平时,启动转换操作。多个CONV指令,分别将数据块2中存储的月、日、星期、时等整数格式的时间信息,转换为无符号整数格式 ,并存储到数据块2中对应的地址,便于时间进行自动化控制。程序如图4-7所示。

图4-7 PLC程序段6

  1. 程序段15在运行指示为低电平时,复位手动指示(Q0.1)等8个相关位。程序段16当运行指示、制冷模式开启且当前温度不超45.0,在1Hz时钟脉冲下以0.64的步长增加当前温度。程序段17则是运行指示有效且空调制冷输出时,在1Hz时钟脉冲下,若当前温度高于18.0,以1.12的步长降低当前温度,模拟制冷效果。程序如图4-8所示。

图4-8 PLC程序段7

  1. 程序段18在运行且为制热模式,当前温度不低于2.0时,以0.47步长降低温度;程序段19当运行且有制热输出,当前温度低于30.0时,以0.98步长升高温度。程序段20在燃气浓度不高时,控制其在低浓度范围变化。程序如图4-9所示。

图4-9 PLC程序段8

  1. 程序段20在运行指示有效,且无燃气高标志和组态燃气高信号时,若当前燃气浓度低于0.12,以0.01步长增加浓度;高于等于0.12则设为0.03。程序段21当运行指示有效,且出现燃气高标志或组态燃气高信号时,将当前燃气浓度设为3.6mg/m³,实现不同状态下的燃气浓度模拟。程序如图4-10所示。

图4-10 PLC程序段9

  1. 程序段22在运行指示有效且出现组态燃气高信号(M12.2)时,置位燃气报警蜂鸣器输出,提示燃气浓度高。程序段23则是当运行指示有效,组态燃气高信号和燃气高标志(I12.2)均消失后,复位燃气报警蜂鸣器输出,解除报警。程序如图4-11所示。

图4-11 PLC程序段10

  1. 当运行指示和自动指示效且走廊灯输出开启时,每1秒(M10.5)增加当前光照强度值。检测到组态有人信号(M12.3)后启动10秒定时器,计时结束复位该信号;另一个12秒定时器控制走廊灯输出,灯灭时将光照强度设为100.0。程序如图4-12所示。

图4-12 PLC程序段11

  1. 当运行指示和自动指示有效,且处于制冷模式(M5.0)时,若当前温度(MD68)大于或等于开始制冷温度(MD44),则置位空调制冷输出开始制冷;若当前温度小于停止制冷温度(MD48),则复位空调制冷输出(Q0.3)停止制冷,程序如图4-13所示。

图4-13 PLC程序段12

  1. 当运行指示与自动指示有效,且处于制热模式(M5.1)时,若当前温度(MD68)低于开始制热温度(MD52),则置位空调制热输出(Q0.4)开始制热;若当前温度达到或高于停止制热温度(MD56),则复位空调制热输出(Q0.4)停止制热。程序如图4-14所示。

图4-14 PLC程序段13

  1. 当运行指示(Q0.0)和自动指示(Q0.2)有效时,若检测到有人信号(I12.3或M12.3)且当前光照强度(MD76)小于300.0,置位走廊灯输出(Q0.7)开启走廊灯。程序如图4-15所示。

图4-15 PLC程序段14

  1. 当运行指示(Q0.0)和自动指示(Q0.2)有效时,若出现燃气高标志(I12.2)或组态燃气高信号(M12.2) ,置位燃气报警蜂鸣器输出(Q1.0),同时将当前燃气浓度(MD72)设为3.6 。程序如图4-16所示。

图4-16 PLC程序段15

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐