周 向 爭
(上海普天郵通科技股份有限公司 上海 200233)
基于Linux系統的旋轉門檢票機設計與研究
周 向 爭
(上海普天郵通科技股份有限公司 上海 200233)
設計的旋轉門檢票機是基于Linux系統的一個實例。從旋轉門檢票機硬件設計方面,詳細介紹了旋轉門檢票機構成、關鍵模塊旋轉門模塊的設計和通道邏輯處理模塊的實現。從旋轉門檢票機的軟件設計方面,詳細介紹了旋轉門檢票機軟件架構和基于Linux操作系統的檢票機應用程序開發。為城市軌道交通自動售檢票系統終端設備的自主研發提供經驗。
旋轉門檢票機 Linux系統 電機驅動
自2000年起,全球城市軌道交通進入新一輪發展階段,中國已經成為全球增長最快、規模最大的市場。隨著提倡低碳環保、大力發展公共交通的今天,軌道交通以其營運準點率高,輸送客流大、低污染等優點,迅速成為城市解決交通問題的首選方案。目前在國內已形成了以地鐵、高架輕軌和快速公交系統等為主的多元化發展趨勢。2015年,中國大陸地區共26個城市開通的城市軌道交通共計有116條,運營線路總長度達3 618千米,投資額高達3 683億元。預計“十三五”期間,我國城市軌道交通建成投運線路將超過3 000千米,城市軌道交通在城市發展和城市交通中的作用將進一步顯現。城市軌道交通將成為城市公共交通的主體,支持并引領城市可持續發展。
與國外許多發達國家相比,我國城市軌道交通起步較晚,目前發展卻十分迅猛。在自動售檢票系統的自動檢票機發展上,經歷了從早期全套引進的三桿式檢票機,到后期被廣泛采用的剪式門檢票機的過程。但直到在高鐵建設中,選用了方便攜帶行李、并能提供快速通過率的進口旋轉門檢票機后,這種在國外的新型旋轉門檢票機才慢慢被大家所認識,并在國內開始研發、并裝備到我國的城市軌道交通自動售檢票系統中。
1.1 旋轉門檢票機
旋轉門檢票機安裝于車站付費區與非付費區的交界處,實現乘客自助式進/出站檢票。旋轉門檢票機能接受軌道交通專用車票、公共交通一卡通車票等車票,并滿足乘客右手持票快速通過的需求。
旋轉門檢票機相對其他類型的自動檢票機具有:箱體更加纖薄、時尚,在同等站臺空間寬度內,可安裝更多的檢票機設備,從而間接提高通過率;檢票機的門翼啟閉門方式,使乘客使用起來更加易用、友好和安全;門翼上下高度可很好地阻止乘客鉆和跳的不正常通行行為;為滿足不同營運需求的通道寬度,可直接調整檢票機的門翼寬度,而無需受箱體的限制等眾多優點。
1.2 嵌入式操作系統
考慮到自動售檢票系統中終端設備的特殊性,它直接會影響到乘客對城市軌道交通服務水平的滿意程度。其中在終端設備上運行的嵌入式操作系統,對設備的運行高可靠性、高可用性和強實時性等作用已漸漸引起各個生產廠家的重視[1]。嵌入式操作系統具有運行效率高,模塊化程度高、可擴展性強和內核開銷小等諸多優點;可以提供多任務、多進程和多線程處理,它具有支持設備種類多、支持網絡、支持圖形窗口以及用戶界面等功能。
目前可供選擇、并已經被國內廠家廣泛使用的嵌入式操作系統有:最常使用的Windows XPe操作系統、基于開源的Linux操作系統、高可靠性的VxWorks和微內核的QNX操作系統。由于Windows XPe 操作系統易受攻擊,有巨大的安全隱患,而VxWorks和QNX開發軟件價格極其昂貴,所以在城市軌道交通自動售檢票系統的終端設備中,應用Linux操作系統變得越來越普及。因此,開發基于Linux系統的旋轉門檢票機是必然趨勢。
2.1 旋轉門檢票機構成
旋轉門檢票機設備主要由主控單元、乘客顯示器、車票讀寫器、通道乘客通行感應器、旋轉門阻擋裝置、單程票回收單元、方向指示器、警示燈和蜂鳴器、語音輔導、維護鍵盤、電源模塊等模塊組成。圖1所示的為典型的雙向旋轉門檢票機模塊分布圖。

圖1 雙向旋轉門檢票機模塊分布圖
旋轉門檢票機設備內部硬件模塊(部件)均為模塊化設計,模塊間采用標準的RS232接口,這也為應用軟件實現參數配置、實現智能識別設備內部主要硬件模塊提供了條件。圖2所示為典型的旋轉門雙向檢票機內部模塊連接方框圖。

圖2 旋轉門式雙向檢票機模塊連接方框圖
2.2 旋轉門模塊設計
旋轉門模塊是旋轉門檢票機的關鍵模塊,它可通過設置,使其工作在常開或常閉狀態。在常開狀態下,旋轉門檢票機若處于正常服務模式時,旋轉門將保持開放狀態。當設備的車票讀卡器識別到一張無效車票或乘客企圖無票通過時,將關閉旋轉門。旋轉門檢票機若處于關閉、故障和暫停服務等狀態時,旋轉門會關閉。在常閉狀態下,旋轉門檢票機處于除緊急狀態外的任何服務模式狀態時,旋轉門均處于關閉狀態。旋轉門檢票機在正常服務模式時,當車票讀卡器識別到一張有效車票后,旋轉門打開,在乘客通過后,若后續沒有再接收到下一張有效車票或檢測到有乘客企圖無票通過時,旋轉門將關閉。
2.2.1 旋轉門模塊工作原理
旋轉門模塊一般由旋轉門機構、電機驅動(伺服控制器)、控制模塊(機構驅動控制器)和電源模塊四部分組成。其中,旋轉門機構則由門翼、轉桿、制動器、機構復位裝置、扭力限制器和直流伺服電機組成。在直流馬達伺服控制器與機構驅動控制器間采用CAN總線結構。機構驅動控制器與上位機的控制接口既可以采用光電隔離的數字接口,也可以是CAN總線結構。圖3所示的是旋轉門模塊原理示意圖。

圖3 旋轉門模塊原理示意圖
在旋轉門檢票機通道兩側,分別安裝左、右兩個旋轉門機構。伺服控制器驅動旋轉門機構中的直流伺服電機,帶動旋轉門機構上的門翼運動。通過伺服電機內的編碼器,識別門翼運動情況,實現對旋轉門機構精確運動控制(閉環結構)。
當發生火災等緊急情況下,旋轉門模塊中的控制模塊在接收到由站臺控制室下發的緊急按鈕信號后,旋轉門模塊立刻處于打開狀態,方便受控區域內的人員快速通過旋轉門檢票機。另外,當旋轉門模塊供電被切斷時,旋轉門模塊在無電的情況下,通過彈簧(或扭簧)方式,將旋轉門機構的門翼拉開至打開狀態。
2.2.2 旋轉門模塊的伺服電機控制
旋轉門阻擋模塊的心臟部件:直流伺服電機一般可分直驅型和非直驅型電機兩種。直驅型電機采用慢速、大扭矩直流電機來直接驅動旋轉門機構的轉桿,電機轉速控制在0至150 r/min范圍內,電機產生的扭矩可達0~7 N·m范圍。圖4所示的是直驅型旋轉門機構。而非直驅型電機的轉速一般采用為3 000 r/min,電機提供的扭矩僅為0.65 N·m,為了達到能正常驅動旋轉門機構,需要通過在電機輸出軸上加裝前置星型齒輪箱,來降低轉速、并提升扭矩。圖5所示的是非直驅型電機組件。

圖4 直驅型旋轉門機構 圖5 非直驅型電機組件
直驅型驅動電機的控制是通過空間矢量算法,使電流以正弦方式換相,因而達到驅動無刷電機、轉矩大、紋波小和噪聲低的功能。另外,直驅型因無需額外的齒輪箱就能提供很高的扭矩,從而就無需添加任何潤滑油和無須維護,提供幾乎沒有噪聲、并具有更低能耗的性能。
非直驅驅動機構的控制是通過直流無刷電機,加裝星型減速機(一般為1∶20左右)的結構。隨著免維護星型齒輪箱和一體化直流伺服電機模塊的出現,該方案同樣可達到直驅型電機的功能。同時,非直驅驅動機構的控制,對旋轉門機構的門翼的配重也不敏感。使配合不同應用場所對旋轉門檢票機通道寬度的需要時,只需更換不同寬度的門翼,在調整旋轉門機構的開啟/關閉門速度后,就可輕松實現。
為實現適用位置的控制,電機控制模式采用數字化速度控制、電流(力矩)控制和位置控制方式,同時結合伺服電機內的編碼器反饋,可以高速精確地驅動電機。圖6所示的是非直驅型電機輸出扭矩曲線圖。圖中黑色實線為額定輸出扭矩與速度曲線,虛線為伺服電機峰值輸出扭矩與速度曲線(短時工作區域)。

圖6 電機輸出扭矩與速度曲線
2.2.3 旋轉門模塊設計
1) 旋轉門模塊伺服電機選擇 鑒于安全和可控性考慮,旋轉門機構采用低壓直流無刷伺服電機。旋轉門機構的門翼在啟閉時保持同步運動、不產生振動(抖動)。在一個開門或關門周期中,旋轉門機構的門翼運動速度為先增大后減小方式。通過對速度和方向信號的動態控制,可以減少電機對機械系統運動的瞬變,使電機運行更加平滑,同時減少機械的磨損。圖7所示的是電機速度控制曲線圖。圖中選用的伺服電機額定轉速為3 000 r/min,通過計算,設置電機速度限制為15 r/s和峰值電流CP,這時加減速度必須達到500 r/s,才可實現旋轉門模塊開/關門時間在0.3秒以內。

圖7 電機速度控制曲線圖
2) 旋轉門模塊安全性控制 為了確保旋轉門機構的門翼不會傷害到乘客,旋轉門模塊在執行開關門動作時,考慮到人體的承受能力,旋轉門模塊在關閉過程中,旋轉門機構的門翼的最大沖擊力不會大于150 N(門翼中間部位)。伺服電機通過電流(力矩)控制方式,在門翼運動中如遇到大于該阻力時(達到設定的電流時),門翼會立刻向相反方向運動(彈開)。當旋轉門關閉后,一旦檢測到旋轉門機構的門翼受到外力(沖撞)情況下,旋轉門機構中的制動器將啟動動作,將門翼鎖定在當前位置。
若門翼承受的沖擊力超過200 N(暴力開門)時,出于保護旋轉門模塊不被人為損壞的目的,旋轉門機構中的扭力限制器會自動開啟。當外力消失、且在旋轉門模塊設立的安全區內空閑(無遮擋物),旋轉門模塊將恢復關閉狀態。另外,配合通道通行策略軟件,在旋轉門機構的門翼開啟/關閉過程中,一旦在旋轉門模塊設立的安全區內檢測到物體(運動)時,旋轉門機構的門翼將會立即急停,避免傷及乘客。
在斷電或緊急的情況下,旋轉門機構的門翼會自動打開,確保受控區域內的人員可以快速通過。
2.2.4 通道邏輯處理模塊
旋轉門檢票機內嵌的通道邏輯處理模塊的正確實現,是衡量旋轉門檢票機的又一個重要考核指標。旋轉門檢票機的通道邏輯處理模塊(乘客通行邏輯處理)主要負責乘客在旋轉門檢票機通道內的通行檢測。它根據主控單元的要求,進行放行或關閉通道。它不僅是一個非常重要模塊,同時它還涉及到乘客安全。
通行邏輯處理模塊的主要工作流程是:旋轉門檢票機的讀卡器采集乘客的車票信息,主控單元處理該車票信息,然后把是否允許通過旋轉門檢票機的信息提供給乘客通行邏輯處理模塊,乘客通行邏輯處理模塊根據該信息,監控乘客在通道內的活動并控制其通行。乘客通行監控一方面檢測乘客是否進入付費區還是非付費區,另一方面保證乘客不會受到旋轉門模塊門翼的傷害。圖8所示的是通行邏輯處理功能框圖。

圖8 通行邏輯處理功能框圖
3.1 旋轉門檢票機軟件架構
基于Linux系統的旋轉門檢票機軟件包括:初始化處理模塊、底層驅動模塊、與站臺控制計算機通信模塊、票務處理模塊、檢票控制模塊和維護模塊組成。表1所示列出了旋轉門檢票機軟件功能劃分表。

表1 旋轉門檢票機軟件功能劃分表

續表1
3.2 基于Linux的應用程序開發
國內絕大多數的自動售檢票系統中的設備應用軟件都是在Windows和Linux操作系統平臺上運行。由于Windows操作系統的易用性較強,基于.Net架構的開發語言很多(常見的有C#、VB、VC等),所以多數的設備生產商都選擇了在Windows操作系統上開發并運行其應用程序。但從安全性方面考慮,由于自動售檢票系統是一個大的網絡系統,一旦某個節點感染病毒,病毒將會快速傳播到整個網絡,造成不可預知的后果,這一切都成為Windows操作系統被繼續使用的重要障礙。
3.2.1 Linux應用的移植
為了快速實現基于Windows應用開發的自動檢票機應用程序,平滑地遷移到Linux操作系統平臺上,我們可采用Wine來運行基于Windows的應用軟件。Wine不是像虛擬機或者模擬器一樣模仿內部的Windows邏輯,而是將Windows API調用翻譯成為動態的POSIX調用,降低了性能和一些其他行為的內存占用。這樣能快速將Windows應用移植到Linux系統上。
3.2.2 Linux應用的開發
在Linux系統中的X Windows下編程還有很多庫可使用。首先是最基礎的Gtk+庫,它是一個小型而高效的控件庫。但它的缺點是不易上手使用,而且文件比較缺,架構又非常復雜[5]。第二種常用方法是基于wxWidgets庫,它是一個用C++編寫的、提供gui開發的框架,提供類似MFC的功能。在Windows上編寫的程序,經過很少修改,就可以在Linux平臺上重新編譯[6]。還有一種流行的開發方法是使用Qt庫。Qt是一個跨平臺的C++圖形用戶界面庫,面向對象機制以及豐富的API,資源也比GTK+ 或wxWidgets多得非常多。所以選擇Qt是開發人員僅需要學會一種API來寫入應用程序[7]。
4.1 測試環境及對象
為了積累國內對新型旋轉門檢票機使用經驗,我們選擇了上海軌道交通一號線、上海南站站作為實驗場所。通過現場實地使用來檢驗旋轉門檢票機關鍵的旋轉門模塊硬件設計方案。在上線的4個通道的旋轉門進站檢票機中,實驗樣機的旋轉門模塊驅動電機涵蓋了直驅型直流伺服電機和帶減速箱的非直驅型電機。旋轉門模塊制動方式涵蓋了離合器制動方式和插銷式制動方式。旋轉門模塊的扭力限制器涵蓋了數控扭力限制器和機械扭力限制器。而在軟件設計中的通行策略上,則統一采用了自主軟件設計。
4.2 測試結果與分析
由于旋轉門檢票機箱體比較纖薄(寬度一般小于180 mm)。在中間機上。為了能在機箱內并排放置兩套旋轉門模塊,要求旋轉門模塊驅動直流伺服電機的直徑必須小于80 mm。但我們在設備生產制造過程中發現,由于直驅型伺服電機電氣和結構特性,雖然直驅型伺服電機旋轉門模塊中單個電機的直徑為80 mm,但并排放置的兩臺電機模塊,會在旋轉門檢票機箱體中間形成一道“墻”,阻斷了旋轉門檢票機設備左右兩端模塊間的線纜排布。而采用帶減速箱的非直驅型電機,由于采用功率和馬達直徑更小的直流伺服電機,或采用帶直角的減速箱等方案,就不存在這個問題。
在使用初期,我們還發現當旋轉門檢票機通道內,有乘客頻繁闖關(制動器啟動)時,旋轉門模塊制動方式中,采用插銷式制動的方案,會經常出現卡死的情況。后來通過修改底層軟件,先帶動門翼做左右微動一下來加以解決。為了實現有效制動,對于采用離合器制動方式的旋轉門模塊,模塊的功耗則相對較大,并會出現磁化現象,造成動作延遲。
在旋轉門模塊的扭力限制器使用上,采用數控扭力限制器方案的旋轉門模塊,會隨著旋轉門檢票機設備的使用,限制器的技術參數會發生漂移,需要定期進行調整。而采用機械扭力限制器方案的旋轉門模塊效果則很好。另外,在采用Windows XPe嵌入式操作系統的旋轉門檢票機上,不久就發現感染的病毒,出現設備顯示界面異常彈窗情況出現。
在軟件開發過程中,我們在三種庫(方法)的使用經驗上,建議如果需要快速移植基于MFC應用程序,可采用wxWidgets庫的方案,但它在支持64位Linux系統上會存在兼容性問題。但從長遠的可持續發展角度考慮,Qt的優秀的跨平臺特性是一個不錯的選擇。
經過一年多的使用情況來看,旋轉門檢票機能很好地應對大客流和火車站需要攜帶大量行李場合的要求,乘客通行速度也較其他類型的自動檢票機要快。另外,在國產化自主可控的大背景下,我們還嘗試使用國產普華Linux操作系統和具有自主知識產權的ReWorks操作系統[8]作為自動售檢票系統設備的操作系統,并取得了很多的經驗,為徹底打破國外在自動售檢票終端設備上的技術壟斷,為城市軌道交通建設的健康發展打下堅實的基礎。
[1] 周向爭.基于多平臺應用軟件的軌道交通終端設備研發[J].有線通信技術,2009(1).
[2] DGJ08-1101-2005上海市工程建設規范:城市軌道交通自動售檢票系統通用技術規范[S].2005.
[3] DGJ08-1102-2005上海市工程建設規范:城市軌道交通單程票非接觸集成電路(IC)卡通用技術規范[S].2005.
[4] DGJ08-1103-2005上海市工程建設規范:城市公共交通非接觸集成電路(IC)卡通用技術規范[S].2005.
[5] 宋國偉.GTK+2.0編程范例[M].清華大學出版社,2002.
[6] 王強譯.使用wxWidget進行跨平臺程序開發[OL].2006.http://www.phptr.com.
[7] 陸文周.Qt5開發與實例[M].2版.電子工業出版社,2015.
[8] 周向爭.基于ReWorks操作系統的自動檢票機研究[J].計算機應用與軟件,2013,30(5):211-215,286.
DESIGNANDRESEARCHOFREVOLVINGFLAPGATESYSTEMBASEDONLINUX
Zhou Xiangzheng
(ShanghaiPostandTelecommunicationCo.,Ltd.,Shanghai200233,China)
The design of revolving flap gate in this paper is an instance based on a Linux system. From the aspects of hardware, the paper elaborated key modules design, the realization of the flap door module and the logic processing module. From the aspect of software, software architecture of revolving flap gate and computer application development based on Linux operating system was introduced in detail. It provides experience for independent research and development of terminal equipment of urban rail transit automatic fare collection system.
Revolving flap gate Linux system Motor control
2017-03-28。上海市軟件和信成電路產業發展專項資金項目(150614)。周向爭,教授級高級工程師,主研領域:計算機與應用工程。
TP39
A
10.3969/j.issn.1000-386x.2017.12.024