CN105573874A - 一种基于多线程的实时数据传输总线测试方法 - Google Patents
一种基于多线程的实时数据传输总线测试方法 Download PDFInfo
- Publication number
- CN105573874A CN105573874A CN201510915498.9A CN201510915498A CN105573874A CN 105573874 A CN105573874 A CN 105573874A CN 201510915498 A CN201510915498 A CN 201510915498A CN 105573874 A CN105573874 A CN 105573874A
- Authority
- CN
- China
- Prior art keywords
- thread
- test
- data
- real
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于多线程的实时数据传输总线测试方法,包括步骤S1初始化;S2启动1553B总线设备;S3开启第一线程;S4通过1553B总线设备发送控制指令;S5判断是否接收到待测产品反馈的信息,若是,则转入步骤S6,若否,则转入步骤S11;S6接收待测产品反馈的数据后同时转入步骤S7、步骤S9和步骤S12;S7开启第二线程;S8对待测产品反馈的数据进行存储,并转入步骤S13;S9开启第三线程;S10进行解析和处理,并转入步骤S14;S11未接收到状态反馈或状态反馈错误,并转入步骤S12;S12关闭第一线程;S13关闭第二线程;S14关闭第三线程;S15显示测试结果;S16启动第四线程;S17对信息进行实时显示,并转入步骤S18;S18关闭第四线程。本发明提高了故障出现时分析速度和准确性。
Description
技术领域
本发明属于航天测控技术领域,更具体地,涉及一种基于多线程的实时数据传输总线测试方法。
背景技术
总线测试系统主要应用于产品设备的测试和维护工作,若设备出现异常,测试系统可以对错误信息进行提示。因此,设计人员和测试人员可以根据测试系统提示的错误信息来定位故障,然后根据测试系统提供的详细信息对产品设备做出纠正,从而优化产品的性能。总线测试系统需要完成数据采集、处理和存储以及实时显示处理结果及测试信息等功能,是一个实时多任务系统。
而基于传统运用单线程技术进行静态测试开发时,无法满足系统功能、数据响应实时性的要求。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种基于多线程的实时数据传输总线测试方法,旨在解决现有技术中由于采用单线程技术导致无法满足数据响应实时性要求的问题。
本发明提供了一种基于多线程的实时数据传输总线测试方法,包括下述步骤:
S1:初始化操作后同时转入步骤S2和步骤S17;
S2:启动1553B总线设备;
S3:开启一个用于接收所述1553B总线设备的数据的第一线程;
S4:通过所述1553B总线设备给待测产品发送控制指令;
S5:判断是否接收到所述待测产品反馈的信息,若是,则转入步骤S6,若否,则转入步骤S11;
S6:开辟一个缓存区,接收所述待测产品反馈的数据后同时转入步骤S7、步骤S9和步骤S12;
S7:开启一个用于存储所述待测产品反馈的数据的第二线程;
S8:对所述待测产品反馈的数据进行存储,并转入步骤S13;
S9:开启一个用于处理所述待测产品反馈的数据的第三线程;
S10:对所述待测产品反馈的数据进行解析和处理,并转入步骤S14;
S11:未接收到状态反馈或状态反馈错误,并转入步骤S12;
S12:关闭所述第一线程;
S13:关闭所述第二线程;
S14:关闭所述第三线程;
S15:显示测试结果;
S16:启动一个用于实时信息显示的第四线程;
S17:对信息进行实时显示,并转入步骤S18;
S18:关闭所述第四线程。
本发明提供的基于多线程的1553B总线测试方法,具体可以为某种航天型号计算机进行测试并提供实时准确的测试信息。是一个实时多任务的系统,主要完成1553B总线数据采集、解析与处理、存储以及实时显示处理结果。为了保证测试的正确性和故障出现时的准确定位,软件设计实现了流程实时监控和故障分析,采用了多线程并行和数据实时存储、测试信息更新技术,可以对测试过程中相关的1553B总线通讯数据进行记录,当故障出现时,可根据记录信息对测试流程的整个过程进行准确的分析定位,直接读取第一现场数据,极大的提高了故障出现时的分析速度和准确性。
本发明采用了多线程并行和数据实时存储、测试信息更新技术,可以对测试过程中相关的1553B总线通讯数据进行记录,当故障出现时,可根据记录信息对测试流程的整个过程进行准确的分析定位,直接读取第一现场数据,极大的提高了故障出现时的分析速度和准确性。
附图说明
图1为本发明实施例提供的一种基于多线程的实时数据传输总线测试方法所基于的测试系统的原理框图;
图2为本发明实施例提供的一种基于多线程的实时数据传输总线测试方法实现流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种基于多线程的实时数据传输总线测试系统;主要是针对基于传统运用单线程技术进行静态测试开发时,无法满足系统功能多任务、数据响应实时性的要求,同时为了更好的进行人机交互,提示和定位测试过程中的故障信息,本发明采用多线程并行和测试数据实时采集存储、测试信息实时更新技术,提出了一种基于多线程的实时数据传输总线测试系统。
测试系统的主要功能有:总线数据采集、总线数据存储、数据解析及处理、人机交互等。
(1)总线数据采集
测试人员通过操作总线测试系统的人机交互界面发送控制指令,从而对传输总线回传的数据进行采集,并将采集到的原始数据存入相应的数据缓冲区供后续解析处理。
(2)数据处理及解析
对采集到的原始数据按照数据帧协议对数据进行解析,并对解析后数据的准确性进行判读,当数据出错时,提示错误。
(3)数据存储
测试过程中分别对采集到的原始数据以及处理后的数据进行存储,便于后续查看。同时,当测试结束后,可以通过人工选择,来确定是否生成最终的测试记录。
(4)人机交互
测试系统的人机交互包括用户操作界面、测试树、测试记录以及实时信息等,在测试的过程中,操作界面提供用户进行测试操作;测试树用来显示测试的内容,并在测试过程中通过颜色来区分已测项和未测项以及测试正常项及异常项;测试记录提供数据处理结果及测试的正常或异常信息,可以进行故障时的初步定位;实时信息负责将测试过程中的详细过程信息进行显示,当出现故障时可以进行精确定位。人机交互层各模块之间交互链接,实时更新测试界面,做到测试过程实时监测,一目了然。
总线测试系统主要应用于产品设备的测试和维护工作,若设备出现异常,设计人员和测试人员可以根据测试系统的提示来定位错误信息。因此,一种高效实时的测试系统可以帮助专业人员快速有效地定位设备故障,然后根据测试系统提供的信息对产品设备做出纠正,从而优化产品的性能。由于总线中各种信息交织在一起,因此测试系统需要做到各种信息的及时捕获和解析,并需要在界面实时刷新解析后的有效信息,同时为满足系统监测的需要,系统还需支持较长时间工作并保存原始数据的功能。本发明提出了一种基于多线程的1553B总线测试系统的设计方法,涉及航天测控技术,具体为某种航天型号计算机提供实时准确的测试信息。总线测试系统是一个实时多任务的系统,主要完成1553B总线数据采集、解析与处理、存储以及实时显示处理结果。为了保证测试的正确性和故障出现时的准确定位,软件设计实现了流程实时监控和故障分析,采用了多线程并行和数据实时存储、测试信息更新技术,可以对测试过程中相关的1553B总线通讯数据进行记录,当故障出现时,可根据记录信息对测试流程的整个过程进行准确的分析定位,直接读取第一现场数据,极大的提高了故障出现时的分析速度和准确性。
为提高测试系统的通用性,实现测试对象、测试流程和信号控制的柔性管理,设计了通用测试软件框架体系结构。采用分层结构进行软件框架设计,由上到下设计了硬件管理层、人机交互管理层和产品测试管理层。同时为满足系统实时多任务的需求,采取了多线程的设计方法,将测试信息、数据接收以及数据解析及处理分为不同线程进行。
软件框架设计采用分层结构,由上到下设计了硬件管理层、产品测试管理层和人机交互管理层。其中,硬件管理层负责测试主机中各功能板卡的资源获取、接口控制,通过驱动程序完成对系统硬件资源的调度,主要用来完成数据的采集工作;产品测试管理层负责产品测试流程的管理以及数据的解析处理及存储,针对产品的性能测试需求完成测试函数设计,是实现产品性能测试的对外接口。人机交互管理层负责将测试过程中的详细过程信息、测试项目结构树和测试结果之间的交互链接,并实时更新测试界面,做到测试过程实时监测,给测试仪操作人员提供了一目了然的测试界面信息。
通过对以上各层次间接口的标准化设计,确保了各层次间耦合度的降低,实现了测试软件框架与产品、硬件无关。任意测试对象和项目的变更都可在软件框架上轻松实现,减少了由于测试需求变更导致软件框架更改而产生的工作量和引入的质量隐患。由于软件测试框架与硬件无关,因此也可直接移植到其它基于Windows系统下的测试平台上。
下面结合附图和具体实施对本发明作进一步说明。
附图1为测试系统软件框图,本发明设计了通用测试系统软件框架体系结构。软件框架设计采用分层结构,由上到下设计了硬件管理层、人机交互层和产品测试管理层。其中:
硬件管理层主要包括驱动的管理和测试的异常机制,负责测试主机中各功能板卡的资源获取、接口控制,通过驱动程序完成对系统硬件资源的调度。
人机交互层包括用户操作界面、测试树、测试记录以及实时信息等,在测试的过程中,操作界面提供用户进行测试操作;测试树用来显示测试项的名称,并在测试过程中通过颜色来区分已测项和未测项以及测试正常项及异常项;测试记录提供数据处理结果及测试的正常或异常信息,可以进行故障时的初步定位,同时避免了所有信息均显示的繁杂,也方便用户进行记录浏览;实时信息负责将测试过程中的详细过程信息进行显示,当测试出现故障,可以从原始数据信息中进行数据查看及故障精确定位。人机交互层各模块之间交互链接,实时更新测试界面,做到测试过程实时监测,一目了然。
产品测试管理层负责产品测试流程的管理,针对产品的性能测试需求完成测试函数设计,是实现产品性能测试的对外接口。通过对以上各层次间接口的标准化设计,确保了各层次间耦合度的降低,实现了测试软件框架与产品、硬件无关。
附图2为测试系统测试流程图,具体步骤如下:
(1)初始化并启动总线设备
对总线设备进行初始化,包括总线使用的配置以及消息出错的处理等。
(2)实时信息显示
当系统开始测试时,启动实时信息显示线程,在测试过程中刷新显示测试项目结构树、测试结果以及测试详细过程信息。当测试结束时,关闭实时信息显示线程。其中:
测试项目结构树用于显示测试项名称以及提示正在进行的测试项并在测试过程中通过颜色区分已测项和未测项、测试正常项及异常项;
测试结果信息是指对采集的数据进行处理后的信息,当处理后的数据异常时进行提示,可以进行故障时的初步定位。
测试详细过程信息是指测试过程中板卡信息以及采集的原始数据,将测试过程中的详细过程信息进行显示,当出现故障时可以进行精确定位。
(3)总线数据接收
当需要进行数据接收时,启动总线接收线程,测试系统模拟控制系统发送控制命令,并判断总线的状态反馈,当反馈正常时开辟缓冲区,并开始接收数据,将接受的数据存入缓冲区,当反馈异常时,通过实时信息显示界面提示异常。当数据接收完毕后,关闭总线接收线程。
(4)数据存储
当数据开始接受时,开启数据存储线程,对存入缓冲区的数据进行存储,每存储一帧数据,对缓冲区进行清理。当测试结束后,关闭数据存储线程。
(5)分类数据解析与处理
对接收到的数据按照协议进行解析并按照相应的测试需求进行处理,然后对给定的合格范围进行判读,将判读的结果以及重要的参数通过实时信息显示界面进行显示。
(6)显示测试结论
将解析后的数据和处理的结果显示在界面上,让人一目了然。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种基于多线程的实时数据传输总线测试方法,其特征在于,包括下述步骤:
S1:初始化操作后同时转入步骤S2和步骤S17;
S2:启动1553B总线设备;
S3:开启一个用于接收所述1553B总线设备的数据的第一线程;
S4:通过所述1553B总线设备给待测产品发送控制指令;
S5:判断是否接收到所述待测产品反馈的信息,若是,则转入步骤S6,若否,则转入步骤S11;
S6:开辟一个缓存区,接收所述待测产品反馈的数据后同时转入步骤S7、步骤S9和步骤S12;
S7:开启一个用于存储所述待测产品反馈的数据的第二线程;
S8:对所述待测产品反馈的数据进行存储,并转入步骤S13;
S9:开启一个用于处理所述待测产品反馈的数据的第三线程;
S10:对所述待测产品反馈的数据进行解析和处理,并转入步骤S14;
S11:未接收到状态反馈或状态反馈错误,并转入步骤S12;
S12:关闭所述第一线程;
S13:关闭所述第二线程;
S14:关闭所述第三线程;
S15:显示测试结果;
S16:启动一个用于实时信息显示的第四线程;
S17:对信息进行实时显示,并转入步骤S18;
S18:关闭所述第四线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510915498.9A CN105573874B (zh) | 2015-12-10 | 2015-12-10 | 一种基于多线程的实时数据传输总线测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510915498.9A CN105573874B (zh) | 2015-12-10 | 2015-12-10 | 一种基于多线程的实时数据传输总线测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105573874A true CN105573874A (zh) | 2016-05-11 |
CN105573874B CN105573874B (zh) | 2019-10-08 |
Family
ID=55884040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510915498.9A Active CN105573874B (zh) | 2015-12-10 | 2015-12-10 | 一种基于多线程的实时数据传输总线测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105573874B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108134635A (zh) * | 2017-12-22 | 2018-06-08 | 中国联合网络通信集团有限公司 | 基于多线程的测量控制方法及装置 |
CN109344031A (zh) * | 2018-09-25 | 2019-02-15 | 郑州云海信息技术有限公司 | 一种存储系统的状态检测方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1338680A (zh) * | 2000-08-15 | 2002-03-06 | 国际商业机器公司 | 在多线程并行处理器中防止线程丢失的现场保护 |
US20050138471A1 (en) * | 2003-11-17 | 2005-06-23 | International Business Machines Corporation | Apparatus, method, and system for logging diagnostic information |
CN101566955A (zh) * | 2008-04-21 | 2009-10-28 | 安捷伦科技有限公司 | 多线程化图标编程系统 |
-
2015
- 2015-12-10 CN CN201510915498.9A patent/CN105573874B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1338680A (zh) * | 2000-08-15 | 2002-03-06 | 国际商业机器公司 | 在多线程并行处理器中防止线程丢失的现场保护 |
US20050138471A1 (en) * | 2003-11-17 | 2005-06-23 | International Business Machines Corporation | Apparatus, method, and system for logging diagnostic information |
CN101566955A (zh) * | 2008-04-21 | 2009-10-28 | 安捷伦科技有限公司 | 多线程化图标编程系统 |
Non-Patent Citations (1)
Title |
---|
吴传贵,陈海牛等: "基于多线程技术的1553B总线测试系统的设计与实现", 《测控技术》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108134635A (zh) * | 2017-12-22 | 2018-06-08 | 中国联合网络通信集团有限公司 | 基于多线程的测量控制方法及装置 |
CN108134635B (zh) * | 2017-12-22 | 2021-02-09 | 中国联合网络通信集团有限公司 | 基于多线程的测量控制方法及装置 |
CN109344031A (zh) * | 2018-09-25 | 2019-02-15 | 郑州云海信息技术有限公司 | 一种存储系统的状态检测方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105573874B (zh) | 2019-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104765692B (zh) | 用于自动化测试软件的方法及设备 | |
CN109684847A (zh) | 脚本漏洞的自动修复方法、装置、设备及存储介质 | |
CN111564905A (zh) | 一种主站免值守的多配电终端同时自动联调方法及系统 | |
CN106844268A (zh) | 一种usb设备测试系统、测试方法及测试装置 | |
CN111290955B (zh) | 用于地铁信号系统测试软件的非侵入式自动化测试系统 | |
CN102789405A (zh) | 主板自动化测试方法及系统 | |
CN107577545A (zh) | 一种故障磁盘检测与修复方法和装置 | |
CN108415857B (zh) | 一种串口数据的通用处理方法 | |
CN107451060A (zh) | 一种跨移动端自动化测试框架系统 | |
CN206523872U (zh) | 一种usb设备测试系统 | |
CN112000557A (zh) | 轨道交通信号系统自动化测试装置 | |
CN108073105A (zh) | 基于异构双处理器冗余结构的安全plc装置和实现方法 | |
CN110633901A (zh) | 智能变电站继电保护装置运行态势感知及远程维护系统 | |
CN103197640A (zh) | 生产工艺智能管控系统和方法 | |
CN103913728B (zh) | 一种基于便携式雷达综合测试仪的测试方法 | |
CN115184361A (zh) | 基于机器视觉的实时工件表面缺陷检测评价系统及方法 | |
CN105573874A (zh) | 一种基于多线程的实时数据传输总线测试方法 | |
CN109542759A (zh) | 一种Linux平台稳定性测试的方法 | |
CN109634175B (zh) | 一种控制组态程序动态验证的方法及系统 | |
CN115664939A (zh) | 一种基于自动化技术的综合运维方法、装置和存储介质 | |
CN103413470A (zh) | C语言编程教学考试综合系统及方法 | |
CN102620948A (zh) | 抽水蓄能机组故障智能分析方法及其系统 | |
CN109934412A (zh) | 基于时序预测模型的实时设备异常检测装置及方法 | |
CN109523030A (zh) | 一种基于机器学习的遥测参数异常监测系统 | |
CN104678292B (zh) | 一种复杂可编程逻辑器件cpld测试方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |