基于JSON的IO与控制逻辑组态的集成方法技术

技术编号:24089446 阅读:55 留言:0更新日期:2020-05-09 07:25
本发明专利技术涉及一种基于JSON的IO与控制逻辑组态的集成方法,其包括如下步骤:步骤1、根据控制代码中IO数据的结构体封装格式,编写JSON文件,所述编写的JSON文件与控制代码中IO数据的结构体的层次保持一致;步骤2、在组态软件的工程中建立与上述JSON文件每一层级相对应的数据类;步骤3、编写JSON文件读取的函数ReadJSON以及JSON文件写入的函数WriteJSON;步骤4、形成接口数据的集成功能函数UpdateSoftJosnData;在每次组态软件启动、或IO接口信号发生变化后,都调用此函数进行接口数据的更新。本发明专利技术通过JSON可快速的生成接口交换文件,高效的输出依赖接口资源数据,大大提升数据交换的效率;同时利用JSON的清晰简洁的自描述能力,实现对整个依赖资源的完整描述。

Integration method of IO and control logic configuration based on JSON

【技术实现步骤摘要】
基于JSON的IO与控制逻辑组态的集成方法
本专利技术涉及一种集成方法,尤其是一种基于JSON的IO与控制逻辑组态的集成方法,属于JSON数据交互的

技术介绍
IO信号与控制逻辑的集成是组态开发过程中不可或缺的功能,它的作用是将控制软件的逻辑部分与硬件接口模块、通讯模块集成在一起,实现模块间的数据交换。组态化开发是目前燃机轮机市场上的主流方式,它具有用户界面友好、维护管理方便、解决方案一站式服务等优点,能够使用户经过培训,不必掌握具体的编程语言就可以搭建或更改自己的产品控制软件,需求支持自由度高。目前,国外先进的燃气轮机供应商均已拥有自己的组态化开发平台,这给国内燃机轮机的自主研发带来了压力和挑战。燃气轮机控制系统控制软件具有硬件信号数量多、通讯数据量大、控制逻辑复杂、安全性要求高等特点。因为IO信号数据量大、格式复杂、形式多样,这些数据往往都需要以不同的数据结构体进行接收和存储,而在控制软件开发过程中需要频繁、大量地引用这些数据,造成模块间耦合度高、数据关系复杂,开发维护成本高等问题。
技术实现思路
本专利技术的目的是克服现有技术中存在的不足,提供一种基于JSON的IO与控制逻辑组态的集成方法,其通过JSON可快速的生成接口交换文件,高效的输出依赖接口资源数据,大大提升数据交换的效率;同时利用JSON的清晰简洁的自描述能力,实现对整个依赖资源的完整描述。按照本专利技术提供的技术方案,一种基于JSON的IO与控制逻辑组态的集成方法,所述集成方法包括如下步骤:>步骤1、根据控制代码中IO数据的结构体封装格式,编写JSON文件,所述编写的JSON文件与控制代码中IO数据的结构体的层次保持一致;步骤2、在组态软件的工程中建立与步骤1中JSON文件每一层级相对应的数据类;步骤3、编写JSON文件读取的函数ReadJSON以及JSON文件写入的函数WriteJSON,通过ReadJSON能从JSON文件读取数据到数据类对象,并将所述读取的数据类型对象返回调用,通过WriteJSON能将传入的数据类对象写入JSON文件,且返回写成功标志;步骤4、形成接口数据的集成功能函数UpdateSoftJosnData,用ReadJSON读取步骤1中建立的JSON文件数据到步骤2中数据类的实例中,然后处理IO数据并更新数据类的实例,最后调用WriteJSON将数据类的实例写回JSON文件;在每次组态软件启动、或IO接口信号发生变化后,都调用此函数进行接口数据的更新,即更新上述JSON文件的“"ChanDatas":[]”。步骤1中,在JSON文件中,需要对控制代码中每层IO数据的结构体的结构体名称、数据类型、数据定义、描述信息进行填充,并预留信号接口。本专利技术的优点:在IO接口组态软件的开发中,使用JSON文件描述各种数据结构,提供读和写的方法,并在代码中建立与JSON数据结构相对应的数据类,将数据类与JSON文件形成映射关系。在进行数据交互更新时,首先读取JSON文件,将其中的信息映射到数据类的实例上,然后根据具体硬件或通讯信号更新数据对象,最后再把更新后的对象写入JSON文件保存起来,这样就完成了数据的集成。在逻辑组态软件开发中,无论以何种方式获取到JSON文件,只需要读入文件信息就可以获取到接口信号的所有信息,完成与控制逻辑的集成。JSON作为一种轻量级的数据交换格式,有着简洁和清晰的层次结构,在控制软件逻辑组态时,依赖大量的外部接口信号以及大量待描述的结构体信息,通过JSON可快速的生成接口交换文件,高效的输出依赖接口资源数据,大大提升数据交换的效率;同时利用JSON的清晰简洁的自描述能力,实现对整个依赖资源的完整描述。附图说明图1为集成功能函数UpdateSoftJosnData的工作流程图。具体实施方式下面结合具体附图和实施例对本专利技术作进一步说明。为了通过JSON可快速的生成接口交换文件,高效的输出依赖接口资源数据,大大提升数据交换的效率;同时利用JSON的清晰简洁的自描述能力,实现对整个依赖资源的完整描述,本专利技术述集成方法包括如下步骤:步骤1、根据控制代码中IO数据的结构体封装格式,编写JSON文件,所述编写的JSON文件与控制代码中IO数据的结构体的层次保持一致;本专利技术实施例中,根据控制代码中IO数据的结构体封装格式,能直接编写得到JSON文件,具体编写得到JSON文件的过程为本
人员所熟知,此处不再赘述。所有IO数据都写在一个JSON文件里,在JSON文件内再对不同类型的IO接口设置不同的数据结构体。在JSON文件中,需要对控制代码中每层IO数据的结构体的结构体名称、数据类型、数据定义、描述信息进行填充,并预留信号接口。步骤2、在组态软件的工程中建立与步骤1中JSON文件每一层级相对应的数据类CDLFileStruct;本专利技术实施例中,利用组态软件的工程标签能建立与JSON文件每一层级相对应的数据类,具体建立过程为本
人员所熟知,此处不再赘述。组态软件就是最终要完成的燃机组态化开发软件平台,本专利技术就是在开发组态软件的过程中应用的。至于组态软件与控制代码,通过在组态软件中搭建模型,可以生成用于实际控制的控制代码,所以组态软件的设计开发过程中要先敲定最终生成的控制代码格式,包括各种数据结构体等。步骤3、编写JSON文件读取的函数ReadJSON以及JSON文件写入的函数WriteJSON,通过ReadJSON能从JSON文件读取数据到数据类对象,并将所述读取的数据类型对象返回调用,通过WriteJSON能将传入的数据类对象写入JSON文件,且返回写成功标志状态;具体地,利用本
常规的技术手段能编写得到读取函数ReadJSON以及写入函数WriteJSON,具体编写得到读取函数ReadJSON以及写入函数WriteJSON的过程为本
人员所熟知,此处不再赘述。步骤4、形成接口数据的集成功能函数UpdateSoftJosnData,首先用ReadJSON读取步骤1中建立的JSON文件数据到步骤2中数据类的实例中,然后处理IO数据并更新数据类的实例,最后调用WriteJSON将数据类的实例写回JSON文件;在每次组态软件启动、或IO接口信号发生变化后,都调用此函数进行接口数据的更新,即更新上述JSON文件的“"ChanDatas":[]”。本专利技术实施例中,设计的JSON文件中,ChanDatas是用来保存IO接口具体数据的,在ReadJSON读的时候是空的或旧的,因为此时还没处理IO数据,处理完后就有了数据,即数据类的实例中有了这些数据,那么在WriteJSON写回的时候就更新了ChanDatas。如图1所示,为集成功能函数UpdateSoftJosnData的流程图,具体地:步骤4.1、实例化CDLFileStruct为cdlData,从而为读取JSON数据准备好映射对象;步骤4.2、获取JSON本文档来自技高网...

【技术保护点】
1.一种基于JSON的IO与控制逻辑组态的集成方法,其特征是,所述集成方法包括如下步骤:/n步骤1、根据控制代码中IO数据的结构体封装格式,编写JSON文件,所述编写的JSON文件与控制代码中IO数据的结构体的层次保持一致;/n步骤2、在组态软件的工程中建立与步骤1中JSON文件每一层级相对应的数据类;/n步骤3、编写JSON文件读取的函数ReadJSON 以及JSON文件写入的函数WriteJSON ,通过ReadJSON 能从JSON文件读取数据到数据类对象,并将所述读取的数据类型对象返回调用,通过WriteJSON 能将传入的数据类对象写入JSON文件,且返回写成功标志;/n步骤4、形成接口数据的集成功能函数UpdateSoftJosnData ,用ReadJSON 读取步骤1中建立的JSON文件数据到步骤2中数据类的实例中,然后处理IO数据并更新数据类的实例,最后调用WriteJSON 将数据类的实例写回JSON文件;在每次组态软件启动、或IO接口信号发生变化后,都调用此函数进行接口数据的更新,即更新上述JSON文件的“"ChanDatas":[]”。/n

【技术特征摘要】
1.一种基于JSON的IO与控制逻辑组态的集成方法,其特征是,所述集成方法包括如下步骤:
步骤1、根据控制代码中IO数据的结构体封装格式,编写JSON文件,所述编写的JSON文件与控制代码中IO数据的结构体的层次保持一致;
步骤2、在组态软件的工程中建立与步骤1中JSON文件每一层级相对应的数据类;
步骤3、编写JSON文件读取的函数ReadJSON以及JSON文件写入的函数WriteJSON,通过ReadJSON能从JSON文件读取数据到数据类对象,并将所述读取的数据类型对象返回调用,通过WriteJSON能将传入的数据类对象写入JSON文件,且返回写成功标志;
步骤4、...

【专利技术属性】
技术研发人员:朱昊林李晓磊刘阳张伟房耿
申请(专利权)人:中国航发控制系统研究所
类型:发明
国别省市:江苏;32

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

1