CN112748907B - 基于硬件资源的c/s模式通用测控软件架构与设计方法 - Google Patents
基于硬件资源的c/s模式通用测控软件架构与设计方法 Download PDFInfo
- Publication number
- CN112748907B CN112748907B CN202011413857.8A CN202011413857A CN112748907B CN 112748907 B CN112748907 B CN 112748907B CN 202011413857 A CN202011413857 A CN 202011413857A CN 112748907 B CN112748907 B CN 112748907B
- Authority
- CN
- China
- Prior art keywords
- hardware
- user interface
- service program
- graphical user
- bottom layer
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Communication Control (AREA)
Abstract
本发明涉及基于硬件资源的C/S模式通用测控软件架构,其特征在于,分为图形用户界面和底层服务程序,其中图形用户界面负责与用户交互,底层服务程序负责底层的软、硬件操作;同时在设计的硬件资源描述文件中将硬件进行软件抽象化,作为图形用户界面与底层服务程序的输入;底层服务程序和图形用户界面之间通过TCP/IP协议通讯,交换硬件资源描述文件中定义的数据帧;软件运行时,由图形用户界面启动底层服务程序,两者的通讯建立后,图形用户界面将用户交互的数据传送给底层服务程序,底层服务程序接收到图形用户界面发送的用户操作数据后,解析并执行硬件操作或者逻辑运算,同时将采集或者从第三方接收到的数据传输给图形用户界面。本发明使底层服务程序实现了通用化。
Description
技术领域
本发明属于测控软件架构设计,尤其适用于基于硬件资源的测控软件设计。
背景技术
测控软件是用于测试和控制领域的软件,一般运行在一定的硬件资源基础上,具有一个图形用户界面,程序根据用户指令执行相应的软、硬件动作,完成测控任务,现有的测控软件开发有以下两种方案。
现有技术方案1:现有架构的测控软件开发过程为根据硬件资源分配表,先开发图形用户界面(下称GUI),再编写底层响应函数,最后编译生成可执行程序。技术方案1缺点:底层响应函数与用户数据和用户界面相互耦合,硬件资源变更或者增加新的硬件资源后,开发过程又需重复一遍,软件难以复用,开发人员大量的时间用在了重复性的开发工作上。
现有技术方案2:利用配置文件(*.xml,*.ini等格式)配置硬件信息,实现测控软件的部分通用性。技术方案2缺点:未完全解决测控软件的通用性难题,界面和底层硬件仍相互耦合,无法在不同项目间移植。
发明内容
发明目的
设计一种基于硬件资源的C/S(客户端/服务器)模式的通用测控软件架构,克服已有架构难以复用的弊端,实现基于硬件资源的测控软件底层硬件服务端的通用化。
针对目前测控软件重复开发的现状,设计了一种新的测控软件架构,将传统的测控软件架构划分为用户界面与底层硬件两部分,每部分独立工作,使相对固化的底层实现通用性。
技术解决方案
基于硬件资源的C/S模式通用测控软件架构,将传统测控软件拆分为图形用户界面和底层服务程序,其中图形用户界面用于与用户交互,底层服务程序用于底层的软、硬件操作;同时基于硬件资源的C/S模式通用测控软件架构将底层硬件按照应用场景和类型进行软件抽象化,以EXCEL文件的形式保存,形成硬件资源描述文件,作为图形用户界面与底层服务程序的输入;底层服务程序和图形用户界面之间通过TCP/IP协议通讯,交换硬件资源描述文件中定义的数据帧;软件运行时,由图形用户界面启动底层服务程序,两者的通讯建立后,图形用户界面将用户交互的数据传送给底层服务程序,底层服务程序接收到图形用户界面发送的用户操作数据后,解析并执行硬件操作或者逻辑运算,同时将采集或者从第三方接收到的数据传输给图形用户界面,驱动图形用户界面的显示。
底层服务程序启动时读取硬件资源描述文件和配置文件,启动后主程序按帧周期定时运行,运行时根据硬件资源描述文件解析图形用户界面发送的数据帧,并按照硬件资源类别,硬件板卡序列号,数据类型进行硬件操作或者执行逻辑运算;开发完成后,用户仅需面向图形用户界面,底层服务程序通过配置隐藏,对用户不可见。
基于硬件资源的C/S模式通用测控软件架构的设计方法,图形用户界面的设计过程为:按照规定的协议发送用户对底层软、硬件的操作操作信息到底层服务程序,不直接参与操作硬件,用常用集成开发环境开发。
底层服务程序设计过程为:
1)底层服务程序开放架构设计,底层服务程序集成试验台常用的硬件资源,并通过在软件编程中统一定义硬件驱动函数的调用规范用于扩充硬件资源库,硬件的操作接口定义如下:
WriteData_HardWareName(HardWareID,chanel,m_CurPackInfo.ParameterVal);
CardInfo.CARD_ID–硬件ID号
Chanel–当前通道
m_CurPackInfo.ParameterVal–GUI发送的当前包的参数值
初始化:
Init_HardWareName(HardWareID,pm_iniHardware->HardwareDec[i]);
HardWareID–硬件ID号
pm_iniHardware->HardwareDec[i]–硬件描述符
停止设备:
Stop_HardWareName(HardWareID);
HardWareID–硬件ID号
2)硬件资源库设计,按照步骤1)所述的硬件驱动函数的调用规范,编写试验室常用硬件资源的驱动库,快速搭建最小系统;
3)底层服务程序对硬件类的处理设计,在配置文件(*.ini文件)中配置项目所需硬件的描述符,不同的硬件环境搭配不同的配置文件,达到快速移植的目的;
通过配置文件获得附加信息后在底层服务程序初始化时动态创建数据结构体,程序运行时,根据图形用户界面的指令自动设置结构体的值,自动组包。
自适应可变通讯协议设计过程为:分别设计如下表1的图形用户界面到底层服务程序的协议和表2的底层服务程序到图形用户界面的通讯协议,其特点在于数据帧长度和数据类型均可变。
表1图形用户界面到底层服务程序可变通讯协议
表2底层服务程序到图形用户界面可变通讯协议
表3数据ID定义
硬件资源描述文件设计过程为:将硬件资源按照最小可操作单元和软、硬件行为进行软件抽象化,在EXCEL文件中给每一个需要用户界面操作项赋予字号和字内偏移等关键字,抽象化方法具体如表4所示:
表4硬件资源的软件抽象化设计
基于硬件资源的C/S模式通用测控软件运行时,由用户界面启动底层服务程序,两者的通讯建立后,图形用户界面将用户交互的数据按照可变通讯协议1组包传送给底层服务程序,底层服务程序接收到图形用户界面发送的用户操作数据后,解析并执行硬件操作或者逻辑运算,同时将采集或者从第三方接收到的数据按照可变通讯协议2传输给图形用户界面,驱动图形用户界面的显示;底层服务程序启动时读取硬件资源描述文件,启动后,主程序按帧周期定时运行,运行时根据硬件资源描述文件解析图形用户界面发送的数据帧,并按照硬件资源类别,硬件板卡序列号,数据类型等进行硬件操作或者执行逻辑运算。
积极效果
本发明设计基于硬件资源的C/S模式运行架构,将传统测控软件拆分为底层服务程序和用户界面两部分,通过定义硬件资源描述文件,实现各型硬件资源的软件抽象化,通过设计自适应变长通讯协议,实现了底层服务程序和用户界面间高效通讯,通过设计开放式架构硬件资源库,实现底层服务程序的标准化、通用化,最终实现了界面和硬件资源的解耦,解决了传统测控软件的复用性难题、同时提升了可维护性。
底层服务程序独立后,经过反复迭代,提高了测控软件的技术成熟度和稳定性。此外,由于底层服务程序和用户界面完全独立,在开发过程中可实现两者的并行开发,多机运行。
经试验室多个大型试验台应用,由于底层服务程序的通用性,测控软件开发的工作量主要集中在了用户界面部分,与硬件相关的工作大幅减少,使测控软件整个生命周期的的工作量减少了约40%~50%,开发效率大大提高。
本架构可进一步推广于其他各类型测控软件的领域,可创造出可观的社会、经济和军事效益。
附图说明
图1为本发明设计的架构示意图;
图2为硬件资源库示例图;
图3为表10中硬件资源的基本信息配置文件UIR APP.ini截屏示意图;
图4为表10中串口COM4的数据帧的配置实例DataFrame.ini截屏示意图。
具体实施方式
考虑到传统测控软件的架构中,用户界面和底层软、硬件操作相互耦合是造成重复开发的主要原因,因此将测控软件剥离为用户界面和底层软、硬件操作两个独立的程序-图形用户界面(GUI)和底层硬件服务端(底层服务程序),着重实现底层服务程序的通用化。通过设计硬件资源描述文件对硬件资源进行抽象化;设计可变长通讯协议,实现GUI和底层服务程序间的高效通讯;通过设计开放式硬件资源库,实现了底层服务程序的标准化和通用化;采用TCP/IP协议,设计了以底层服务程序为服务端,GUI为客户端的C/S模式通用测控软件运行架构。
所述基于硬件资源的C/S模式通用测控软件架构将传统测控软件拆分为图形用户界面和底层软、硬件操作层两个独立的可执行程序-图形用户界面(GUI)和底层服务程序(HardwareServer)。其中GUI负责与用户交互,HardwareServer负责底层的软、硬件操作。同时在硬件资源描述文件中将硬件抽象化,作为GUI与HardwareServer的输入。底层服务程序和图形用户界面之间通过TCP/IP协议通讯,HardwareServer作为服务器,GUI作为客户端,交换硬件资源描述文件定义的数据帧。
软件运行时,由用户界面启动底层服务程序,两者的通讯建立后,图形用户界面将用户交互的数据传送给底层服务程序,底层服务程序接收到图形用户界面发送的用户操作数据后,解析并执行硬件操作或者逻辑运算,同时将采集或者从第三方接收到的数据传输给图形用户界面,驱动图形用户界面的显示。
底层服务程序启动时读取硬件资源描述文件和配置文件,启动后,主程序按帧周期定时运行(15ms定时),运行时根据硬件资源描述文件解析图形用户界面发送的数据帧,并按照硬件资源类别,硬件板卡序列号,数据类型等进行硬件操作或者执行逻辑运算。
开发完成后,用户仅需面向图形用户界面,底层APP可通过配置隐藏,对用户不可见,运行示意如图所示。
在这种架构下,用户界面定位为用户操作硬件资源的入口,用户界面的主要功能为接受用户操作,并将用户操作数据按照协议发送给底层APP。底层服务程序的主要功能定义为接收并解析用户界面发送的数据,按照硬件资源描述文件解析后,做逻辑运算并控制底层硬件资源做相应的操作,扮演硬件驱动程序的角色。
对传统测控软件软件进行用户界面、底层操作与用户数据的抽象划分,实现三者的解耦,便于软件的移植和复用,特别是使底层服务程序的通用化成为可能。
结合图1所示,基于硬件资源的C/S模式通用测控软件架构分为图形用户界面GUI和底层硬件服务程序HardWareServer两部分。GUI的输入文件为硬件资源描述文件,负责与用户交互,HardWareServer的输入文件为硬件资源描述文件和硬件配置文件,运行于硬件资源之上。两者通过TCP/IP进行通讯,交换数据帧。
1.GUI的设计
在此架构下,图形用户界面主要作用为按照规定的协议发送用户对底层软、硬件操作操作信息到HardWareServer,不直接参与操作硬件,可用常用IDE(集成开发环境)开发。
2.HardWareServer的设计
2.1 HardWareServer的开放架构
对于硬件类,HardWareServer集成测控常用的硬件资源,并且按照硬件资源类别在底层服务程序的初始化部分,停止设备部分,软、硬件操作部分预留扩展接口,可快捷加入新的硬件模块。
软件编程中统一定义硬件驱动函数的调用规范如下。
硬件的操作接口:
WriteData_HardWareName(HardWareID,chanel,m_CurPackInfo.ParameterVal);
CardInfo.CARD_ID–硬件ID号
Chanel–当前通道
m_CurPackInfo.ParameterVal–GUI发送的当前包的参数值,包括字号、字内偏移、参数值、当前操作项个数
初始化:
Init_HardWareName(HardWareID,pm_iniHardware->HardwareDec[i]);
HardWareID–硬件ID号
pm_iniHardware->HardwareDec[i]–硬件描述符
停止设备:
Stop_HardWareName(HardWareID);
HardWareID–硬件ID号
2.2硬件资源库
按照硬件驱动函数的调用规范,编写集成试验室常用硬件资源的驱动库,可快速搭建最小系统,硬件资源库如图2所示。
2.3 HardWareServer对硬件类的处理
在硬件资源的基本信息配置文件(UIR.ini文件)中配置各个试验台所需硬件的描述符,不同的硬件环境搭配不同的配置文件,达到快速移植的目的。
2.4 HardWareServer对通讯类的处理
HardWareServer通过读取硬件资源描述文件获取数据结构,通过配置文件获得附加信息后在HardwareServer初始化时动态创建数据结构体,程序运行时,根据GUI的指令自动设置结构体成员值,自动组包。
3.硬件资源描述文件设计
硬件资源描述文件的设计前提为:所有硬件资源都可以用对应的数据类型来描述。
首先将常用测控硬件资源按照硬件类别和最小可操作单元进行软件抽象化,抽象化后的列表如表5所示。
表5硬件资源的软件抽象化设计
然后将项目中用到的所有硬件按照分类按序号排列,此序号命名为“字号”,“字内偏移”,作为每一个硬件资源最小可操作单元的索引关键字。此外,再在文件中附加每个“字号”和“字内偏移”对应的“硬件资源”,“端口”,“数据类型”,“初始值”等信息,按顺序排列形成文件,以EXCEL文件的形式保存,作为硬件资源描述文件,如下表6所示。
表6硬件资源描述文件设计
字号 | 字内偏移 | 硬件资源 | 端口 | 信号名称 | 数据类型 | 换算公式 | 初始值 |
4.自适应可变通讯协议设计
由于用户界面需求和底层硬件种类的多样性,图形用户界面和底层服务程序之间的通讯要面临两个主要的问题:用户触发指令个数的不确定和底层服务程序操作硬件种类的多样性,且有向用户界面传输硬件信息数据量较大的情况,此外还要考虑到目前没有用到的硬件,因此为了兼顾通讯效率和通讯带宽,设计了变长和变类型的数据通讯协议,如下表7~表9所示。
表7图形用户界面到底层服务程序可变通讯协议
表8底层服务程序到图形用户界面可变通讯协议
表9数据ID定义
5.工作原理
软件运行时,由GUI启动HardwareServer,两者的通讯建立后,图形用户界面将用户交互的数据按照表7和表9所示可变通讯协议组包传送给底层服务程序,底层服务程序接收到图形用户界面发送的用户操作数据后,解析并执行硬件操作或者逻辑运算,同时将采集或者从第三方接收到的数据按照表8和表9所示可变通讯协议传输给图形用户界面,驱动图形用户界面的显示。
底层服务程序启动时读取硬件资源描述文件,启动后,主程序按帧周期定时运行(15ms定时),运行时根据硬件资源描述文件解析图形用户界面发送的数据帧,并按照硬件资源类别,硬件板卡序列号,数据类型等进行硬件操作或者执行逻辑运算。
运行时,用户仅需面向图形用户界面,HardwareServer通过配置隐藏,对用户不可见。
实施例
用本架构开发测控软件的过程分为图形用户界面设计、硬件资源描述文件设计,配置文件编写三部分,如下:
5.1用户界面设计
用户界面的设计与传统集成开发环境无异,仅需将控件与每个软、硬件操作项按照字号和字内偏移绑定。
5.2硬件资源描述文件设计
首先按照本说明书第3节所述的硬件资源描述文件的设计方法,将项目中用到的硬件资源在硬件资源描述文件中进行描述,作为底层服务程序和用户界面程序的输入,以EXCEL文件的形式保存。
表10是在具有三张大功率开关卡PXI2586,一张反射内存卡PCI5565,一张模拟数字转换卡PXI6255,两张数字IO卡PXI6511和一路串口通讯的某项目中的硬件资源描述文件的设计,其按照关键字“字号”,“字内偏移”顺序进行描述。
表10硬件资源描述文件设计实例(篇幅所限仅列举部分)
5.3配置文件的编写
在硬件资源描述文件编写完成后,在配置文件中将本项目需要用到的软、硬件资源进行声明,作为底层服务程序的输入,配置文件的格式为*.ini文件。
配置文件包括UIR APP.ini和DataFrame.ini两个文件,其中UIR APP.ini为基本硬件配置文件,DataFrame.ini为通讯类数据帧配置文件,如图3和图4所示。图3为上述表5中的硬件资源的基本信息配置文件,图4为串口COM4的数据帧的配置实例,可配置内容包括串口波特率,数据位,停止位,串口通讯的数据帧长度,帧头,帧尾标识等。
通过以上5.1~5.3,测控软件的开发工作已完成。以下5.4和5.5节对数据帧的组帧、解析和执行进行举例阐述。
5.4数据组帧
本架构在使用时,用户在界面的硬件操作请求将被用户界面程序按照表7和表9的设计组帧,通过TCP/IP发送给底层服务程序,底层服务程序接收到此请求后,查询硬件资源描述文件,获得此硬件的ID和种类,对特定硬件进行进行相应的操作。同时,底层服务程序将采集硬件得到的值或第三方转发的数据按照表8和表9的设计组帧发送给用户界面程序,驱动界面显示。
5.4.1底层服务程序数据帧
以表10中字号为2,字内偏移为0以及字号为5字内偏移为0的两个同时发生的硬件操作项为例,此操作对象为模拟数字转换卡及数字IO卡,根据硬件特点,需底层服务程序采集后传送到用户界面程序显示。底层服务程序按照表3解析硬件资源描述文件,将操作项1转化为float类型,操作项2转化为Bool类型后,按照表8所示的底层服务程序的通讯协议组数据帧。假设传送的单次采集PXI6255-1的值为5.6V(内存中按16进制表示为0x40B33333,以下涉及的参数值均为16进制表示),采集的PXI6511-1卡P2.0通道的数字IO值为1,则此数据帧的操作项个数为2,操作项1的字号为2,字内偏移为0,参数值为0x40B33333,操作项2的字号为5,字内偏移为0,参数值为0x01,最后附上帧校验和0x41。底层服务程序采集后组成的本次操作的最终数据帧如下表11所示。
表11底层服务程序到用户界面程序数据帧实例
5.4.2用户界面数据帧
以表10中字号为0,字内偏移为2,以及字号为7,字内偏移为0的两个同时发生的硬、软件操作项为例,此操作对象为大功率开关卡及通讯串口COM4,根据硬件特点,需图形用户界面程序将用户对硬、软件的操作请求组数据帧发送到底层服务程序执行相应的硬、软件操作。用户界面程序按照表10解析硬件资源描述文件,将操作项1转化为bool类型,操作项2转化为int16类型后,按照表1所示的图形用户界面的通讯协议组数据帧。假设用户通过用户界面设置的PXI2586-1的值为0x01,设置的COM4值为0x00DF,则此数据帧中操作项个数为2,操作项1的字号为0,字内偏移为2,参数值为0x01,操作项2的字号为7,字内偏移为0,参数值为0xECA1,帧校验和为0x41。用户界面程序采集用户行为后组成的本次操作的最终数据帧如下表12所示。
表12用户界面程序到底层服务程序数据帧实例
5.5数据帧的解析和执行
与5.4对应,数据帧的解析也分为用户界面程序数据帧的解析和底层服务程序数据帧的解析两部分。
5.5.1用户界面程序的数据帧解析和执行
用户界面程序读取到底层服务程序通过TCP/IP接收到用户界面程序到底层服务程序的数据帧后,检验帧头和校验和,确认数据准确无误后按照通讯协议获得此数据帧的操作项个数,然后逐个进行解析。
以5.4所述数据帧为例,用户界面程序获取到数据帧中操作项个数为2后,首先获得操作项1的字号为2,字内偏移为0,参数值为0x40B33333(十进制5.6),按照字号2,字内偏移0找到事先绑定的控件后,将此参数值在用户界面向用户显示,完成此次数据帧的解析和执行。
字号为5字内偏移为0的第二个操作项与此类似,仅对应的参数值和控件不同。
5.5.2底层服务程序的数据帧解析和执行
底层服务程序在启动时通过读取配置文件DataFrame.ini获得数据帧的长度,帧头,帧尾后,动态创建COM4的数组。
底层服务程序通过TCP/IP接收到用户界面程序发送到底层服务程序的数据帧后,检验帧头和校验和,确认数据准确无误后按照通讯协议获得此数据帧的操作项个数,然后逐个进行解析。
以5.4所述数据帧为例,底层服务程序获取到数据帧中的字号0和字内偏移2,参数值为0x01,以此查询表5硬件资源描述文件,获得硬件资源名称为PXI2586-2,通道号为COM1,数据类型为Bool,调用硬件资源库中Device_2586.c中的操作函数执行将通道开关置为1的操作,完成此次解析和执行。第二个操作项的解析与此类似,仅数据类型和对应的资源种类不同。底层服务程序获取到数据帧中第二个操作项的字号为7和字内偏移为0,参数值为0x00DF,以此查询表5硬件资源描述文件,获得硬件资源名称为COM4,数据类型为int16,以及此操作项在数据结构中的排序,然后调用硬件资源库中Device_COM.c中的操作函数按照此类型赋值给COM4的数组对应位置(根据此操作项在数组中的排序),完成此次数据帧的解析和执行。
Claims (8)
1.基于硬件资源的C/S模式通用测控软件架构系统,其特征在于,将传统测控软件拆分为图形用户界面和底层服务程序,其中图形用户界面用于与用户交互,底层服务程序用于底层的软、硬件操作;同时基于硬件资源的C/S模式通用测控软件架构将底层硬件按照应用场景和类型进行软件抽象化,形成硬件资源描述文件,作为图形用户界面与底层服务程序的输入;底层服务程序和图形用户界面之间通过TCP/IP协议通讯,交换硬件资源描述文件中定义的数据;软件运行时,由图形用户界面启动底层服务程序,两者的通讯建立后,图形用户界面将用户交互的数据传送给底层服务程序,底层服务程序接收到图形用户界面发送的用户操作数据后,解析并执行硬件操作或者逻辑运算,同时将采集或者从第三方接收到的数据传输给图形用户界面,驱动图形用户界面的显示;
将底层硬件按照应用场景和类型进行软件抽象化的方法为:首先将常用测控硬件资源按照硬件类别和最小可操作单元进行软件抽象化,然后将项目中用到的所有硬件按照分类按序号排列,此序号命名为“字号”,“字内偏移”,作为每一个硬件资源最小可操作单元的索引关键字;此外,再在文件中附加每个“字号”和“字内偏移”对应的“硬件资源”,“端口”,“数据类型”,“初始值”信息,按顺序排列形成文件。
2.如权利要求1所述的基于硬件资源的C/S模式通用测控软件架构系统,其特征在于,底层服务程序启动时读取硬件资源描述文件和配置文件,启动后按帧周期定时运行,运行时根据硬件资源描述文件解析图形用户界面发送的数据帧,并按照硬件资源类别,硬件板卡序列号,数据类型进行硬件操作或者执行逻辑运算;开发完成后,用户仅需面向图形用户界面,底层服务程序通过配置隐藏,对用户不可见。
3.如权利要求1所述的基于硬件资源的C/S模式通用测控软件架构系统,其特征在于,基于硬件资源的C/S模式通用测控软件架构将底层硬件按照应用场景和类型进行软件抽象化后,以EXCEL文件的形式保存。
4.如权利要求1所述的基于硬件资源的C/S模式通用测控软件架构系统的设计方法,其特征在于,图形用户界面的设计过程为:按照规定的协议发送用户对底层软、硬件操作信息到底层服务程序,不直接参与操作硬件,用常用集成开发环境开发。
5.如权利要求4所述的基于硬件资源的C/S模式通用测控软件架构系统的设计方法,其特征在于,底层服务程序设计过程为:
1)底层服务程序开放架构设计,底层服务程序集成测控常用的硬件资源,并通过在软件编程中统一定义硬件驱动函数的调用规范扩充硬件资源库;
硬件的操作接口规范定义如下:
WriteData_HardWareName(HardWareID,chanel,m_CurPackInfo.ParameterVal);
CardInfo.CARD_ID–硬件ID号
Chanel–当前通道
m_CurPackInfo.ParameterVal–图形用户界面发送的当前包的参数值
初始化:
Init_HardWareName(HardWareID,pm_iniHardware->HardwareDec[i]);
HardWareID–硬件ID号
pm_iniHardware->HardwareDec[i]–硬件描述符
停止设备:
Stop_HardWareName(HardWareID);
HardWareID–硬件ID号
2)硬件资源库设计,按照步骤1)所述的硬件驱动函数的调用规范,编写测控软件常用硬件资源的驱动库,搭建最小系统;
3)底层服务程序对硬件类的处理设计,在配置文件(*.ini文件)中配置各个试验台所需硬件的描述符,不同的硬件环境搭配不同的配置文件,达到快速移植的目的;在程序内部,按照不同的硬件类别,对硬件进行对应的操作;
4)底层服务程序对通讯类的处理设计,底层服务程序通过读取硬件资源描述文件获取数据结构,通过配置文件获得附加信息后在底层服务程序初始化时动态创建数据结构体,程序运行时,根据图形用户界面的指令,按照硬件资源描述文件中定义的数据类型设置结构体成员的值,达到自动组包目的。
8.如权利要求7所述的基于硬件资源的C/S模式通用测控软件架构系统的设计方法,其特征在于,基于硬件资源的C/S模式通用测控软件运行时,由用户界面启动底层服务程序,两者建立TCP/IP连接后,图形用户界面将用户交互的数据按照表1所示可变通讯协议组包传送给底层服务程序,底层服务程序接收到图形用户界面发送的用户操作数据后,解析并执行硬件操作或者逻辑运算,同时将采集或者从第三方接收到的数据按照表2所示可变通讯协议传输给图形用户界面,驱动图形用户界面的显示;底层服务程序启动时读取硬件资源描述文件,启动后,主程序按周期定时运行,运行时根据硬件资源描述文件解析图形用户界面发送的数据帧,并按照硬件资源类别,硬件板卡序列号,数据类型等进行硬件操作或者执行逻辑运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011413857.8A CN112748907B (zh) | 2020-12-04 | 2020-12-04 | 基于硬件资源的c/s模式通用测控软件架构与设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011413857.8A CN112748907B (zh) | 2020-12-04 | 2020-12-04 | 基于硬件资源的c/s模式通用测控软件架构与设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112748907A CN112748907A (zh) | 2021-05-04 |
CN112748907B true CN112748907B (zh) | 2023-01-13 |
Family
ID=75649020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011413857.8A Active CN112748907B (zh) | 2020-12-04 | 2020-12-04 | 基于硬件资源的c/s模式通用测控软件架构与设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112748907B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115407998B (zh) * | 2022-08-22 | 2023-09-05 | 深圳市誉辰智能装备股份有限公司 | 锂电设备上位机软件框架设计方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8447873B1 (en) * | 2011-06-29 | 2013-05-21 | Emc Corporation | Managing object model communications |
CN109445323A (zh) * | 2018-10-11 | 2019-03-08 | 上海求本信息技术有限公司 | 一种基于web的分布式智能测控软件平台设计方法 |
CN111176822A (zh) * | 2020-01-02 | 2020-05-19 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向ooda多任务智能应用的嵌入式公共软件运行方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6784903B2 (en) * | 1997-08-18 | 2004-08-31 | National Instruments Corporation | System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations |
US20030078960A1 (en) * | 2001-04-30 | 2003-04-24 | Murren Brian T. | Architecture and process for creating software applications for multiple domains |
US20050120340A1 (en) * | 2003-12-01 | 2005-06-02 | Skazinski Joseph G. | Apparatus, system, and method for automated generation of embedded systems software |
CN104317560A (zh) * | 2014-09-22 | 2015-01-28 | 杭州电子科技大学 | 一种两层架构的曝光机专用控制器控制程序开发方法 |
CN105183455B (zh) * | 2015-08-13 | 2018-09-21 | 深圳市广和通无线股份有限公司 | 一种在Android平台下集成JT/T808程序的方法和系统 |
CN105573759A (zh) * | 2015-12-15 | 2016-05-11 | 中国电子科技集团公司第四十一研究所 | 基于stm32处理器的医用注射泵软件结构 |
US10536536B1 (en) * | 2016-11-15 | 2020-01-14 | State Farm Mutual Automobile Insurance Company | Resource discovery agent computing device, software application, and method |
CN107294783A (zh) * | 2017-06-30 | 2017-10-24 | 济南浪潮高新科技投资发展有限公司 | 一种交换机管理软件架构 |
CN111045838B (zh) * | 2019-12-03 | 2023-03-31 | 中国航空无线电电子研究所 | 基于远程过程调用协议的分布式驱动中间件 |
CN111949265A (zh) * | 2020-07-10 | 2020-11-17 | 南京南瑞继保电气有限公司 | 一种数据处理方法、装置和电子设备 |
-
2020
- 2020-12-04 CN CN202011413857.8A patent/CN112748907B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8447873B1 (en) * | 2011-06-29 | 2013-05-21 | Emc Corporation | Managing object model communications |
CN109445323A (zh) * | 2018-10-11 | 2019-03-08 | 上海求本信息技术有限公司 | 一种基于web的分布式智能测控软件平台设计方法 |
CN111176822A (zh) * | 2020-01-02 | 2020-05-19 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向ooda多任务智能应用的嵌入式公共软件运行方法 |
Non-Patent Citations (4)
Title |
---|
A customizable software tool for Hardware in the Loop tests;Markus Eider 等;《2016 International Conference on Applied Electronics(AE)》;20160601;69-74 * |
MORO:一个面向异构移动机器人的自适应软件框架;孙辉;《中国优秀硕士学位论文全文数据库信息科技辑》;20150315(第03期);I138-678 * |
动态可配置WSN通用测控系统的应用研究;顾霞萍;《中国优秀硕士学位论文全文数据库信息科技辑》;20120615(第06期);I140-194 * |
车辆虚拟仪表软件技术的研究与实现;田炜;《中国计量》;20120910(第09期);72-74 * |
Also Published As
Publication number | Publication date |
---|---|
CN112748907A (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8516451B2 (en) | System and method for creating virtual callback objects | |
Grimm et al. | Programming for pervasive computing environments | |
US7467078B2 (en) | Portable distributed application framework | |
CN102523225A (zh) | 分布式松耦合构架中的解耦方法及分布式松耦合构架平台 | |
CN112748907B (zh) | 基于硬件资源的c/s模式通用测控软件架构与设计方法 | |
CN112527647B (zh) | 基于NS-3的Raft共识算法测试系统 | |
CN111930365A (zh) | 基于Qt的应用程序快速开发框架、开发方法及运行方法 | |
US7499899B2 (en) | Dynamic software integration architecture | |
US20090089038A1 (en) | Mechanism for realistic application/network modeling using a workload description | |
CN109885493A (zh) | 一种基于Android平台和Java反射的自动化混合框架 | |
CN101231590A (zh) | 基于脚本和com组件控制的ivr流程编辑解析模型 | |
CN116680209A (zh) | 基于wasm的多智能合约实例管理方法 | |
CN114024871B (zh) | 一种芯片验证方法、系统、计算机设备及可读存储介质 | |
CN111752840B (zh) | 一种跨系统的金融自助设备sp自动测试方法、设备及介质 | |
CN110262912B (zh) | 一种过程调用gRPC的调用方法及装置 | |
US20080183715A1 (en) | Extensible system for network discovery | |
CN114296809B (zh) | 一种基于操作系统的对象模型构建方法及其系统调用接口 | |
CN111782194A (zh) | 一种基于航空嵌入式开放体系架构的可移植单元代码自动生成方法 | |
CN116319245B (zh) | 面向5g协议的分布式测试系统 | |
CN114047982B (zh) | 一种基于描述规范的微内核组件集成方法 | |
Dinda | The minet tcp/ip stack | |
CN110427260A (zh) | 主机作业调度方法、装置及系统 | |
CN117971760A (zh) | 边缘计算设备框架系统、芯片、存储介质和装置 | |
CN116303149B (zh) | 基于bmc芯片实现控制器接口拓展的方法及系统 | |
CN113572652B (zh) | 一种有线Mesh网络测试方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |