一种工业组态平台的构建方法、构建系统及相关装置与流程

文档序号:17599651发布日期:2019-05-07 20:04阅读:337来源:国知局
一种工业组态平台的构建方法、构建系统及相关装置与流程

本申请涉及工业控制领域,特别涉及一种工业组态平台的构建方法、构建系统及相关装置。



背景技术:

现在工业控制领域的工业组态平台,或者组态软件,针对协议还没有明确有定义的统一对象模型。现在的组态软件都是针对各种协议进行常规开发。然而组态软件中,随着时间发展,变化最多的就是协议以及对应的硬件设备信息。所以从软件开发的角度,在构建工业组态平台时,由于常规协议带来的问题比较多,例如代码冗余,以及开发、维护成本太高等等,此外不同协议使得工业组态平台的兼容性较差。



技术实现要素:

本申请的目的是提供一种工业组态平台的构建方法、构建系统、一种计算机可读存储介质和一种电子设备,解决现有技术中利用常规协议构建工业组态平台带来的难以开发及维护的问题。

为解决上述技术问题,本申请提供一种工业组态平台的构建方法,具体技术方案如下:

基于通用工业协议建立主站和从站;

根据所述工业组态平台的用途分别判断所述主站或所述从站是否包括子模块;

若是,判断所述子模块是否包括通道;

若是,为所述子模块和所述通道分别分配对应的唯一标识,基于所述通用工业协议和所述唯一标识搭建所述子模块和所述通道,完成所述工业组态平台的构建;

若否,为所述子模块分配所述唯一标识,基于所述通用工业协议和所述唯一标识搭建所述子模块,完成所述工业组态平台的构建。

其中,若所述工业组态平台需要支持第三方协议,还包括:

利用基于所述通用工业协议的接口以插件形式支持所述第三方协议。

其中,基于通用工业协议建立主站和从站包括:

基于通用工业协议分别定义所述主站和所述从站的设备数据、参数的组信息、模块的组信息、设备的参数信息、设备的模块信息和协议私有信息;

根据所述设备数据、所述参数的组信息、所述模块的组信息、所述设备的参数信息、所述设备的模块信息和所述协议私有信息建立所述主站和所述从站。

其中,还包括:

为所述主站、所述从站、所述子模块和所述通道分配对应的参数。

本申请还提供一种工业组态平台的构建系统,其特征在于,包括:

设备建立模块,用于基于通用工业协议建立主站和从站;

第一判断模块,用于根据所述工业组态平台的用途判断所述主站和所述从站是否包括子模块;

第二判断模块,用于判断所述子模块是否包括通道;

第一搭建模块,用于为所述子模块和所述通道分别分配对应的唯一标识,基于所述通用工业协议和所述唯一标识搭建所述子模块和所述通道,完成所述工业组态平台的构建;

第二搭建模块,用于为所述子模块分配所述唯一标识,基于所述通用工业协议和所述唯一标识搭建所述子模块,完成所述工业组态平台的构建。

其中,若所述工业组态平台需要支持第三方协议,还包括:

对外插件模块,用于利用基于所述通用工业协议的接口以插件形式支持所述第三方协议。

其中,所述设备建立模块包括:

信息定义单元,用于基于通用工业协议分别定义所述主站和所述从站的设备数据、参数的组信息、模块的组信息、设备的参数信息、设备的模块信息和协议私有信息;

设备建立单元,用于根据所述设备数据、所述参数的组信息、所述模块的组信息、所述设备的参数信息、所述设备的模块信息和所述协议私有信息建立所述主站和所述从站。

其中,还包括:

参数分配模块,用于为所述主站、所述从站、所述子模块和所述通道分配对应的参数。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述的构建方法的步骤。

本申请还提供一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的构建方法的步骤。

本申请提供一种工业组态平台的构建方法,包括:基于通用工业协议建立主站和从站;根据所述工业组态平台的用途分别判断所述主站或所述从站是否包括子模块;若是,判断所述子模块是否包括通道;若是,为所述子模块和所述通道分别分配对应的唯一标识,基于所述通用工业协议和所述唯一标识搭建所述子模块和所述通道,完成所述工业组态平台的构建;若否,为所述子模块分配所述唯一标识,基于所述通用工业协议和所述唯一标识搭建所述子模块,完成所述工业组态平台的构建。

本申请通过基于通用工业协议建立设备的主站和从站,因此工业组态平台只针对通用工业协议这一种协议,对具体的协议内容以及支持的协议数量不作更多要求,减少了工业组态平台以及组态软件开发的复杂度和开发成本。利用唯一标识实现工业组态平台中不同对象的不同标识,在后续工业组态平台的维护、扩展等过程中,维护人员可以直接根据唯一标识迅速确定目标对象,便于对工业组态平台的维护、扩展。本申请还提供一种工业组态平台的构建系统、一种计算机可读存储介质和一种电子设备,具有上述有益效果,此处不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种工业组态平台的构建方法的流程图;

图2为本申请实施例所提供的一种工业组态平台的各级结构示意图;

图3为本申请实施例所提供的一种工业组态平台的构建系统框图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在描述本申请的技术方案之前,先针对通用工业协议作说明。

现在工业控制领域的组态软件,针对协议这块还没有明确有定义的统一对象模型。现在的组态软件基本都是针对各种协议进行常规开发。而且在组态软件中,随着时间发展,变化最多的就是协议以及对应的硬件设备信息。所以从软件开发的角度,带来的问题比较多:代码冗余、开发、维护成本太高。

为了简化软件开发成本及维护成本,针对各种工业协议中的信息,经过抽象和提炼,建立通用工业协议。具体的,主要包括以下几个对象:主站、从站、子模块、通道、参数。任何工业通讯协议都包括主站和从站两种设备,一个主站下可以添加一个或者多个从站,从站又包括若干个子模块,每个子模块又可以包括若干个通道。主站、从站、子模块、通道又都可以有属于自己的若干参数。需要说明的是,并非所有主站均包含子模块和通道,根据设备的通途及功能,有的主站可能不含子模块或通道或者二者均不含有。

在针对各对象进行通用工业协议定义时,需要尽量考虑兼容大部分现有的各种协议,为每个对象建立唯一标识的key,为了兼容各种工业协议,定义了专门的hw_key对象作为key的类型使用,为此可以定义专门的下面对各对象作说明:

(1)主站、从站的定义,即hw_device:需要分别定义所述主站和所述从站的设备数据、参数的组信息、模块的组信息、设备的参数信息、设备的模块信息和协议私有信息。

部分协议设备包括的参数可能比较多,为了方便组态以及使用,可以对参数进行分组管理,也即参数的组信息。hw_device里面定义设备分组信息,包括组的id和组的名称(一个或者多个)。参数通过指定组id标示自己属于那个组。最终展示给用户的界面按照组来呈现,方便使用,子模块以及通道参数也有类似处理。

(2)子模块对象定义,即hw_module:需要定义iq区的大小、模块的通用信息、参数的组信息、模块的参数、模块的通道信息、其他模块相关信息以及协议私有信息。

硬件模块最基本的功能就是采集数据以及写入数据,所以设备里面包含的通道都有输入(写)、输出(读)通道之分,并且定义了读写数据的长度。组态软件都会对硬件控制器的内存进行划分,一般还有诊断等其他区,但iq区是必须具备的。i表示输入区,q表示输出区。所以根据设备下的每个子模块下的通道类型以及读写数据的长度,最终要确定子模块以及设备的所占iq区的大小。抽象的通用工业协议将这个信息放到子模块进行定义,也可以不定义,这样将会自动根据子模块下的通道进行计算。

(3)通道对象定义,即hw_channel:需要定义通道类型结构体、通道的通用数据、参数的组信息、通道的参数信息和协议私有信息。

(4)参数对象定义,即hw_param:需要定义参数值联合体、子参数信息和关联的其他参数信息。

参数联合体是c语言中一个概念,抽象的通用工业协议目前是基于c\c++语言实现,所以用了这个概念,这种模型也可以用其他语言实现,都支持类似联合体的定义。参数的定义就是为了用户能设置每个参数的值,将值分为两类:用户输入的、用户选择的。这两个定义了一个联合体对象。

(5)通用工业协议相关的操作接口定义:内容可以包括根据字符串取得对应的hw_key对象、大小端标志、取得主站的地址、取得下一个可用的从站设备的地址信息、编译检查协议接口、取得下装数据协议接口、取得协议定制的对话框、取得协议在线对话框协议接口、取得设备的源数据信息协议接口、取得子模块的源数据信息接口、取得通道的源数据信息、添加或删除设备协议接口、冗余设备协议接口、添加或删除模块协议接口、添加删除通道协议接口、设置参数协议接口(根据协议确定参数是否可以被修改,若可以则给参数增加返回值)、检查参数协议接口等操作。可以理解的是,定义通用同业协议相关的操作接口时,可以包括上述过程中的必须过程,而对于非必须过程,则可以由本领域技术人员视操作接口的种类、用途而定,在此不作具体限定。

以下分别对大小端标志和取得下装数据协议接口进行说明。字节序根据处理器的不同,可能不一致,比如两个字节:有的是高字节在前,有的是高字节在后,直接使得同样是两个字节,不同处理器如果大小端不一样,解释是不同的。具体的工业协议也有自己的协议字节序,所以用了一个大小端标志来标示具体设备使用的是大端或者小端字节序。

工业组态软件都会有下装操作,将组态的信息下装到硬件进行配置。工业组态平台有通用的下装流程,不过具体协议不同,可能会对下装的数据有一些特殊的处理要求,这样工业组态平台在下装数据生成之后以及下装之前,可以回调协议的这个接口,让具体协议有机会对下装数据进行调整,因此在操作接口中可能需要定义取得下装数据协议接口。

请参考图1,图1为本申请实施例所提供的一种工业组态平台的构建方法的流程图,该构建方法包括:

s101:基于通用工业协议建立主站和从站;

主站和从站是工业组态平台必备的基础设备,因此本步骤旨在利用上文的通用工业协议先建立主站和从站。通常,在建立主站和从站时,还需要考虑界面适配器和产品适配器,由于工业组态平台需要分别与操作系统的界面组件(例如windows界面组件)和工业控制系统产品组件相连接,对应的,建立主站和从站时需要考虑界面适配器和产品适配器,将二者的参数可以同步配置在主站、从站中。

容易理解的是,由于主站、从站实际结构一致,因此无论基于通用工业协议建立主站还是基于通用协议建立从站,两个过程是相同的。只是在建立结束后,确定其中一个为主站,则其余为从站。在此对于从站的数量不作限定,具体从站的数量应由本领域技术人员根据工业组态平台的实际需求进行相应的设定并建立。

参考上文,步骤s101可以包括如下两个步骤:

s1011:基于通用工业协议分别定义主站和从站的设备数据、参数的组信息、模块的组信息、设备的参数信息、设备的模块信息和协议私有信息;

s1012:根据设备数据、参数的组信息、模块的组信息、设备的参数信息、设备的模块信息和协议私有信息建立主站和从站。

设备数据、参数的组信息、模块的组信息、设备的参数信息、设备的模块信息和协议私有信息通常为主站、从站建立过程中的基础信息,当然,在此基础上,存在其他相似信息或者更多信息的建立过程也应在本申请的保护范围内。

s102:根据工业组态平台的用途判断主站和从站是否包括子模块;若是,进入s103;

本步骤旨在判断主站或者从站是否包括子模块。需要注意的是,这句话实际上包括两个具体的判断过程,即主站是否包括子模块、从站是否包括子模块。通常而言,有的主站可以不包括子模块或者子模块、通道二者均不包括,因此有必要进行本步骤的判断过程。无论主站或者从站,只要判断包括子模块,则进入s103。

若判断为否,此时意味着该主站或者从站不包括子模块,更不可能包括通道。由于一个主站下可以添加一个或者多个从站,从站又包括若干个子模块,每个子模块又可以包括若干个通道,因此需要逐一确定主站、从站下各自子模块和通道的情况。可以理解的是,前文的“主站下可以添加一个或者多个从站”,而实际上主站和从站仅是身份的不同,实际结构相同。因此在工业组件平台中,实际上分为三级,即主站(或从站)-子模块-通道,具体结构可以参见图2,图2为本申请实施例所提供的一种工业组态平台的各级结构示意图。因此主站下也是可以存在子模块和通道,并不是说主站包括从站且只有从站才有子模块和通道。

由此看出,本步骤的判断重点是确定各级结构之间的包容关系,在步骤s101中建立主站和从站完毕后,相当于建立完成工业组态平台的“外壳”,而本步骤则是具体判断工业组态平台内部包括哪些结构的第一步,即先判断是否包括子模块。

s103:判断子模块是否包括通道;若是,进入s104;若否,进入s105;

在s102的基础上,还可以进行子模块下通道的判断,通常子模块下均设有通道,但不排除存在不设有通道的子模块,因此在确定子模块的基础上进一步确定子模块是否包括通道。

至此,本步骤执行完成后,即可确定工业组态平台具体包括的从站数量、主站和各从站具体的内部结构。需要说明的是,本步骤以及步骤s102均针对主站或者每一个从站执行。换句话说,主站和所有的从站均需要确定各自内部结构。而值得说明的是,设备在出厂时都会带有对应的描述文件,是否包含子模块、通道、参数等信息是根据具体协议下的设备的描述文件来确定。换句话说,主站或者从站的具体内部结构,应根据该工业组态平台中该主站或该从站的功能需求而定。因此,s102和s103确定主站或从站的内部结构是为了s104做准备。

s104:为子模块和通道分别分配对应的唯一标识,基于通用工业协议和唯一标识搭建子模块和通道,完成工业组态平台的构建;

在确定主站或从站内部结构的基础上,本步骤需要为子模块、通道分配唯一标识。上文已经说明,三级结构下并非是必须包容的结构,因此针对于主站或者某个从站,可能存在为子模块分配唯一标识,或是为通道分配唯一标识,或者为子模块和通道分别分配各自的唯一标识。

唯一标识指的是上文的key,通常需要兼容各种工业协议。当然,上文的hw_key对象仅作为一种优选的key。在此对于唯一标识需要兼容的工业协议的种类不作限定,通常可以设一预设比例参数,例如某种标识可以满足当前工业协议80%的组态使用场景,则认为该标识可以作为唯一标识,此时预设比例参数为80%。当然,预设比例参数还可以为其他值,代表着唯一标识的兼容性程度,具体的唯一标识确定方法以及预设比例参数均可以由本领域技术人员根据不同的工业协议中的信息择优确定,在此不作具体限定。

本步骤需要基于通用工业协议,并利用唯一标识建立子模块以及通道。需要说明的是,建立子模块和通道的过程中利用的是各自的唯一标识。

s105:为子模块分配唯一标识,基于通用工业协议和唯一标识搭建子模块,完成工业组态平台的构建。

可以看出,本申请实施例所构建的工业组态平台均基于通用工业协议,对具体的协议内容以及支持的协议数量不作更多要求,减少了工业组态平台以及组态软件开发的复杂度和开发成本。利用唯一标识实现工业组态平台中不同对象的不同标识,在后续工业组态平台的维护、扩展等过程中,维护人员可以直接根据唯一标识迅速确定目标对象,便于对工业组态平台的维护、扩展。

基于上述实施例,作为优选的实施例,若所述工业组态平台需要支持第三方协议,还包括:

利用基于所述通用工业协议的接口以插件形式支持所述第三方协议。

当出现基于通用工业协议构建出来的工业组态平台不支持的第三方协议时,此时可以利用按照通用工业协议定义的接口以插件的形式实现该第三方协议。容易理解的是,本步骤需要工业组态平台在构建时预留相应的接口,以满足预设比例参数剩余的特殊协议或者其他特殊处理需要。更重要的是,可以以插件的方式灵活的配置各种协议信息而基本不需要修改工业组态平台,大大提高了工业组态平台的兼容性,减少了编程的复杂程度。

基于上述实施例,作为优选的实施例,构建工业组态平台时还可以包括:

为所述主站、所述从站、所述子模块和所述通道分配对应的参数。

区别于现有技术中在明确参数后需要从主站逐级遍历到目标对象方能使用,为所有对象均分配各自对应的参数后,在工业组态平台的维护和扩展中可以直接利用唯一标识确定所属的对象,提高了维护和平台扩展的效率,减少了维护成本。

下面对本申请实施例提供的一种工业组态平台的构建系统进行介绍,下文描述的构建系统与上文描述的一种工业组态平台的构建方法可相互对应参照。

参见图3,本申请还提供一种工业组态平台的构建系统,包括:

设备建立模块100,用于基于通用工业协议建立主站和从站;

第一判断模块200,用于根据所述工业组态平台的用途判断所述主站和所述从站是否包括子模块;

第二判断模块300,用于判断所述子模块是否包括通道;

第一搭建模块400,用于为所述子模块和所述通道分别分配对应的唯一标识,基于所述通用工业协议和所述唯一标识搭建所述子模块和所述通道,完成所述工业组态平台的构建;

第二搭建模块500,用于为所述子模块分配所述唯一标识,基于所述通用工业协议和所述唯一标识搭建所述子模块,完成所述工业组态平台的构建。

基于上述实施例,作为优选的实施例,若所述工业组态平台需要支持第三方协议,构建系统还可以包括:

对外插件模块,用于利用基于所述通用工业协议的接口以插件形式支持所述第三方协议。

基于上述实施例,作为优选的实施例,所述设备建立模块100可以包括:

信息定义单元,用于基于通用工业协议分别定义所述主站和所述从站的设备数据、参数的组信息、模块的组信息、设备的参数信息、设备的模块信息和协议私有信息;

设备建立单元,用于根据所述设备数据、所述参数的组信息、所述模块的组信息、所述设备的参数信息、所述设备的模块信息和所述协议私有信息建立所述主站和所述从站。

基于上述实施例,作为优选的实施例,所述构建系统还可以包括:

参数分配模块,用于为所述主站、所述从站、所述子模块和所述通道分配对应的参数。

本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的一种工业组态平台的构建方法的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的一种工业组态平台的构建方法的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1