图4 向上呼梯的取消
在图4中,辅助寄存器M4.0是电梯向上运动的标志,当电梯的当前运动是向上,则M4.0的触电是关闭的,反之则是打开的。M0.1到M0.7分别对应2楼到8楼的轿厢停止指令。
这个程序由两个功能:
1)、当电梯向下运动时,使电梯能响应正常的向下厅门呼梯指令。当指令响应之后,则取消该指令的登记
2)、当电梯向上运动时,相应楼层向下的厅门呼梯指令不响应并保留指令的登记
向下厅门呼梯的取消则与向上的正好相反。
3.4电梯的方向
电梯可能向上或者向下运动,取决于厅门呼梯和轿厢指令,图5中的梯形图是电梯向上运动的情况。
图5 电梯向上运动
图5表明,当呼叫的楼层比当前电梯所在楼层高时,电梯将向上运动。辅助寄存器M4.0被用作电梯向上运动的标志。当电梯向上运动,向上运动的指示灯就被点亮。M4.0也就被连接上了。当电梯到达顶层时,向上运动的指示灯熄灭,计时器开始运行。0.2秒之后,M4.0被断开。向上运动显示停止。这里M4.0代替了Q3.1,用来确保取消的可靠性。
5
3.5 电梯的楼层停止
图6的是电梯楼层停止功能的梯形图。
如图6,M6.4是楼层停止信号的标志,驱动器传送楼层停止信号到M6.6,火警开关传送火警信号给M7.0,M6.7显示速度改变信号。这些接触器中的任何一个工作,楼层停止信号就会发送。
4 最小等待时间算法
在电梯系统中,通常有两种控制任务,一个是基本的控制功能,用于指挥电梯上下运动,启停,电梯门的开合。另一个则是用来控制一组多个电梯。
作用于厅门呼梯和轿厢指令的一组控制系统的最主要的需求应该包括:对大楼的每一层都提供同样的服务;最小化乘客等待的时间;最小化乘客在电梯轿厢内的时间;
[1]
在规定时间内为尽可能多的乘客服务。
图6 电梯的楼层停止
电梯的组控制有许多种算法,例如最邻近算法[2],这种算法下,电梯总是在下一步先响应最近的要求;分区算法[3]通过分析不同楼层的电梯需求情况来调度电梯;奇偶算法使一个电梯仅仅为基数层服务,而另一个则只为偶数层服务。
最邻近算法使相邻的两个要求之间电梯的空运行最小。从而得到非常小的平均等待时间。但个别的等待时间可能非常长。分区算法通常适用于大楼中流量非常大的情况下,例如午餐时候的办公室大楼。
6
相对于办公楼和购物商场,居民楼的电梯使用人流量是比较小的,而且各层之间人流比较平均。其次,人们通常认为电梯就是一种纯粹的工具,对于他们中的大部分人来说乘坐电梯时间就是在等待。此外,试图满足所有需求也是不切合实际的。基于以上的原因,我们采用最小等待时间的算法来实现2个电梯的并行运行[4]。
4.1 预估函数
最小等待时间算法的目的是预测每个电梯对所有呼叫的响应时间。然后选出响应时间最短的电梯来服务。
当有一个呼叫需要响应时,系统根据等式(1),(2)算出每一个电梯的函数值。
J(*)=Min[J(1),J(2),…,J(n)] (1) J(i)=Tr(i)+KTd(i)+KTo(i) i=1,2,...,n (2)
J(i)是每个电梯的估算指数,Tr(i)表明电梯从当前层运行到最近呼梯的目的地的时间。To(i)则是电梯停止时额外的加速和减速的时间。Td(i)指乘客进入和离开电梯平均所花的时间。K是厅门呼梯和轿厢指令的和。但是厅门呼梯和轿厢指令对应同一楼层,因此只计算一次。
4.2 最小等待时间的计算
在等式2中,K是一个定值,To 和Td可以通过统计的方法获得。Tr = T*L,T表示电梯经过一个楼层的平均时间,L表示从当前楼层到厅门呼梯楼层之间的楼层数。
为了计算L的值,我们假设两个电梯分别为A和B。YA,YB分别表示电梯A和B的当前层。当厅门呼梯键按下,H是一个相应的关键值。H=厅门呼梯所在层的层数。
我们为PLC的实现定义四个表:向上厅门呼梯登记表,向下厅门呼梯登记表,轿厢指令登记表A和B,当某个呼叫按钮被按下时,楼层值被记录在相应的表单中。
以电梯A为例,定义变量MA, MB 和 MW。MA和MB分别代表电梯A或B相同运动方向的轿厢指令的极值。
当电梯A向上运动,使MA等于轿厢指令登记表A的最大值,当电梯A向下运动时,设MA为轿厢指令登记表A的最小值。
MW代表与A方向相同的厅门呼梯的极值。
当电梯A向上运动,并且向上的厅门呼梯值大于等于YA,则MW置0,否则,MW等于向上的厅门呼梯登记表A中的最小值。当电梯A向下运动,并且向上的厅门呼梯值小于等于YA,MW置0,否则,MW的值等于向下厅门呼梯登记表A中的最大值。
这样,我们就能根据YA,H,MA和MW来确定L的值了,总共分为三种情况:1)、当厅门呼梯的方向与电梯A运动方向相反时:
L=|YA-MA|+|MA-H| (3) 2)、当厅门呼梯的方向与电梯A运动方向相同,并且厅门呼梯先于电梯A发出指令:
L=|YA-H| (4)
3)、当厅门呼梯的方向与电梯A运动方向相同,并且电梯A先向该方向运动: L=|YA-MA |+|MA-MW|+|H-MW| (5) 这样,第i层楼的最小等待时间就能按照等式6来计算了:
7
Time(i)=TL(i)+KTd(i)+KTo(i) i=1,2,...,n (6)
当电梯运行时呼叫改变,系统会计算每个电梯的最小等待时间,然后分配当前的呼叫请求到那个拥有较小值的电梯,如果每个电梯拥有相同的值,则优先分配给A。
当有一个电梯发生故障或者不能服务时,系统将会跳出调度算法,而进入单一运行模式。
4.3 算法的实现
与单一电梯的运行模式相比,并行运行模式的区别主要在于对厅门呼梯的处理方法。前者使用集选控制方法,后者使用调度原则与集选控制方法相结合的方式。
这个系统要控制一幢九层大楼,所以我们选择两个Siemens S7-200 PLC(CPU226)以及它的扩展模块去分别控制一个电梯,并使用PPI协议来实现两个PLC之间的交流。
PPI协议采用主从交流模式,所以我们将A电梯定义为主电梯,B电梯为从电梯。通过交流程序,两个PLC能够交换信息:例如当前位置,厅门呼梯还是轿厢指令,运动方向等等。然后使用最小等待时间算法,使两部电梯的运行得到优化。
图7为A电梯轿厢指令极值计算的梯形图
在图7中,VB121~VB130是电梯A每一层轿厢呼叫的寄存器地址。Q3.1是电梯向上运动的指示灯。轿厢指令的极值保存在VB120中。
图7 电梯A的轿厢指令最大值计算
8
5 结论
这篇文章中,我们已经通过使用PLC来改进了一个旧的电梯控制系统,并且实现了两个电梯的组控制。新的控制系统已经使用一年,它的操作方案如下: 1)、低峰时
从早上7点到9点,这时关心人们离开大楼 2)、高峰时
从下午5点到7点,这时关心人们进入大楼 3)、其他
从早上6点到晚上12点的所有时间,除了上述两段时间外,这些时候仅有一部电梯运行。
由于改进之前系统并非并行模式,因此在高峰期和低谷期的平均等待时间和最大等待时间都长于改进后的系统。实践结果表明,改进后的系统表现好于改进之前。
参考文献
[1] Ricardo Gudwin, Fernando Gomide, Marcio. A Fuzzy Elevator Group Controller With Linear Context Adaptation[M]. IEEE World Congress on Computational Intelligence, 2006.
[2] Philipp Friese, Jorg Rambau. Online-optimization of multi-elevator transport systems with reoptimization algorithms based on set-partitioning models[M]. Discrete Applied Mathematics, 2005.
[3] Zheng Yanjun, Zhang Huiqiao, Ye Qingtai, Zhu Changming. The Research on Elevator Dynamic Zoning Algorithm and It's Genetic Evolution[M]. Computer Engineering and Applications, 2008.
[4] Xiaodong Zhu, Qingshan Zeng. A Elevator Group Control Algorithm for Minimum Waiting Time Based On PLC[M]. Journal of Hoisting and Conveying Machiner, 2001.
9