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.
|