基于树莓派和CodeSys的车间设施SCADA系统
摘要
本研究旨在创建一个SCADA系统原型,用于控制印多拉马工程理工学院电气工程专业车间的照明设施和基于树莓派的风扇系统。该系统由树莓派Model B、UL 2803驱动器、开关模块、继电器模块、灯和风扇组成。树莓派作为控制器或微型PLC,使用CodeSys软件并通过梯形逻辑图进行编程。系统的控制过程还可通过人机界面显示(HMI)实现,人机界面显示采用CodeSys网页可视化功能设计,因此可通过个人电脑或手机网页浏览器在连接校园内网的情况下远程控制该系统。结果表明,所构建的SCADA系统原型能够本地或远程实时控制照明和风扇设备,平均控制时间为200毫秒。
1. 引言
印多拉马工程理工学院拥有作为实训活动场所的车间建筑,需提供舒适的车间环境[1],因此车间应配备良好的设施,如照明和暖通空调(HVAC)[2–3]。目前车间的照明和风扇等设施仍采用传统方式运行,且需要人力进行控制,经常出现的问题是学生和实验室工作人员在实训活动结束后忘记关闭设备。
基于这些问题,作者旨在构建一个基于树莓派的SCADA系统,用于控制照明和风扇的电源。SCADA(监控与数据采集)是一种自动化技术,能够对由子系统和过程组成的控制系统进行监控、控制和数据采集[4]。SCADA在系统中有多种应用,其中之一便是基于树莓派的SCADA系统,如阿莎·约翰女士的研究中所述[5]。该研究讨论了一种可编程逻辑控制器(PLC)[5–6]设备的替代方案,其中树莓派取代了传统PLC,作为软PLC用于小型11千伏变电站[5]的自动化。已实现的基于树莓派的SCADA系统大多将树莓派用作服务器或主终端单元(MTU)[7],同时也用作PLC[5–7]。
本研究设计了一个利用树莓派作为软PLC[5]的原型系统,使用CodeSys[5,8]软件通过梯形逻辑图[9–10]进行编程,该编程语言采用符号来声明继电器、定时器、计数器及其他多种指令的逻辑功能[9–10]。该系统可通过CodeSys的人机界面(Human Machine Interface)显示进行控制,因此在连接网络的情况下,可随时随地进行控制[5,11]。本研究有望提高车间资源利用的效率,以便用于后续分析,同时希望该研究能够成为学习使用梯形图对树莓派进行编程的教学媒介,并为印度尼西亚的研究领域带来附加价值。
2. 研究方法
图1展示了一个系统的框图,该框图的结构有助于理解系统的功能和工作原理。每个模块都有其特定功能,因此当多个模块组合在一起时,将得到一个逐步运行且功能更复杂的系统结果[12]。
SCADA系统原型的硬件设计包括以下组件:
- 树莓派是一种单板计算机(SBC),大小类似于ATM卡,支持Linux作为其主要操作系统[13]。树莓派被用作微型PLC,用于控制和监控灯和风扇的运行。
- 8通道继电器模块作为磁性开关,可由树莓派控制,以接通或断开供给灯和风扇的电源。
- 开关作为输入设备,可在现场直接控制照明设备和风扇。
- ULN2803作为驱动器,每个通道的输出电流为500mA,用于控制继电器[14–15]。
- 灯和风扇作为受控设备。
在此系统中,作为微型PLC的树莓派将根据用户通过Web界面或直接通过开关输入的信号,向继电器模块传输输出信号。该系统包含八个输入开关和八个输出通道,每个输入用于设置一个输出通道。为了明确系统工作流程,我们可以查看如图2所示的系统流程图。系统流程图从初始化树莓派上的GPIO开始,初始化过程完成后,树莓派作为可编程逻辑控制器(PLC)即可接收来自硬件或软件的数据控制输入。首先,程序将检查发送到输出通道1直至最后一个输出通道的数据控制,然后检查每个输出的最终状态是开启还是关闭;如果最后一个输出的状态为开启,则程序将检查输入的控制指令是否为关闭,若是,则将输出设置为关闭,若无控制指令,程序则返回输入读取过程;否则,如果最后一个输出的状态为关闭,则程序将检查输入控制指令是否为开启,若是,则将输出设置为开启,若无控制指令,程序则返回输入读取过程。每个通道的输出控制算法与每个典型输出的流程图相同。
树莓派作为软PLC,使用CodeSys软件版本3.5[5,8]进行梯形图编程,在此系统中,人机界面显示是利用Codesys版本3.5的Web可视化功能设计的,如图3和图4所示。
树莓派上有一个GPIO(通用输入输出)设置需要调整为梯形图程序和人机界面[16]中使用的变量。下表1显示了系统中可编程逻辑控制器(PLC)、树莓派和人机界面的输入/输出地址列表。
表1. 输入/输出地址列表
| No | I/O PLC | GPIO | HMI |
|---|---|---|---|
| 1 | 按钮开关灯1 | %IX2.3 | GPIO 19 人机界面_Lstart |
| 2 | 按钮开关灯2 | %IX2.4 | GPIO 20 人机界面_L2start |
| 3 | 按钮开关灯3 | %IX2.5 | GPIO 21 人机界面_L3start |
| 4 | 开关灯4 | %IX2.6 | GPIO 22 HMI_L4启动 |
| 5 | 开关风扇1 | %IX2.7 | GPIO 23 人机界面_风扇启动 |
| 6 | 开关风扇2 | %IX3.0 | GPIO 24 人机界面_F1启动 |
| 7 | 风扇3启停按钮 | %IX3.1 | GPIO 25 HMI _F2启动 |
| 8 | 风扇4启停按钮 | %IX3.2 | GPIO 26 HMI _F4启动 |
| 9 | 灯1状态 | %QX0.4 | GPIO 4 L1 |
| 10 | 灯2状态 | %QX0.5 | GPIO 5 L2 |
| 11 | 灯3状态 | %QX0.6 | GPIO 6 L3 |
| 12 | 灯4状态 | %QX1.4 | GPIO 12 L4 |
| 13 | 风扇1状态 | %QX1.5 | GPIO 13 F1 |
| 14 | 风扇2状态 | %QX2.0 | GPIO 16 F2 |
| 15 | 风扇3状态 | %QX2.1 | GPIO 17 F3 |
| 16 | 风扇4状态 | %QX2.2 | GPIO 18 F4 |
3. 结果与讨论
测试结果表明,该系统能够实时正常控制灯和风扇。系统测试包括硬件测试和软件测试,其中硬件测试用于测试输入电路、控制器和输出电路。软件测试包括通过网页浏览器进行的HMI显示测试。以下图5显示了系统测试结果。
通过访问地址 http://192.168.100.12:8080/webvisu.htm 开始测试软件,然后通过人机界面显示测试对灯和风扇的控制及状态监控。通过手机或个人电脑进行控制和监控的过程运行正常且实时,符合系统测试结果表中的数据。本测试测量了功能的成功率和传输时间,方法与之前客户端服务器研究中使用的相同[17]。
表2. 系统测试结果
| No | I/O | ON | OFF | Time |
|---|---|---|---|---|
| 1 | 灯1状态 | 成功 | 成功 | 200毫秒 |
| 2 | 灯2状态 | 成功 | 成功 | 200毫秒 |
| 3 | 灯3状态 | 成功 | 成功 | 200毫秒 |
| 4 | 灯4状态 | 成功 | 成功 | 200毫秒 |
| 5 | 风扇1状态 | 成功 | 成功 | 200毫秒 |
| 6 | 风扇2状态 | 成功 | 成功 | 200毫秒 |
| 7 | 风扇3状态 | 成功 | 成功 | 200毫秒 |
| 8 | 风扇4状态 | 成功 | 成功 | 200毫秒 |
4. 结论
基于CodeSys的SCADA系统,结合梯形图编程和基于网页的人机界面显示设计,成功实现了对照明设备和风扇的过程控制与监控。通过基于网页的人机界面(人机界面)显示进行控制和监控,可使用移动设备和个人电脑访问,平均控制时间为200毫秒。Uln2803IC在该系统中至关重要,用于放大来自树莓派GPIO的TTL信号,以驱动8通道继电器模块。本研究有望成为一种低成本系统,可应用于印多拉马工程理工学院的车间,并可作为学生未来的学习媒介。

327

被折叠的 条评论
为什么被折叠?



