与其它几种现场总线比较而言,CAN总线是最易实现,价格最为低廉的一种,这也是目前CAN总线在众多领域被广泛采用的原因。CAN总线协议是建立在国际标准组织开放系统互联模型基础上的。作为工业控制的底层网络,CAN总线通波特率可高达1Mbps,最远距离可达l0km;通讯采用短帧结构,使得数据传输的时间短,受干扰的几率低,并且CAN总线协议有良好的检错措施,因此CAN总线通讯的可靠性较高。由于CAN总线的安全性,实时性,简单易操作性和价格低廉,使其十分适合在电梯通讯中应用。目前电梯井道系统中,主要采用并行通讯,上行、下行电缆比较多,现场安装调试比较麻烦。采用CAN总线后,通过串行通信方式,构成控制器局域网,仅用四根线,其中两根为电源线,一根信号发送线,一根信号接收线,实现呼梯、内选及显示信号的通信,并为进一步实现多台电梯群控、远程监控、楼宇自动化提供便利接口。
1系统组成及硬件设计
1.1 系统的总体结构
系统基于CAN总线多主结构,以CAN总线控制器82526和总线收发器PCA82C250为主体组成通信控制模块,设计了主控制器、轿厢控制器、门厅控制器。通过串行通信方式构成控制器局域网,实现呼梯、内选及显示信号的通信。但是随着高层建筑的出现和建筑面积的扩大,需要并排设置几台电梯,以完成大楼内的垂直运输任务。为了实现群控,便存在着电梯相互联接的问题,这样就需要有监控微机统一监控调度。这里我们采用485总线实现单台电梯主控制器之间以及与监控微机间的通信。电梯的群控系统结构如图1所示。
图1电梯控群控系统结构图
1.2 系统硬件设计
在单台电梯控制系统中,主控制器要完成其它控制器信号的采集,显示信号的输出,电梯运行控制等一系列的功能。而轿厢及门厅控制器只需要将呼叫信号采集,经CAN总线送往主控制器,并接收来自主控制器的显示信号将它输出即可。因此,轿厢、门厅控制器结构大体与主控制器类似且相对简单。
下面以主控制器(如图2所示)为例介绍硬件设计。电梯主控制器CPU采用了AT89C51单片机。AT89C51单片机是与8X51系列单片机兼容的增强型微控制器,其内部集成了4K字节的Flashrom。由于主控制器是电梯控制系统的核心,担负着控制电梯运行的重要任务,所编出的程序较大,因此,它的外部还要扩展外部程序数据存储器,按常规采用2764和6264。
在单台电梯控制系统中,主控制器与轿厢及门厅控制器之间采用CAN总线实现通讯。CAN总线控制器采用INTEL公司82526芯片。PCA82C250作为CAN总线的接口。82526内部采用硬件实现了数据链路层的全部功能,因而这部分的程序只需将82526中的数据读出和将数据写入82526。图3为CPU与CAN、485接口电路部分的外围电路接线原理图。
图3通讯接口电路原理图
在主控制器中,因为需要输入的点数较多,这里我们采用常用的8255作为输入输出接口芯片。考虑到实际调试、修改程序的方便,主控制器中设计了键盘显示电路,这一部分电路的核心采用专供键盘及显示器接口用的可编程接口芯片8279,以扫描方式工作。扫瞄线SL0~SL2经过3-8译码器产生8路扫描信号。另外为了解决外部的干扰引起的问题,在主控制器中要加入Watchdog电路,保证系统发生故障时能及时让系统回到正常工作状态。
2通讯协议
本系统采用CAN2.0A标准,该协议最大的优点是废除了传统的站地址编码,因此CAN没有节点地址的概念,代之以对通讯数据块进行编码,支持以数据为中心的通信模式。当电梯层站数不同时,只需要在总线上进行增减控制器的节点数,并对相应的数据帧进行适当的修改。
2.1 数据帧
数据帧(如图4所示)包括七个部分:帧起始,仲裁场,控制场,数据场,CRC序列,ACK场,帧结束。仲裁场包括有报文标识符(11位)和远程发送申请位(RTR);控制场由六位组成,后四位为数据长度码,代表数据字节数,这里设为2;传输信号每帧数据含两个字节,高字节表示具体层楼数,低字节设为控制字。
图4数据帧组成
2.2 仲裁
总线空闲时,任意节点都可以发送数据,其它节点都可以接收数据,只需要通过报文滤波即可实现点对点,一点对多点及全局广播等通讯方式,无需专门调度。这里用接收码寄存器,接收码屏蔽寄存器实现报文滤波。
当多个总线控制器同时发送报文时,为避免冲突需进行仲裁,这里采用非破坏性仲裁的方法解决冲突。所谓非破坏性是指这种仲裁方式可以使信息和时间都没有损失,它是借助逐位仲裁帧中的ID号码来实现的。CAN数据帧如前所述仲裁场ID号码唯一的标识一个节点地址,RTR位为0表示该帧为数据帧,为1时表示远程帧,而后者优先权要高于前者。这12位ID号代表报文的优先权高低,数越小优先权越高。
非破坏性仲裁的过程可以用一个例子来说明,如图5,某时刻网络上有三个节点a、b、c同时发送信息,ID标识符的发送顺序为从高位到低位,即由ID.0到ID.11,每发送1字符网络做一次与运算。比如ID.6发送后,网络做运算:0∩1∩0=0,则网络上各节点收到的信息为0。ID.6为1的字节发现接收到的与发送的不同,停止发送。这样就使优先级低(ID大)的节点退出发送。如此比较下去,直到全部ID及RTR发送完毕,网络上仅剩节点c继续发送信息,并且无需重发。
3程序设计
图5 CAN的冲突仲裁过程
主控制器程序流程图如图6所示。根据电梯实际运行的要求,主控制器须通过与轿厢及门厅控制期间的通讯,来实现对轿厢和门厅呼梯信号的采集,完成对电梯运行方向、当前层楼数的判断、显示和中途停车等的控制。同时电梯在运行过程中,主控制器还要对井道中各种开关量限位信号进行采集分析,以实现对电梯的准确控制。在系统调试时,主控制器还应能与PC机实现通讯以方便系统的实时控制。因此,主控制器的程序设计应当充分考虑到上述功能的有机结合。
图6主控制器程序流程图
轿厢、门厅控制器的程序流程框图如图7所示。它们所要完成的功能比较简单即采集呼梯信号发送到主控制器,接收来自主控制器的显示信号并将它们输出。
图7轿厢、门厅控制器程序流程框图
停车控制子程序主要负责电梯停车及轿厢开关门控制。首先,程序输出停车控制字。然后,使电梯开门。接着判断光幕信号是否被截断。若是,则等待,没有被截断的话,再判断此时电梯是否超重,若超重则报警等待,没有则继续判断是否有关门信号,有则电梯关门。没有则延时一段时间后,自动关门,返回主程序。程序流程框图如图8所示。
图8停车子程序流程框图
4结束语
基于CAN总线技术,以AT89C51为核心,采用82526结合PCA820250芯片构成的电梯监控系统在实际应用中,主控制器通过CAN总线收发器借助CAN总线完成与其他主控制器的数据通讯。经在两台8层电梯上实地使用,与代用PLC控制系统相比,故障停梯时间大大缩短,可靠性明显提高,调试和增减内容均比较方便,达到了预期效果。
参考文献:
[1]邬宽明编著,CAN总线原理和应用系统设计,北京,北京航空航天大学出版社,1996.
[2]李恩林,陈斌生主编.微机接口技术300例,北京,机械工业出版社,2003.