《模块式立体车库上位机管理系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《模块式立体车库上位机管理系统的设计与实现.pdf(70页珍藏版)》请在三一文库上搜索。
1、硕士论文模块式立体车库上位机管理系统的设计与实现 目录 摘要I A b s t r a c t I I l 绪论。1 1 1 课题背景及研究意义。1 1 2 课题研究现状。2 1 2 1 国外研究现状2 1 2 2 国内研究现状3 1 3 本文研究内容一3 1 4 本文章节安排4 2 系统总体设计5 2 1 立体车库运行原理5 2 1 1 模块式立体车库机械结构5 2 1 2 存取车流程6 2 2 系统总体结构9 2 。2 。1 需求分析9 2 2 2 系统总体结构组成9 2 2 3 系统功能模块划分一l O 2 3 本章小结1 2 3 系统功能实现1 3 3 1 通信模块1 3 3 1 1
2、串口通信协议1 3 3 1 2 串口通信类设计1 5 3 1 3 串口通信处理流程1 7 3 2 数据库设计2 0 3 2 1 数据库概念模型概述。2 0 3 2 2 数据库E R 建模2 1 3 2 3 数据库关系模式设计2 2 3 2 4 数据库字典的建立。2 4 3 2 5 数据库的优化2 6 3 3 功能模块2 8 3 3 。l 门禁管理系统功能模块一2 8 3 3 2 监控管理系统功能模块3 0 3 3 3 客服系统功能模块3 7 3 4 多线程设计3 9 3 4 1 多线程概述3 9 目录硕士论文 3 4 2 系统多线程的实现4 0 3 4 3 系统多线程协调与通信4 2 3 5
3、本章小结4 3 4 多目标模糊算法在车位调度中的实现4 5 4 1 算法问题的提出4 5 4 2 多目标模糊算法建模4 6 4 3 控制系统模糊算法的实现5 l 4 3 1 编程算法的实现5 1 4 3 2 评价参数的计算5 1 4 3 3 算法的实现与m a t l a b 仿真5 2 4 4 本章小结5 6 5 软件测试5 7 5 1 软件测试概述5 7 5 2 系统功能测试5 7 5 2 1 测试需求分析5 7 5 2 2 测试环境的搭建5 8 5 2 3 测试用例设计5 9 5 3 系统测试数据分析6 0 5 4 本章小结6 1 6 总结与展望6 3 6 1 工作总结6 3 6 2 展
4、望6 3 致谢。6 4 参考文献6 5 硕士论文 模块式立体车库上位机管理系统的设计与实现 1 绪论 1 1 课题背景及研究意义 随着经济的不断发展,人们生活水平的日益提高,汽车保有量迅速增长,导致国内 主要城市存在严重的停车难问题。自2 0 0 2 年以来,我国的轿车需求量以不低于4 0 的 速度高速增长。据城市建设经验,车位与车辆较为合理的比例应该为l :1 2 。然而,我 国目前城市车位与机动车辆的保有量之比大约为1 :5 ,也就是说停车位的满足率只有2 0 左右。由于早期人们对汽车保有量与车位的需求关系认识不足,在城市规划时对停车 设施考虑不够,停车场的设计多采用平面式。而这显然不能满
5、足人们的停车需要,造成 了目前停车设施严重缺失的局面1 1 1 。如再不采取措施,这一矛盾将十分突出,并继续恶 化。为解决这一难题,立体车库应运而生,其充分利用空间资源,形成立体停车模式, 大大缓解了城市的停车难问题 2 1 。 传统的车库具有占地空间大,容易拥堵,管理困难等缺点,越来越不适应城市汽车 数量高速增长的需求。而立体车库具有占地面积小、操作简单灵活以及安全可靠等诸多 典型优点。目前,立体车库的主要结构形式有:循环式、升降横移式【3 】【4 】、巷道堆垛式、 旋转式等。但这些类型的停车库往往存在设备结构复杂、存取车时间长、灵活性差和故 障率高等缺剧5 】【6 】。为了弥补这些不足,模
6、块式立体车库【7 】作为一种新型立体车库应运 而生。它模块化的设计能够实现多个存取车任务的同时进行,具有结构灵活,存取车效 率高、安全性高等优点,必将成为未来立体车库发展的新趋势。 同时,随着生活节奏的加快,人们对于立体车库的便捷性、安全性和存取车效率的 要求越来越高,立体停车库已经不是一种单纯的停车设备,而是集存取、收费、安保于 一体的立体车库停车场系统。传统的立体车库停车场系统包括自行式立体停车库、由电 动机与链条直接驱动的简易式车库、基于P L C 控制系统的立体车库【3 J 以及基于单片机控 制系统的立体车库等【9 l 。这些类型的立体车库控制系统自动化程度不高、需要人工收费 和管理,
7、造成了存取车效率低下、安全性差以及管理人员的浪费等诸多问题。因此,单 纯的采用人工来管理车库已经远远不能满足车辆日常管理的需求。结合信息技术、先进 的停车场管理技术【1o 】和相关设备来提高停车管理水平,方便车辆的停放和安全管理,成 为停车场业主和用户的迫切需要。 当前,国内现有的立体车库具有管理介质落后、安全性能较差、人性化设计不完善、 集成自动化程度较低和运行效率低下等较多缺陷,远远适应不了市场的需要。基于上述 背景,本文研究设计一套立体车库的上位机管理系统,以提高立体车库的智能化程度和 存取车效率为目标,实现立体车库从存车到收费的全自动无人化管理。 l 绪论硕士论文 1 2 课题研究现状
8、 1 2 1 国外研究现状 世界上第一座立体车库于1 9 2 0 年在美国建立,而3 0 多年后一些发达国家均建立了 各式各样的立体车库。在欧洲,较早研发停车设备的代表性公司有意大利的s o t e f m 、 I n t e r p a r k 和德国的P a l i s 等。和其他大洲相比,欧洲的土地资源更加富足,不存在突出 的停车问题,其停车设备的需求量不是太大,故这些国家将重心放在巷道堆垛类产品研 发上。在亚洲,停车设备的技术大多起源于日本。该国是亚洲中最早开始对机械停车设 备的开发、生产、销售和服务进行研发的国家,距今已有四十多年的历史。目前,日本 已经拥有超过三百多万的机械停车设备
9、,其中升降横移动式停车是采用最多的设备。 为管理立体车库的停车设备,很多国家设计了车库管理系统【1 1 】。如今,国外立体车 库管理系统经过长时间发展,采用高度可靠的智能化设备,已经进入了收费系统无人化 操作的阶段【1 2 】。国外车库管理系统的一个典型特点是:支付停车交易的方式特别多,很 少存在现金交易的现象。另外,车库管理系统还提供停车车位查询系统、停车车位引导 系统等智能化设备。而这些智能化设备的制造工艺精良,系统的产品技术水平和稳定性 达到较高水平,使整个管理系统的功能更加丰富和完美。为能够统一调度车位资源及交 易结算,一些国外停车设备厂商致力于研究实现“网络化存车”的管理系统。这样,
10、用 户在任何地方都可以使用网络来实现预定停车车位、交纳停车费用以及查询目的地的各 种停车信息。随着I n t e m e t 在日常生活中的普及,该新型停车场管理方式的作用范围和 功都得到了很大的延伸及扩展。 以下文献主要阐述了目前立体车库管理系统的研究现状: 文献 1 s l 提出了一种基于G S M 的无人值守车库管理系统。该系统前端硬件主要有 A V R 单片机A t m e g a l 6 和G S M 短信模块T C 3 5 i ,安装在停车场的各个出入口。通过车 主的手机信息控制停车场出入口道闸的开启,并由短信扣取停车的费用。系统联网后可 以进行预定车位、短信查询等。 文献【1 4
11、 】提出了一种基于R F I D 射频卡技术的车库管理系统。将远距离传感技术结 合数据库技术,实现“一卡一人”、“一卡一车”的身份信息管理,使车库车辆进出有序、 速度快,实现了管理智能化、收费合理化以及减少停车场管理人员等优点。 文献【1 5 】通过对车牌自动i , q N 技术【1 6 】的研究,提出了利用车牌识别技术获取车辆车 牌号码,作为车辆身份信息的管理体系。该系统下位机完成图像摄入,上位机获取图像 信息并分析识别,结合数据库技术,实现对车库的安全有效的管理。 文献【1 7 】提出了一种立体车库定向诱导管理系统。为了减少用户停车寻址的时间, 系统采用椭圆搜索框算法以找到最短路径。同时该
12、文献还提出了超声波统计车位占用情 况、车库单元条形码标记等技术,使整个停车场诱导服务定向化、智能化。 硕士论文模块式立体车库上位机管理系统的设计与实现 文献 1 8 】是对立体车库存取车优化策略【1 9 】【2 0 】的研究。文献以两种典型立体车库为 例,选用不同的目标函数,分别实现两种类型的车库在不同存取车优化策略下的仿真, 说明了存取车优化策略对于立体车库的重要性,以及它的研究现状。 文献 2 1 提出了基于A n d r o i d 平台可预取式立体车库管理系统。它是基于A n d r o i d 平台A P K ,用h t q p 协议实现服务网站与网络传输技术的实时通信。用户只需注册
13、一个 用户名,即可在立体车库系统中心提交停、取车请求。由于已建立好的车库管理系统与 服务网站连接,故系统可自动地处理客户端发来的请求并直观地将当前车库的听取状况 显示出来。 1 2 2 国内研究现状 我国立体车库于上世纪八十年代开始发展起来,1 9 8 9 年国内制造出第一台垂直循 环类机械式的停车车库1 2 2 1 。虽然我国很早就对机械式立体车库进行开发和使用,但由于 发展立体车库的技术水平有限、智能化程度偏低、存取车效率不高以及一些市场需求原 因,导致立体车库十多年来发展缓慢。随着国家经济水平的提高,我国停车行业的不断 发展,立体车库的数量也开始增多。九十年代初,有的企业开始自主研发并生
14、产一些立 体停车场设备,由此正式开启了国内的立体车库管理系统行业。但该管理系统并不成熟, 因为它主要依靠引进及“模仿”国外先进技术,不具备市场竞争的优势。 近十年来,由于我国停车行业的日益发展,国内立体车库企业的整体实力和技术水 平较大幅度的提升,已经开始从最初期的仿制国外先进技术,转向自主研发创造方式 【2 3 】【2 4 1 。随着立体车库管理系统的不断完善和发展,该行业也进入了从传统管理系统向 先进管理系统转型的高峰时期。目前,国内已经完全可以自主生产出许多国际上先进的 车库管理系统。这些新型的车库管理系统具备非接触式I c 卡1 2 5 1 、车牌图像识别1 2 6 1 及远 距离射频
15、电子标识【2 7 l 等先进技术,从而代替了传统的人工车库管理系统。 虽然我国立体车库管理系统日益发展壮大,但我们应该注意的是,国内立体车库管 理系统的大部分核心技术仍然采用的是国外技术专利,故管理水平与国际同行仍然存在 着很大的差距。此外,我国的车库管理系统自身还存在一些问题,主要表现为国内的立 体车库结构不够合理,自动化、智能化程度不高,无法实现无人化管理,也没有形成一 个完整的车库管理体系,造成存取车效率低下、安全性差以及管理人员的浪费。针对这 些问题,本文对模块式立体车库上位机管理系统展开研究。模块式立体车库基于它的结 构特点,可以实现多个存取车任务的同时操作,存取车效率显著提高。同时
16、,它模块化 的设计使得结构非常灵活,有利于提高立体车库的智能化程度。 1 3 本文研究内容 综上所述,我国的立体车库已经有了一定的发展,但由于其自动化程度不高、智能 3 1 绪论 硕士论文 化程度欠缺,导致立体车库管理成本的增加。加上国内对模块式立体车库这种新型立体 车库的研究才刚刚起步,所以对于该类型立体车库的管理和存取车优化策略上都有很大 的提升空间。本文在分析模块式车库自身的优势的基础上,设计并实现了模块式立体车 库上位机管理系统,形成了一套集门禁管理、自动身份识别、监控管理、客服管理为一 体的管理体系,提高了立体车库的自动化程度和智能化程度。本文研究的内容主要包括 以下几个方面: (
17、1 ) 收集和整理有关国内外立体车库上位机管理系统研究现状的相关资料,分析 了模块式立体车库上位机管理系统的功能需求。 ( 2 ) 结合数据库技术,建立了智能I C 卡与存取车用户的“一对一”关系,实现了 对用户、车辆、事件的信息化管理。 ( 3 ) 设计了一套集门禁管理系统、监控管理系统、客服系统为一体的立体车库上 位机管理系统,并实现了各子系统的各个功能模块。 ( 4 ) 分析了模块式立体车库的结构特点和运行原理,综合考虑存取车效率和能量 损耗两方面因素,研究模块式立体车库的存取车优化策略。 1 4 本文章节安排 本文的主要章节安排如下: 第一章:绪论。介绍了本课题的研究背景和意义,以及立
18、体车库及其管理系统在国 内外的发展现状,提出了论文的研究内容和结构安排。 第二章:系统总体设计。分析了模块式立体车库的机械结构和运行原理,设计了上 位机管理系统的总体架构和功能模块。 第三章:系统功能实现。制定了上下位机的通信协议,完成了数据库的优化和多线 程的设计。详细实现了门禁管理系统、监控管理系统、客服系统的各个功能模块,主要 包括门禁管理系统的门禁权限处理模块、监控管理系统的车库实时监控模块、车位状态 监控模块以及客服系统的I C 卡信息管理模块和用户信息管理模块。 第四章:多目标模糊算法在车位调度中的实现。运用多目标模糊综合评价法对模块 式立体车库进行车位调度,实现了存取车性能的优化
19、。 第五章:软件测试。搭建测试环境,设计测试用例并对软件进行黑盒测试,最后分 析测试结果。 第六章:总结与展望。对全文工作进行总结,提出系统需要进一步完善的工作和可 能解决的方案。 4 硕士论文 模块式立体车库上位机管理系统的设计与实现 2 系统总体设计 2 1 立体车库运行原理 2 1 1 模块式立体车库机械结构 本车库采用一种新型的立体车库一一模块式平移升降立体停车库,它将车位模块 化,每个车位都是一个独立的模块,可以独立进行升降和横移操作,该车库可以实现多 个存取车任务的同时操作,有效提高存取车效率,减少用户等待时间,其机械结构如图 2 1 所示。 口 一一 【。:J 、 nU _ ,
20、j 广kIo ,i蠡 。_ _ k 一 囝凸 I I 1 跚I 2 蹿l IIIl广 L o _。 ,、 ,、 凸o 。h h I 曙 If q II l 闷n 誓 1i圈7,l l l 回。I f_ 】 u l -lI川 j1 tJ I H 9 o i 南盎。,Q 自I - h III n F ,_ 一 rl 。者1阳 o l I I U I I l I I 卜7 I f 1If L l - o一-_ 一鑫、o 州 一 , 犍 1 【 ll -k _ _ _ l LJ lI 入座厂_ ,、 ,r I 印吲I l | III | | ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
21、】) ) ) ) ) 】) ) ) j 】) 】) 】) ) 】) 】) 】) 图2 1 立体车库机械机构图 2 系统总体设计 硕士论文 本车库采用2 “ 1 0 模块式平移升降立体车库,共2 0 个有效车位。模块式平移升降立 体停车库的框架由前后立柱和等距设置于其上的多层横梁构成,立柱围起的空间为共用 升降通道,共用升降通道两边的横梁之间即为存车位,每个存车位都收纳着一个独立存 取模块,每个模块都能独立地平移、升降和调头。 模块式平移升降立体车库,与其他立体车库相比,最大的优势在于存取车效率高, 能同时执行多个存取车任务。在存取车操作过程中,平移载车架移到共用的升降通道时, 随即启动升降载车
22、架,或升降载车架在共用的升降通道内,升到平移载车架时,可以随 即启动平移载车架,这之间可以免去交接过程。并且,在共用的升降通道内,已经上升 到上方的载车架,就不再影响下方存车位的运行,或者,上方的升降载车架可以预先下 降到正在运行的下方存车位之上等待,零耗时交接,再加上如此进行时间运筹,可以将 模块式立体停车的平均存取时间减少5 0 以上,而且升降载车架自带的调头台板能够利 用存车位和共用升降通道的面积实行空闲时空中调头,不需要增加地面调头设施,不额 外增加地面调头面积,也不额外增加存取耗时。并且,利用这些模块可以任意叠加组合 出不同规模和不同存取路径的自动立体车库,很好地适应城市环境中集中停
23、车与分散停 车的各种需求。 2 1 2 存取车流程 立体车库在单纯立体停车设备的基础上融入了其它辅助设备,如门禁刷卡设备,车 型检测设备等,从而使停车的功能更加强大和完善,实现了从车辆到达、验证入库到收 费结算、取车离库一套完整的自动化过程。 需要指出的是,立体车库的存取车客户有两种类型,一种是固定客户,固定客户办 理固定卡,费用一次缴清,在限定日期内可以随意使用。另一种是临时客户,临时客户 办理临时卡,取车时根据存车时间按小时计费并缴费。 存车流程如图2 2 所示,临时客户手持事先办好的临时卡,固定客户手持固定卡, 驾车来N I - J 禁处,在门禁读卡机上刷卡,验证卡的有效性,并对车辆的长
24、、宽、高、重 量进行检测,若卡无效或车辆不合法,则提示错误信息,存车失败。若卡有效且车辆合 法,闸机自动升起,车辆通过复位感应器,闸机自动降下,车辆驶入车库,用户将车辆 停放完毕,下车后再次刷卡,确认停车,存车完成。 硕士论文模块式立体车库上位机管理系统的设计与实现 卡 图2 2 存车流程图 取车流程如图2 3 所示,客户刷卡取车,驾驶车辆到达门禁,若为临时客户,客户 将卡交给客服人员并缴费,闸机自动升起,临时客户驾车驶出车库,取车完毕。若为固 定客户,客户在门禁读卡机上刷卡,若卡未过期,闸门自动开启出库,若卡过期,补缴 2 系统总体设计 硕士论文 费用方可出库。 8 图2 3 取车流程图 硕
25、士论文模块式立体车库上位机管理系统的设计与实现 2 2 系统总体结构 2 2 1 需求分析 上位机管理系统是立体车库的一个重要组成部分,能为停车人员及时的提供车库车 位信息,使车库管理人员及时的了解车库运行状况,为车库的有效管理提供了信息保障 和支持,也使得后面的存取车操作更加方便。上位机管理系统服务于立体车库的门禁、 存取车、监控等各个环节,下面分别从存取车用户和车库管理者两个角度,分析上位机 管理系统的功能需求。 从存取车用户角度,系统需要满足的需求: ( 1 ) 本系统中一个存取车用户对应一张I C 卡,系统能够自动识别I C 卡有效性, 判断用户身份是否合法。 ( 2 ) 系统能自动检
26、测车库是否满足存车条件,并对用户存车请求进行反馈。 ( 3 ) 系统能够保证高效的存取车效率,减少用户等待时间。 ( 4 ) 系统能够对存取车用户的办卡,续卡,挂失,缴费等请求进行处理,并反馈 处理结果。 从车库管理者的角度,系统需要满足的需求: ( 1 ) 系统能够对存取车请求进行分析处理,并向下位机传达存取车控制指令。 ( 2 ) 系统能够实时监控车库设各运行状态,并在监控界面动态显示。 ( 3 ) 系统能实时显示各车位状态及剩余空闲车位数。 ( 4 ) 系统能设置收费标准。 ( 5 ) 系统能对操作员信息进行管理。 ( 6 ) 具备一定数据统计功能。 ( 7 ) 具备一定安全保障功能。
27、由以上分析可知,上位机管理系统担负着人机交互、数据维护、任务分配、车库运 行状态监视等方面的任务。 2 2 2 系统总体结构组成 系统的总体结构如图2 4 所示,系统分为两层,上位机层和下位机层,上位机层设 备包括主控服务器和客服计算机,构成以主控服务器为核心的数据采集显示和数据信息 管理监控级【2 8 L 一上位机管理系统。下位机层的设备主要有存取车主控P L C 和门禁控 制器,构成了由P L C 控制子系统俐、门禁控制子系统【3 0 】 3 l 】、检测设备和驱动设备组成 的控制系统现场级控制系统,负责完成车辆检测、门禁控制以及存取车操作等任务。 9 2 系统总体设计 硕士论文 l 。1
28、 姆 愈 主控计算机J 客服j 1 R S 一4 8 5 总线 】 上一上 文 :曩= ;,1 1 旷 馨 遗竺:三书 闳一 Z 机 图2 4 系统总体结构图 根据对系统的需求分析,设计上位机管理系统的软件组成如图2 5 所示。按功能可 以将上位机管理系统分成三个子系统,包括门禁管理系统、监控管理系统以及客服系统。 其中,门禁管理系统主要负责出入库权限的管理,监控管理系统主要负责对车库运行状 况的监控和管理,客服系统主要担负I C 卡及用户等信息的管理任务。 图2 5 上位机管理系统软件组成图 2 2 3 系统功能模块划分 对上位机管理系统的三个子系统进行详细的功能分析,划分出每个子系统的主要
29、功 能模块,得到系统的功能模块组成如图2 6 所示。 硕士论文 模块式立体车库上位机管理系统的设计与实现 图2 6 上位机管理系统的功能模块组成图 门禁管理系统功能主要包括入库权限处理模块、出库权限处理模块和事件记录模 块。由于采用I C 刷卡存取车,一张I C 卡对应一个车辆,所以I C 卡是车辆身份的代表。 门禁系统通过接受下位机门禁控制器发来的出入库申请指令,判断车型是否合法,并查 询数据库,对I C 卡进行有效性判断,从而识别出车辆身份是否合法。若都合法,则发 送开门指令给下位机,否则,提示错误信息。无论出入库是否成功,系统都会对事件进 行记录,方便日后查询。 客服系统主要包括I C
30、卡管理模块,用户信息管理模块和报表生成模块。其中I C 卡 管理模块主要负责本库I C 卡的管理,一张I C 卡对应一个用户,通过对I C 卡信息的录 入、修改、查询可以实现办卡、续卡、查询消费记录等功能。用户信息管理模块可以实 习对用户信息的查询和修改。生成报表用于打印消费单、消费记录等功能。 监控管理系统是上位机管理系统的核心系统,其中存取车任务管理模块又是监控管 理系统的核心,它主要负责对用户的存取车请求进行一系列处理后,转化成控制命令发 送给P L C ,从而实现对车库存取车的控制。车库实时监控模块包括车位运行动画和故障 报警,车位运行动画是通过与P L C 的通信,将P L C 采集
31、来的数据转化成动画显示在监 控界面上,从而使管理人员实时、直观的了解车库动态;故障报警是当车库设备发生故 障或车库现场出现安全隐患时,及时发出报警提示,提醒工作人员采取相关措施。车位 状态监控模块的功能包括车位状态的显示和查询等。操作员管理包括操作员的登录以及 权限的管理。 2 系统总体设计 硕士论文 2 3 本章小结 本章介绍了模块式立体车库的机械结构和运行原理,通过对系统的需求分析,设计 了上位机管理系统的总体架构,包括门禁管理系统、监控管理系统和客服系统三大子系 统,并分析了每个子系统的功能模块组成。 硕士论文模块式立体车库上位机管理系统的设计与实现 3 系统功能实现 模块式立体车库上位
32、机管理软件的开发环境为:B o d a n dC 抖B u i l d e r ( 以下简称C + + B u i l d e r ) 。C + + B u i l d e r 是B o d a n d 公司推出的一款界面开发工具,用户通过拖拽控件的 方式即可进行软件界面的布局。此外,C + + B u i l d e r 成熟的V C L 组件库比V C + + 的M F C 类库强大得多,因此,模块式立体车库中上位机软件采用C + + B u i l d e r 来实现。 3 1 通信模块 串口通信( S e r i a lC o m m u n i c a t i o n s ) 3 2
33、 】是一种通过数据线在外围设备与计算机间传 输数据的通信方式。串口通信中,数据通常是在信号线、地线或控制线中按位传输的。 串口通信具有抗干扰能力强、通信费用低的优点,可用于长途通信。同时,串口通信经 过多年的发展,技术已经非常成熟,驱动程序完善,可以参考的源码多样,可以在很短 的时间内开发出高质量的监控软件。基于以上优点,立体车库上位机管理软件在实现时, 选用串口通讯方式与下位机交换数据。 3 1 1 串口通信协议 系统上位机与下位机的串口通信主要包括两个部分,一个是门禁管理系统与下位机 门禁控制器的通信,另一个是监控管理系统与下位机车库主控P L C 的通信,根据系统 所要实现的功能,制定通
34、信协议如下。 ( 1 ) 门禁管理系统与下位机的通信协议 门禁管理系统接收到下位机发送的指令后,进行分析处理,根据指令类型的不同, 进入不同的处理流程,处理完成后,生成控制指令发给下位机,以下是门禁管理系统与 下位机通信的指令格式。 a ) 下位机向上位机发送入库申请指令格式 表3 1 入库申请指令格式 开始长度指令类型卡号车长车宽车高 车重 校验位 结尾 1 B3 B1 B4 B4 B4 B4 B4 B1 B1 B b ) 上位机向下位机发送入库控制指令格式 表3 2 入库控制指令格式 I 开始长度指令类型门禁权限故障提示类型校验位结尾 1 B3 Bl B1 B1 B1 1 31 B 3 系
35、统功能实现 硕士论文 c ) 下位机向上位机发送出库申请指令格式 表3 3 出库申请指令格式 开始长度指令类型卡号校验位结尾 1 B3 B1 B3 BI Bl B d ) 上位机向下位机发送出库控制指令格式 表3 4 出库控制指令格式 开始长度 指令类型 门禁权限故障提示类型校验位结尾 1 B3 B1 B1 Bl B1 B 1 B ( 2 ) 监控管理系统与下位机的通信协议 监控管理系统接受到下位机发送的指令后,进行分析处理,根据指令类型的不同, 进入相应的处理流程,处理完成后,反馈相应的指令,以下是监控管理系统与下位机通 信的指令格式。 a ) 下位机向上位机发送存取车申请指令格式 表3 5
36、 存取车申请指令格式 开始长度指令类型存取类型I C 卡号校验位结尾 1 B3 Bl B1 B3 B1 BI B b ) 上位机向下位机发送存取车控制指令格式 表3 6 存取车控制指令格式 开始长度指令类型任务个数校验位结尾 数据段 1 B1 B3 B1 Bl B1 B 其中,数据段格式如表3 7 所示: 表3 7 数据段格式 I 任务编号任务类型车位号任务编号任务类型车位号 1 B1 B1 Bl B1 Bl B c ) 下位机向上位机发送的车位数据指令格式 表3 8 车位数据指令格式 l 开始长度指令类型车位号位置车位号位置校验位结尾 1 B3 B1 B1 B2 B1 B2 Bl B1 B
37、d ) 下位机向上位机发送的故障报警指令格式 表3 9 故障报警指令格式 开始长度指令类型车位号故障类型校验位结尾 1 B3 B1 B1 B1 B1 Bl B 1 4 硕士论文模块式立体车库上位机管理系统的设计与实现 3 1 2 串口通信类设计 为了在c + + B u i l d e r 中实现串口通信编程,需要借助其它方法来实现串口通信,因 为C + + B u i l d e r 中没有用于编写串口通信的模块,解决方案有以下3 种3 3 1 : ( 1 ) 在C + + 程序中使用汇编指令,直接操作底层硬件。由于汇编语言的执行效率 比高级语言高,因此,对实时性要求比较高的通信较为实用。而
38、且,在C + + B u i l d e r 中, 汇编语言使用很方便,可在程序任意位置嵌入汇编语言。 ( 2 ) 使用M S C o m m 控件。M S C o m m 是微软为串行通信专门开发的A c t i v e X 控件。 M S C o m m 控件有两种串I S l 通信的方式:( 1 ) 查询方式,该方式比较简单,采用定时器周 期性的检查串口上是否接收到数据,一旦接收到数据则读入控件的I n p u t 值:( 2 ) 事件驱 动方式,该方式调用O n C o m m 事件函数来处理通信事件,并通过C o m m E v e n t 属性判断 事件的类别,进而做下一步的处理。
39、 ( 3 ) 使用W i n d o w s A P I 函数【3 4 1 。任意W i n d o w s A P I 函数,C + + B u i l d e r 都支持调用, 在W i n d o w s A P I 函数的使用过程中,程序开发人员可以任意封装串口通信类。由于这种 方式良好的灵活性能和实时性能,因此,本系统通过调用W m d o w s A P I 函数对串口类进 行封装及设计。 用W i n d o w s A P I 函数编写串口程序的过程是:创建串口句柄,对串口的参数进行设 置,包括波特率、数据宽度、校验位、端口号等。然后对串口进行相应的读写操作,读 写结束后,关闭
40、串口句柄。 为提高程序的封装性,采用S e r i a l C o m m 类来封装串口的相关操作。以下是 S e r i a l C o m m 类的具体设计,声明如下: c l a s sS e r i a l C o m m p u b i c : S e r i a l C o m m O ; S e r i a l C o m m ( ) ; b o o lS e t c o m m O ; b o o lS e n d D a t a ( u s i g n e dc h a r p C m d ,u n s i g n e dl o n gW r i t e B y t e s
41、) b o o lG e t D a t a ( u n s i g n e dc h a r 幸p B u f f e r , u n s i g n d el o n gB u f f e r S i z e ,u n s i g n e d l o n g 幸R e a d B y t e s ) ; p r i v a t e : H A N D L E h F i l e ; ; 3 系统功能实现硕士论文 图3 1S e t C o m m 函数流程图 S e r i a l C o m m 类的成员函数S e t c o m m 对应串口打开的操作,完成串口初始化。其函 数流程如图
42、3 1 所示。 S e r i a l C o m m 类分别为发送和接收数据提供了S e n d D a t a 函数和G e t D a t a 函数,图3 2 是S e n d D a t a 函数流程图。 1 6 图3 2S e n d D a t a 函数流程图 硕士论文模块式立体车库上位机管理系统的设计与实现 如图3 2 所示,S e n d D a t a 函数采用同步方式调用W r i t e F i l e 函数,若写入成功且实 际写入字节数与期望写入字节数相同则表示数据发送成功,此时S e n d D a t a 函数返回 t r u e ,否则表示发送失败返回f a l
43、s e 。对于G e t D a t a 函数,给出函数流程图如图3 3 所示。 上 调用C l e a r C o m m E r r o r 函数获 取欲接受的字节数 一一 、题芝三竺岁沙7 “ 以同步的方式调用R e a d F i l e 读串口,并返回读取结果 上 i 欲读取的字节数等于实际读取:N 、巡步一一 r 酊的字节数i 返腓啪 “ 图3 3G e t D a t a 函数流程图 如图3 3 所示,G e t D a t a 函数首先调用C l e a r C o m m E r r o r 函数获取接收缓冲区内欲接 收字节数,若欲接收字节数等于0 或大于接收数组大d 、( B u f f e r S i z e ) ,则调用P u r g e C o m m 函数用以清空接收缓冲区,并返回f a l s e 表示数据接收失败,否则采用同步方式调用 R e a d F i l e 函数读取串口;若调用成功且实际读取个数等于欲接收字节数,则函数输出实 际读取字节( R e a d B y t e s ) 并返回t r u e 表示接收成功,否则返回f a l s e 。虽然W t e F i l e 和 R e a d F i l e 函数采用同步方式进行操作会导致线程的
链接地址:https://www.31doc.com/p-3582472.html