智慧城市之车辆追踪和设备远程监控方案 —— 射频识别技术行驶汽车识别系统
概述:
引用射频识别、定位、通讯、软件等技术对车辆进行识别与远程监控的项目,车载装置是种短距射频发射装置,不停发送包含本车编号的信号,在到达接收点时被接收装置接收,然后向管理中心报告该车到达本接收点。识别的时候,车的速度是小于50公里/每小时,并不涉及收费,是收到报到信号后通知后台,后台再控制其他非车载装置。车上只添加一个相当于射频信标的发送装置,接收装置固定在路边,与后台互联,车上只有发送装置,没有其他设备,贵方要做的是车载发送F1(发信标)、路边接收F2,F2收到信标后进行识别,如果通过识别就通过移动通讯网和互联网通知后台。
本方案主要是天津小蜜蜂公司据为某城市的智慧城市项目的需求中的车辆管理提供的软硬件一体化解决方案。
软硬件应用
本项目相应主要涉及的软硬件系统的配置情况主要如下:
﹙1﹚车载装置CZ
车载装置CZ包括有车载实时位置信息发送模块GPS+GPRS、数据和语音通讯模块SIM、信标发送模块XB;
CZ样机:
路旁车辆载信标识别装置SB包括有数据通讯模块SIM、信标识别模块XBS;
SB样机:
CZ样机和SB样机的软件开发;
业务台电脑GLX1的网页软件开发
追踪台电脑GLX2的网页软件开发
车队电脑GL2的网页软件开发
项目方案
1. 现有车载定位及防盗装置的结构
图1A 现有车载定位及防盗装置的结构示意图
图1是现有汽车追踪及防盗监护系统的车载定位及防盗装置CZ结构示意图,图1中,GL是监护及管理中心,GPS模块得电后冷启动进入待机状态;
CZ的微处理器CPU发送的控制A信号﹙热启动信号﹚到来时,GPS模块立即开始通过SIM模块向GL发送本机实时位置信息;
当插入车锁匙并拧到接通电源位置时,CPU立即通过SIM模块向GL发送代表车锁已开的信息;
图1B ofo共享单车电子装置结构示意图
或某个保安传感器检测到异常,CPU立即通过SIM模块向GL发送代表某保安传感器检测到异常的信息;
或呼援键被按下,CPU立即通过SIM模块向GL发送呼援信息;
GL通过公共互联网系统和公共移动通讯系统向CZ发送断开供油的指令时,CZ收到该指令后,立即使本车油泵继电器断开油泵电源。
2. 本项目的车载装置CZ
2.1. CZ的硬件设计方案
本项目的车载装置CZ保留了现有车载定位及防盗装置全部的硬件﹙红色线内的结构示意图﹚,添加了射频信标模块﹙蓝色线内的结构示意图﹚;
CZ的微处理器CZCPU 不需使用现有装置的PIN1﹙I/O端口,呼援按键位﹚,利用现有装置的PIN2﹙I/O端口,车锁状态监察位﹚接一个功能键K1,按下K1时,K1=0;
利用现有装置的PIN3﹙I/O端口,继电器控制位﹚,作爲XB和GPS模块的控制位,KA=0时,热启动及运行XB和GPS模块。
图2A 本项目CZ及其相关系统的结构示意图
2.2. CZCPU的软件设计方案
﹙1﹚车载信标装置XB的操作
KA=0时,XB由XB定时控制器控制,每间隔500ms发送一次代表本车XB编号的地址码﹙射频信标﹚,直到KA=1爲止。
如果KA=1,射频信标装置XB就静默。
图2B CZCPU的程序概略流程图
﹙3﹚发送实时位置信息和信标
如果K1=0﹙K1第1次被按下﹚,就将KA置0,使GPS模块发送实时位置信息、射频信标装置XB发送本车信标;
完成后再看K1,如果K1=1,就等待;
﹙4﹚通知出发
如果K1=0﹙K1第2次被按下﹚,就向指挥中心的电脑GLX1﹙例如GLA1﹚发送01﹙通知GLX1,立即追踪本车,以及关停安装在车队的声光报警器BJ的指令代码﹚,完成后再看K1,如果K1=1,就等待;
﹙5﹚通知到逹接载点
如果K1=0﹙K1第3次被按下﹚,就向GLX1发送02﹙通知GLX1,本车到逹接载点的信息代码﹚,完成后再看K1,如果K1 =1,就等待;
﹙6﹚通知到逹目的地
如果K1=0﹙K1第4次被按下﹚,就向GLX1发送03﹙通知GLX1,本车到逹目的地的信息代码﹚,完成后再看K1,如果K1=1,就等待;
﹙7﹚通知返回车库
如果K1=0﹙K1第5次被按下﹚,就向GL1X发送04﹙通知GLX1,本车已返回车库,可以结束对本车追踪的指令代码﹚,完成后先将KA置1,使XB和GPS模块休眠,再看K1…..。
3. 本项目的射频信标接收和识别装置SB
3.1. SB硬件设计方案
本项目的识别装置SB保留了现有车载定位及防盗装置的部分硬件﹙红色线内的结构示意图﹚,添加了与车载射频信标模块XB匹配的射频信标接收和识别模块SB﹙蓝色线内的结构示意图﹚;
其中,SB有其自己的微处理器SB,它从SIM模块取得要接收和识别的XB清单,信标通过识别时向识别装置的微处理器SBCPU发送通过识别的信号;
XB和与之匹配的SB的结构、原理及识别操作过程,与所有射频遥控器﹙再生式高频遥控器,超高频数码遥控器,蓝牙遥控器﹚完全相同,一个信标装置+一个识别装置的成品零售价在20~50元之间。
SBCPU 不需使用现有装置的语音模块和GPS模块;
图3A 本项目SB及其相关系统的结构示意图
利用现有装置的PIN1﹙I/O端口,呼援按键位﹚,作爲继电器状态监察位,继电器辅助触头吸合时PIN1=0;
利用现有装置的PIN2﹙I/O端口,车锁状态监察位﹚接SB的识别信号输出位K1,信标通过识别时,K1=0;
利用现有装置的PIN3﹙I/O端口,继电器控制位﹚控制一个继电器,PIN3=0时,继电器得电吸合。
3.2. SBCPU的软件设计方案
SB的资料库ZL中保存着车载射频信标装置XB的地址码;
3.2.1. 射频信标接收和识别模块SB﹙省略流程图﹚
射频信标接收和识别模块SB得电后立即运行;
如果收到信标,就先暂存到接收寄存器FA,再看资料库ZL中有没有与FA中的数D1相同的数据组D2﹙地址码﹚;
如果有相同的数据组﹙D1=D2﹚,就先从K1位向SBCPU发送一个500ms负脉冲﹙通知SBCPU,有被追踪的车到逹本位置﹚,再将ZL中的D2清除﹙清除已报到的SB编号﹚,然后FA清零,完成后等待下一个信标到来……。
SB採用中断模式来处理SIM模块的信息,有新信息到来时执行中断程序;
执行中断程序时,先关中断,再看该信息是否爲前两位字符爲SB的数据组;
如果是前两位字符爲SB的数据组,就看资料库ZL中是否爲清空状态,如果是,就将它存入ZL﹙更新ZL﹚;
如果不是,就将它保存到ZL中原有数据组的后面﹙更新ZL﹚;
更新ZL后,开中断,并结束中断1程序。
3.2.2. SBCPU
SB得电后,先执行SIM模块登入公共移动通讯系统的操作,再启动GPS模块,然后GPS通过SIM发送本装置的位置信息;
完成后等待K1位发送的500ms负脉冲到来;
图3B SBCPU主程序概略流程图
﹙1﹚通过了识别后的操作
如果K1=0﹙通过了识别﹚,就执行关操作:将PIN3置1﹙使继电器K5失电回复常态﹚,延时1s看PIN1﹙辅助触头状态﹚;
发送完成关操作信息:如果PIN1=1,就向GLX1﹙例如GLA1﹚发送09﹙完成关操作的信息代码﹚,完成后看K1……。
发送关操作失败信息:如果PIN1=0,就向GL X1发送08﹙关操作失败的信息代码﹚,完成后看K1……。
﹙2﹚处理新信息
SBCPU採用中断模式来处理新信息,有新信息到来时执行中断程序;
执行中断程序时,先关中断,再看该信息是否爲GLX1发送的05﹙开操作指令代码﹚或06﹙关操作指令代码﹚;
如果发送方不是GLX1,或信息内容不是05或06,就开中断,并结束中断1程序。
如果是GLX1发送的05,就执行开操作:先将PIN3置0﹙使继电器K5吸合﹚,延时1s再看PIN1;
发送完成开操作信息:如果PIN1=0,就向GLX1发送07﹙完成开操作的信息代码﹚,完成后开中断,并结束中断1程序。
发送开操作失败信息:如果PIN1=1,就向GLX1发送0A﹙开操作失败的信息代码﹚,完成后开中断,并结束中断1程序。
图3C SBCPU的中断程序概略流程图
如果是GLX1发送的06,就执行关操作:将PIN3置1﹙使继电器K5失电回复常态﹚,延时1s看PIN1﹙辅助触头状态﹚;
发送完成关操作信息:如果PIN1=1,就向GLX1﹙例如GLA1﹚发送09﹙完成关操作的信息代码﹚,完成后开中断,并结束中断1程序。
发送关操作失败信息:如果PIN1=0,就向GL X1发送08﹙关操作失败的信息代码﹚,完成后开中断,并结束中断1程序。
4. 本项目管理中心GL的硬件配置方案
本项目是一种最小系统演示方案,爲了节省开发成本、简少本文的篇幅,本项目以一台车执行一个的任务的爲例,省略完全相同的多台车执行一个的任务的人工和电脑操作流程。
图3 GL及其相关系统的结构示意图
管理中心GL包含有指挥中心电脑GL1和车队管理电脑GL2,其中GL1包含有若干组﹙红色线内的组合﹚电脑GLA1﹙主控制﹚和GLA2﹙追踪﹚~ GLX1﹙主控制﹚和GLX2﹙追踪﹚来执行追踪和主控制操作;
GLA1~GLX1工作间安装有由GLA1~GLX1控制的声光提示器BJ1~ BJX,车队工作间和休息室安装由GLA1~GLX1控制的声光提示器BJ。
GLA1~GLX1、GL2通过GL内部网络系统和公共互联网系统互联,构成管理中心GL;
GL1通过GL内部网络系统、公共互联网系统和公共移动通讯系统与车载装置CZ1~CZN互联,还与射频识别装置SB1~SBN互联;
因此,CZ1~CZN的实时位置信息可以送逹GLA1~GLX1,它们之间可以互相下逹指令,GLA1~GLX1可以向SB1~SBN下逹指令,SB1~SBN信息可以送逹GLA1~GLX1。
5. GL1的接单和派车操作
5.1. GLA1~GLX1←→GL2任务单﹙界面1﹚
派车任务单
派单时间: 2018.10.29.﹙变量1,由GLA1~GLX1复制当前时间值并
填入﹚
委託方电话: 12345678﹙变量2,由GLA1~GLX1值班员填入﹚
车队代码: A﹙变量3,由GLA1~GLX1值班员填入﹚
接载点1: 俾利喇街望厦社屋﹙变量4,由GLA1~GLX1值班员填入﹚
目的地: 加思栏马路﹙变量5,由GLA1~GLX1值班员填入﹚
车种和台数: A类车1台﹙变量6,由GLA1~GLX1值班员填入﹚
B类车0台﹙变量7,由GLA1~GLX1值班员填入﹚
线路代码: A00000﹙变量8,由GLA1~GLX1根据变量3~5从预定线路资料库中调取并填入﹚
线路说明: 从A车队车库出发,经东北大马路→慕拉士路→俾利喇街→美副将马路→水塘马路→海边马路→加思栏马路,然后返回A车队车库﹙变量9,由GLY从预定线路资料库中调取并填入﹚
接单司机1: 老张﹙变量10A,由GL2值班员填入﹚
车编号1: A01﹙变量10B,由GL2值班员填入﹚
接单司机2: 0﹙变量10C,由GL2值班员填入﹚
车编号2: 0﹙变量10D,由GL2值班员填入﹚
接单司机3: 0﹙变量10E,由GL2值班员填入﹚
车编号3: 0﹙变量10F,由GL2值班员填入﹚
接单司机4: 0﹙变量10G,由GL2值班员填入﹚
车编号4: 0﹙变量10H,由GL2值班员填入﹚
5.2. GL1的软件和值班人员操作流程设计方案
下面将人工操作说明的下面加 ,没有加 的是软件流程;
5.2.1. GL X1下逹任务单的操作
图3B GLX1主程序概略流程图
﹙1﹚联网后待命
GLX1﹙例如GLA1﹚和GLX2﹙例如GLA2﹚得电后,执行联网操作,完成后GLX2等待GLX1信息到来,GLX1看“↓”键,如果没有被按下,就等待;
﹙2﹚GLX1下逹的任务单
GLX1值班人员接到电话委託时,点击GLX1﹙例如GLA1﹚键盘上的“↓”键;
GLX1值班人员点击↓键后,GLX1先调取和显示空白派车任务单﹙界面1﹚;
﹙2A﹚编辑任务单
GLX1值班人员根据委託方口述的需求,在空白派车任务单中填入变量2~7﹙任务单A﹚,完成后点击“确认”键;
如果在规定时限内,“确认”键没有被点击﹙可能是“↓”键被误按下﹚,就退出、清屏,然后看“↓”键……。
“确认”键被点击后,调用GLA子程序,完成后退出、清屏,然后看“↓”键……。
图3C GLA子程序概略流程图
执行GLA子程序时,先将任务单A发送到GL2,然后退出﹙界面1﹚、等待GL2信息﹙任务单B,GL2值班人员根据任务单A和车队的车及人员情况填写了变量10A~10H的任务单﹚;
如果收到了任务单B,就看任务单B中的变量10B、10D、10F、10H 中是否爲车的有效编号;
﹙3﹚保存任务单B
如果任务单B中的变量10B、10D、10F、10H 中有一个多个或全部是车的有效编号,就保存任务单B,完成后结束GLA子程序。
﹙4﹚提示操作错误
如果在规定时限内,没有收到任务单B,就先调取和显示没有收到任务单B报警文件﹙界面2﹚,界面2中的红色标志闪烁,GLX1喇叭发出报警声:
发送任务单到GL2后,GL2没有回复,请立即通知主管到车队处理本次异常事件
显示界面2后,等待“知道了”键被点击;
GLX1值班人员在显示界面2时,必须先看报警内容,再点击“知道了”键,然后通知主管处理本次异常事件。
如果“知道了”键没有被点击,就继续等待……。
如果“知道了”键被点击,就先退出界面2、关停GLX1喇叭报警声,然后结束GLA子程序。
﹙5﹚处理错误的GL2信息
如果GL2回复了信息﹙任务单B﹚,但是其10B、10D、10F、10H 中没有车的有效编号,就先将该信息﹙刚才收到的任务单B﹚中的10B、10D、10F、10H栏目变爲红色,再将它送回GL2,然后调取和显示GL2信息没有车的有效编号文件﹙界面3﹚,界面3中的红色标志闪烁,GLX1喇叭发出报警声:
由于
GL2回复的信息中没有车的有效编号,因此已退回该要求GL2更正后回复。
显示界面3后,等待“知道了”键被点击;
GLX1值班人员在显示界面3时,必须先看报警内容,再点击“知道了”键,然后通知主管到车队处理本次异常事件。
如果“知道了”键没有被点击,就继续等待……。
如果“知道了”键被点击,就先退出界面3、关停GLX1喇叭报警声,然后调用GLB子程序,完成后结束GLA子程序。
﹙6﹚处理修改后的GL2信息
执行GLB子程序时,等待GL2信息﹙任务单C,修改后的任务单﹚;
﹙6A﹚保存任务单B
如果GL2回复了信息﹙任务单C﹚,且10B、10D、10F、10H 中一个多个或全部是车的有效编号,就保存任务单C,完成后结束GLB子程序。
﹙6B﹚提示操作错误
如果在规定时限内,没有收到任务单C,就先调取和显示没有收到任务单C报警文件﹙界面4﹚,界面4中的红色标志闪烁,GLX1喇叭发出报警声:
由于
退回任务单到GL2后,GL2没有回复,请立即通知主管到车队处理本次异常事件。
GLX1值班人员在显示界面4时,必须先看报警内容,再点击“知道了”键,然后通知主管到车队处理本次异常事件。
如果“知道了”键没有被点击,就继续等待……。
如果“知道了”键被点击,就先退出就界面4、关停GLX1喇叭报警声,然后结束GLB子程序。
图3D GLB子程序概略流程图
﹙6C﹚处理错误的GL2信息
如果GL2回复了信息﹙任务单C﹚,但是其10B、10D、10F、10H 中没有车的有效编号,就先调取和显示任务单C中没有车的有效编号文件﹙界面5﹚,界面5中的红色标志闪烁,GLX1喇叭发出报警声:
由于
退回任务单到GL2后,GL2回复的信息中没有车的有效编号,请立即通知主管到车队处理本次异常事件。
显示界面5后,等待“知道了”键被点击;
GLX1值班人员在显示界面5时,必须先看报警内容,再点击“知道了”键,然后通知主管到车队处理本次异常事件。
如果“知道了”键没有被点击,就继续等待……。
如果“知道了”键被点击,就先退出界面5、关停GLX1喇叭报警声,然后结束GLB子程序。
5.2.2. GL X1处理新信息的操作
GLX1採用中断模式来处理新信息,有新信息到来时执行中断A程序;
图3E 中断程序概略流程图
执行中断A程序时,先关中断,再暂存新信息到接收寄存器FA,然后看该信息发送方是否爲车载装置CZ,或路旁射频识别装置SB;
如果都不是,就将FA清零,开中断并结束中断A程序。
如果是CZ,就调用CZ子程序,完成后将FA清零,开中断并结束中断A程序。
如果是SB,就调用SB子程序,完成后将FA清零,开中断并结束中断A程序。
执行CZ子程序时,看FA中的数﹙信息内容﹚;
如果FA≠04或FA≠01,就调用通知子程序,完成后结束CZ子程序。
图3F CZ子程序概略流程图
如果FA≠04或FA≠01,就调用通知子程序,完成后结束CZ子程序。
5.2.3. 有车返回车库时的操作
如果FA=04﹙CZ通知GLX1本车已返回车库的信息代码﹚,就先调取和显示车已返回车库的文件﹙界面6﹚,界面6中的红色标志闪烁, GLX1喇叭发出一秒“滴”提示声,不设置“知道了”键;
再复制本信息发送方地址﹙车辆编号,例如A01﹚填入车辆编号栏:
编号爲
A01的车已执行完任务返回车库。
显示界面6后,先复制本信息发送方地址﹙车辆编号﹚,并在其前面添加X,例如XA01﹙停止对A01追踪的指令代码﹚;
再将该指令代码发送到正在执行追踪A01号车的电脑GLX2﹙例如GLA2﹚;
完成后,先调取相关任务单,再在最后一条信息之后添加返回信息栏,并复制当前时间值填入该栏,然后保存该任务单、退出界面6,并结束CZ子程序。
5.2.4. GL X1向GL X2和SB下达操作指令的操作
如果FA=01﹙CZ通知GLX1本车已开出车库的信息代码﹚,就先调取和显示车已开出车库的文件﹙界面7﹚,界面7中的红色标志闪烁, GLX1喇叭发出一秒“滴”提示声,不设置“知道了”键;
再复制本信息发送方地址﹙车辆编号,例如A01﹚填入车辆编号栏:
编号爲
A01的车已开出车库,可以执行追踪操作了。
显示界面7后,先根据本信息发送方代码调取最近一次保存的任务单,再看该任务单中的变量10B、10D、10F、10H中有多少个车的有效编号;
如果只有一个车的有效编号﹙执行本任务的车只有一台﹚,就调用指令A子程序,完成后结束CZ子程序。
如果有两个车的有效编号﹙执行本任务的车有两台﹚,就调用指令B子程序,完成后结束CZ子程序﹙省略与指令A子程序相同的指令B子程序﹚。
如果有三个车的有效编号﹙执行本任务的车有三台﹚,就调用指令C子程序,完成后结束CZ子程序﹙省略省略与指令A子程序相同的指令C子程序﹚。
如果有四个车的有效编号﹙执行本任务的车有四台﹚,就调用指令D子程序,完成后结束CZ子程序﹙省略省略与指令A子程序相同的指令D子程序﹚。
﹙1﹚编辑追踪指令
执行指令A子程序时,先复制刚才调取的任务单中的变量8﹙X,例如线路代码A00000﹚和发送方代码﹙Y,例如A01﹚,再将其保存到发送寄存器FB;
FB=X+Y=A00000A01,代表执行本任务的车爲A01号车,预定线路爲A00000号线;
﹙2﹚下达追踪指令
完成后,先从GLA2~GLX2中找一台正在待命的电脑﹙例如GLA2﹚,再将FB中的数Y发送到刚才找到的正在待命的电脑﹙要求GLA2追踪Y号车﹚;
﹙3﹚通知X沿线的SB
下逹追踪指令后,先根据变量8﹙X,例如线路代码A00000﹚从射频识别装置资料库中调取文件,然后复制其中的SB编号保存到识别装置寄存器FC;
图3G 指令A子程序概略流程图
例如FC=SB1、SB2、SB3、SB4、SB5、SB6、SB7﹙以“、”号分隔SB编号﹚,代表预定线路A00000沿线的路旁射频识别装置SB编号分别爲SB1、SB2、SB3、SB4、SB5、SB6、SB7;
再复制执行本任务的车编号Y,以FC中的数﹙若干个SB编号﹚为接收方,将Y群发到这些接收方﹙通知A00000沿线的所有SB﹚,Y号车将途经它们的安装位置﹚;
﹙5﹚向第一个SB下达开操作指令
然后以FC中的第一组数为接收方地址﹙SB1﹚,发送05﹙要求SB1执行开操作的指令﹚;
完成后,先调取刚才调取的任务单,并在其最后一条信息之后添加出发信息栏,再复制当前时间值填入该栏,然后保存任务单,并结束指令A子程序。
5.2.5. 保存接载和到达目的地信息
执行通知子程序时,看FA中的数,不设置通知界面;
如果FA≠02或FA≠03,就结束通知子程序。
﹙1﹚到达接载点
如果FA=02﹙CZ通知GLX1,例如GLA1,本车到了接载点的信息代码﹚,就先根据本信息发送方代码调取最近一次保存的任务单,再在最后一条信息之后添加接载信息栏,然后复制当前时间值填入该栏,完成后保存该任务单,并结束通知子程序。
图3H 通知子程序概略流程图
﹙2﹚到达目的地
如果FA=03﹙CZ通知GLX1本车已到达目的地的信息代码﹚,就先根据本信息发送方代码调取最近一次保存的任务单,再添加到达目的地信息栏,然后复制当前时间值填入该栏,完成后保存该任务单,并结束通知子程序。
5.2.6. 根据定位信息向SB下达操作指令
执行SB子程序时,看接收寄存器FA中的数;
﹙2A﹚关操作失败
如果FA=08﹙车到逹了某个SB安装位置,但是该SB关操作失败的信息代码﹚,就先调取和显示SB关操作失败的文件﹙界面8﹚,界面8 中的SB编号栏空白,红色标志闪烁,GLX1喇叭发出报警声:
再复制本信息发送方地址D﹙SB编号,例如SB1﹚填入SB编号栏:
车到逹了SB1号射频识别装置的安装位置,但是该装置关操作失败,请立即通知主管处理本次异常事件。
GLX1值班人员在显示界面8时,必须先看报警内容,再点击“知道了”键,然后通知主管处理本次异常事件。
显示界面8后,先以该信息发送方代码D爲接收方地址﹙例如SB1﹚发送06﹙GLX1下达一次关操作指令﹚;
并以FC中D的下一组数为接收方地址D+1﹙例如SB2﹚,发送05﹙开操作指令代码﹚,完成后保留界面8、GLX1喇叭继续报警,直到“知道了”键被点击为止,并结束SB子程序。
图3J SB子程序概略流程图
如果FA=09﹙车到逹了某个SB安装位置,该SB已完成关操作的信息代码﹚,就以FC中D的下一组数为接收方地址D+1﹙例如SB2﹚,发送05﹙开操作指令代码﹚,完成后结束SB子程序。
如果FA=0A﹙开操作失败的信息代码﹚,就先调取和显示SB开操作失败的文件﹙界面9﹚,界面9 中的SB编号栏空白,红色标志闪烁,GLX1喇叭发出报警声,如果屏幕上仍有界面,就採用多窗口模式显示本界面:
再复制本信息发送方地址D﹙SB编号,例如SB1﹚填入SB编号栏:
管理中心向SB1
下逹开操作指令后,SB1开操作失败,请立即通知主管处理本次异常事件。
GLX1值班人员在显示界面9时,必须先看报警内容,再点击“知道了”键,然后通知主管处理本次异常事件。
显示界面9后,先以该信息发送方代码D爲接收方地址﹙例如SB1﹚发送05﹙GLX1下达一次开操作指令﹚;
完成后保留界面9、GLX1喇叭继续报警,直到“知道了”键被点击为止,并结束SB子程序。
如果FA=07﹙完成开操作的信息代码﹚,完成后结束SB程序。
5.2.4. 人工操作
GLX1採用中断模式来执行人工操作,GLX1值班人员在任何时候按下Ctrl+Enter键时,GLX1执行中断B程序;
执行中断B程序时,先关中断,再调出界面10:
调出界面10后,等待GLX1值班人员操作;
如果预定时限到了,GLX1值班人员没有输入射频识别装置SB编号,或没有点选开操作方框或关操作方框,或没有点击确认键,或点击了X方框,就退出界面10、开中断,并结束中断B程序。
如果输入了SB编号,就看是否为有效编号;
如果不是,就清除已输入的字符;
如果是,就等待点选开操作方框或关操作方框;
如果开操作方框被点选,就填入ˇ,如果关操作方框被点选,就填入ˇ,然后等待确认键被点击;
如果开操作方框内填入ˇ之后,关操作方框被点选,前者的ˇ被清除,后者被填入ˇ,然后等待确认键被点击;
如果关操作方框内填入ˇ之后,开操作方框被点选,前者的ˇ被清除,后者被填入ˇ,然后等待确认键被点击;
如果没有点选开操作方框或关操作方框,只点击了确认键被点击,就等待点选开操作方框或关操作方框;
如果点选开操作方框或关操作方框后,确认键被点击,就根据对界面10的设置向指定SB发送05﹙开操作指令代码﹚或06﹙关操作指令代码﹚;
完成一次操作后,重新设时限,如果预定时限到了,GLX1值班人员没有填入新的SB编号,或没有点选开操作方框或关操作方框,或没有点击确认键,或点击了X方框,就退出界面10、开中断,并结束中断B程序。
5.3. GLX2操作流程
图3J GLX2主程序概略流程图
GL X2得电后,执行联网操作,完成后等待GL X1信息到来;
如果新信息到来,就先保存到接收寄存器FA,再看FA中的数;
如果FA中的数不是GL X1发送的信息,就先清空FA,然后等待……;
如果FA中的数是GL X1发送的追踪指令,例如A00000A01,就先打开该数据组的前六位数﹙A00000﹚所指的电子地图,再以后三位数﹙A01﹚所指的车发送的位置信息,用亮点的方式显示它的动态位置信息﹙执行追踪程序﹚;
如果不能完全路线,就使亮点基本保持在屏幕中部﹙但不固定,以免损伤屏幕﹚,电子地图移动;
显示它的动态位置信息时,看FA中的数;
如果FA中的数不是GL X1发送的停止追踪指令,就等待;
如果是GL X1发送的停止追踪指令,例如XA01﹙停止对A01追踪的指令代码﹚,就先用轨迹的方式保存该车的行驶轨迹,完成后退出对该车的追踪操作、清空FA和清屏,然后等待新的追踪指令到来……。
图3K GLX2中断程序概略流程图
执行中断程序时,先关中断,再保存到接收寄存器FA,然后开中断,并结束中断程序。
5.3. GL2及其值班人员的操作流程
车队管理电脑GL2用于接收GL X1﹙例如GL A1﹚任务单和将填入了变量10A~10H的任务单送回GL X1,可设置多台电脑;
﹙1﹚接收新信息
GL2採用中断模式来处理新信息,有新信息到来时执行中断程序;
执行中断程序时,先关中断,再暂存新信息到接收寄存器FA,然后看该信息发送方是否爲GLX1任务单;
如果不是,就将FA清零,开中断并结束中断程序。
图4A GL2中断程序概略流程图
如果是,就开中断并结束中断程序﹙保存了GLX1任务单﹚。
﹙2﹚处理新信息
GL2 得电后,执行联网操作,完成后,先看是否为GL X1任务单到来,如果没有,就等待GL X1任务单到来;
如果有GL X1任务单﹙任务单A﹚到来,就先使GL2喇叭发出 “滴、滴……”提示声,然后看其中的变量10A~10H栏目;
如果10A~10H全部爲空白,就显示该任务单﹙界面11﹚;
如果10B、10D、10F和10H中有一个多个或全部爲红色,就在该任务单标题前添加闪纅的红点,并显示添加了闪纅的红点的任务单﹙界面12﹚:
派车任务单
派单时间: 2018.10.29.﹙变量1,由GLA1~GLX1复制当前时间值并
填入﹚
委託方电话: 12345678﹙变量2,由GLA1~GLX1值班员填入﹚
车队代码: A﹙变量3,由GLA1~GLX1值班员填入﹚
接载点1: 俾利喇街望厦社屋﹙变量4,由GLA1~GLX1值班员填入﹚
目的地: 加思栏马路﹙变量5,由GLA1~GLX1值班员填入﹚
车种和台数: A类车1台﹙变量6,由GLA1~GLX1值班员填入﹚
B类车0台﹙变量7,由GLA1~GLX1值班员填入﹚
线路代码: A00000﹙变量8,由GLA1~GLX1根据变量3~5从预定线路资料库中调取并填入﹚
线路说明: 从A车队车库出发,经东北大马路→慕拉士路→俾利喇街→美副将马路→水塘马路→海边马路→加思栏马路,然后返回A车队车库﹙变量9,由GLY从预定线路资料库中调取并填入﹚
接单司机1: 老张﹙变量10A,由GL2值班员填入﹚
车编号1: SB01﹙变量10B,由GL2值班员填入﹚
接单司机2: 0﹙变量10C,由GL2值班员填入﹚
车编号2: 0﹙变量10D,由GL2值班员填入﹚
接单司机3: 0﹙变量10E,由GL2值班员填入﹚
车编号3: 0﹙变量10F,由GL2值班员填入﹚
接单司机4: 0﹙变量10G,由GL2值班员填入﹚
车编号4: 0﹙变量10H,由GL2值班员填入﹚
GL2喇叭发出 “滴、滴……”提示声时,GL2工作人员必须立即查看电脑显示内容;
﹙1﹚填写任务单
如果是GL X1任务单,就先根据任务单中的变量1~9的内容,调派车辆和随车工作人员,再按调派车辆和随车工作人员资料填写变量10A~10H,完成后点击“确认” 键;
显示界面11或界面12后,GL2看键盘是否有键被按下;
如果没有,就等待,GL2喇叭继续发出 “滴、滴……”提示声……。
如果有,就看“确认”键是否被点击,如果没有,就等待……。
如果有,就用变量10B、10D、10F和10H中的数与本车队车辆编号资料库中的数对比;
如果有一个多个或全部爲本车队车辆编号有效数﹙有效数﹚,就以任务单发送方代码爲地址﹙例如GLA1﹚,将填好或修改了10A~10H的任务单﹙任务单B﹚发给它;
图4B GL2主程序概略流程图
﹙2﹚打印任务单
完成后,先退出界面11或界面12,再设置等待时限;
如果时限到了,没有GL X1任务单到来,就看变量6 ﹙A类车台数﹚和变量7﹙B类车台数﹚之和;
如果是1,就打印一份填好或修改了10A~10H的任务单,如果是2,就先打印两份填好或修改了10A~10H的任务单……;
打印任务单后,先保存任务单,然后该看是否为GL X1任务单到来……。
如果有GL X1任务单到来,就看其中的变量10A~10H栏目……。
﹙3﹚派发任务单
打印完任务单后,GL2工作人员就将任务单B派发给随车工作人员;
接收任务单的工作人员看明白任务后,按一下车载装置CZ上的K1键﹙第一次按下K1﹚,车载装置CZ被热启动;
﹙4﹚执行任务单
CZ被热启动后启动汽车,汽车起步前,工作人员再按一下CZ上的K1键﹙第二次按下K1﹚,CZ立即启动车载信标装置XB,并向GLX1发送01﹙启动追踪本车及执行关/开操作的指令﹚……。
END