智慧城市之車輛追蹤和設(shè)備遠(yuǎn)程監(jiān)控方案 —— 射頻識別技術(shù)行駛汽車識別系統(tǒng)
概述:
引用射頻識別、定位、通訊、軟件等技術(shù)對車輛進(jìn)行識別與遠(yuǎn)程監(jiān)控的項(xiàng)目,車載裝置是種短距射頻發(fā)射裝置,不停發(fā)送包含本車編號的信號,在到達(dá)接收點(diǎn)時(shí)被接收裝置接收,然后向管理中心報(bào)告該車到達(dá)本接收點(diǎn)。識別的時(shí)候,車的速度是小于50公里/每小時(shí),并不涉及收費(fèi),是收到報(bào)到信號后通知后臺,后臺再控制其他非車載裝置。車上只添加一個(gè)相當(dāng)于射頻信標(biāo)的發(fā)送裝置,接收裝置固定在路邊,與后臺互聯(lián),車上只有發(fā)送裝置,沒有其他設(shè)備,貴方要做的是車載發(fā)送F1(發(fā)信標(biāo))、路邊接收F2,F(xiàn)2收到信標(biāo)后進(jìn)行識別,如果通過識別就通過移動(dòng)通訊網(wǎng)和互聯(lián)網(wǎng)通知后臺。
本方案主要是天津小蜜蜂公司據(jù)為某城市的智慧城市項(xiàng)目的需求中的車輛管理提供的軟硬件一體化解決方案。
軟硬件應(yīng)用
本項(xiàng)目相應(yīng)主要涉及的軟硬件系統(tǒng)的配置情況主要如下:
﹙1﹚車載裝置CZ
車載裝置CZ包括有車載實(shí)時(shí)位置信息發(fā)送模塊GPS+GPRS、數(shù)據(jù)和語音通訊模塊SIM、信標(biāo)發(fā)送模塊XB;
CZ樣機(jī):
路旁車輛載信標(biāo)識別裝置SB包括有數(shù)據(jù)通訊模塊SIM、信標(biāo)識別模塊XBS;
SB樣機(jī):
CZ樣機(jī)和SB樣機(jī)的軟件開發(fā);
業(yè)務(wù)臺電腦GLX1的網(wǎng)頁軟件開發(fā)
追蹤臺電腦GLX2的網(wǎng)頁軟件開發(fā)
車隊(duì)電腦GL2的網(wǎng)頁軟件開發(fā)
項(xiàng)目方案
1. 現(xiàn)有車載定位及防盜裝置的結(jié)構(gòu)
圖1A 現(xiàn)有車載定位及防盜裝置的結(jié)構(gòu)示意圖
圖1是現(xiàn)有汽車追蹤及防盜監(jiān)護(hù)系統(tǒng)的車載定位及防盜裝置CZ結(jié)構(gòu)示意圖,圖1中,GL是監(jiān)護(hù)及管理中心,GPS模塊得電后冷啟動(dòng)進(jìn)入待機(jī)狀態(tài);
CZ的微處理器CPU發(fā)送的控制A信號﹙熱啟動(dòng)信號﹚到來時(shí),GPS模塊立即開始通過SIM模塊向GL發(fā)送本機(jī)實(shí)時(shí)位置信息;
當(dāng)插入車鎖匙并擰到接通電源位置時(shí),CPU立即通過SIM模塊向GL發(fā)送代表車鎖已開的信息;
圖1B ofo共享單車電子裝置結(jié)構(gòu)示意圖
或某個(gè)保安傳感器檢測到異常,CPU立即通過SIM模塊向GL發(fā)送代表某保安傳感器檢測到異常的信息;
或呼援鍵被按下,CPU立即通過SIM模塊向GL發(fā)送呼援信息;
GL通過公共互聯(lián)網(wǎng)系統(tǒng)和公共移動(dòng)通訊系統(tǒng)向CZ發(fā)送斷開供油的指令時(shí),CZ收到該指令后,立即使本車油泵繼電器斷開油泵電源。
2. 本項(xiàng)目的車載裝置CZ
2.1. CZ的硬件設(shè)計(jì)方案
本項(xiàng)目的車載裝置CZ保留了現(xiàn)有車載定位及防盜裝置全部的硬件﹙紅色線內(nèi)的結(jié)構(gòu)示意圖﹚,添加了射頻信標(biāo)模塊﹙藍(lán)色線內(nèi)的結(jié)構(gòu)示意圖﹚;
CZ的微處理器CZCPU 不需使用現(xiàn)有裝置的PIN1﹙I/O端口,呼援按鍵位﹚,利用現(xiàn)有裝置的PIN2﹙I/O端口,車鎖狀態(tài)監(jiān)察位﹚接一個(gè)功能鍵K1,按下K1時(shí),K1=0;
利用現(xiàn)有裝置的PIN3﹙I/O端口,繼電器控制位﹚,作爲(wèi)XB和GPS模塊的控制位,KA=0時(shí),熱啟動(dòng)及運(yùn)行XB和GPS模塊。
圖2A 本項(xiàng)目CZ及其相關(guān)系統(tǒng)的結(jié)構(gòu)示意圖
2.2. CZCPU的軟件設(shè)計(jì)方案
﹙1﹚車載信標(biāo)裝置XB的操作
KA=0時(shí),XB由XB定時(shí)控制器控制,每間隔500ms發(fā)送一次代表本車XB編號的地址碼﹙射頻信標(biāo)﹚,直到KA=1爲(wèi)止。
如果KA=1,射頻信標(biāo)裝置XB就靜默。
圖2B CZCPU的程序概略流程圖
﹙3﹚發(fā)送實(shí)時(shí)位置信息和信標(biāo)
如果K1=0﹙K1第1次被按下﹚,就將KA置0,使GPS模塊發(fā)送實(shí)時(shí)位置信息、射頻信標(biāo)裝置XB發(fā)送本車信標(biāo);
完成后再看K1,如果K1=1,就等待;
﹙4﹚通知出發(fā)
如果K1=0﹙K1第2次被按下﹚,就向指揮中心的電腦GLX1﹙例如GLA1﹚發(fā)送01﹙通知GLX1,立即追蹤本車,以及關(guān)停安裝在車隊(duì)的聲光報(bào)警器BJ的指令代碼﹚,完成后再看K1,如果K1=1,就等待;
﹙5﹚通知到逹接載點(diǎn)
如果K1=0﹙K1第3次被按下﹚,就向GLX1發(fā)送02﹙通知GLX1,本車到逹接載點(diǎn)的信息代碼﹚,完成后再看K1,如果K1 =1,就等待;
﹙6﹚通知到逹目的地
如果K1=0﹙K1第4次被按下﹚,就向GLX1發(fā)送03﹙通知GLX1,本車到逹目的地的信息代碼﹚,完成后再看K1,如果K1=1,就等待;
﹙7﹚通知返回車庫
如果K1=0﹙K1第5次被按下﹚,就向GL1X發(fā)送04﹙通知GLX1,本車已返回車庫,可以結(jié)束對本車追蹤的指令代碼﹚,完成后先將KA置1,使XB和GPS模塊休眠,再看K1…..。
3. 本項(xiàng)目的射頻信標(biāo)接收和識別裝置SB
3.1. SB硬件設(shè)計(jì)方案
本項(xiàng)目的識別裝置SB保留了現(xiàn)有車載定位及防盜裝置的部分硬件﹙紅色線內(nèi)的結(jié)構(gòu)示意圖﹚,添加了與車載射頻信標(biāo)模塊XB匹配的射頻信標(biāo)接收和識別模塊SB﹙藍(lán)色線內(nèi)的結(jié)構(gòu)示意圖﹚;
其中,SB有其自己的微處理器SB,它從SIM模塊取得要接收和識別的XB清單,信標(biāo)通過識別時(shí)向識別裝置的微處理器SBCPU發(fā)送通過識別的信號;
XB和與之匹配的SB的結(jié)構(gòu)、原理及識別操作過程,與所有射頻遙控器﹙再生式高頻遙控器,超高頻數(shù)碼遙控器,藍(lán)牙遙控器﹚完全相同,一個(gè)信標(biāo)裝置+一個(gè)識別裝置的成品零售價(jià)在20~50元之間。
SBCPU 不需使用現(xiàn)有裝置的語音模塊和GPS模塊;
圖3A 本項(xiàng)目SB及其相關(guān)系統(tǒng)的結(jié)構(gòu)示意圖
利用現(xiàn)有裝置的PIN1﹙I/O端口,呼援按鍵位﹚,作爲(wèi)繼電器狀態(tài)監(jiān)察位,繼電器輔助觸頭吸合時(shí)PIN1=0;
利用現(xiàn)有裝置的PIN2﹙I/O端口,車鎖狀態(tài)監(jiān)察位﹚接SB的識別信號輸出位K1,信標(biāo)通過識別時(shí),K1=0;
利用現(xiàn)有裝置的PIN3﹙I/O端口,繼電器控制位﹚控制一個(gè)繼電器,PIN3=0時(shí),繼電器得電吸合。
3.2. SBCPU的軟件設(shè)計(jì)方案
SB的資料庫ZL中保存著車載射頻信標(biāo)裝置XB的地址碼;
3.2.1. 射頻信標(biāo)接收和識別模塊SB﹙省略流程圖﹚
射頻信標(biāo)接收和識別模塊SB得電后立即運(yùn)行;
如果收到信標(biāo),就先暫存到接收寄存器FA,再看資料庫ZL中有沒有與FA中的數(shù)D1相同的數(shù)據(jù)組D2﹙地址碼﹚;
如果有相同的數(shù)據(jù)組﹙D1=D2﹚,就先從K1位向SBCPU發(fā)送一個(gè)500ms負(fù)脈沖﹙通知SBCPU,有被追蹤的車到逹本位置﹚,再將ZL中的D2清除﹙清除已報(bào)到的SB編號﹚,然后FA清零,完成后等待下一個(gè)信標(biāo)到來……。
SB採用中斷模式來處理SIM模塊的信息,有新信息到來時(shí)執(zhí)行中斷程序;
執(zhí)行中斷程序時(shí),先關(guān)中斷,再看該信息是否爲(wèi)前兩位字符爲(wèi)SB的數(shù)據(jù)組;
如果是前兩位字符爲(wèi)SB的數(shù)據(jù)組,就看資料庫ZL中是否爲(wèi)清空狀態(tài),如果是,就將它存入ZL﹙更新ZL﹚;
如果不是,就將它保存到ZL中原有數(shù)據(jù)組的后面﹙更新ZL﹚;
更新ZL后,開中斷,并結(jié)束中斷1程序。
3.2.2. SBCPU
SB得電后,先執(zhí)行SIM模塊登入公共移動(dòng)通訊系統(tǒng)的操作,再啟動(dòng)GPS模塊,然后GPS通過SIM發(fā)送本裝置的位置信息;
完成后等待K1位發(fā)送的500ms負(fù)脈沖到來;
圖3B SBCPU主程序概略流程圖
﹙1﹚通過了識別后的操作
如果K1=0﹙通過了識別﹚,就執(zhí)行關(guān)操作:將PIN3置1﹙使繼電器K5失電回復(fù)常態(tài)﹚,延時(shí)1s看PIN1﹙輔助觸頭狀態(tài)﹚;
發(fā)送完成關(guān)操作信息:如果PIN1=1,就向GLX1﹙例如GLA1﹚發(fā)送09﹙完成關(guān)操作的信息代碼﹚,完成后看K1……。
發(fā)送關(guān)操作失敗信息:如果PIN1=0,就向GL X1發(fā)送08﹙關(guān)操作失敗的信息代碼﹚,完成后看K1……。
﹙2﹚處理新信息
SBCPU採用中斷模式來處理新信息,有新信息到來時(shí)執(zhí)行中斷程序;
執(zhí)行中斷程序時(shí),先關(guān)中斷,再看該信息是否爲(wèi)GLX1發(fā)送的05﹙開操作指令代碼﹚或06﹙關(guān)操作指令代碼﹚;
如果發(fā)送方不是GLX1,或信息內(nèi)容不是05或06,就開中斷,并結(jié)束中斷1程序。
如果是GLX1發(fā)送的05,就執(zhí)行開操作:先將PIN3置0﹙使繼電器K5吸合﹚,延時(shí)1s再看PIN1;
發(fā)送完成開操作信息:如果PIN1=0,就向GLX1發(fā)送07﹙完成開操作的信息代碼﹚,完成后開中斷,并結(jié)束中斷1程序。
發(fā)送開操作失敗信息:如果PIN1=1,就向GLX1發(fā)送0A﹙開操作失敗的信息代碼﹚,完成后開中斷,并結(jié)束中斷1程序。
圖3C SBCPU的中斷程序概略流程圖
如果是GLX1發(fā)送的06,就執(zhí)行關(guān)操作:將PIN3置1﹙使繼電器K5失電回復(fù)常態(tài)﹚,延時(shí)1s看PIN1﹙輔助觸頭狀態(tài)﹚;
發(fā)送完成關(guān)操作信息:如果PIN1=1,就向GLX1﹙例如GLA1﹚發(fā)送09﹙完成關(guān)操作的信息代碼﹚,完成后開中斷,并結(jié)束中斷1程序。
發(fā)送關(guān)操作失敗信息:如果PIN1=0,就向GL X1發(fā)送08﹙關(guān)操作失敗的信息代碼﹚,完成后開中斷,并結(jié)束中斷1程序。
4. 本項(xiàng)目管理中心GL的硬件配置方案
本項(xiàng)目是一種最小系統(tǒng)演示方案,爲(wèi)了節(jié)省開發(fā)成本、簡少本文的篇幅,本項(xiàng)目以一臺車執(zhí)行一個(gè)的任務(wù)的爲(wèi)例,省略完全相同的多臺車執(zhí)行一個(gè)的任務(wù)的人工和電腦操作流程。
圖3 GL及其相關(guān)系統(tǒng)的結(jié)構(gòu)示意圖
管理中心GL包含有指揮中心電腦GL1和車隊(duì)管理電腦GL2,其中GL1包含有若干組﹙紅色線內(nèi)的組合﹚電腦GLA1﹙主控制﹚和GLA2﹙追蹤﹚~ GLX1﹙主控制﹚和GLX2﹙追蹤﹚來執(zhí)行追蹤和主控制操作;
GLA1~GLX1工作間安裝有由GLA1~GLX1控制的聲光提示器BJ1~ BJX,車隊(duì)工作間和休息室安裝由GLA1~GLX1控制的聲光提示器BJ。
GLA1~GLX1、GL2通過GL內(nèi)部網(wǎng)絡(luò)系統(tǒng)和公共互聯(lián)網(wǎng)系統(tǒng)互聯(lián),構(gòu)成管理中心GL;
GL1通過GL內(nèi)部網(wǎng)絡(luò)系統(tǒng)、公共互聯(lián)網(wǎng)系統(tǒng)和公共移動(dòng)通訊系統(tǒng)與車載裝置CZ1~CZN互聯(lián),還與射頻識別裝置SB1~SBN互聯(lián);
因此,CZ1~CZN的實(shí)時(shí)位置信息可以送逹GLA1~GLX1,它們之間可以互相下逹指令,GLA1~GLX1可以向SB1~SBN下逹指令,SB1~SBN信息可以送逹GLA1~GLX1。
5. GL1的接單和派車操作
5.1. GLA1~GLX1←→GL2任務(wù)單﹙界面1﹚
派車任務(wù)單
派單時(shí)間: 2018.10.29.﹙變量1,由GLA1~GLX1復(fù)制當(dāng)前時(shí)間值并
填入﹚
委託方電話: 12345678﹙變量2,由GLA1~GLX1值班員填入﹚
車隊(duì)代碼: A﹙變量3,由GLA1~GLX1值班員填入﹚
接載點(diǎn)1: 俾利喇街望廈社屋﹙變量4,由GLA1~GLX1值班員填入﹚
目的地: 加思欄馬路﹙變量5,由GLA1~GLX1值班員填入﹚
車種和臺數(shù): A類車1臺﹙變量6,由GLA1~GLX1值班員填入﹚
B類車0臺﹙變量7,由GLA1~GLX1值班員填入﹚
線路代碼: A00000﹙變量8,由GLA1~GLX1根據(jù)變量3~5從預(yù)定線路資料庫中調(diào)取并填入﹚
線路說明: 從A車隊(duì)車庫出發(fā),經(jīng)東北大馬路→慕拉士路→俾利喇街→美副將馬路→水塘馬路→海邊馬路→加思欄馬路,然后返回A車隊(duì)車庫﹙變量9,由GLY從預(yù)定線路資料庫中調(diào)取并填入﹚
接單司機(jī)1: 老張﹙變量10A,由GL2值班員填入﹚
車編號1: A01﹙變量10B,由GL2值班員填入﹚
接單司機(jī)2: 0﹙變量10C,由GL2值班員填入﹚
車編號2: 0﹙變量10D,由GL2值班員填入﹚
接單司機(jī)3: 0﹙變量10E,由GL2值班員填入﹚
車編號3: 0﹙變量10F,由GL2值班員填入﹚
接單司機(jī)4: 0﹙變量10G,由GL2值班員填入﹚
車編號4: 0﹙變量10H,由GL2值班員填入﹚
5.2. GL1的軟件和值班人員操作流程設(shè)計(jì)方案
下面將人工操作說明的下面加 ,沒有加 的是軟件流程;
5.2.1. GL X1下逹任務(wù)單的操作
圖3B GLX1主程序概略流程圖
﹙1﹚聯(lián)網(wǎng)后待命
GLX1﹙例如GLA1﹚和GLX2﹙例如GLA2﹚得電后,執(zhí)行聯(lián)網(wǎng)操作,完成后GLX2等待GLX1信息到來,GLX1看“↓”鍵,如果沒有被按下,就等待;
﹙2﹚GLX1下逹的任務(wù)單
GLX1值班人員接到電話委託時(shí),點(diǎn)擊GLX1﹙例如GLA1﹚鍵盤上的“↓”鍵;
GLX1值班人員點(diǎn)擊↓鍵后,GLX1先調(diào)取和顯示空白派車任務(wù)單﹙界面1﹚;
﹙2A﹚編輯任務(wù)單
GLX1值班人員根據(jù)委託方口述的需求,在空白派車任務(wù)單中填入變量2~7﹙任務(wù)單A﹚,完成后點(diǎn)擊“確認(rèn)”鍵;
如果在規(guī)定時(shí)限內(nèi),“確認(rèn)”鍵沒有被點(diǎn)擊﹙可能是“↓”鍵被誤按下﹚,就退出、清屏,然后看“↓”鍵……。
“確認(rèn)”鍵被點(diǎn)擊后,調(diào)用GLA子程序,完成后退出、清屏,然后看“↓”鍵……。
圖3C GLA子程序概略流程圖
執(zhí)行GLA子程序時(shí),先將任務(wù)單A發(fā)送到GL2,然后退出﹙界面1﹚、等待GL2信息﹙任務(wù)單B,GL2值班人員根據(jù)任務(wù)單A和車隊(duì)的車及人員情況填寫了變量10A~10H的任務(wù)單﹚;
如果收到了任務(wù)單B,就看任務(wù)單B中的變量10B、10D、10F、10H 中是否爲(wèi)車的有效編號;
﹙3﹚保存任務(wù)單B
如果任務(wù)單B中的變量10B、10D、10F、10H 中有一個(gè)多個(gè)或全部是車的有效編號,就保存任務(wù)單B,完成后結(jié)束GLA子程序。
﹙4﹚提示操作錯(cuò)誤
如果在規(guī)定時(shí)限內(nèi),沒有收到任務(wù)單B,就先調(diào)取和顯示沒有收到任務(wù)單B報(bào)警文件﹙界面2﹚,界面2中的紅色標(biāo)志閃爍,GLX1喇叭發(fā)出報(bào)警聲:
發(fā)送任務(wù)單到GL2后,GL2沒有回復(fù),請立即通知主管到車隊(duì)處理本次異常事件
顯示界面2后,等待“知道了”鍵被點(diǎn)擊;
GLX1值班人員在顯示界面2時(shí),必須先看報(bào)警內(nèi)容,再點(diǎn)擊“知道了”鍵,然后通知主管處理本次異常事件。
如果“知道了”鍵沒有被點(diǎn)擊,就繼續(xù)等待……。
如果“知道了”鍵被點(diǎn)擊,就先退出界面2、關(guān)停GLX1喇叭報(bào)警聲,然后結(jié)束GLA子程序。
﹙5﹚處理錯(cuò)誤的GL2信息
如果GL2回復(fù)了信息﹙任務(wù)單B﹚,但是其10B、10D、10F、10H 中沒有車的有效編號,就先將該信息﹙剛才收到的任務(wù)單B﹚中的10B、10D、10F、10H欄目變爲(wèi)紅色,再將它送回GL2,然后調(diào)取和顯示GL2信息沒有車的有效編號文件﹙界面3﹚,界面3中的紅色標(biāo)志閃爍,GLX1喇叭發(fā)出報(bào)警聲:
由于
GL2回復(fù)的信息中沒有車的有效編號,因此已退回該要求GL2更正后回復(fù)。
顯示界面3后,等待“知道了”鍵被點(diǎn)擊;
GLX1值班人員在顯示界面3時(shí),必須先看報(bào)警內(nèi)容,再點(diǎn)擊“知道了”鍵,然后通知主管到車隊(duì)處理本次異常事件。
如果“知道了”鍵沒有被點(diǎn)擊,就繼續(xù)等待……。
如果“知道了”鍵被點(diǎn)擊,就先退出界面3、關(guān)停GLX1喇叭報(bào)警聲,然后調(diào)用GLB子程序,完成后結(jié)束GLA子程序。
﹙6﹚處理修改后的GL2信息
執(zhí)行GLB子程序時(shí),等待GL2信息﹙任務(wù)單C,修改后的任務(wù)單﹚;
﹙6A﹚保存任務(wù)單B
如果GL2回復(fù)了信息﹙任務(wù)單C﹚,且10B、10D、10F、10H 中一個(gè)多個(gè)或全部是車的有效編號,就保存任務(wù)單C,完成后結(jié)束GLB子程序。
﹙6B﹚提示操作錯(cuò)誤
如果在規(guī)定時(shí)限內(nèi),沒有收到任務(wù)單C,就先調(diào)取和顯示沒有收到任務(wù)單C報(bào)警文件﹙界面4﹚,界面4中的紅色標(biāo)志閃爍,GLX1喇叭發(fā)出報(bào)警聲:
由于
退回任務(wù)單到GL2后,GL2沒有回復(fù),請立即通知主管到車隊(duì)處理本次異常事件。
GLX1值班人員在顯示界面4時(shí),必須先看報(bào)警內(nèi)容,再點(diǎn)擊“知道了”鍵,然后通知主管到車隊(duì)處理本次異常事件。
如果“知道了”鍵沒有被點(diǎn)擊,就繼續(xù)等待……。
如果“知道了”鍵被點(diǎn)擊,就先退出就界面4、關(guān)停GLX1喇叭報(bào)警聲,然后結(jié)束GLB子程序。
圖3D GLB子程序概略流程圖
﹙6C﹚處理錯(cuò)誤的GL2信息
如果GL2回復(fù)了信息﹙任務(wù)單C﹚,但是其10B、10D、10F、10H 中沒有車的有效編號,就先調(diào)取和顯示任務(wù)單C中沒有車的有效編號文件﹙界面5﹚,界面5中的紅色標(biāo)志閃爍,GLX1喇叭發(fā)出報(bào)警聲:
由于
退回任務(wù)單到GL2后,GL2回復(fù)的信息中沒有車的有效編號,請立即通知主管到車隊(duì)處理本次異常事件。
顯示界面5后,等待“知道了”鍵被點(diǎn)擊;
GLX1值班人員在顯示界面5時(shí),必須先看報(bào)警內(nèi)容,再點(diǎn)擊“知道了”鍵,然后通知主管到車隊(duì)處理本次異常事件。
如果“知道了”鍵沒有被點(diǎn)擊,就繼續(xù)等待……。
如果“知道了”鍵被點(diǎn)擊,就先退出界面5、關(guān)停GLX1喇叭報(bào)警聲,然后結(jié)束GLB子程序。
5.2.2. GL X1處理新信息的操作
GLX1採用中斷模式來處理新信息,有新信息到來時(shí)執(zhí)行中斷A程序;
圖3E 中斷程序概略流程圖
執(zhí)行中斷A程序時(shí),先關(guān)中斷,再暫存新信息到接收寄存器FA,然后看該信息發(fā)送方是否爲(wèi)車載裝置CZ,或路旁射頻識別裝置SB;
如果都不是,就將FA清零,開中斷并結(jié)束中斷A程序。
如果是CZ,就調(diào)用CZ子程序,完成后將FA清零,開中斷并結(jié)束中斷A程序。
如果是SB,就調(diào)用SB子程序,完成后將FA清零,開中斷并結(jié)束中斷A程序。
執(zhí)行CZ子程序時(shí),看FA中的數(shù)﹙信息內(nèi)容﹚;
如果FA≠04或FA≠01,就調(diào)用通知子程序,完成后結(jié)束CZ子程序。
圖3F CZ子程序概略流程圖
如果FA≠04或FA≠01,就調(diào)用通知子程序,完成后結(jié)束CZ子程序。
5.2.3. 有車返回車庫時(shí)的操作
如果FA=04﹙CZ通知GLX1本車已返回車庫的信息代碼﹚,就先調(diào)取和顯示車已返回車庫的文件﹙界面6﹚,界面6中的紅色標(biāo)志閃爍, GLX1喇叭發(fā)出一秒“滴”提示聲,不設(shè)置“知道了”鍵;
再復(fù)制本信息發(fā)送方地址﹙車輛編號,例如A01﹚填入車輛編號欄:
編號爲(wèi)
A01的車已執(zhí)行完任務(wù)返回車庫。
顯示界面6后,先復(fù)制本信息發(fā)送方地址﹙車輛編號﹚,并在其前面添加X,例如XA01﹙停止對A01追蹤的指令代碼﹚;
再將該指令代碼發(fā)送到正在執(zhí)行追蹤A01號車的電腦GLX2﹙例如GLA2﹚;
完成后,先調(diào)取相關(guān)任務(wù)單,再在最后一條信息之后添加返回信息欄,并復(fù)制當(dāng)前時(shí)間值填入該欄,然后保存該任務(wù)單、退出界面6,并結(jié)束CZ子程序。
5.2.4. GL X1向GL X2和SB下達(dá)操作指令的操作
如果FA=01﹙CZ通知GLX1本車已開出車庫的信息代碼﹚,就先調(diào)取和顯示車已開出車庫的文件﹙界面7﹚,界面7中的紅色標(biāo)志閃爍, GLX1喇叭發(fā)出一秒“滴”提示聲,不設(shè)置“知道了”鍵;
再復(fù)制本信息發(fā)送方地址﹙車輛編號,例如A01﹚填入車輛編號欄:
編號爲(wèi)
A01的車已開出車庫,可以執(zhí)行追蹤操作了。
顯示界面7后,先根據(jù)本信息發(fā)送方代碼調(diào)取最近一次保存的任務(wù)單,再看該任務(wù)單中的變量10B、10D、10F、10H中有多少個(gè)車的有效編號;
如果只有一個(gè)車的有效編號﹙執(zhí)行本任務(wù)的車只有一臺﹚,就調(diào)用指令A(yù)子程序,完成后結(jié)束CZ子程序。
如果有兩個(gè)車的有效編號﹙執(zhí)行本任務(wù)的車有兩臺﹚,就調(diào)用指令B子程序,完成后結(jié)束CZ子程序﹙省略與指令A(yù)子程序相同的指令B子程序﹚。
如果有三個(gè)車的有效編號﹙執(zhí)行本任務(wù)的車有三臺﹚,就調(diào)用指令C子程序,完成后結(jié)束CZ子程序﹙省略省略與指令A(yù)子程序相同的指令C子程序﹚。
如果有四個(gè)車的有效編號﹙執(zhí)行本任務(wù)的車有四臺﹚,就調(diào)用指令D子程序,完成后結(jié)束CZ子程序﹙省略省略與指令A(yù)子程序相同的指令D子程序﹚。
﹙1﹚編輯追蹤指令
執(zhí)行指令A(yù)子程序時(shí),先復(fù)制剛才調(diào)取的任務(wù)單中的變量8﹙X,例如線路代碼A00000﹚和發(fā)送方代碼﹙Y,例如A01﹚,再將其保存到發(fā)送寄存器FB;
FB=X+Y=A00000A01,代表執(zhí)行本任務(wù)的車爲(wèi)A01號車,預(yù)定線路爲(wèi)A00000號線;
﹙2﹚下達(dá)追蹤指令
完成后,先從GLA2~GLX2中找一臺正在待命的電腦﹙例如GLA2﹚,再將FB中的數(shù)Y發(fā)送到剛才找到的正在待命的電腦﹙要求GLA2追蹤Y號車﹚;
﹙3﹚通知X沿線的SB
下逹追蹤指令后,先根據(jù)變量8﹙X,例如線路代碼A00000﹚從射頻識別裝置資料庫中調(diào)取文件,然后復(fù)制其中的SB編號保存到識別裝置寄存器FC;
圖3G 指令A(yù)子程序概略流程圖
例如FC=SB1、SB2、SB3、SB4、SB5、SB6、SB7﹙以“、”號分隔SB編號﹚,代表預(yù)定線路A00000沿線的路旁射頻識別裝置SB編號分別爲(wèi)SB1、SB2、SB3、SB4、SB5、SB6、SB7;
再復(fù)制執(zhí)行本任務(wù)的車編號Y,以FC中的數(shù)﹙若干個(gè)SB編號﹚為接收方,將Y群發(fā)到這些接收方﹙通知A00000沿線的所有SB﹚,Y號車將途經(jīng)它們的安裝位置﹚;
﹙5﹚向第一個(gè)SB下達(dá)開操作指令
然后以FC中的第一組數(shù)為接收方地址﹙SB1﹚,發(fā)送05﹙要求SB1執(zhí)行開操作的指令﹚;
完成后,先調(diào)取剛才調(diào)取的任務(wù)單,并在其最后一條信息之后添加出發(fā)信息欄,再復(fù)制當(dāng)前時(shí)間值填入該欄,然后保存任務(wù)單,并結(jié)束指令A(yù)子程序。
5.2.5. 保存接載和到達(dá)目的地信息
執(zhí)行通知子程序時(shí),看FA中的數(shù),不設(shè)置通知界面;
如果FA≠02或FA≠03,就結(jié)束通知子程序。
﹙1﹚到達(dá)接載點(diǎn)
如果FA=02﹙CZ通知GLX1,例如GLA1,本車到了接載點(diǎn)的信息代碼﹚,就先根據(jù)本信息發(fā)送方代碼調(diào)取最近一次保存的任務(wù)單,再在最后一條信息之后添加接載信息欄,然后復(fù)制當(dāng)前時(shí)間值填入該欄,完成后保存該任務(wù)單,并結(jié)束通知子程序。
圖3H 通知子程序概略流程圖
﹙2﹚到達(dá)目的地
如果FA=03﹙CZ通知GLX1本車已到達(dá)目的地的信息代碼﹚,就先根據(jù)本信息發(fā)送方代碼調(diào)取最近一次保存的任務(wù)單,再添加到達(dá)目的地信息欄,然后復(fù)制當(dāng)前時(shí)間值填入該欄,完成后保存該任務(wù)單,并結(jié)束通知子程序。
5.2.6. 根據(jù)定位信息向SB下達(dá)操作指令
執(zhí)行SB子程序時(shí),看接收寄存器FA中的數(shù);
﹙2A﹚關(guān)操作失敗
如果FA=08﹙車到逹了某個(gè)SB安裝位置,但是該SB關(guān)操作失敗的信息代碼﹚,就先調(diào)取和顯示SB關(guān)操作失敗的文件﹙界面8﹚,界面8 中的SB編號欄空白,紅色標(biāo)志閃爍,GLX1喇叭發(fā)出報(bào)警聲:
再復(fù)制本信息發(fā)送方地址D﹙SB編號,例如SB1﹚填入SB編號欄:
車到逹了SB1號射頻識別裝置的安裝位置,但是該裝置關(guān)操作失敗,請立即通知主管處理本次異常事件。
GLX1值班人員在顯示界面8時(shí),必須先看報(bào)警內(nèi)容,再點(diǎn)擊“知道了”鍵,然后通知主管處理本次異常事件。
顯示界面8后,先以該信息發(fā)送方代碼D爲(wèi)接收方地址﹙例如SB1﹚發(fā)送06﹙GLX1下達(dá)一次關(guān)操作指令﹚;
并以FC中D的下一組數(shù)為接收方地址D+1﹙例如SB2﹚,發(fā)送05﹙開操作指令代碼﹚,完成后保留界面8、GLX1喇叭繼續(xù)報(bào)警,直到“知道了”鍵被點(diǎn)擊為止,并結(jié)束SB子程序。
圖3J SB子程序概略流程圖
如果FA=09﹙車到逹了某個(gè)SB安裝位置,該SB已完成關(guān)操作的信息代碼﹚,就以FC中D的下一組數(shù)為接收方地址D+1﹙例如SB2﹚,發(fā)送05﹙開操作指令代碼﹚,完成后結(jié)束SB子程序。
如果FA=0A﹙開操作失敗的信息代碼﹚,就先調(diào)取和顯示SB開操作失敗的文件﹙界面9﹚,界面9 中的SB編號欄空白,紅色標(biāo)志閃爍,GLX1喇叭發(fā)出報(bào)警聲,如果屏幕上仍有界面,就採用多窗口模式顯示本界面:
再復(fù)制本信息發(fā)送方地址D﹙SB編號,例如SB1﹚填入SB編號欄:
管理中心向SB1
下逹開操作指令后,SB1開操作失敗,請立即通知主管處理本次異常事件。
GLX1值班人員在顯示界面9時(shí),必須先看報(bào)警內(nèi)容,再點(diǎn)擊“知道了”鍵,然后通知主管處理本次異常事件。
顯示界面9后,先以該信息發(fā)送方代碼D爲(wèi)接收方地址﹙例如SB1﹚發(fā)送05﹙GLX1下達(dá)一次開操作指令﹚;
完成后保留界面9、GLX1喇叭繼續(xù)報(bào)警,直到“知道了”鍵被點(diǎn)擊為止,并結(jié)束SB子程序。
如果FA=07﹙完成開操作的信息代碼﹚,完成后結(jié)束SB程序。
5.2.4. 人工操作
GLX1採用中斷模式來執(zhí)行人工操作,GLX1值班人員在任何時(shí)候按下Ctrl+Enter鍵時(shí),GLX1執(zhí)行中斷B程序;
執(zhí)行中斷B程序時(shí),先關(guān)中斷,再調(diào)出界面10:
調(diào)出界面10后,等待GLX1值班人員操作;
如果預(yù)定時(shí)限到了,GLX1值班人員沒有輸入射頻識別裝置SB編號,或沒有點(diǎn)選開操作方框或關(guān)操作方框,或沒有點(diǎn)擊確認(rèn)鍵,或點(diǎn)擊了X方框,就退出界面10、開中斷,并結(jié)束中斷B程序。
如果輸入了SB編號,就看是否為有效編號;
如果不是,就清除已輸入的字符;
如果是,就等待點(diǎn)選開操作方框或關(guān)操作方框;
如果開操作方框被點(diǎn)選,就填入ˇ,如果關(guān)操作方框被點(diǎn)選,就填入ˇ,然后等待確認(rèn)鍵被點(diǎn)擊;
如果開操作方框內(nèi)填入ˇ之后,關(guān)操作方框被點(diǎn)選,前者的ˇ被清除,后者被填入ˇ,然后等待確認(rèn)鍵被點(diǎn)擊;
如果關(guān)操作方框內(nèi)填入ˇ之后,開操作方框被點(diǎn)選,前者的ˇ被清除,后者被填入ˇ,然后等待確認(rèn)鍵被點(diǎn)擊;
如果沒有點(diǎn)選開操作方框或關(guān)操作方框,只點(diǎn)擊了確認(rèn)鍵被點(diǎn)擊,就等待點(diǎn)選開操作方框或關(guān)操作方框;
如果點(diǎn)選開操作方框或關(guān)操作方框后,確認(rèn)鍵被點(diǎn)擊,就根據(jù)對界面10的設(shè)置向指定SB發(fā)送05﹙開操作指令代碼﹚或06﹙關(guān)操作指令代碼﹚;
完成一次操作后,重新設(shè)時(shí)限,如果預(yù)定時(shí)限到了,GLX1值班人員沒有填入新的SB編號,或沒有點(diǎn)選開操作方框或關(guān)操作方框,或沒有點(diǎn)擊確認(rèn)鍵,或點(diǎn)擊了X方框,就退出界面10、開中斷,并結(jié)束中斷B程序。
5.3. GLX2操作流程
圖3J GLX2主程序概略流程圖
GL X2得電后,執(zhí)行聯(lián)網(wǎng)操作,完成后等待GL X1信息到來;
如果新信息到來,就先保存到接收寄存器FA,再看FA中的數(shù);
如果FA中的數(shù)不是GL X1發(fā)送的信息,就先清空FA,然后等待……;
如果FA中的數(shù)是GL X1發(fā)送的追蹤指令,例如A00000A01,就先打開該數(shù)據(jù)組的前六位數(shù)﹙A00000﹚所指的電子地圖,再以后三位數(shù)﹙A01﹚所指的車發(fā)送的位置信息,用亮點(diǎn)的方式顯示它的動(dòng)態(tài)位置信息﹙執(zhí)行追蹤程序﹚;
如果不能完全路線,就使亮點(diǎn)基本保持在屏幕中部﹙但不固定,以免損傷屏幕﹚,電子地圖移動(dòng);
顯示它的動(dòng)態(tài)位置信息時(shí),看FA中的數(shù);
如果FA中的數(shù)不是GL X1發(fā)送的停止追蹤指令,就等待;
如果是GL X1發(fā)送的停止追蹤指令,例如XA01﹙停止對A01追蹤的指令代碼﹚,就先用軌跡的方式保存該車的行駛軌跡,完成后退出對該車的追蹤操作、清空FA和清屏,然后等待新的追蹤指令到來……。
圖3K GLX2中斷程序概略流程圖
執(zhí)行中斷程序時(shí),先關(guān)中斷,再保存到接收寄存器FA,然后開中斷,并結(jié)束中斷程序。
5.3. GL2及其值班人員的操作流程
車隊(duì)管理電腦GL2用于接收GL X1﹙例如GL A1﹚任務(wù)單和將填入了變量10A~10H的任務(wù)單送回GL X1,可設(shè)置多臺電腦;
﹙1﹚接收新信息
GL2採用中斷模式來處理新信息,有新信息到來時(shí)執(zhí)行中斷程序;
執(zhí)行中斷程序時(shí),先關(guān)中斷,再暫存新信息到接收寄存器FA,然后看該信息發(fā)送方是否爲(wèi)GLX1任務(wù)單;
如果不是,就將FA清零,開中斷并結(jié)束中斷程序。
圖4A GL2中斷程序概略流程圖
如果是,就開中斷并結(jié)束中斷程序﹙保存了GLX1任務(wù)單﹚。
﹙2﹚處理新信息
GL2 得電后,執(zhí)行聯(lián)網(wǎng)操作,完成后,先看是否為GL X1任務(wù)單到來,如果沒有,就等待GL X1任務(wù)單到來;
如果有GL X1任務(wù)單﹙任務(wù)單A﹚到來,就先使GL2喇叭發(fā)出 “滴、滴……”提示聲,然后看其中的變量10A~10H欄目;
如果10A~10H全部爲(wèi)空白,就顯示該任務(wù)單﹙界面11﹚;
如果10B、10D、10F和10H中有一個(gè)多個(gè)或全部爲(wèi)紅色,就在該任務(wù)單標(biāo)題前添加閃纅的紅點(diǎn),并顯示添加了閃纅的紅點(diǎn)的任務(wù)單﹙界面12﹚:
派車任務(wù)單
派單時(shí)間: 2018.10.29.﹙變量1,由GLA1~GLX1復(fù)制當(dāng)前時(shí)間值并
填入﹚
委託方電話: 12345678﹙變量2,由GLA1~GLX1值班員填入﹚
車隊(duì)代碼: A﹙變量3,由GLA1~GLX1值班員填入﹚
接載點(diǎn)1: 俾利喇街望廈社屋﹙變量4,由GLA1~GLX1值班員填入﹚
目的地: 加思欄馬路﹙變量5,由GLA1~GLX1值班員填入﹚
車種和臺數(shù): A類車1臺﹙變量6,由GLA1~GLX1值班員填入﹚
B類車0臺﹙變量7,由GLA1~GLX1值班員填入﹚
線路代碼: A00000﹙變量8,由GLA1~GLX1根據(jù)變量3~5從預(yù)定線路資料庫中調(diào)取并填入﹚
線路說明: 從A車隊(duì)車庫出發(fā),經(jīng)東北大馬路→慕拉士路→俾利喇街→美副將馬路→水塘馬路→海邊馬路→加思欄馬路,然后返回A車隊(duì)車庫﹙變量9,由GLY從預(yù)定線路資料庫中調(diào)取并填入﹚
接單司機(jī)1: 老張﹙變量10A,由GL2值班員填入﹚
車編號1: SB01﹙變量10B,由GL2值班員填入﹚
接單司機(jī)2: 0﹙變量10C,由GL2值班員填入﹚
車編號2: 0﹙變量10D,由GL2值班員填入﹚
接單司機(jī)3: 0﹙變量10E,由GL2值班員填入﹚
車編號3: 0﹙變量10F,由GL2值班員填入﹚
接單司機(jī)4: 0﹙變量10G,由GL2值班員填入﹚
車編號4: 0﹙變量10H,由GL2值班員填入﹚
GL2喇叭發(fā)出 “滴、滴……”提示聲時(shí),GL2工作人員必須立即查看電腦顯示內(nèi)容;
﹙1﹚填寫任務(wù)單
如果是GL X1任務(wù)單,就先根據(jù)任務(wù)單中的變量1~9的內(nèi)容,調(diào)派車輛和隨車工作人員,再按調(diào)派車輛和隨車工作人員資料填寫變量10A~10H,完成后點(diǎn)擊“確認(rèn)” 鍵;
顯示界面11或界面12后,GL2看鍵盤是否有鍵被按下;
如果沒有,就等待,GL2喇叭繼續(xù)發(fā)出 “滴、滴……”提示聲……。
如果有,就看“確認(rèn)”鍵是否被點(diǎn)擊,如果沒有,就等待……。
如果有,就用變量10B、10D、10F和10H中的數(shù)與本車隊(duì)車輛編號資料庫中的數(shù)對比;
如果有一個(gè)多個(gè)或全部爲(wèi)本車隊(duì)車輛編號有效數(shù)﹙有效數(shù)﹚,就以任務(wù)單發(fā)送方代碼爲(wèi)地址﹙例如GLA1﹚,將填好或修改了10A~10H的任務(wù)單﹙任務(wù)單B﹚發(fā)給它;
圖4B GL2主程序概略流程圖
﹙2﹚打印任務(wù)單
完成后,先退出界面11或界面12,再設(shè)置等待時(shí)限;
如果時(shí)限到了,沒有GL X1任務(wù)單到來,就看變量6 ﹙A類車臺數(shù)﹚和變量7﹙B類車臺數(shù)﹚之和;
如果是1,就打印一份填好或修改了10A~10H的任務(wù)單,如果是2,就先打印兩份填好或修改了10A~10H的任務(wù)單……;
打印任務(wù)單后,先保存任務(wù)單,然后該看是否為GL X1任務(wù)單到來……。
如果有GL X1任務(wù)單到來,就看其中的變量10A~10H欄目……。
﹙3﹚派發(fā)任務(wù)單
打印完任務(wù)單后,GL2工作人員就將任務(wù)單B派發(fā)給隨車工作人員;
接收任務(wù)單的工作人員看明白任務(wù)后,按一下車載裝置CZ上的K1鍵﹙第一次按下K1﹚,車載裝置CZ被熱啟動(dòng);
﹙4﹚執(zhí)行任務(wù)單
CZ被熱啟動(dòng)后啟動(dòng)汽車,汽車起步前,工作人員再按一下CZ上的K1鍵﹙第二次按下K1﹚,CZ立即啟動(dòng)車載信標(biāo)裝置XB,并向GLX1發(fā)送01﹙啟動(dòng)追蹤本車及執(zhí)行關(guān)/開操作的指令﹚……。
END