针对自动售票机控制系统的设计研究

2014-12-22 19:38高原高姗姗
科技与创新 2014年23期
关键词:控制系统数据库

高原+高姗姗

摘  要:作为现代城市自动化发展的基本组成部分,自动售票机控制系统的应用对改善铁路车站运输系统的运行效率具有重要作用。首先介绍了自动售票机控制系统的关键开发技术,然后具体探讨了自动售票机控制系统的设计,以期为相关技术人员和研究人员提供参考。

关键词:自动售票机;控制系统;数据库;界面编程

中图分类号:U293.221;TP273     文献标识码:A               文章编号:2095-6835(2014)23-0143-02

作为AFC系统的关键终端装置,自动售票机可支持硬币或纸币等支付方式,利用触摸屏等接收乘客提供的信息,通过扩展化的线路模式和地图模式引导乘客购票。当前,国内的自动售票机在硬币装置、纸币钱箱、电磁离合、硬币识别等技术方面发展程度较低,产品性能可靠性较差,难以满足现代城市工作现场和环境的要求。因此,加强有关自动售票机控制系统的设计研究,对提升自动售票机控制系统的设计质量具有重要的意义。

1  系统的关键开发技术

1.1  SQLite数据库

SQLite是一类开源型嵌入式关系数据库,其优良的设计可大幅降低应用程序管理数据的开销。SQLite引擎并非各程序与其通信的单独进程,而是与程序连接组合成它的一个重要组块。因此,关键的通信协议是在编程语言内的直接API调用,这对于简化整体结构具有重要作用。SQLite数据库的基本特征有:数据处理效率高,可用于管理每天载荷高达100 000次点击率的Web站点,且能处理10倍以上数目的负载;存在数据库级锁定,不包含网络服务器,仅需较少的内存空间,且可移植性较高;数据库权限仅嵌入在文件系统中,不存在用户账户的概念;可支持大部分的SQL92标准,可在主要操作系统上工作,且能调用大量计算机语言。

1.2  GTK界面编程

GTK是一类可在多平台运行的图形工具包,依照LGPL许可协议发布。GTK起初被用于GIMP程序,但现在已被开发成一种界面良好、功能多样的通用图形库。GTK本质上是一种物件导向应用软件程式设计软件,它虽采用C语言编程,但主要利用回调函数和类理念开发设计。因此,可认为GTK是一种由多个库组合的集合,并支持创建基于GUI的应用程序。对于设计者来说,GTK可通过图形界面的模式指导研发者开展界面设计,具备较高水平的灵活性、可移植性和可扩展性。

1.3  多类别编程技术

多线程和多进程编程通常用于改善服务器具体运行过程中存在的线程操作、通信、管理等并发访问问题。并发进程通信是完成多进程间相互同步和协作的基本前提,是操作系统内核层的关键部分。消息队列、套接口、套管、共享内存、信号量是当前进程间通信主要采用的通信方法。

文件系统编程一般是指文件管理、读写和各类文件I/O操作等。Linux的文件编程通常采用C语言的标准I/O库函数和系统内嵌API函数。

网络编程的开发通常是以Socket为基础。Socket接口可定义多种例程和函数,属于TCP/IP网络的API,可用于TCP/IP网络应用程序的直接开发。

2  自动售票机控制系统的设计

2.1  设备驱动层

自动售票机控制系统的设备驱动层主要包含读卡器接口、纸币模块接口、出票机构接口、硬币模块接口、辅助设备接口等硬件接口包。

2.1.1          单程票处理模块驱动

依据单程票处理模块通信协议,驱动程序应能实现补充单程票、单程票控制器设置查询、出票至读写区、设置单程票处理器参数、自检、单程票计数器查询等功能。单程票处理模块驱动类依赖于已有的CTicketTransmpl接口,协同驱动层共用通讯类完成链路层通讯。其驱动封装的指令有:TicketToWastebin,将票由读写区移送至废票箱,开启废票闸口间隔固定时间后进行复位;ToTicketBuffer,将移送至暂存区,开启读写闸口并间隔固定时间以确保单程票送至暂存区,随后复位;HopperSelfTest,票箱或储票漏斗自检。

2.1.2          纸币模块驱动

依据纸币模块通信协议,驱动程序应能实现纸币接收、退币、初始化、接收单种面额纸币等功能。因纸币模块的提供厂商所具有的指令集驱动各异,所以设计的纸币模块驱动接口类应对驱动常用方法进行定义。其常用指令有:EnBuf,将纸币由传送装置移送至暂存器中;CanceWork,关闭纸币接收状态。

2.2  业务逻辑层

2.2.1  现金支付模块

现金支付模块主要由纸币支付和硬币支付两个单元构建形成。采用CCash类,该类组合CCoin类和CNotes类,它们均源于CComponent部件类,前者主要对硬币处理器封装,后者主要对纸币处理器封装。

2.2.2  工作状态监控模块

当设备在不同操作模式下工作时,在乘客显示屏和状态显示屏上会有基本的提示信息。在普通操作状态下,该模块可促进完成现金发售单程票、硬币找零等功能。如果设备中出现模块故障且高出系统设置参数值时,该模块会自行跳入至对应的功能受限操作模式。

2.2.3  出票模块

出票模块通常包含单程票读写器和单程票传送机构两部分。采用CTicket类,将CTicketReader和CTicketTransport整合,以用于单程票读写和传送。CTicketReader类中需选用一类重读写策略,以尽量降低误废票率;CTicketTransport类主要选用出票至读写区、单程票计算与回收、当前票数查询等方法。

2.2.4  数据处理模块

数据处理模块包含了数据库操作的各类方法,对外提供由数据库对应表中获取各种交易记录、参数、日志记录等接口。系统初始化过程中会读取数据库中的多种参数文件,由此完成各模块配置和日志记录。

3  结束语

自动售票机控制系统的设计质量直接关系着铁路车站运输系统的运行效率,因此,相关技术人员和设计人员应加强有关自动售票机控制系统的设计研究,总结系统设计的模块方法和关键技术要点,以逐步拓宽自动售票机控制系统的应用范围。

参考文献

[1]崔鹏巍.自动售票机软件的设计与实现[D].北京:北京交通大学,2012.

[2]杨光辉.地铁自动售票机软件系统的设计与实现[D].北京:北京交通大学,2012.

[3]朱嘉斌.自动售检票系统的可靠性设计[J].铁路计算机应用,2011,13(14):74-75.

〔编辑:刘晓芳〕

Design for the Automatic Ticket Machine Control System

Gao Yuan, Gao Shanshan

Abstract: As a fundamental part of modern urban development of automation applications automatic ticket machine control system to improve the operational efficiency of the railway station transport system plays an important role. First introduces the key technologies developed automatic ticket machine control system, and then discusses the design of automatic ticket machine control system to provide a reference for relevant technical staff and researchers.

Key words: vending machine; control system; database; interface programming

猜你喜欢
控制系统数据库
数据库
数据库
基于PLC的自动切蛋糕机的控制方案
Ka频段卫星通信自适应抗雨衰控制系统设计
基于PLC的钢厂热连轧感应加热炉控制系统实现
数据库
数据库
数据库
风力发电机组电气与控制系统快速检修思路探索
数据库