1、1CAN 总线技术在电梯群控系统中的应用摘 要:本文将 CAN 总线技术应用于电梯群控系统,设计了群控系统调度模块的硬件和软件流程。该群控系统不仅能根据当前的客流状况,对多台电梯进行合理的群控调度,提高电梯的运行效率,而且还有助于及时发现并消除电梯故障,从而为电梯安全、高效运行提供可靠保障。 关键词:电梯群控系统 CAN 总线 通讯接口 Researchon CANBus for Elevator Group Control System Xiao yu ling1Sun li na2 (1 2 Henan Vocational CollegeofChemical Technology, He
2、nanProv,Zhengzhou450042,China) Abstrac:The thesis introduced an design method of Elevator Group Control System which is based on Can BusThe hardware and software design of the Elevator Group Control System are designed and implemented in this paper Keywords:Elevator Group Control,CAN Bus,Communicati
3、on interface 一、引 言 2随着现代高层建筑的发展,人们对大楼内垂直交通的要求也越来越高,以往人们注重于电梯安全性和舒适度的要求,现在对电梯候梯时间、乘梯时间和电能损耗等方面上有了新的要求,这就需要合理安装多台电梯,而这种对多台电梯的优化调度系统,就是电梯群控系统。 目前电梯群控系统大多采用的是 RS-485 总线。这种通讯由主机定时向各个子控制器发出呼叫,然后经由子控制器应答,结构简单,但是这种通讯方式通常会造成主机异常繁忙、数据传输率低、灵活性差、一旦主机出现故障,整个系统也将瘫痪。而 CAN 总线具有以下优点: (1)采用多主方式工作;(2)网络上的节点可以分成不同的优先级,
4、来满足不同的实时要求;(3)采用非破坏性总线仲裁技术;(4)通信距离最远可达lOkm,通信速率最高可达 1Mbps;(5)每帧信息都有 CRC 校验,保证数据出错率极低。基于以上原因本文提出了一种将 CAN 总线技术应用在电梯群控系统中的方法,以满足现代电梯群控系统的通讯性能要求。 二、电梯群控系统的总体结构 本文采用 PHILIPS 公司生产的 SJA1000 型 CAN 总线控制器,具有完成电梯群控系统通信协议所要求的全部特性,电梯群控系统的总体结构如图 2.1 所示。 系统由一台电梯群控调度模块计算机和多个单梯系统控制模块通过CAN 现场总线连接起来。每个模块都有 CAN 总线通讯接口与
5、总线相连,每3一个单梯控制模块既是群控系统中的一个组成成员,也具有独立的单梯控制功能。在发生异常情况时,可以脱离群控系统单独运行。当情况恢复正常时,可以重新加入群控系统中。 三、电梯群控系统调度模块的硬件结构 目前常用的 CAN 总线控制器有两大类:一类是独立的 CAN 控制器,另一类是带有芯片 CAN 的微控制器。本次设计采用 SJA1000 型 CAN 总线控制器为核心,硬件电路如图 3.1 所示。 整个电路主要由微控制器 AT89C51、通信控制器 SJA1000 和总线收发器 PCA82C250 三部分组成。其中总线驱动器选择 PCA82C250 作为SJA1000 与物理总线的接口,
6、是由于该接口芯片支持多达 11O 个节点,这样就完全可以满足电梯群控系统的实际需要,并且可以实现接口的标准化。图中 CANH、CANL 的引脚各自通过一个电阻与 CAN 总线相连,电阻起到一定的限流作用,保护 PCA82C250 免受过流的冲击。 四、电梯群控系统的软件设计 CAN 总线采用 OSI 底层的三层网络结构,物理层、数据链路层和应用层。物理层和数据链路层的功能由 CAN 接口器件完成,包括硬件电路和通讯协议两部分。CAN 通讯协议规定了四种不同用处的网络通讯帧:数据帧、远程帧、错误指示帧和超频帧。CAN 通讯协议的实现以及各种通讯帧4的组织和发送,都是由集成在 SJAl000 通讯
7、控制器中的电路实现的,因此电梯群控系统的开发主要任务在应用层软件的设计上。其主程序流程图如图 4.1 所示。CAN 总线的通信软件设计主要包括三个部分:SJA1000的初始化、数据的发送和数据的接收。 (一) SJA1000 的初始化程序设计 SJA1000 的初始化程序必须在软件复位模式下才可以进行。初始化设计主要是设置通信参数:即通过对 SJA1000 的寄存器写入相应的控制字,从而确定 SJA1000 的工作方式、模式寄存器、时分寄存器、接收代码寄存器、屏蔽寄存器、总线定时寄存器、输出模式寄存器和中断寄存器的设置等。初始化程序如图 4.2 所示。 (二) SJA1000 数据发送程序设计
8、 把数据存储区中待发送的数据取出,组成信息帧,然后将信息帧发送到 CAN 控制器的发送缓冲区,在接收到主机的发送请求后,发送程序启动将报文写入发送缓冲区。数据从 CAN 控制器发送到总线,以及信息从总线发送到控制器的接收缓冲区都是根据 CAN 协议规范自动完成的。其程序流程图如图 4.3。 (三) SJA1000 数据接收程序设计 CAN 总线的数据接收程序中 SJA1000 报文的接收主要有两种方式:中断接收方式和查询接收方式。本设计采用中断方式,其程序流程图如图 4.4 所示。CPU 以一定的周期来读取 CAN 控制器的状态寄存器,接收缓冲区状态如果为“空”表示没有收到报文,接收缓冲区状态
9、为“满”时,表明已接收一个或多个报文,CPU 会从 CAN 控制器的接收缓冲区读取报文5并保存,然后释放接收缓冲区处理接受的报文。 五、结 语 本文采用了以 SJA1O00 为核心的 CAN 总线技术,实现了电梯群控系统中各个模块之间的通信要求。该系统不仅能根据当前的客流状况,对多台电梯进行合理的群控调度,提高电梯的运行效率,而且还有助于及时发现并消除电梯故障,从而为电梯安全、高效运行提供可靠保障,更提高了电梯的服务质量。 参考文献: 1杨祯山、邵诚:电梯群控技术的现状与发展方向J控制与决策,2005,20(12):1321-1331; 2董骊:基于模糊控制的群控电梯调度算法研究长春工程学院学报J2009 年 10 月,第 10 卷第 2 期:96-99; 3黄剑礼、周义江:CAN 总线在电梯群控系统中的应用研究J网络与通信,2007 年 6 月,第 28 卷第 8 期:161-162; 4绍玉华:基于 SJA1000 的 CAN 总线通信系统的设计J铁道通信信号,2010 年 3 月,第 46 卷第 3 期:56-58。 注:本文中所涉及到的图表、注解、公式等内容请以 PDF 格式阅读原文 6