




已阅读5页,还剩64页未读, 继续免费阅读
(通信与信息系统专业论文)全自动机动车安全性能检测线网络测控系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
弋弼丽i 摘要 机动车安全检测测控系统的构建和软件的实现,在于各检测站对检测线的理解和 开发商的软件解释。所以各检测站的检测线软硬件的设计就会有所差别,设计出的控 制系统在效率、先进性、交互性、稳定性、可扩展性方面也会不同。本课题从以上几 个问题的深层次考虑出发采用分布式测控模式与客户朋务器数据管理模式相结合, 构建了基于网络的全自动机动车安全性能检测测控系统。在软件设计的过程中,采用 面向对象的程序方法结合多进程的概念,为实现对多条检测线进行调度提供了良好的 解决方案:采用柔性化设计思想使得软件对检测设备排布不同的检测线具有很好的适 应性:多线程的概念实现测控系统中多任务的并行工作。本课题还涉及了系统中客户 服务器数据库管理和访问技术,以及检测过程中对数据的采集和处理方法。 关键词:机动车安全检测线、分布式测控系统、客户服务器数据库、多线程、 多进程、柔| 生化设计、数据备份恢复、o d b c 数据源、a d o 颐士论文 全自动机动车安全性能检测网络涮控系统 a b s t r a c t t h et e s ta n dc o n t r o ls y s t e mo fa u t o m o b i l es a f e t yp e r f o r m a n c ei s d e s i g n e d b yt h ed e v e l o p e rw h ok n o w st h ew h o l et e s tl i n ea n dc a nd e s c r i b ei tw i t ho n e o fp r o g r a ml a n g u a g e s t h e r ew i i ib es o m ed i f f e r e n ts y s t e m sb e c a u s eo fs o m e d i f f e r e n td e v e l o p e r s ,w h i c hb r i n gd i f f e r e n ta s p e c t si ne f f i c i e n c y ,s t a b i l i t y , i n t e r a c t i v i t y ,e x p a n s i b i l i t y ,a n da d v a n c e m e n t t h i sp r o j e c tc o n s t r u c t st h e t e s ta n dc o n t r o ls y s t e mo faf u l l ya u t o m a t i ca u t o m o b i l es a f e t yp e r f o r m a n c eb a s e d o ni t sc o m m u n i c a t i o ns y s t e mo nl a n i t ss t r u c t u r ei sb a s e do nd i s t r i b u t e d c o m p u t e rt e s ta n dc o n t r o lm o d e la n di t sd a t ao nc l i e n t s e r v e rc o m p u t i n g m o d e l i nt h ep r o c e s so fp r o g r a md e s i g n i n g ,t h em u l t it e s tli n es c h e d u l e r i sr e a l i z e do nt h eo r i e n t e do b j e c ta n a l y z i n ga n dd e s i g n i n gc o m b i n i n gw i t ht h e m u l t i t a s k i n gc o n c e p t :t h ef l e x i b l ed e s i g n i n gc a nm a k et h ep r o g r a mb ea p p r o p r i a t e t oa n yd i f f e r e n ti n s p e c t i n gl i n e :a n dt h em u l t i t h r e a dc o n c e p tc anm a k et w o o rm e r et a s k se x e c u t i n ga tt h es a m et i m ei nap r o g r a m o nt h eo t h e rh a n d t h ep r o j e c tc o n t a i n st h et e c h n i q u eo fm a n a g i n ga n da c c e s s i n gc l i e n t s e r v e r d a t a b a s e k e yw o r d s :a u t o m o b i l es a f e t yp e r f o r m a n c et e s tl i n e ,d i s t r i b u t e dt e s t - c o n t r o l s y s t e m ,c l i e n t s e r v e rd a t a b a s e ,m u l t i t h r e a d ,m u l t i t a s k i n g ,f l e x i b l ed e s i g n i n g , d a l ;ab a c k u pa n dr e s t o r e ,o d b cd a t as o u r c e ,a d o 硕士论文全自动机动车安全性能检测网络测控系统 1 引言 1 _ f 国产机动车安全检测线的发展概况 随着经济的高速发展,我国汽车拥有量增长十分迅速,汽车已成为当代社会最 重要的交通工具,为人类生活带来了极大方便,并促进了生产的高速发展。但与此同 时汽车的增加也带来不少的社会问题:汽车的废气和噪声造成环境污染,汽车引发大 量的交通事故等等,对汽车如何扬利抑弊是全社会都十分关心的问题。国家十分重视 对汽车的管理,特别是作为车辆管理一个重要组成部分的汽车安全检测。 我国自1 9 8 3 年开始从国外引进汽车不解体安全检测设备,并首先从南方丌始建 立了检测站。开始沿用日本的检测标准,到了1 9 8 7 年我国机动车运行安全技术条 件g b 7 2 5 8 1 9 8 7 正式问世。1 9 8 9 年公安部发布了2 号命令,对汽车睑测站的建立、 管理做了较详尽的规定。自那以后我国按自己的标准建立了具有中国汽安全检测线, 我国汽车安全性能检测线经历了下述几个阶段: 1 、手动检测 检测设备的控制全由人工操作,利用检测设备上配备的仪表( 气动的、机械的 或电动的) 设备监视检测过程,其检测数据由检测人员依据检测设备显示,人工记录 于检测单上,根据检测数据判断车辆的安全性能状态。其特点是结构简单,价格便宜, 维修方便,各检测工位互不影响,个别检测设备发生故障并不妨碍其它工位继续检测。 缺点是人为因素大,其检测结果会因检测人员操作熟练程度及主观意志产生较大差 异,其科学性、公正性较差。而且对于检测数据的查询和统计较困难,检测人员的劳 动强度较大。 2 、半自动检测 将检测设备接一些电子设备( 逻辑电路,显示装置,打印机等) 及指示装置, 由指示装置提示被检车辆在检测过程中的操作步骤,由电子装置显示检测结果,根据 标准自动判断是否合格并将结果输出。其特点是一定程度上降低了操作人员的劳动强 度( 如免抄检测数据) ,监测资料的管理和查询较为方便,但检测结果人为因素影响 仍较大。 3 、全自动检测 将检测设备按检测工艺流程要求排布成检测线。在检测线上设备有操作提示装 硕士论文全自动机动车安全性能检测网络翮控系统 置:整条检测线从指挥操作、数据采集处理、分析判定以及检测流程管理均由计算机 控制完成。最后由计算机检测结果汇总表打印输出。整条检测线仅需少量人员就可完 成对被检车辆的指定参数检测。从而大大降低了检测人员的劳动强度,最大程度地减 少了人为因素对检测结果的干扰和影响,提高了检测结果的科学性和公正性。相对而 言,技术要求也较高,维修也较为复杂。 权衡利弊,全国各地区的车管所已开始将原有的手动、半自动线改造为全自动 线。全自动检测线在国家统一的标准和条件下有着不同的形式和不同的工作效率,今 后在检测设备软、硬件,特别是计算机软、硬件品质不断发展的基础上,汽车检测线 将呈现出功能完备,形式多样的景象。 1 2 国产机动车安全检测线的功能 由于我国同其它发达国家在各方面存在差异,所以我国实行的是一种以实际情 况为主,借鉴和参考国外先进的检测模式后形成的有中国特色的机动车安全检测体 系。 我国现行的汽车检测除了外观、环保有关项目的检测外还有车辆制动、侧滑、 前照灯和车速表的检测。g b 7 2 5 8 1 9 9 7 机动车运行安全技术条件全面的规定了机 动车在整车及发动机、转向系、制动系、照明和信号装置等有关运行安全和排气污染 及噪声控制的基本技术要求和检验方法,是机动车管理部门新车注册、在用车和事故 车检测的技术依据。 机动车检测线是对以上检测项目实施检测的场所,因为被检车辆的检测过程好 像工厂里流水线上的半成品的加工过程,所以就称为机动车检测线。 1 3 该课题的背景及研究的主要内容 八十年代以来我国建立了大批的检测线,由于技术条件限制。般采用单片机、 单片机和p c 机、p c 机为主的模式,系统逻辑结构采用主从结构。应用程序运行于 d o s 平台上,设备间的通信由r s 2 3 2 、r s - 4 2 2 或r s 一4 8 5 等串行接口完成。但进入 九十年代以来随着软、硬件技术和网络技术的发展,此类系统固有的缺点也日益突出: 检测速度慢; 。 通讯协议不通用,可靠性不高: 硕士论文全自动机动车安全性能检测网络测控系统 板卡多,故障率高,维护不便; 编程复杂,不易调试: 机器语言以及过程化的编程语言使得系统扩充及软件升级困难: 控制模式固定,对于布局不同的检测线软件修改量大: 检测数据的联网较为困难: 由于机动车安全检测线控制及管理系统存在着上述问题,重新规划设计出符合 时代需求的、高效、灵活的检测线控制及管理软件是增强市场竞争力的关键所在。考 虑到计算机和网络技术的发展水平,直接利用p c 机建造测控单元,采用l a n 连接 各测控单元,并用w i n d o w s 操作系统作为应用软件平台设计的全自动汽车安全性能 检测线,可以克服以上缺点。于是,我们以集中控制为主,兼有分散控制的分布式计 算机测控模式,结合客户服务器数据管理模式建立了新一代基于网络的全自动机动 车安全检测控制和管理系统。 本课题研究的主要内容: 采用国家标准,设计以集中控制为主兼有分散控制的分布式计算机测控模式, 结合客户服务器数据管理模式建立新一代基于网络的全自动机动车安全检测控制和 管理系统。 在系统程序设计中采用柔性化设计思想和面向对象程序设计方法。 多任务并行工作的实现 调度过程中多线调度的实现 客户服务器数据库的管理和访问 数据采集和处理的实现 硕士论文全自动机动车安全性能检溅两络测控系统 2 系统整体方案设计 一般检测系统由两个部分组成:数据检测控制和数据管理:该汽车检测系统设计 j 的过程中,通过对车辆检测工作流程的分析,以及对测控系统中几种通用测控模式的 对比分析,最终,我们采用了一种以集中控制为主兼由分散控制的分布式计算机测控 系统模式,来构建整个测控系统。同时通过对数据管理模式的分析,确定采用客户 服务器数据管理体系实现对数据的管理。 2 1 车辆检测的工作流程 目前我国的机动车安全检测一般包括:底盘、外观、声级、灯光、制动、速度、 排放、轴重、侧滑等项目。检测线则是将各项目的检测按一定的顺序组织起来组成类 似工业流水线的场所。当机动车沿检测线开动时便按照检测项目排列的先后顺序进行 检测。而全自动机动车安全检测线网络控制系统的主要任务是负责各被检项目的数据 采集、处理、判断,检测过程的实时控制以及检测任务结束后的数据管理。检测线的 工作 图2 1 1 车辆检测流程框图 硕士论文 全自动机动车安令性能检测刚络测控系统 2 2 计算机测控模式的确定 2 2 1 计算机测控系统构成模式 通过对国内外全自动机动车安全性能检测线的分析发现,无论检测线的工艺布 ; 局如何,就其计算机测控系统而言,主要构成模式可以分成以下几种。 1 、集中式测控系统 其主要特点是:用一台主控计算机完成对所有被检参数的测量、检测流程的控 制、设备控制、报表生成及输出。集中式测控系统的结构框图如图2 2 1 1 所示。 图2 2 1 1 集中式测控系统框图 2 、链式测控系统 它的主要特点是:按照生产工艺流程的布局,安排若干台计算机,每台计算机 完成若干项检测和控制任务;本工位任务完成后将结果及下一级计算机应完成任务的 命令送入下级计算机。形成了多级串联的计算机网络系统,在最后一台计算机的输出 中得到总的检测结果,链式测控系统的结构框图如图2 2 1 2 所示。 1 # 工付:2 # 工付; n # 工付 。l 图2 2 1 2 链式测控系统结构框图 硕士论文全自动机动车安奄性能检测网络测拄系统 3 、分布式测控系统 分布式测控系统的结构框图如图2 2 1 3 所示。同链式测控系统的想法类似,也 是按照生产工艺流程的布局,安排若干台计算机,每台计算机完成若干项检测和控制 任务。与链式测控系统不同的是,这些计算机是作为下位机( 子机、分机) 由台上 位机( 主控机) 所监视和控制,形成分布式计算机网络系统。 1 # 工位i;2 ;工位l:n # 工位! 图2 2 1 3 分布式测控系统的结构框图 2 2 2 几种测控模式的对比分析 由上述各测控系统的特点及结构,结合检测线对测控系统的要求,不难对各系 统的优缺点作出评价。 1 、集中式测控系统 显然,集中式测控系统的最大洗点是价廉,它仅用一台计算机配接适当的接= 扳即可完成检测线对测控系统的全鄂要求,该系统主控机一机身兼数职;获取登录机 传来的信息、指示装置的控制、被测量的采样、数据处理、现场监视、流程控制、结 果汇总、报表输出等。但随之带来的问题是也是致命的。由于软、硬件资源过分集中, 使得整个系统的适应性变得很差,对工艺的要求较高,软件的维护困难( 有时甚至不 可能) 。这些缺点使集中式测控系统的发展受到了极大的限制。 2 、链式测控系统 它克服了集中式测控系统的缺点,可以按不同工艺流程的要求灵活地配置系统。 由于软硬件资源的相对分散,使系统的维护要比集中式测控系统方便得多。但是,由 于系统结构的约束,不难看出,其通讯线路上的通讯信息量随着检测流程的前进而呈 几何级数增加。且子系统通讯线路上的通讯负荷极不均匀,末端系统的通讯负荷相对 于前段子系统而言要重的多,另外,这类系统不能对整个检测流程进行有效的监督和 控制。如此这些缺点,使得链式测控系统目前已几乎被淘汰。 3 、分布式测控系统 硕士论文全自动机动车安全性能检测网络测控系统 从结构框图也可以直观地看出,这种分布式测控系统的成本是各类系统中最高 的。但是分布式测控系统扬弃了集中式测控系统的缺点,同时克服了链式测控系统的 不足。也就是软硬件资源相对分散,故障分散,通讯负荷均匀,从而使系统维护较方 便,提高了系统的可靠性。作为一个应用于生产线上的计算机系统,其可靠性保 证系统生产的正常运转,是系统最重要的指标之- 。因而,国外于8 0 年代初期便将 这种系统应用于检测线,并取得了良好的效果。 通过对以上几种测控模式的对比分析后,在我们所设计的系统中,选用了分布 式计算机测控模式构建整个测控系统。 2 3 数据管理体系的确定 目前数据管理系统就其对数据的计算模式不同,可以分为以下几种体系结构: 客户服务器体系结构( 图2 3 1 ) 、资源共享体系结构( 图2 3 2 ) 、分布式体系结构( 图 2 _ 3 3 ) 。 黜悔统匝用程帛2 r - - - 1 l :蚕蚕主 客户机 毅褓统应用释惠i 型 客户机2 口f = 重量: 客户机3 操作系统 ( 网络部分) d b m s 哑衄 服务器 图2 3 1 客户,服务器体系结构 操作系统 i 数据管 理部分1 数据 硕士论文 全自动机动车安全性能检测网络测控系统 客户肌3 图2 3 2 资源共享体系结构 图2 3 3 分布式数据库体系结构 8 沓 硕士论文。 全自动机动车安全性能检测网络测控系统 1 、客户服务器体系结构 在客户服务器体系结构中( 见图2 3 1 ) ,客户机发送查询请求信息( 通常采用 标准化查询语句即s t a n d a r dq u e r yl a n g u a g e 一简称s q l ) 给服务器,由服务器接收 请求并对数据进行查询,最后将执行结果传送给客户机。在这个数据访问的过程中, 由于数据库管理系统( d a t a b a s e m a n a g e m e n t s y s t e m 一简称d b m s ) 位于服务器中, 数据查询是在服务器中执行,并在服务器中生成查询结果。 2 、资源共享体系结构 资源共享体系结构( 见图2 3 2 ) 不同于客户n 务器系统的体系结构,它的数据 库管理系统d b m s 位于用户计算机而不是在服务器上。因而,在资源共享中,每个 用户计算机访问另外一个计算机上的数据时,该计算机上的d b m s 必须向文件服务 器上的操作系统发送请求,服务器必须将数据所在的整个文件( 以及可能的相关索引 文件) 发送给用户机,由用户机中的d b m s 对文件进行查询。在这个数据访问的过 程中,数据查询是在用户机上执行,而不是在服务器上,因而传送的信息为数据所在 的整个文件,而客户服务器结构中传送的仅为查询的结果,显然它与客户服务器体 系结构相比增加了网络流量。另外,在响应客户请求时,必须锁定大部分数据库,这 会降低吞吐量,导致这种体系结构不适合于事务处理。 3 、分布式数据库体系结构 分布式数据库处理指在两台或更多台分布于不同地点的计算机上执行事务处理 和数据更新。数据分散在系统中不同的计算机中。分布式数据库系统中所需的软件包 括:分布式数据库管理系统( d i s t r i b u t i o nd a t a b a s em a n a g e m e n ts y s t e m 一简称 d d b m s ) ,它由驻留在每个节点的分布式事务处理和数据库管理程序组成:分布式事 务处理管理程序,它从查询程序或事务处理程序接收处理请求,并将这些请求转换成 数据库管理程序将要执行的动作:数据库管理程序,它根据动作命令检索或更新数据, 在分布式数据库处理中,必须考虑几种类型的过程。为了避免处理过期数据, 有必要建立处理时效性的过程;为了解决那些由于多个请求相冲突而造成的问题,还 需要有控制过程等一系列的过程。而对于客户服务器体系结构,由于数据较集中且 数据项唯一,就不存在以上两个问题,因而,分布式数据库体系结构对数据的管理过 程相对于客户服务器体系结构要复杂。 通过对这三种数据管理模式的比较,我们采用了数据传送量较小并且数据的管 理的较为简单的数据管理模式即客户服务器数据管理模式对数据进行管理。 硕士论文全自动机动车安令性能榆测网络测控系统 2 4 系统软硬件结构 2 4 1 系统硬件结构 根据前几节的分析,我们构建了整个系统,其系统硬件结构框图如图2 4 1 1 所 示。该系统由登录机、收费机、调度机、总检机、数据库服务器和若干个工位机以及 工位检测设备等通过集线器( h u b ) 以及其它的通讯设备组成一个基于局域网的机动 车测控系统。 系统采用以集中控制为主兼有分散控制的分布式控制模式。一般机动车安全检 测包括:底盘、外观、声级、灯光、制动、速度、排放、轴重、侧滑等项目。我们将 这些项目分成若干个项目组,并分别由几个工位机完成各项目组中项目数据采集、测 试和控制。在机动车检测的整个过程中,调度机和总检机实现了对整个检测过程的集 中控制。调度机监测检测线中各工位的检测状态,并控制车辆依次进入检测线,同时 控制各工位车辆依次由某一工位调度到下一工位。总检机监测检测车辆各检测项目情 况,一旦某一车辆所需检测的项目全部检测完毕,则汇总孩车检测信息并对其作相应 的处理。 系统中的其它计算机是为该集散测控过程提供辅助服务。数据库服务器用于提 供数据服务:数据存储和数据查询。工位机所采集的数据经处理后写入数据库服务器, 登录机用来对车辆基本信息和车辆所需检测项目的登记,为检测线对车辆项目的检测 提供必要的袄据。收费机根据车辆登录信息中所需检测项目信息以及项目检测收费标 准进行收费。 硕士论文全自动机动车安令性能检测面络测控系统 工1p u d 簪器 曩b 从位心 型i 机m 及 l 一开 i o 訇薹降茎皇兰篓l 令 接口 l 机 广1 1 = = r a d ,j 放 q 鬓目罗鼍 、r 叫t 集 八 位胍 及 月巨 一j 一朝 “票p w :| l 阿 i ;三三j = - _ i 0 接口 d 薹胃争塑兰 数 1 _ j r _ 一广 搌 线 罔a j dd 笑蔺躺f 毖 :习量、1 :! 兰! 虚 u f 机n i 0 服 务 器 接口 f 蓑八 - - - - - - - - - - 一 l 机l 几 器 r r _ 1 广 “旧 a i d一放q 殂搿l 叫犬 = 二弓兰! ! 兰 i 器 ; l 弋l 使j 搜 叫 阿 1 t 0 一开 1 _ j 目耋 接u 2 4 2 系统软件结构 图2 4 1 1 测控系统硬件结构框图 车辆检测测控系统采用分布式程序结构组织整个系统软件( 见图2 4 2 1 ) :将组 成系统的功能模块分布于多台计算机,由多台计算机并行执行相应的模块,并通过各 模块相互协作共同实现系统自动检测和控制的过程。系统中所有的数据存储于服务器 数据库中,数据访问采用客户服务器计算模式。本地数据库是数据存储和访问的中 间平台,是在程序设计时为了优化系统程序而建立的。 硕士论文全自动机动车安全性能检测网络测控系统 工位帆i工位枧2 工垃机3 工位机4 注:g ) :q ,标识了车辆信息串的流同,而。标识了数据流向 图2 4 2 1 检测系统软件结构分布图 检测系统软件结构分布图( 图2 4 2 1 ) 中j 芝二= $ 描述了车辆检测的流程。 系统对车辆的检测从登录机程序模块开始。车辆在登录机上登记该车的基本信息,以 及该车此次所需检测项目信息,并将这些信息打包组成车辆信息串通过网络发送给收 费机。收费机接受该信息串后,对它进行相应的解码,并根据所需检测项目和项目收 费标准自动计费,收费后发送给调度机。调度机接受该信息串后,再次对其解码,了 解该车所需检测的项目情况,以便在检测的过程中对该车进行控制,并将该车调度上 检测线,调度机程序根据各工位检测状态,依次将该车从一工位调度到四工位,也就 是依次将该车辆信息发送到某一工位。工位机接受车辆检测信息后,对其作解码后依 硕士论文全自动机动车安会性能检测网络测控系统 次对所需检测的项目进行检测,检测的结果写入数据库服务器中。总检机一旦监测到 该车各检测项目均检测完毕,便汇总该车检测信息,自动生成检测结论,自动打印输 出,同时将检测结论信息发送给登录程序。若检测合格则发送合格信息,检测结束; 若检测不合格则发送复检项目信息,车辆必须再次登录以进行新的轮回检测,只是检 。测项目为复检项目。 系统软件中各模块功能: 、t 1- 登录模块:位于登录机。录入或从数据库中调出车辆的基本信息,确定车辆所 需检测的项目,生成车辆检测信息写入服务器数据库,同时,将车辆检测信息( 车辆 基本信息和所需检测项目信息) 打包成字符串通过网络发送给收费机。 收费模块:位于收费机。根据车辆所需检测项目的信息和各项目收费标准对车 辆检测所需费用进行自动计费。收费完毕将收费信息写入数据库同时:降车辆检测信息 串发送给调度机。 监控模块:位于调度机。监测工位工作:状态,并根据工位工作状态控制车辆依 次上检测线,同时控制车辆依次从某一工位调度到下一工位。 监测模块:位于总检机。监测已登录车辆是否检测完毕,若检测完毕,r 1 f j f e 总 车辆检测结果数据,自动生成检测结论。若车辆检测合格,则车辆检测完毕:若不合 格,自动生成复检信息发送给登录机,以备对该车进行后续复检项目检测。 检测模块:位于各工位机。依次控制工位中各检测设备对车辆进行检测,同时 采集、处理并保存数据。 标定模块:位于工位机。在一次汉表的全程范围内,建立物理参数与前置放大 器输出电压的点对点的关系,为参数测量提供分段逼近的斜率和计算依据。 数据管理模块:位于各个计算机中。通过远程访问生成本地数据库,实现数据 的存储、查询( 包括远程存储、查询) 等功能。由于在不同的计算机中所管理的数据 对象不同,所以,位于不同计算机中的数据管理模块也不同。登录机中数据管理模块 管理车辆基本信息数据和车辆检测项目信息数据,生成相应的本地车辆信息数据库。 收费机中数据管理模块管理车辆收费标准信息和车辆收费信息,生成本地车辆收费标 准信息库。调度机中,管理车辆调度信息,生成本地车辆调度信息库。工位机中,管 理车辆检测标准数据、标定数据和检测结果数据,生成本地检测标准信息库和检测结 果数据库。 硕士论文全自动机动车安令性能检测网络测控系统 3 系统软件设计及实现 全自动机动车安全性能检测网络测控系统中的所有软件均是在v i s u a lb a s i c6 o 编程环境中实现。在该章节中对软件设计平台和系统相关软件进行简要的介绍,并 对系统中关键部分的软件设计作了详细的介绍。 3 1v i s u a lb a s i c v i s u a lb a s i c 是m i c r o s o f t 公司给广大编程人员提供的开发w i n d o w s 应用 程序最迅速、最简捷的方法。不论是w i n d o w s 应用程序的资深开发人员还是初学 编程者,v i s u a lb a s i c 都为他们提供了整套的开发工具,以方便各层次的编程人员开 发应用程序。 3 v i s u a lb a s i c 由早期的b a s i c 语言派生而来,同时又在原有的b a s i c 语言的基础上 进行了扩展。“v i s u a l ”指的是一种开发图形界面( g u i ) 的方法。它不需要编写大量 的代码去描述界面元素的外观和位置,而只要把预先建立的对象添加屏幕上即可。 v i s u a lb a s i c 是一种面向事件的编程语言。在传统的“过程化”的应用过程中, 应用程序自身控制了执行哪一部分代码和按何种顺序执行代码。从第一行代码丌始执 行程序,并按应用程序中预定的路径继续往下执行,必要时调用过程。在事件驱动的 应用程序中,代码不是按照预定的路径执行,而是在响应不同的事件时执行不同的代 码。时间可以由用户操作触发,也可由来自操作系统和其他应用程序的消息触发,甚 至可以由应用程序本身的消息触发,这些事件的顺序决定了代码执行的顺序。 v i s u a lb a s i c 可以很方便地使用数据库,数据库是很多商业软件的核心,由于数 据库允许以一种高效、一致的方式对信息进行集中访问,并且易于建立和维护,所以 在商业事务处理领域极为流行。v i s u a lb a s i c 中有许多的控件可以直接控制,通过它 们,可以很方便的对数据进行操作。 3 2 系统相关软件的介绍 整个系统软件由登录程序、收费程序、调度程序、工位程序和总检程序等五个 部分组成。在此,我仅对其中对于整个机动车安全检测线控制系统至关重要的部分( 总 检程序、调度程序和工位程序) 进行简要的介绍。 整个系统在使用前,首先要根据实际情况对调度程序和工位程序进行系统设置。 图3 2 1 调度程序初次运行时的面口 调度程序的初始设置 调度程序适用于不同项目组合、不同项目排布的检测线,并且能同时对多条检 测线进行监控。程序使用前必须根据实际情况对调度程序进行系统设置。调度程序仞 次运行时会出现如图3 2 1 所示的窗口,窗口上系统维护中有调度原则、工位项目重 排和工位设定等功能设置项,分别实现调度原则、工位项目排布以及工位机i p 地址 和端口的设置。其中调度原则是指检测线的条数,以及车辆调度上线时在检测线间的 分配关系( 如大车不可以进入小车线,小车可以进入大车线等等) 。工位项目重排是 指根据检测线中检测设备的排布来设置检测流程。工位设定其实是指各检测线上工位 机i p 地址和工位程序端口信息的录入,以确保调度程序对工位实现正确的控制。由 于后两个功能的设置必须以调度原则设置为基础,所以必须先对调度原则进行设置, 其设置界面见图3 2 2 所示。 硕士论文全自动机动车安全性能橙测网络测控系统 图3 2 2 调度程序中调度原则设置界面 调度原则设置完后,就可以对工位项目进行排布及工位信息的录入,其排布窗 体和信息录入窗体分别见图3 2 3 和图3 2 4 。在图3 2 3 所示的窗体中,点击“重新 排布”,便可以通过拖放代表项目的图片来实现项目的排布。排布完成后,点击“确 定”即可。工位排布顺序便是检测线上的检测顺序,检测顺序按从一工位到四工应的 顺序,各工位执行顺序按项目排布序号依次进行。在图3 2 4 所示的窗体中,录入工 位信息时,程序自动检测检测线中的工位机的i p 地址和程序端口地址完整性和合理 性,并给出相应的提示。, 图3 2 3 调度程序中工位项目重排设置界面 硕士论文 全自动机动车安全性能检测网络测控系统 图3 2 4 调度程序中工位设置界面 调度程序有关这三项系统的初始设置对检测线能否f 常运行至关重要,所以, 有关这些设置对操作人员有相应的权限要求。并且一般进行一次正确的设置后,就不 必再次修改。 工位程序的初始设置 一工位程序综合了检测线中所有项目的检测模块,安装在具体工位机中的工位程 序仅汉需要运行本工位上的项目检测模块,所以,工位程序需初始化,以确定该工位 具体对那个项目组中的项目进行检测。工位程序初始运行时,便弹出设置窗口,只要 输入工位代号即可。 测控过程中的窗体介绍 工位程序和调度程序设置完后,便可以进行正常的检测控制。图3 2 5 和图3 2 6 分别为检测过程中调度程序和总检程序的工作界面。调度程序界面显示了某条检测线 中各个工位检测状态( 通过窗体中的弹出菜单可以切换显示各检测线状态进行) 。在 界面中,可以根据具体的情况通过人机交互的方式对未检测或未测完的车辆进行检索 并对在线车辆和工位实现调度上线、工位停检、工位车辆下线等操作。总检程序界面 中实时显示了检测线上工位车辆检测数据,通过点击窗体中的翻屏按钮切换显示各个 检测线上的实时数据。另外,在该界面中不仅能实现对检测完的车辆进行处理,而且 能实现对系统数据进行维护等功能。 堡主丝苎 :全鱼垫垫垫兰室全竺堂竺塑塑丝型叁墨竺 一 图3 2 5 检测过程中调度程序工作界面 图3 2 6 检测过程中总检程序工作界面 8 硕士论文全自动机动车安全性能检测网络测控系统 3 3w i n s o c k 控件实现网络通信 该测控系统中,软件的同步控制和实时的监测是通过采用基于t c p i p 网络协议 的w i n s o c k 控件传送约定格式的控制命令字符串和信息字符串来实现的。 3 3 1w i n s o c k 控件 为了便于基于t c p i p 协议进行网络编程,微软公司开发了w i n d o w s 环境网络程 序的接口w i n s o c k a p i 。但是调用w i n s o c k a p i 的过程很复杂。为此,v i s u a lb a s i c 为程序开发提供了基于w i n s o c k a p i 的w i n s o c k 控件。该控件对w i n s o c k a p 进行了 封装,编程时只要设置控件中的属性,调用其方法即可进行数据交换,从而简化了程 序的设计。 以下对与该系统程序设计有关的w i n s o c k 控件属性、方法和事件作简要的介绍。 属性 l o c a l i p :字符串,包含了本地i p 地址,该属性在运行中是只读的。通过网络进 行数据通信,需要用地址来标识网络中的主机,这样才能确保数据正确发送到主机。 t c p i p 协议使用i p 地址作为网络主机的标识,而且,每个i p 地址是唯一的,从而可 以通过i p 地址建立彼此间的联系。 l o c a l p o r t :长整型值,设置本地端口号。通常情况下,由于每台主机上运行不止 一个应用程序,所以为使应用程序间建立连接,除需i p 地址以外,还需一个应用程 序的标识,在t c p i p 使用端口( p o r t ) 作为主机上运行的应用程序的标识号。 p r o t o c o l :整形值,设置数据交换所使用的协议( 见表3 3 1 i ) 。t c p i p 协议提供 了两种同其它主机进行通信的方式:t c p 方式和u d p 方式。t c p 是一种面向连接的 服务,提供双向、有序且无重复的数据流服务以及流量控制、差错控制和纠错等服务, 数据传输可靠。u d p 是一种双向的无连接数据服务,它把数据发送出去不送行差错 控制和检查,所以进行大量数据传输时不可靠。 见表3 3 1 1 :p r o t o c o l 属性值设置表 在选用何种协议时,主要考虑以下几个方面: ” 在收发数据时,是否需要对方的确认或应答。如果需要则使用t c p 协议。 数据是否很多? 对数据传输质量要求是否很高? 如果是,则选用t c p 协议。 硕士论文全自动机动车安全性能检测嘲络测控系统 数据发送是问歇的还是在一次会话内? 如果发短信息,采用u d p 协议a 由于,在该系统中数据发送是间歇的,且一次数据发送量较小,因而系统采用 u d p 协议。 r e m o t e h o s t :字符串。指定远程主机,可以使用i p 地址( 如2 0 1 1 1 9 8 0 1 5 0 ) 也可以使用计算机的名称。 r e m o t e p o r t :字符串。指定远程计算机的端口号。 方法 , b i n d :该方法指定连接的本地端口和本地i p 地址。 g e t d a t ad a t a ,d a t a t y p e ,l e n 】:该方法从接收缓冲区中取回数据。 s e n d d a t ad a t a :该方法向远程计算机发送数据。 事件 d a t a a r r i v a l ( b y v a lb y t e s t o t a la sl o n g ) 事件,当远程计算机传送来的新数据到达 时,激发该事件。参数b y t e s t o t a l 包含了能取回数据的总量。 3 3 2w i n s o c k 控件编程 在系统中,我们采用w i n s o c k 控件实现网络中各个计算机之间的通信,并且在 数据传输的过程中选择u d p | 办议进行通信。以下仅对w i n s o c k 控件使用u d p 协议造 行通信的编程过程进行讨论。 在程序设计过程中采用w i n s o c k 控件进行数据收发之前必须对w i n s o c k 控件逆 行初始化。 初始化: 对w i n s o c k 控件的初始化,也就是指定所采用的通信协议以及指定本地i p 地址 和用于连接的本地端口的过程。以下是相应的代码: w s k p r o t o c o l = s c k u d p p r o t o c o l采用u d p 协议 w s k b i n d1 0 5 5 ”2 0 2 1 1 9 8 0 1 5 0 ”指定连接的本地端口和本地i p 地址 数据发送: 对w i n s o c k 控件w s k 初始化后,就可以在程序的任何地方按要求对数据进行发 送。以下是相应的代码: w s k r e m o t e h o s t = ”2 0 2 1 1 9 8 0 1 4 0 指定远程计算机地址 w s k r e m o t e p o r t = ”1 0 4 4 ”。指定远程计算机上接收数据的程序端口 w s k s e n d d a t as t r d a t a 3发送字符串s t r d a t a 3 数据 数据接收: w i n s o c k 控件一旦接收到数据后,就激发d a t a a r r i v a l 事件。在该事件过程中, 硕士论文全自动机动车安全性能检涌网络测控系统 采用g e t d a t a 方法即可从缓冲区中取出由远程计算枫发送来的数据。以下是相应的代 码: p f i v a t es u bw s k _ d a t a a r r i v a l ( b y b y t e s t o t a la sl o n g ) d i ms t r d a t a la ss t r i n g ,s t r p r o c e s s e da ss t r i n g 、 w s k g e t d a t as 仃d a m i“接收数据 , 。 ; s t r p r o c e s s e d2s t r d a t a l 对接收的数据s t r p r o c c s s e d 进行处理 e n d s u b 3 4 并发多任务的实现 在整个机动车检测系统中,大部分程序必须同时实现多个任务,如总检机程序 既要对工位测试数据进行监测,又要对有无车辆灏4 试完毕进行监测和处理;调度机程 序既要实时对在线车辆进行调度和监测,又要实现人机交互:工位测试程序既要控制 检测设备实现各项目的实时检测,又要实现数据和图形的实时显示:等等。这种多任 务并行运行的实现,通常可采用w i n d o w s 中多线程概念来实现。那么,在v b 环境 中如何实现多线程编程呢? 这将是该章节所要讨论的问题。 3 4 1 多线程概念 线程是指程序中一个单一的顺序控制流,是处理机调度的基本单位。线程具有 自己单独的堆栈、缓冲区及运行的上下关联环境。一个程序在操作过程中,可以包括 多个线程,它们共享同一内存。w i n d o w s 操作系统在对线程管理的过程中,将c p u 时间分成若干个时间片( 2 0 m s 左右) 以轮转方式分配给线程。这样多线程程序中 每个线程将在分配给它的时间片断内执行,虽然实际上在同一时间只有一个线程在运 行,但是由于时间片8 1 d , ,从而使得每个线程看起来就好像都在同时运行一样。 3 4 2 线程a p i 函数 由于v b 并不是线程安全的环境,多线程模式的工作原理和编程机制对于v b 并 不完全适合。因而必须寻求出一种方法,使得在v b 中可以方便地使用多线程。 调用a p i 函数是扩充v b 功能的有效方法,且w i n 3 2a p i 函数中具有有关多线 程创建和管理函数。以下代码是a p i 线程创建函数声明: p u b l i cd e c l a r ef u n c t i o nc r e a t e t h r e a dl i b ”k e r n e l 3 2 ”( 1 p t h r e a d a t t r i b u t e sa s 硕士论文全自动机动车安全性能检瓣两络测控系统 s e c u r i t y a = 丌r i b u t e s ,b y v a ld w s t a c k s i z ea sl o n g ,l p s t a r t a d d r e s sa sl o n g , l p p a r a m e t e ra sa n y , b y d w c r e a t i o n f l a g sa sl o n g ,l p t h r e a d l da sl o n g ) a sl o n g 其中参数l p t h r e a d a t t r i b u t e s 用于设定所创建线程的安全属性。参数d w s t a c k s i z e 用于设定该线程所使用的堆栈大小,若参数为0 或小于系统默认值,则系统默认为与 正在调用中的线程相同大小的堆栈。l p s t a r t a d d r e s s 用于指定该线程的执行函数的入 口地址,线程从此开始运行。l p p a r a m e t e r 参数是上述线程函数的参数值。 d w c r e a t i o n f l a g s 用于为该线程设定一个额外的标志,以便控制线程的创建,若指定 该参数,则线程被创建成一种暂停状态,即线程创建后并不立即执行,而是当激活线 程函数r e s u m e t h r e a d 函数发生调用时才开始执行,如果该参数为0 ,则线程在创建 后就立即执行。l p t h r e a d l d 用于存放该线程的标识号。 在v b 中使用这些函数时,由于v b 和c 语言在数据类型上的差异,以及对参数 含义的理解程度的不同,在v b 中对线程创建函数c r e a t e t h r e a d 的6 个参数,特别是 第一个参数( 具有3 。个成员变量的结构s e c u 戳t ya t t i u b u t e s ) 进行正确的设置 并不容易。为此,我们可考虑通过在动态连接库中调用多线程a p i 函数的方法来解决 以上问题。也就是在动态连接库中建立c r e a t e v b t h r e a d 函数,并在该函数中调用 c r e a t e t h r e a d :然后,通过在应用程序中调用c r e a t e v b t h r e a d 函数来间接调用 c r e a t e t h r e a d 函数创建线程。 3 4 3v b 中多线程技
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 腔镜手术基本操作及相关知识试题与答案
- 江苏省如皋市南片区八校联考2026届英语九年级第一学期期末学业质量监测模拟试题含解析
- 2026届黑龙江省齐齐哈尔市克东县化学九年级第一学期期末监测模拟试题含解析
- 江苏省启东市东安中学2026届化学九上期中综合测试试题含解析
- 2026届内蒙古牙克石市英语九年级第一学期期末调研模拟试题含解析
- 信托贷款财产抵押契约协议书5篇
- 跨区域中央空调安装与远程监控服务合同
- 中央空调系统安装与能耗监测合同
- 离婚后房屋产权变更及财产分割执行协议
- 婚后共同房产分割协议书:女方权益保障范本
- 创新创业基础(石河子大学)智慧树知到答案章节测试2023年
- 一年级道德与法治上册全册教案
- GB/T 2091-2008工业磷酸
- GB/T 1770-2008涂膜、腻子膜打磨性测定法
- 粮库监理工作流程
- 输血申请单规范PDCA
- 污水处理技术及工艺介绍课件
- 第17课-我是浙江人课件
- 隐身技术概述课件
- 《红细胞血型系统》课件
- 《太阳出来了》课 件课件
评论
0/150
提交评论