APP下载

电梯嵌入式远程监控系统

2014-04-29朱岚

电脑迷 2014年3期
关键词:嵌入式电梯监控

朱岚

摘 要 本设计基于客户/服务器结构,arm6410嵌入式开发板作为电梯服务器,pc机为客户端,客户端在Linux下开发,客户端和服务器端之间通过socket通信。系统在嵌入式开发平台上构建了一个电梯模型,模拟电梯运行。开发板作为服务器端,进行电梯监控,包括通过摄像头对电梯内部的视频图像采集和模拟电梯的实时运行数据的采集,Linux机作为监控主机,接收服务器端数据并进行相关处理与显示。

关键词 电梯 监控 嵌入式 Linux

中图分类号:TP271 文献标识码:A

0引言

近年来,以嵌入式处理器为核心的智能电梯控制系统的飞速发展和普及, 对电梯控制系统的主控制器在功能、实时性、可靠性和软件编程的灵活性提出了更多、更高的要求。因此本文主要讲述如何利用嵌入式技术构建一个智能电梯的控制系统,该系统主要功能是远程控制电梯和电梯视频监控。

1系统的原理结构

本设计采用三星的S3C6410芯片作为电梯嵌入式视频监控系统的核心,通过USB摄像头采集视频图像,实时了解电梯的运行情况,模拟电梯和微处理器可以实现通信,可以实时控制电梯的运行,采集到的视频信号和电梯的底层数据可以通过Internet传输到远端的监控PC上,远端的PC也可以对电梯实现远程操控等。系统总体结构图如图1所示。

2硬件平台设计

图2 电梯服务器硬件平台框图本设计是以采用 S3C6410为一款带MMU的ARM微处理器,可在上面运行标准的Linux操作系统,以减少软件开发时间。S3C6410集成了256M DDR RAM,SLC NAND Flash(1GB)或MLC NAND Flash(2GB)存储器,使其有足够的空间存储程序和数据。DM9000网卡和RJ45接口为接入Internet做好硬件准备,USB接口主要用于USB摄像头。嵌入式电梯服务器硬件设计框图如图2所示。

3软件的实现

在软件设计上采用linux操作系统作为软件开发平台,linux操作系统中最关键的部分是实时多任务内核,它主要实现任务管理、定时器管理、存储器管理、任务间通信与同步、中断管理等功能。电梯嵌入式智能控制器中使用linux操作系统可以将应用程序分解成多任务,简化了应用系统软件的设计,使得电梯嵌入式智能控制器的实时性得到保证,而且良好的多任务设计,有助于提高系统的稳定性与可靠性。以下主要介绍本控制器的主要模块和核心部分。

3.1 模拟电梯模块

模拟电梯模块主要是根据拟定的电梯数据结构,用小键盘模拟电梯的内部操作,采用同方向优先的电梯算法使电梯正常运行,运行的过程就是电梯数据的变化,然后将实时变化的电梯数据存入电梯数据缓冲区,等待监控中心的连接请求,该缓冲区是一个拟定的电梯数据结构体。

3.1.1 电梯数据结构体

typedef struct elevator

{

int m_flag; //电梯运行的标志:1—运行 2—停止

int up_down; //电梯运行方向:上—1 下—0

int cur_floor; //电梯当前所在的楼层

int des_floor[MAX]; // 电梯目标层数组

/*des_floor[0]记录目标层的个数,des_floor[1-9]:值为代表有人要去该层即相应楼层为目标层,为0则表示没有人去该层*/

}elevator;

该结构体实时记录电梯当前的状态和相关信息,它是电梯运行控制的数据核心。监控中心就是通过获取该结构体信息来达到远程监控电梯的。

3.2 键盘模拟电梯操作的处理过程

利用ARM6410开发板上的小键盘来模拟电梯及操作过程流程说明:首先打开键盘设备/dev/mcu/kbd,如果返回键盘设备句柄就可以进行初始化电梯数据,然后进入循环检测状态,检测是否有数字键按下。有键按下则判断该键是否符合已定输入标准,判断标准为:必须输入1-9的数字键,而且输入的数字不可以是当前所在的楼层,同时还是非目标层,然后将输入的数据更新到电梯数据结构体中,即增加了一个目标楼层,若当前电梯没有运行而此时需要运行,则创建一个线程来运行电梯。

3.3 电梯的运行控制

电梯的运行过程是线程实现的,这是本模块的核心。

流程说明:电梯在运行过程中始终处于运行状态,运行结束后处于停止状态,上述线程也就结束,所以在线程一开始判断电梯是否已经处于运行状态,若是,说明某个线程正在进行电梯的运行过程,则不能再有另一个运行线程,于是结束。否则,根据目标楼层数不断循环来到达每一个目标层,当目标楼层数为0时,电梯停止,线程结束。

运行过程中,根据同方向优先算法,先达到运行方向上的目标楼层,当运行方向上没有目标层或已经达到顶端或低端时,才改变电梯运行方向。若運行方向上有目标层时,则一直运行直到达到某个目标楼层,这是通过判断达到的每一层是否是目标层来确定的。只有当达到某个目标层或电梯改变运行方向时,才重新根据目标楼层数来判断是否还有目标层。

流程中的“到达标志”用于标识是否到达一个目标层,当确定某个方向上还有目标层时,在到达一个目标层前(即使有键按下,目标层只可能增多,不会减少),它一直为0,此时不用执行多余的判断是否有目标层的操作,直到到达一个目标层时,将该标志置为1,表示到达了一个楼层,这时才重新判断是否还有目标层。

4 结束语

本文是在ARM微处理器上设计电梯嵌入式智能控制器,采用模块化和嵌入式编程的思想设计,主要包括系统的总体设计、嵌入式硬件搭建、虚拟机工作环境的搭建,嵌入式操作系统移植、根文件系统的构建、应用软件的编写和移植。采用成熟的ARM技术,具有高性能、高集成度、低功耗、低成本、低开发难度等优点,以及采用linux操作系统是开发源码的操作系统,软件资源丰富,同时具有内核功能强大,高校,稳定,支持ARM等优点。因此大大地提高了系统的可靠性和稳定性,将其应用在电梯的控制领域具有很好的发展前景。

参考文献

[1] 邢航,陈安.嵌入式系统在智能电梯中的应用.工业控制计算机,2006:19-5.

[2] 刘利.基于嵌入式系统的电梯核心控制器的设计与实现.天津大学,硕士学位论文,2007.

[3] 张晓林.嵌入式系统技术.北京:高等教育出版社,2008-10.

[4] 华清远见嵌入式培训中心.嵌入式Linux应用程序开发标准教程.北京:人民邮电出版社,2009.

[5] 嵌科技.Mini6410 Qt4和Qtopia编程开发指南-20110112.pdf. 广州:广州天嵌计算机科技有限公司,2011.

[6] 谭浩强. C语言程序设计(第三版).北京:清华大学出版社,2005.

猜你喜欢

嵌入式电梯监控
The Great Barrier Reef shows coral comeback
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
搭建基于Qt的嵌入式开发平台
被困电梯以后
嵌入式软PLC在电镀生产流程控制系统中的应用
电梯不吃人
被困电梯,我不怕
乘电梯
PDCA循环法在多重耐药菌感染监控中的应用