CN113992514B - 一种零代码快速实现数采仪协议的方法及数采仪终端 - Google Patents
一种零代码快速实现数采仪协议的方法及数采仪终端 Download PDFInfo
- Publication number
- CN113992514B CN113992514B CN202111626043.7A CN202111626043A CN113992514B CN 113992514 B CN113992514 B CN 113992514B CN 202111626043 A CN202111626043 A CN 202111626043A CN 113992514 B CN113992514 B CN 113992514B
- Authority
- CN
- China
- Prior art keywords
- protocol
- configuration file
- instrument
- data acquisition
- data
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种零代码快速实现数采仪协议的方法以及数采仪终端,解决了现有技术采用编写程序的方式来实现通信协议存在的效率较低、开发调试难度较高等问题。该零代码快速实现数采仪协议的方法包括:提供图形化的信息录入界面,该图形化的信息录入界面以预先设定的统一协议描述模型为指导;接收用户录入的仪器仪表协议相关的信息;生成符合统一协议描述模型的待测试的协议配置文件,协议配置文件仅存储所述仪器仪表协议的抽象描述信息;根据所述仪器仪表协议相关的信息,生成相应的测试用例,对所述待测试的协议配置文件执行协议正确性的测试;将通过测试的协议配置文件上传至云端协议库;该云端协议库可供用户下载协议配置文件、导入数采仪。
Description
技术领域
本申请涉及仪器仪表通信协议对接技术领域,具体是涉及一种实现数采仪协议的方法及数采仪终端。
背景技术
数采仪全称数据采集传输仪,广泛应用于环境监测领域,用于采集各类监控仪器仪表的数据,然后完成计算、存储以及上传至监控中心。在环境监测的现场端,数采仪一般会通过串口与仪器仪表(例如:COD分析仪、氨氮分析仪、流量计、SO2分析仪、烟尘分析仪)进行连接,然后按照仪器仪表的协议格式进行通信,从协议报文中解析出监测数据。
近些年,随着各种环境保护政策举措的出台,环境监测行业发展迅猛,各类仪器仪表也层出不穷,由于仪器仪表通信协议方面缺少强制性的规范标准,不同厂家、不同型号的仪器仪表制定的通信协议往往千差万别,因此数采仪需要实现大量通信协议,来对接不同的仪器仪表。
当前主流数采仪一般采用编写程序的方式来实现通信协议,例如:协议驱动程序、动态链接协议库、脚本程序(例如:Lua、Python)等,每对接一个新的仪器仪表都需要进行程序开发、测试、调试等步骤。
主要存在以下缺点:
a)开发协议程序周期较长,效率低下,成本较高,基本无法实现自动化;
b)需要专门的开发人员完成,并且必须掌握相关的编程语言、编程思维、开发调试技术等;
c)单个协议程序比较大(一般几十KByte到几百KByte),数采仪设备通常需要内置几千个协议,占用大量的数采仪内存空间;
d)依赖第三方脚本解析器,增加了系统复杂度,开发调试难度增加,出现问题也不容易定位。
发明内容
本发明提供一种零代码快速实现数采仪协议的方法以及数采仪终端,旨在解决现有技术采用编写程序的方式来实现通信协议存在的效率较低、开发调试难度较高等问题。
第一方面,一种零代码快速实现数采仪协议的方法,包括:
提供图形化的信息录入界面;
接收用户录入的仪器仪表协议相关的信息;所述图形化的信息录入界面以预先设定的统一协议描述模型为指导,使得用户能够从仪器仪表技术手册中直接得出所述仪器仪表协议相关的信息;
生成符合所述统一协议描述模型的待测试的协议配置文件,所述协议配置文件仅存储所述仪器仪表协议的抽象描述信息;
根据所述仪器仪表协议相关的信息,生成相应的测试用例,对所述待测试的协议配置文件执行协议正确性的测试;
将通过测试的协议配置文件上传至云端协议库,以备用户下载协议配置文件至数采仪。
可选地,所述仪器仪表协议相关的信息包括仪器名称、仪器型号、协议格式类型、请求报文结构及校验方式、应答报文结构及校验方式、数据字段检索方式、数据字段解析方式、监测数据代码标识和监测数据单位。
进一步可选地,所述用户录入采用选择或填空的方式;所述生成符合所述统一协议描述模型的待测试的协议配置文件,具体包括:
创建一个协议配置文件,内容初始化为协议配置框架;所述协议配置框架中包含仪器仪表厂家字段、仪器仪表型号字段、协议格式类型字段、协议指令数组,内容均为空;
从仪器仪表厂家、型号控件中获取输入内容,判断内容是否为空;如果为空,则提示用户输入;如果不为空,则将内容写入到协议配置文件的仪器仪表厂家字段、仪器仪表型号字段;
从协议格式类型选择控件获取协议类型,写入到协议配置文件的协议格式类型字段;
从请求报文输入控件获取输入内容,检查指令有效性,如果检查不通过,则提示用户重新输入;如果通过,则在协议配置文件的协议指令数组中创建一个指令描述对象;
从应答报文帧结构、应答报文校验规则选择控件获取对应内容,写入到协议配置文件中指令描述对象下的应答报文帧结构字段和应答报文校验规则字段;
从数据字段检索方式选择控件、数据字段解析方式选择控件、数据单位选择控件获取对应内容,写入到协议配置文件中指令描述对象下的对应字段;
从数据代码标识输入控件获取内容,判断内容是否为空,如果为空,则提示用户输入;如果不为空,则将内容写入到协议配置文件中指令描述对象下的数据代码标识字段;
保存协议配置文件。
可选地,所述协议配置文件采用JSON格式或XML格式。
可选地,所述测试用例包括测试报文以及理论数据;通过运行自动测试控制模块执行所述协议正确性的测试,包括:
启动协议解析模拟器和协议构建模拟器;
协议解析模拟器和协议构建模拟器分别加载待测试的协议配置文件;
协议解析模拟器根据协议配置文件中协议指令字段构建请求报文,并发送给所述协议构建模拟器;
协议构建模拟器根据所述请求报文,从测试用例控件上获取对应的报文实例;根据协议配置文件中协议格式类型字段,将报文实例构建为应答报文,并发送给协议解析模拟器;
协议解析模拟器根据协议配置文件中数据字段检索方式、数据字段解析方式,从应答报文中解析出数据;
将解析的数据与理论数据进行一致性对比验证,如果通过验证,则认为协议配置文件通过测试。
可选地,对于多请求多应答的的协议配置文件,需要针对每个请求报文均组织测试用例;若全部所述请求报文均通过一致性对比验证,则所述协议配置文件通过测试;若任一所述请求报文未通过一致性对比验证,则所述协议配置文件未通过测试。
第二方面,一种零代码快速实现数采仪协议的装置,包括:
协议创建模块,用于提供图形化的信息录入界面,接收用户录入的仪器仪表协议相关的信息,生成待测试的协议配置文件;所述图形化的信息录入界面以预先设定的统一协议描述模型为指导,使得用户能够从仪器仪表技术手册中直接提取得到所述仪器仪表协议相关的信息;所述协议配置文件符合所述统一协议描述模型,仅存储所述仪器仪表协议的抽象描述信息;
协议测试模块,用于接收录入的测试用例,对所述待测试的协议配置文件执行协议正确性的测试;
协议上传模块,用于将通过测试的协议配置文件上传至云端协议库。
上述各模块的可选具体实现方案或优化之处,可参考上述零代码快速实现数采仪协议的方法的相关步骤。
第三方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特殊之处在于,所述处理器执行所述计算机程序时实现上述零代码快速实现数采仪协议的方法的步骤。
第四方面,一种计算机可读存储介质,其上存储有计算机程序,其特殊之处在于,所述处理器执行所述计算机程序时实现上述零代码快速实现数采仪协议的方法的步骤。
第五方面,一种数采仪终端,包括数采仪主体设备(用于实现监测数据采集等固有功能),其特殊之处在于,还包括用于配置使用协议的模块;所述用于配置使用协议的模块在运行时执行以下步骤:
响应于用户输入的协议更新指令,将上述方法建立的所述云端协议库同步到本地;
从所述云端协议库中查找对应的协议配置文件;
将查找到的协议配置文件配置到连接仪器仪表的指定串口,重启所述数采仪主体设备;
重启时,内置的解析软件根据所述统一协议描述模型对协议配置文件进行逆向解析,然后通过所述指定串口与仪器仪表进行协议交互及监测数据采集。
可选地,所述内置的解析软件采用C++语言实现。
可选地,该数采仪终端还配置有USB接口,用于在现场通过U盘导入协议配置文件。
本发明至少具有以下有益效果:
本发明通过对不同仪器仪表建立统一的协议描述模型,以协议配置文件的形式对协议信息进行抽象描述,然后配合数采仪上内置的解析软件,即可实现对仪器仪表的协议对接。采用配置文件来代替协议程序,摒弃了主流的协议程序开发模式,从根本上避免了现有技术的诸多问题。本发明实施例具体的优点包括:
1、大大降低的数采仪协议开发周期,现有技术开发一个协议程序,开发测试周期至少需要2天左右,而本发明采用配置工具配置协议及自动化测试,整个周期最多2个小时左右。
2、大大降低了人力成本,现有技术开发一个协议程序,整个流程,需要协议分析工程师、软件开发工程师、测试工程师协作配合才能完成,而本发明只需要一个协议分析工程师即可完成全部工作。
3、降低了数采仪存储空间占用,一定程度上有利于降低数采仪硬件成本,现有技术单个协议程序比较大(一般几十KByte到几百KByte),而本发明单个协议配置文件一般几百Byte到十几Kbyte。
4、数采仪终端内置解析软件,采用C++语言(也可以是C、java语言)实现,不依赖于第三方脚本解析器,简单可靠,便于维护。
附图说明
图1为本发明一个实施例的整个系统架构示意图;
图2为本发明一个实施例的数采仪协议配置工具(软件)的技术框架示意图;
图3为本发明一个实施例提供的一种零代码快速实现数采仪协议的方法的流程示意图;
图4为本发明一个实施例的待测试的协议配置文件生成的流程示意图;
图5为本发明一个实施例的协议配置文件自动化测试的流程示意图;
图6为本发明一个实施例的数采仪下载及使用协议的流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,通过对大量仪器仪表的协议格式特点、数据解析方式进行分析汇总,建立一套统一的协议描述模型,以协议配置文件的形式对协议信息进行抽象描述,然后配合数采仪上内置的解析软件,即可实现对仪器仪表的协议对接。
示例性地,如图1所示,本实施例的整个系统架构主要包含数采仪配置工具101、云端协议库103、数采仪设备105。云端协议库是一个公共的协议仓库,数采仪配置工具负责生成并上传协议配置文件至云端协议库,数采仪设备负责从云端协议库下载并使用协议配置文件。
数采仪配置工具101,为PC端图形化软件工具,主要用于完成协议配置文件的自动化生成、自动化测试、上传云端协议库等,用户在工具界面上录入仪器仪表协议相关的信息(例如包含但不限于:仪器名称、仪器型号、协议格式类型(ASCII/十六进制)、请求报文、应答报文结构及校验方式、数据字段检索方式、数据字段解析方式、监测数据代码标识、监测数据单位等),工具会自动将这些信息进行抽象、转换,生成协议配置文件,并可一键完成协议配置文件的自动化测试和上传云端协议库。
示例性地,如图2所示,该数采仪配置工具101通常可应用于PC端,可包括以下程序模块:
协议创建模块,用于提供图形化的信息录入界面,接收用户录入的仪器仪表协议相关的信息,生成待测试的协议配置文件;该图形化的信息录入界面以预先设定的统一协议描述模型为指导,使得用户能够从仪器仪表技术手册中直接提取得到仪器仪表协议相关的信息;协议配置文件符合所述统一协议描述模型,仅存储所述仪器仪表协议的抽象描述信息;
上述协议创建模块具体包括以下子模块:仪器仪表厂家、型号输入模块(控件)、协议格式类型选择模块(控件)、请求报文输入模块(控件)、应答报文帧结构选择模块(控件)、应答报文校验规则选择模块(控件)、数据字段检索方式选择模块(控件)、数据字段解析方式选择模块(控件)、数据单位选择模块(控件)、数据代码标识输入模块(控件)、创建生成协议配置文件模块;
协议测试模块,用于接收录入的测试用例,对所述待测试的协议配置文件执行协议正确性的测试;该协议测试模块具体包括以下子模块:测试用例输入模块、协议解析模拟器、协议构建模拟器、自动测试控制模块、数据对比分析模块;
协议上传模块,用于将通过测试的协议配置文件上传至云端协议库;该协议上传模块具体包括以下子模块:与云端通信模块、加/解密模块、文件上传模块。
云端协议库103,是一个用于管理、存储协议配置文件的协议仓库管理系统,部署在公有云服务器上,采用C/S架构,数采仪配置工具101和数采仪设备105都为客户端,云端协议库对外接口102、104采用统一的通信协议框架,TCP作为传输协议,JSON作为信息交换格式,通信报文采用AES-256加密,文件上传下载采用FTP协议。
数采仪设备105,是运行在环境监测现场的终端设备,数采仪可以直接从云端协议库103下载协议配置文件到本地,对于没有网络条件的现场,也可以通过U盘将协议配置文件导入到数采仪中,数采仪中内置的解析软件(采用C++语言实现),对协议配置文件进行逆向解析,还原成实际的交互指令及数据解析方式等,然后与仪器仪表进行协议交互,最终实现监测数据采集。
上述云端协议库103也可部署在私有云服务器、专用物理服务器、PC机、嵌入式计算机等。云端协议库对外接口102、104,也可采用UDP、HTTP作为传输协议,XML作为信息交互格式,通信报文加密方式也可以采用AES-128、AES-192、DES、3DES、RSA、SM1、SM4、SM2等对称或非对称加密算法,文件上传下载也采用HTTP协议。
上述协议配置文件也可采用XML格式。
上述数采仪设备105内置的解析软件,也可采用C、java语言实现。
在一个实施例中,如图3所示,提供了一种零代码快速实现数采仪协议的方法,包括以下步骤:
S1:提供图形化的信息录入界面;
这里的图形化界面是相对于命令行界面而言的,图形化的信息录入界面提供各项控件,可以在同一页面列出所有待录入项目,也可以分多个页面逐步呈现待录入项目,还可增加引导/解释说明,用户只需要做“选择题”和简单的“填空题”即可;
当然,该图形化界面也可以进一步优化为更形象的只需拖拉拽操作的用户操作界面。
S2:接收用户录入的仪器仪表协议相关的信息;前述图形化的信息录入界面以预先设定的统一协议描述模型为指导,使得这里用户能够从仪器仪表技术手册中直接得出仪器仪表协议相关的信息;
因为统一协议描述模型源于对大量仪器仪表的协议格式特点、数据解析方式进行分析汇总,能够采用设定规范的抽象描述信息表征各种通信协议实际的交互指令及数据解析方式等,因此用户只需要对照仪器仪表技术手册,简单查找即可确定所需录入的项目内容,如仪器名称、仪器型号、协议格式类型、请求报文结构及校验方式、应答报文结构及校验方式、数据字段检索方式、数据字段解析方式、监测数据代码标识和监测数据单位等。
S3:生成符合所述统一协议描述模型的待测试的协议配置文件,协议配置文件仅存储所述仪器仪表协议的抽象描述信息;
示例性地,如图4所示,待测试的协议配置文件生成的过程包括:
创建一个协议配置文件,内容初始化为协议配置框架;协议配置框架中包含仪器仪表厂家字段、仪器仪表型号字段、协议格式类型字段、协议指令数组、数据解析数组,且内容均为空;
从仪器仪表厂家、型号控件中获取输入内容,判断内容是否为空;如果为空,则提示用户输入;如果不为空,则将内容写入到协议配置文件的仪器仪表厂家字段、仪器仪表型号字段;
从协议格式类型选择控件获取协议类型,写入到协议配置文件的协议格式类型字段;协议格式类型包含ASCII和十六进制,可满足Modbus、HJ212以及仪器仪表自定义的任意格式;
从请求报文输入控件获取输入内容,检查指令有效性,如果检查不通过,则提示用户重新输入;如果通过,则在协议配置文件的协议指令数组中创建一个指令描述对象;这里,请求指令有效检查规则,首先不能为空;若协议格式类型为ASCII时,所输入全部内容必须都是有效的ASCII字符,不能包含汉字;若协议格式类型为十六进制时,输出字符范围只能是0~9、a~e,且用空格分割;
从应答报文帧结构、应答报文校验规则选择控件获取对应内容,写入到协议配置文件中指令描述对象下的应答报文帧结构字段和应答报文校验规则字段;应答报文帧结构,包含有帧头有帧尾、有帧头有长度等结构特点;检验规则包含CRC8、CRC16、CRC32、LRC等;
从数据字段检索方式选择控件、数据字段解析方式选择控件、数据单位选择控件获取对应内容,写入到协议配置文件中指令描述对象下的对应字段;数据字段检索方式包含关键字精确匹配、关键字模糊匹配等;数据字段解析方式包含有符号整数、无符号整数、IEEE754单精度浮点数、IEEE754双精度浮点数等;可采用JSON数组存储协议指令信息,以支持多请求多应答的仪器仪表通信协议;可采用JSON数组存储数据解析信息,以支持一个应答报文中需要解析多个数据;
从数据代码标识输入控件获取内容,判断内容是否为空,如果为空,则提示用户输入;如果不为空,则将内容写入到协议配置文件中指令描述对象下的数据代码标识字段;
保存协议配置文件。
S4:根据所述仪器仪表协议相关的信息,生成相应的测试用例,对所述待测试的协议配置文件执行协议正确性的测试;
上述测试用例包括测试报文以及理论数据;示例性地,如图5所示,通过运行自动测试控制模块执行所述协议正确性的测试,包括:
启动协议解析模拟器和协议构建模拟器;
协议解析模拟器和协议构建模拟器分别加载待测试的协议配置文件;
协议解析模拟器根据协议配置文件中协议指令字段构建请求报文,并发送给所述协议构建模拟器;
协议构建模拟器根据所述请求报文,从测试用例控件上获取对应的报文实例;根据协议配置文件中协议格式类型字段,将报文实例构建为应答报文,并发送给协议解析模拟器;
协议解析模拟器根据协议配置文件中数据字段检索方式、数据字段解析方式,从应答报文中解析出数据;
将解析的数据与理论数据进行一致性对比验证,如果通过验证,则认为协议配置文件通过测试。
另外,由于存在多请求多应答的仪器仪表通信协议,测试用例输入模块,需要针对每个请求报文,组织测试用例,一个请求报文,支持录入多个测试用例,进行多维度测试,以提高测试质量。
多请求多应答的协议配置文件,自动化测试会逐个进行测试验证,最终结果,全部通过则认为是通过,否则,认为是测试未通过。
S5:将通过测试的协议配置文件上传至云端协议库;该云端协议库可供用户下载、导入数采仪。
本实施例通过对不同仪器仪表建立统一的协议描述模型,以协议配置文件的形式对协议信息进行抽象描述,然后配合数采仪上内置的解析软件,即可实现对仪器仪表的协议对接。采用配置文件来代替协议程序,摒弃了主流的协议程序开发模式,从根本上避免了现有技术的诸多问题。尤其是:
a、借助统一协议描述模型,数采仪协议的生成、测试,完全了实现工具化、自动化;
b、协议配置文件只存储了仪器仪表协议的抽象描述信息,因此协议配置文件本身特别小;
c、采用图形化的软件工具,只需托拉拽操作即可实现一个仪器仪表协议,无需编写任何代码。
在一个实施例的应用场景中,电脑上安装有上述数采仪协议配置工具(软件),技术人员通过查阅仪器仪表的技术手册,然后以协议描述模型为指导,分析通信协议的格式以及待采集的监测数据,并将相关信息录入到配置工具上,然后点击“创建协议”按钮,一键生成协议配置文件。这里生成的协议配置文件可以是已经自动完成测试的协议配置文件,也可以是待测试的协议配置文件;对于后一种情况,技术人员可在配置工具上录入(选择)测试用例,包括测试报文以及理论数据,然后点击“测试协议”,一到两秒即可完成协议正确性的测试;然后点击“上传协议”,即可将协议上传至云端协议库。
示例性地,该数采仪协议配置工具(软件)的具体运行过程如下:
1)配置工具初始化:配置工具启动后,先与云端协议库建立TCP连接,连接成功后,首先发送登录包,进行身份认证,登录包内容包含用户名和密码信息,密码字段采用原始密码两次md5加密,登录成功后,才可进行使用。
2)配置工具自动升级:登录成功后,配置工具自动从获取云端协议库最新配置工具版本号,并与本地版本号进行比较,如果有更新,则通过ftp下载最新安装包并自动完成安装。
3)创建协议:配置工具自动生成的协议配置文件采用JSON格式,协议配置文件中包含仪器仪表厂家字段、仪器仪表型号字段、协议格式类型字段、协议指令数组、数据解析数组等。
其中,JSON是一种轻量级的数据交换格式,它是基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,它的层次结构简洁、清晰,扩展性强,同时便于程序解析和生成,并且具有很好可读性。
4)测试协议:主要由测试用例输入模块、协议解析模拟器、协议构建模拟器、自动测试控制模块、数据比对分析模块组成,其中协议解析模拟器、协议构建模拟器,分别作为子线程运行,采用TCP Socket进行通信,协议解析作为客户端,协议构建模拟器作为服务器,来模拟真实环境下,数采仪设备与仪器仪表的协议交互的过程。
5)上传协议:该子模块主要负责与云端协议库进行通信,完成协议配置文件的上传;上传协议的基本流程是:
配置工具先发送请求报文(报文包含:仪器仪表名称&型号、协议配置文件名称等信息);
服务器返回协议配置文件上传地址;
配置工具将协议配置文件通过FTP协议上传到指定地址。
在一个实施例的应用场景中,用户在数采仪上配置使用协议:数采仪屏幕上设计了“更新协议库”按钮,点击一下,即可将协议从云端协议库同步到本地;用户根据现场数采仪与仪器仪表连接情况,选择配置对应的仪器仪表协议配置文件到指定串口;重启数采仪后,数采仪上内置解析软件,会载入选择的协议配置文件,然后通过指定的串口与仪器仪表的进行协议交互及监测数据采集。
相应的数采仪终端,包括数采仪主体设备(用于实现监测数据采集等固有功能)和用于配置使用协议的模块;如图6所示,该用于配置使用协议的模块在运行时执行以下步骤:
响应于用户输入的协议更新指令,将上述零代码快速实现数采仪协议的方法得到的所述云端协议库同步到本地;
从所述云端协议库中查找对应的协议配置文件;
将查找到的协议配置文件配置到连接仪器仪表的指定串口,重启所述数采仪主体设备;
重启时,内置的解析软件根据所述统一协议描述模型对协议配置文件进行逆向解析,然后通过所述指定串口与仪器仪表进行协议交互及监测数据采集。
该数采仪终端还配置有USB接口,这样用户可在现场通过U盘导入协议配置文件。
与现有技术相比,本实施例显著的优势及效果如下:
1、大大降低的数采仪协议开发周期,现有技术开发一个协议程序,开发测试周期至少需要2天左右,而本实施例采用配置工具配置协议及自动化测试,整个周期最多2个小时左右。
2、大大降低了人力成本,现有技术开发一个协议程序,整个流程,需要协议分析工程师、软件开发工程师、测试工程师协作配合才能完成,而本实施例只需要一个协议分析工程师即可完成全部工作。
3、降低了数采仪存储空间占用,一定程度上有利于降低数采仪硬件成本,现有技术单个协议程序比较大(一般几十KByte到几百KByte),而本实施例单个协议配置文件一般几百Byte到十几Kbyte。
4、数采仪端内置解析软件,采用C++语言(也可以是C、java语言)实现,不依赖于第三方脚本解析器,简单可靠,便于维护。
在一个实施例中,还提供了一种计算机设备,该计算机设备可以是PC。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。上述计算机程序被处理器执行时以实现上述数采仪协议配置工具(零代码快速实现数采仪协议的方法)。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,涉及上述实施例零代码快速实现数采仪协议的方法中的全部或部分流程。
以上实施例以及前述发明内容阐述的各技术特征可以进行任意的组合(只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围),为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种零代码快速实现数采仪协议的方法,其特征在于,包括:
提供图形化的信息录入界面;
接收用户录入的仪器仪表协议相关的信息;所述图形化的信息录入界面以预先设定的统一协议描述模型为指导,使得用户能够从仪器仪表技术手册中直接得出所述仪器仪表协议相关的信息;
生成符合所述统一协议描述模型的待测试的协议配置文件,所述协议配置文件仅存储所述仪器仪表协议的抽象描述信息;
根据所述仪器仪表协议相关的信息,生成相应的测试用例,对所述待测试的协议配置文件执行协议正确性的测试;
将通过测试的协议配置文件上传至云端协议库,以备用户下载协议配置文件至数采仪。
2.根据权利要求1所述的零代码快速实现数采仪协议的方法,其特征在于,所述仪器仪表协议相关的信息包括仪器名称、仪器型号、协议格式类型、请求报文结构及校验方式、应答报文结构及校验方式、数据字段检索方式、数据字段解析方式、监测数据代码标识和监测数据单位。
3.根据权利要求2所述的零代码快速实现数采仪协议的方法,其特征在于,所述用户录入采用选择或填空的方式;所述生成符合所述统一协议描述模型的待测试的协议配置文件,具体包括:
创建一个协议配置文件,内容初始化为协议配置框架;所述协议配置框架中包含仪器仪表厂家字段、仪器仪表型号字段、协议格式类型字段、协议指令数组和数据解析数组,且内容均为空;
从仪器仪表厂家、型号控件中获取输入内容,判断内容是否为空;如果为空,则提示用户输入;如果不为空,则将内容写入到协议配置文件的仪器仪表厂家字段、仪器仪表型号字段;
从协议格式类型选择控件获取协议类型,写入到协议配置文件的协议格式类型字段;
从请求报文输入控件获取输入内容,检查指令有效性,如果检查不通过,则提示用户重新输入;如果通过,则在协议配置文件的协议指令数组中创建一个指令描述对象;
从应答报文帧结构、应答报文校验规则选择控件获取对应内容,写入到协议配置文件中指令描述对象下的应答报文帧结构字段和应答报文校验规则字段;
从数据字段检索方式选择控件、数据字段解析方式选择控件、数据单位选择控件获取对应内容,写入到协议配置文件中指令描述对象下的对应字段;
从数据代码标识输入控件获取内容,判断内容是否为空,如果为空,则提示用户输入;如果不为空,则将内容写入到协议配置文件中指令描述对象下的数据代码标识字段;
保存协议配置文件。
4.根据权利要求3所述的零代码快速实现数采仪协议的方法,其特征在于,所述协议配置文件采用JSON格式或XML格式。
5.根据权利要求1所述的零代码快速实现数采仪协议的方法,其特征在于,所述测试用例包括测试报文以及理论数据;通过运行自动测试控制模块执行所述协议正确性的测试,包括:
启动协议解析模拟器和协议构建模拟器;
协议解析模拟器和协议构建模拟器分别加载待测试的协议配置文件;
协议解析模拟器根据协议配置文件中协议指令字段构建请求报文,并发送给所述协议构建模拟器;
协议构建模拟器根据所述请求报文,从测试用例控件上获取对应的报文实例;根据协议配置文件中协议格式类型字段,将报文实例构建为应答报文,并发送给协议解析模拟器;
协议解析模拟器根据协议配置文件中数据字段检索方式、数据字段解析方式,从应答报文中解析出数据;
将解析的数据与理论数据进行一致性对比验证,如果通过验证,则认为协议配置文件通过测试。
6.根据权利要求5所述的零代码快速实现数采仪协议的方法,其特征在于,对于多请求多应答的协议配置文件,需要针对每个请求报文均组织测试用例;若全部所述请求报文均通过一致性对比验证,则所述协议配置文件通过测试;若任一所述请求报文未通过一致性对比验证,则所述协议配置文件未通过测试。
7.一种零代码快速实现数采仪协议的装置,其特征在于,包括:
协议创建模块,用于提供图形化的信息录入界面,接收用户录入的仪器仪表协议相关的信息,生成待测试的协议配置文件;所述图形化的信息录入界面以预先设定的统一协议描述模型为指导,使得用户能够从仪器仪表技术手册中直接提取得到所述仪器仪表协议相关的信息;所述协议配置文件符合所述统一协议描述模型,仅存储所述仪器仪表协议的抽象描述信息;
协议测试模块,用于接收录入的测试用例,对所述待测试的协议配置文件执行协议正确性的测试;
协议上传模块,用于将通过测试的协议配置文件上传至云端协议库。
8.一种数采仪终端,包括数采仪主体设备,其特征在于,还包括用于配置使用协议的模块;所述用于配置使用协议的模块在运行时执行以下步骤:
响应于用户输入的协议更新指令,将权利要求1所述零代码快速实现数采仪协议的方法中得到的云端协议库同步到本地;
从所述云端协议库中查找对应的协议配置文件;
将查找到的协议配置文件配置到连接仪器仪表的指定串口,重启所述数采仪主体设备;
重启时,内置的解析软件根据所述统一协议描述模型对协议配置文件进行逆向解析,然后通过所述指定串口与仪器仪表进行协议交互及监测数据采集。
9.根据权利要求8所述的数采仪终端,其特征在于,所述内置的解析软件采用C++语言实现。
10.根据权利要求8所述的数采仪终端,其特征在于,该数采仪终端还配置有USB接口,用于在现场通过U盘导入协议配置文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111626043.7A CN113992514B (zh) | 2021-12-29 | 2021-12-29 | 一种零代码快速实现数采仪协议的方法及数采仪终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111626043.7A CN113992514B (zh) | 2021-12-29 | 2021-12-29 | 一种零代码快速实现数采仪协议的方法及数采仪终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113992514A CN113992514A (zh) | 2022-01-28 |
CN113992514B true CN113992514B (zh) | 2022-04-01 |
Family
ID=79734725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111626043.7A Active CN113992514B (zh) | 2021-12-29 | 2021-12-29 | 一种零代码快速实现数采仪协议的方法及数采仪终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113992514B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115543852A (zh) * | 2022-11-10 | 2022-12-30 | 凯云联创(北京)科技有限公司 | 一种嵌入式系统自动测试方法 |
CN115776456A (zh) * | 2022-11-28 | 2023-03-10 | 重庆长安汽车股份有限公司 | 通信协议测试方法、装置、测试设备及存储介质 |
CN117453275A (zh) * | 2023-12-25 | 2024-01-26 | 珠海格力电器股份有限公司 | 配置化开发及配置方法、装置及终端 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577463A (zh) * | 2014-10-13 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种基于通信协议的测试方法及其装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7725627B2 (en) * | 2005-12-21 | 2010-05-25 | National Instruments Corporation | Serial port that supports multiple protocols |
US20090240351A1 (en) * | 2008-10-30 | 2009-09-24 | Agilent Technologies, Inc. | Programming Electronic Instruments by Logging Commands Into a File Format |
US8898216B2 (en) * | 2009-10-13 | 2014-11-25 | Fermi Research Alliance, Llc | Distributed data acquisition and processing system and method |
CN102568186A (zh) * | 2010-12-19 | 2012-07-11 | 西安迅腾科技有限责任公司 | 一种非接触式数采仪参数配置及系统升级装置 |
CN112968789B (zh) * | 2019-12-12 | 2024-02-27 | 中兴通讯股份有限公司 | 数据采集方法、装置、计算机设备及计算机可读介质 |
CN111736924B (zh) * | 2020-08-18 | 2020-12-15 | 江苏神彩科技股份有限公司 | 基于Lua脚本接入数采仪的方法、装置、设备及介质 |
-
2021
- 2021-12-29 CN CN202111626043.7A patent/CN113992514B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577463A (zh) * | 2014-10-13 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种基于通信协议的测试方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113992514A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113992514B (zh) | 一种零代码快速实现数采仪协议的方法及数采仪终端 | |
CN110442524B (zh) | 一种针对带有认证授权的web服务接口测试方法和装置 | |
CN110198247B (zh) | 接口测试方法及系统 | |
CN107450941B (zh) | 自动打包方法、装置、存储介质和计算机设备 | |
CN112416327A (zh) | 项目构建方法、装置、计算机设备及存储介质 | |
CN107239271A (zh) | 开发文档生成方法及装置 | |
CN109818962B (zh) | 业务数据处理方法及装置、电子设备、存储介质 | |
KR102226463B1 (ko) | 프로세스자동화프로그램과 연동되는 ui/ux솔루션제공서버, 이를 포함하는 프로세스자동화시스템, 이를 이용한 프로세스자동화방법, 및 이를 실행하기 위한 컴퓨터 프로그램 | |
CN107508846B (zh) | 应用客户端的更新方法和系统及终端设备 | |
CN110380932A (zh) | 用于安全设备的测试方法和装置、以及测试系统 | |
CN112181822A (zh) | 一种测试方法和应用程序的启动耗时测试方法 | |
CN109062798A (zh) | 一种基于Dubbo框架的测试方法与装置 | |
CN111610990B (zh) | 一种应用程序升级的方法、装置和相关系统 | |
CN113238739A (zh) | 一种插件开发和数据获取方法、装置、电子设备及介质 | |
CN113760736A (zh) | 一种测试方法、装置和系统 | |
CN113220561A (zh) | 一种测试用例管理方法、装置、设备及介质 | |
CN115833964A (zh) | 双模通信模块的性能测试方法和性能测试系统 | |
CN114969175A (zh) | 保险平台与外部系统的对接方法及相关设备 | |
CN112579428B (zh) | 接口测试的方法、装置、电子设备和存储介质 | |
CN115878443A (zh) | 接口测试脚本的生成方法及装置、存储介质及电子装置 | |
Alendal et al. | Leveraging usb power delivery implementations for digital forensic acquisition | |
Rivera-Dourado | DebAuthn: a Relying Party Implementation as a WebAuthn Authenticator Debugging Tool | |
Mustafa | Automatic Meter Reading of Electric Energy Meter | |
CN116186100A (zh) | 一种配置化的数据查询方法、装置、系统及介质 | |
CN117369807A (zh) | 页面渲染方法、装置、设备及存储介质 |
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 |