quote:以下是引用Automann在2011-09-21 09:41:42的发言:
我赞成先讨论思路,不要 忙着贴程序,有了一个好的思路,变为程序并不困难,那种没有经过调试的程序毫无意义。
下面是我的思路:
设置有保持功能的上行、下行标志,二者互锁,相当于有抢答功能。
以下行为例,下行标志为1,地下红灯亮,地上绿灯亮。地上有车进入通道时计数器加1,车辆离开通道计数器减1,计数值非零时灯的状态不变,为0时地上、地下的绿灯亮。
因为不会同时对上行、下行的车计数,只需要一个计数器。
此外设置一个车库内停车数的计数器,车经过地上入口时停车数计数器加1。计数值等于预置值时地上的红灯亮。
地感线圈应设在单行道入口之前一定距离,红灯在单行道入口处,以防止地上、地下的车几乎同时压到地感线圈时,“抢答”失败的车因为惯性进入单行道。因为上、下行标志有互锁,只有一边的绿灯亮。这可以解决冬日女侠所说的“两边都为绿灯时,两辆车同时进入,或者将进入时为绿灯,变红灯时已经来不及停下,穿过了感应器的情况----即两辆车在很短的时间里同时进入”。
“几辆同向进入的车辆对于反向等待的车辆的等待是否公平,如现在有几辆车进入的话,后面有车就一直跟着进,程序是否要限定单向行驶数量?”这是个公平和效率的问题。我赞成只允许同向的车跟进的原则。它类似于电梯的同向运行原则,电梯正在上行时只响应电梯上面的楼层的呼梯命令。
此外还需要设置用人机界面预置车库内已有车辆数(计数器初始值)和设置指示灯初始状态的功能。
要是在进入通道口里面不远的地方再设个红灯和绿灯,这样要是两辆车同时进,另一台晚进的车还能知道自己没有抢到通道,可以返回