基于虚拟设备的数据集中器开发方法、装置及存储介质制造方法及图纸

技术编号:20024793 阅读:37 留言:0更新日期:2019-01-06 04:03
本发明专利技术公开了基于虚拟设备的数据集中器开发方法、装置及存储介质,所述方法包括:将Lua开发包编译至数据集中器的操作系统中,并在所述数据集中器应用程序的框架上建立Lua脚本的框架;在所述数据集中器与上位机之间建立统一的通信协议;当上层消息传入时,通过C++语言和Lua脚本对相关数据进行解析,得到解析数据,并把所述解析数据分发到终端设备;接收所述终端设备根据所述解析数据回传的数据,并通过Lua脚本将所述数据封装成虚拟设备数据,再通过C++语言将所述虚拟设备数据返回给上层。本发明专利技术能够为上层数据的采集提供简单方便的接口,同时,增强了系统的可移植性,从而克服传统集中器可扩展性较差、终端设备无法组合使用等问题。

【技术实现步骤摘要】
基于虚拟设备的数据集中器开发方法、装置及存储介质
本专利技术涉及虚拟
,尤其涉及基于虚拟设备的数据集中器开发方法、装置及存储介质。
技术介绍
目前,数据集中器的开发大多都是基于传统的Java,C/C++来实现,具有开发周期短、移植性强等优点。然而,在对上述技术的研究和实践过程中,本专利技术的专利技术人发现,上述技术对于时刻变化的终端设备来说都存在一个共同的弊端:可扩展性较差。当有新类型终端加入时,我们不得不重新对程序进行编码、编译以适应其加入,当开发的代码量达到一定数量级、逻辑达到一定复杂程度时,这种修改是不可想象的。另,相对于单个终端设备的运行情况,上位机可能更关心多个终端设备所组成的整体设备的运行情况。因此,仅仅通过传统的技术为上位机提供已定制的终端设备数据是远远不够的,必须考虑不同终端设备以及终端设备之间组合的可扩展性问题。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供基于虚拟设备的数据集中器开发方法、装置及存储介质,能够使得上层无需关心底层设备的构成,为上层数据的采集提供简单方便的接口,同时,使用Lua语言编写的脚本无需编译,可直接运行,大大增强了系统的可移植性,从而克服传统集中器可扩展性较差、终端设备无法组合使用等问题。为解决上述问题,本专利技术的一个实施例提供一种基于虚拟设备的数据集中器开发方法,适于在计算设备中执行,包括:将Lua开发包编译至数据集中器的操作系统中,并在所述数据集中器应用程序的框架上建立Lua脚本的框架;在所述数据集中器与上位机之间建立统一的通信协议;启动所述数据集中器,并加载Lua虚拟机,当上层消息传入时,通过C++语言和Lua脚本对相关数据进行解析,得到解析数据,并把所述解析数据分发到终端设备;接收所述终端设备根据所述解析数据回传的数据,并通过Lua脚本将所述数据封装成虚拟设备数据,再通过C++语言将所述虚拟设备数据返回给上层。进一步地,所述在所述数据集中器应用程序的框架上建立Lua脚本的框架,具体为:在所述数据集中器上搭建注册Lua虚拟机;根据所述数据集中器的资源分配调用接口;根据所述数据集中器的所述调用接口对所述Lua脚本的函数进行封装。进一步地,所述通信协议包括:读命令协议;该命令由40至6136位二进制数据组成,前8位固定格式0x01代表读命令,9至16位代表需要读取的点数,其最大可容纳数为28-1,即255个点,从第17位开始,每24位二进制数代表一个点的标识,直到标识数与描述的点数相符合;读返回命令协议;该命令由72至14296位二进制数据组成,前8位固定格式0x11代表读返回命令,9至16位代表读取返回的点数,其最大可容纳数为28-1,即255个点,从第17位开始,每56位二进制数代表一个点的键值对,其中前24位为该点的标识,后32位为该点的数值,直到该键值对数目与描述的点数相符合;写命令协议;该命令由72至14296位二进制数据组成,前8位固定格式0x02代表写命令,9至16位代表要写入的点数,其最大可容纳数为28-1,即255个点,从第17位开始,每56位二进制数代表一个点的键值对,其中前24位为该点的标识,后32位为该点的数值,直到该键值对数目与描述的点数相符合;写返回命令协议;该命令由24位二进制数据组成,前8位固定格式0x12代表写返回命令,9至16位代表要写入的点数,其最大可容纳数为28-1,即255个点,17至24位代表写入结果,其中0x01表示更新成功,0x02表示更新失败;其中,点的标识以0x640000作为分界分成2种设备,其中,0x0至0x63FFFF描述为终端设备,0x640000至0xFFFFFF描述为虚拟设备。进一步地,所述通过C++语言和Lua脚本对相关数据进行解析,为使用C++编译的应用程序对Lua脚本接口的调用。进一步地,所述通过Lua脚本将所述数据封装成虚拟设备数据,指通过Lua脚本对使用C++编译的应用程序接口的回调。本专利技术的一个实施例还提供了一种基于虚拟设备的数据集中器开发装置,包括:Lua脚本的框架建立模块,用于将Lua开发包编译至数据集中器的操作系统中,并在所述数据集中器应用程序的框架上建立Lua脚本的框架;通信协议建立模块,用于在所述数据集中器与上位机之间建立统一的通信协议;解析模块,用于启动所述数据集中器,并加载Lua虚拟机,当上层消息传入时,通过C++语言和Lua脚本对相关数据进行解析,得到解析数据,并把所述解析数据分发到终端设备;封装模块,用于接收所述终端设备根据所述解析数据回传的数据,并通过Lua脚本将所述数据封装成虚拟设备数据,再通过C++语言将所述虚拟设备数据返回给上层。进一步地,所述通过C++语言和Lua脚本对相关数据进行解析,为使用C++编译的应用程序对Lua脚本接口的调用。进一步地,所述通过Lua脚本将所述数据封装成虚拟设备数据,指通过Lua脚本对使用C++编译的应用程序接口的回调。本专利技术的一个实施例还提供了一种基于虚拟设备的数据集中器开发装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的基于虚拟设备的数据集中器开发方法。本专利技术的一个实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的基于虚拟设备的数据集中器开发方法。实施本专利技术实施例,具有如下有益效果:本专利技术实施例提供的基于虚拟设备的数据集中器开发方法、装置及存储介质,所述方法适于在计算设备中执行,通过将Lua开发包编译至数据集中器的操作系统中,并在所述数据集中器应用程序的框架上建立Lua脚本的框架,以及在所述数据集中器与上位机之间建立统一的通信协议后,在集中器上运行Lua虚拟机,并通过Lua脚本编写一系列的规则,对上位机提供的虚拟设备进行解析,并映射到相关的终端设备上,最后对终端设备数据进行封装,作为虚拟设备数据提交到上位机。本专利技术使得上层无需关心底层设备的构成,为上层数据的采集提供简单方便的接口,同时,使用Lua语言编写的脚本无需编译,可直接运行,大大增强了系统的可移植性。附图说明图1为本专利技术第一实施例提供的一种基于虚拟设备的数据集中器开发方法的流程示意图;图2为本专利技术第一实施例中的数据集中器架构图;图3为本专利技术第一实施例中的数据集中器应用程序架构图;图4为本专利技术第一实施例中的C++代码调用Lua脚本流程图;图5为本专利技术第一实施例中的Lua脚本流程图;图6为本专利技术第一实施例中的配置文件VDevConfig;图7为本专利技术第一实施中的Lua脚本文件;图8为本专利技术第一实施例中的通信协议的读命令协议表;图9为本专利技术第一实施例中的通信协议的读返回命令协议表;图10为本专利技术第一实施例中的通信协议的写命令协议表;图11为本专利技术第一实施例中的通信协议的写返回命令协议表;图12为本专利技术第二实施例提供的基于虚拟设备的数据集中器开发装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下本文档来自技高网...

【技术保护点】
1.一种基于虚拟设备的数据集中器开发方法,适于在计算设备中执行,其特征在于,包括:将Lua开发包编译至数据集中器的操作系统中,并在所述数据集中器应用程序的框架上建立Lua脚本的框架;在所述数据集中器与上位机之间建立统一的通信协议;启动所述数据集中器,并加载Lua虚拟机,当上层消息传入时,通过C++语言和Lua脚本对相关数据进行解析,得到解析数据,并把所述解析数据分发到终端设备;接收所述终端设备根据所述解析数据回传的数据,并通过Lua脚本将所述数据封装成虚拟设备数据,再通过C++语言将所述虚拟设备数据返回给上层。

【技术特征摘要】
1.一种基于虚拟设备的数据集中器开发方法,适于在计算设备中执行,其特征在于,包括:将Lua开发包编译至数据集中器的操作系统中,并在所述数据集中器应用程序的框架上建立Lua脚本的框架;在所述数据集中器与上位机之间建立统一的通信协议;启动所述数据集中器,并加载Lua虚拟机,当上层消息传入时,通过C++语言和Lua脚本对相关数据进行解析,得到解析数据,并把所述解析数据分发到终端设备;接收所述终端设备根据所述解析数据回传的数据,并通过Lua脚本将所述数据封装成虚拟设备数据,再通过C++语言将所述虚拟设备数据返回给上层。2.根据权利要求1所述的基于虚拟设备的数据集中器开发方法,其特征在于,所述在所述数据集中器应用程序的框架上建立Lua脚本的框架,具体为:在所述数据集中器上搭建注册Lua虚拟机;根据所述数据集中器的资源分配调用接口;根据所述数据集中器的所述调用接口对所述Lua脚本的函数进行封装。3.根据权利要求1所述的基于虚拟设备的数据集中器开发方法,其特征在于,所述通信协议包括:读命令协议;该命令由40至6136位二进制数据组成,前8位固定格式0x01代表读命令,9至16位代表需要读取的点数,其最大可容纳数为28-1,即255个点,从第17位开始,每24位二进制数代表一个点的标识,直到标识数与描述的点数相符合;读返回命令协议;该命令由72至14296位二进制数据组成,前8位固定格式0x11代表读返回命令,9至16位代表读取返回的点数,其最大可容纳数为28-1,即255个点,从第17位开始,每56位二进制数代表一个点的键值对,其中前24位为该点的标识,后32位为该点的数值,直到该键值对数目与描述的点数相符合;写命令协议;该命令由72至14296位二进制数据组成,前8位固定格式0x02代表写命令,9至16位代表要写入的点数,其最大可容纳数为28-1,即255个点,从第17位开始,每56位二进制数代表一个点的键值对,其中前24位为该点的标识,后32位为该点的数值,直到该键值对数目与描述的点数相符合;写返回命令协议;该命令由24位二进制数据组成,前8位固定格式0x12代表写返回命令,9至16位代表要写入的点数,其最大可容纳数为28-1,即255个点,17至24位代表写入结果,其中...

【专利技术属性】
技术研发人员:黎智成黄俊淇周浩成王国华
申请(专利权)人:华南理工大学广州学院
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1