南京地铁自动售票机单程票发售子系统的设计与开发
2015-10-31郁嗣旺
郁嗣旺
(南京地铁运营有限责任公司 江苏南京 210012)
南京地铁自动售票机单程票发售子系统的设计与开发
郁嗣旺
(南京地铁运营有限责任公司 江苏南京210012)
本文也将以南京地铁为例,对其自动售票机单程票发售子系统的设计与开发进行全面的分析。
单程票发售子系统;南京地铁;设计与开发;运行效率
1 简析单程票发售子系统的整体架构
南京地铁中,其单程票发售子系统主要是由四个部分组合而成的,即:票箱、废票箱、“TOKEN发售机制”以及回收票箱。
其中,在“TOKEN发售机制”当中,存在着4个不同类型的票箱,其中有两个均为存票箱,它们都被设置于系统的供票口部位,能够一次性存入一千张以上的单程票。
另外,针对该子系统的每个组成部件,其基本功能如下:
(1)出票管口,单程票经由该管口弹出,且唯有在该管口的“读与写”作用之下,车票才能够具备有效性;
(2)废票箱,储存不具备有效性的单程票;
(3)弹射机制,当系统接收到出票命令之时,会把相应数量的单程票弹射出来;
(4)读写机制,针对单程票,对其作出及时、准确的“读与写”操作;
(5)暂存设备,存储已经处于发售状态的单程票;
(6)传感器,对具备有效性的单程票进行数额的合理计算;
(7)通道挡板,当弹射出的单程票具备有效性之时,该挡板会开始运行,此时,在其作用之下,单程票会落入相应的出票通道。
总而言之,通过对上述各部件功能的简单分析,我们能够作出该系统的运行流程图,详见图1。
图1 系统运行的流程图
图2 通信流程图
2 探析系统通信层的设计和开发
借助“多线程技术”,对串口的通信过程作出合理的设计以及开发,其流程图如图2。
从图2中,我们可以看出:通信系统可被划分为两大部分,也就是主线程以及辅助线程。其中,辅助线程是不具备特定性的,即:在同一个通信系统当中,辅助线程可以有一个,也可以同时有多个,且其数量的确定也是依赖于系统中的驱动模块的。可尽管如此,其依旧是通信系统中的重要组成部分,其类型主要有两种,一种是“数据发送线程”,另一种是“数据接收线程”,它们均可对串口所拥有的所有资源进行及时、准确的读/写操作。而主线程,其作为整个通信系统的主体,它除了具备端口参数的指示以及操作功能之外,还具备对辅助线程进行管理、修改、新增以及删除等功能,且其还同时具备良好的人机交互功能。
3 探究系统控制层的设计及开发
3.1单程票发售部分
借助串口,实现发售机和系统上位机的通信功能,且这两者之间的通信还需遵循下述几个基本原则;
(1)选取“帧传输法”,让两者间实现数据的交互,且通信方式的选择,也应当以“异步串行”为主。
(2)通信参数:9.6×103bps的波特率;没有奇偶的校验位;始以及停止位均为1;不存在“数据流的控制”;8个数据位。
(3)数据帧的实际长度应当在0~64k的范围之内。
(4)票箱A与“UARTA”进行科学地连接;而票箱B则与“UARTB”进行合理的连接。
(5)不具备相应的广播形式。
(6)需进行“BCC校验”,其校验的内容主要有:数据块、数据长度、帧尾以及帧头。
3.2读/写部分
借助“RS232”这个特定的串口,让上位机将命令直接下达至读卡器,并以此来对读卡器的运行情况进行合理的控制;当上位机发送命令或者是读卡器开始反馈数据之时,其通信的方式均为“数组”,值得提出来的是,命令数据一般都处于数组的最前端;执行通信操作之时,上位机以及读卡器均呈现出运行状态,且它们之间进行数据通信的周期通常都不会超过0.5s,否则,系统将会自动的判定通信状态为“不成功”;此种情况下,系统可开始执行重新发送命令,若连续三次都未能成功进行通信,那么系统将会返回“通信失败”。其次,当利用“读卡器命令”,对系统波特率作出设定之时,因在相应的命令完成之后,才能够对波特率进行合理的修正,此时,波特率将会以“文件”的特殊形式,被读卡器进行有效的保存。针对具有多个帧数据的报文,系统只需要接收到其中的一个帧数据,就会让读卡器将“ACK”直接反馈出来。
4 结束语
综上所述,南京地铁作为我国城市轨道交通中的核心工程,其单程售票机系统的设计与开发,不仅提高了自动售票机的运行效率,同时还提升了整个地铁系统运行时的安全性与质量。因此,面对现如今我国城市轨道交通系统中存在着的问题,我们就应当加强对单程售票机进行设计与开发的力度,以尽可能的提升我国城市轨道交通的整体设计水平。
U293.22
A
1673-0038(2015)20-0215-01
2015-4-26