PLC固件系统、封装接口方法、装置、存储介质及电子设备与流程

文档序号:20486688发布日期:2020-04-21 21:43阅读:492来源:国知局
PLC固件系统、封装接口方法、装置、存储介质及电子设备与流程

本发明涉及plc软件开发框架技术领域,具体涉及一种plc固件系统、封装接口方法、存储介质及电子设备。



背景技术:

可编程逻辑控制器(plc),因其结构简单、易于控制、价格便宜等优点,在工业领域应用十分普遍。随着产品的多样性,工业生产控制越来越复杂,plc作为工业控制的大脑,要完成的工作越来越多。

发明人发现,plc产品开发的固件往往需要进行与平台相关的修改才能顺利移植到其他平台上,随着系统功能的复杂性不断增加和多种操作平台的差异性,使得这一修改的难度大大增加。既要求软件工程师对系统平台有全面的了解,同时对软件结构也有很好的把握,而这一过程往往花费大量重复的时间和精力,工程代价非常大。

因此,如何提供一种plc固件系统,能够能屏蔽各操作系统和硬件平台的差异、精简有效的封装层,是本领域技术人员亟待解决的一大技术难题。



技术实现要素:

有鉴于此,本发明实施例提供了一种plc固件系统,能够能屏蔽各操作系统和硬件平台的差异、精简有效的封装层。

为实现上述目的,本发明实施例提供如下技术方案:

一种plc固件系统,包括:应用软件层、中间层、操作系统层、板级支持包层以及plc硬件层,

所述中间层设置在所述应用软件层与所述操作系统层以及所述板级支持包层之间,用于将不同的操作系统提供给所述应用软件层的接口转换成标准化的操作系统适配接口,以及将所述板级支持包层提供供给所述应用软件层的接口转换成标准化的板级支持包适配接口。

可选的,所述操作系统适配接口至少包括文件操作接口、任务操作接口、套接字操作接口、消息队列操作接口、中断管理接口、动态库操作接口、信号量管理接口、时钟管理接口、事件管理接口、内存分配接口、网络操作相关接口中的任意一个或多个接口。

可选的,所述板级支持包适配接口至少包括gpio控制接口、pcie控制接口、串口控制接口、冗余口操作接口、中断管理接口、flash操作接口中的任意一个或多个接口。

一种封装接口方法,应用于任意一项上述的plc固件系统,包括:

获取所述操作系统层发送往所述应用软件层的待转换的第一接口;

基于预定义的中间层的标准化的操作系统适配接口与所述第一接口的对应关系,将所述第一接口转换成目标操作系统适配接口;

和/或,

获取所述板级支持包层发送往所述应用软件层的待转换的第二接口;

基于预定义的中间层的标准化的板级支持包适配接口与所述第二接口的对应关系,将所述第二接口转换成目标板级支持包适配接口。

可选的,所述将所述第一接口转换成目标操作系统适配接口,包括:

基于所述第一接口的接口名称、接口参数、接口调用关系,确定出所述目标操作系统适配接口。

可选的,所述将所述第二接口转换成目标板级支持包适配接口,包括:

基于所述第二接口的接口名称、接口参数、接口调用关系,确定出所述目标板级支持包适配接口。

一种封装接口装置,应用于任意一项上述的plc固件系统,包括:

第一获取模块,用于获取所述操作系统层发送往所述应用软件层的待转换的第一接口;

第一转换模块,用于基于预定义的中间层的标准化的操作系统适配接口与所述第一接口的对应关系,将所述第一接口转换成目标操作系统适配接口;

和/或,

第二获取模块,用于获取所述板级支持包层发送往所述应用软件层的待转换的第二接口;

第二转换模块,用于基于预定义的中间层的标准化的板级支持包适配接口与所述第二接口的对应关系,将所述第二接口转换成目标板级支持包适配接口。

可选的,所述第一转换模块包括:

第一确定单元,用于基于所述第一接口的接口名称、接口参数、接口调用关系,确定出所述目标操作系统适配接口;

相应的,所述第二转换模块包括:

第二确定单元,用于基于所述第二接口的接口名称、接口参数、接口调用关系,确定出所述目标板级支持包适配接口。

一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行任意一项上述的封装接口方法。

一种电子设备,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行任意一项上述的封装接口方法。

基于上述技术方案,本发明实施例提供了一种plc固件系统、封装接口方法、存储介质及电子设备。该plc固件系统包括:应用软件层、中间层、操作系统层、板级支持包层以及plc硬件层。其中,所述中间层设置在所述应用软件层与所述操作系统层以及所述板级支持包层之间,用于将不同的操作系统提供给所述应用软件层的接口转换成标准化的操作系统适配接口,以及将所述板级支持包层提供供给所述应用软件层的接口转换成标准化的板级支持包适配接口。由于本方案将中间层的接口进行标准化,使得相对于应用层来说,相同的业务只需要实现一个代码模块,不需要为每个不同架构的plc产品提供不同的代码模块,可见,本方案能够能屏蔽各操作系统和硬件平台的差异、精简有效的封装层。

附图说明

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

图1为本发明实施例提供的一种plc固件系统的结构示意图;

图2为本发明实施例提供的一种封装接口方法的流程示意图;

图3为本发明实施例提供的一种封装接口装置的结构示意图;

图4为本发明实施例提供的一种电子设备的硬件架构图。

具体实施方式

请参阅图1,图1为本发明实施例提供的一种plc固件系统的结构示意图,该plc固件系统包括:应用软件层、中间层、操作系统层、板级支持包层(bsp)以及plc硬件层。

其中,所述中间层设置在所述应用软件层与所述操作系统层以及所述板级支持包层之间,用于将不同的操作系统提供给所述应用软件层的接口转换成标准化的操作系统适配接口,以及将所述板级支持包层提供供给所述应用软件层的接口转换成标准化的板级支持包适配接口。

在本实施例中,所述操作系统适配接口至少包括文件操作接口、任务操作接口、套接字操作接口、消息队列操作接口、中断管理接口、动态库操作接口、信号量管理接口、时钟管理接口、事件管理接口、内存分配接口、网络操作相关接口中的任意一个或多个接口。

所述板级支持包适配接口至少包括gpio控制接口、pcie控制接口、串口控制接口、冗余口操作接口、中断管理接口、flash操作接口中的任意一个或多个接口。

具体的,在本实施例中,应用软件层用于实现plc固件应用相关功能,包括组态下装、冗余管理、可插拔模块管理、各种工业级协议等功能。操作系统用于负责plc系统的全部软硬件资源的分配,任务调度、内存管理、文件管理、中断管理等。bsp是介于plc硬件和操作系统之间的一层,主要目的是为了支持操作系统,提供硬件驱动,更好运行plc硬件。

值得一提的是,中间层用来连接应用软件和操作系统,将不同的操作系统和bsp提供给应用的接口标准化,协议统一化,屏蔽具体操作细节。其主要包括两部分:

1)操作系统适配接口

用于完成屏蔽操作系统特性差异,实现操作系统无关性;可支持linux,reworks,vxworks等多种不同操作系统,兼容posix标准;主要封装线程、内存、互斥锁、信号量、文件系统、网络协议等接口。其包括文件操作接口、任务管理接口、套接字操作接口、消息队列操作接口、动态库操作接口、信号量管理接口、时钟管理接口、事件管理接口、内存分配接口、网络操作相关接口、网络操作相关接口等。

2)bsp适配接口

用于对所有硬件设备提供统一的访问接口,对bsp提供的接口进行封装;可以广泛支持不同的硬件方案,如zynq、龙芯、intel等芯片。其包括gpio控制接口、pcie控制接口、串口控制接口、冗余口控制接口、flash操作接口等。

结合中间层的模块关系,对中间层的主要功能进行介绍,如下:

1)接口转换

接口转换包括接口名称转换,接口参数的调整,接口调用关系的适配,把不同操作系统接口定义差异转换成内部标准接口,并通过标准接口与应用层进行交互。这样对于应用层来说,相同的业务只需要实现一个代码模块,不需要为每个不同架构的plc产品提供不同的代码模块。

比如中间层需要提供创建任务或者线程接口,linux操作系统提供的接口名称是pthread_create,而vxworks操作系统提供的接口名称是taskcreate。中间层对应用层提供了一个内部标准接口systaskcreate,通过调用不同操作系统的相应接口来实现。应用层只需要调用内部标准接口,不需要区分各个操作系统接口的差异。

2)模块的管理和调试功能

中间层还可以对任务,内存,信号量,网络等模块的管理和调试功能,方便产品开发和维护时对问题的定位。

比如信号量管理模块,会记录信号量类型,正在获取信号量的任务,以及正在阻塞在此信号量的任务。通过查询记录的信息帮助进行问题定位。

3)针对plc用户组态程序使用的系统资源做限制

plc产品开发出来后,用户会根据自己需求编制组态程序,但是如果组态程序使用的系统资源超过限制,会影响plc的其它功能,严重时会造成plc产品运行崩溃。因此中间层限制了用户组态程序使用的系统资源,保证plc产品其它功能可以正常运行。

在上述实施例的基础上,结合上述plc固件系统,本发明实施例还提供了一种封装接口方法,如图2所示,包括:

s21、获取所述操作系统层发送往所述应用软件层的待转换的第一接口;

s22、基于预定义的中间层的标准化的操作系统适配接口与所述第一接口的对应关系,将所述第一接口转换成目标操作系统适配接口;

和/或,

s23、获取所述板级支持包层发送往所述应用软件层的待转换的第二接口;

s24、基于预定义的中间层的标准化的板级支持包适配接口与所述第二接口的对应关系,将所述第二接口转换成目标板级支持包适配接口。

可见,本方案将中间层的接口进行标准化,使得相对于应用层来说,相同的业务只需要实现一个代码模块,不需要为每个不同架构的plc产品提供不同的代码模块,即,本方案能够能屏蔽各操作系统和硬件平台的差异、精简有效的封装层。

在上述实施例的基础上,如图3所示,本发明实施例还提供了一种封装接口装置,应用上述的plc固件系统,包括:

第一获取模块31,用于获取所述操作系统层发送往所述应用软件层的待转换的第一接口;

第一转换模块32,用于基于预定义的中间层的标准化的操作系统适配接口与所述第一接口的对应关系,将所述第一接口转换成目标操作系统适配接口;

和/或,

第二获取模块33,用于获取所述板级支持包层发送往所述应用软件层的待转换的第二接口;

第二转换模块34,用于基于预定义的中间层的标准化的板级支持包适配接口与所述第二接口的对应关系,将所述第二接口转换成目标板级支持包适配接口。

其中,所述第一转换模块包括:

第一确定单元,用于基于所述第一接口的接口名称、接口参数、接口调用关系,确定出所述目标操作系统适配接口;

相应的,所述第二转换模块包括:

第二确定单元,用于基于所述第二接口的接口名称、接口参数、接口调用关系,确定出所述目标板级支持包适配接口。

该装置的工作原理请参见上述方法实施例,在此不重复叙述。

上述控制装置包括处理器和存储器,上述第一获取模块、第一转换模块、第二获取模块以及第二转换模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述封装接口方法。

本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述封装接口方法。

本发明实施例提供了一种设备,如图4所示,设备包括至少一个处理器41、以及与处理器连接的至少一个存储器42、总线43;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的封装接口方法。本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:

获取所述操作系统层发送往所述应用软件层的待转换的第一接口;

基于预定义的中间层的标准化的操作系统适配接口与所述第一接口的对应关系,将所述第一接口转换成目标操作系统适配接口;

和/或,

获取所述板级支持包层发送往所述应用软件层的待转换的第二接口;

基于预定义的中间层的标准化的板级支持包适配接口与所述第二接口的对应关系,将所述第二接口转换成目标板级支持包适配接口。

可选的,所述将所述第一接口转换成目标操作系统适配接口,包括:

基于所述第一接口的接口名称、接口参数、接口调用关系,确定出所述目标操作系统适配接口。

可选的,所述将所述第二接口转换成目标板级支持包适配接口,包括:

基于所述第二接口的接口名称、接口参数、接口调用关系,确定出所述目标板级支持包适配接口。

综上,本发明实施例提供了一种plc固件系统、封装接口方法、存储介质及电子设备。该plc固件系统包括:应用软件层、中间层、操作系统层、板级支持包层以及plc硬件层。其中,所述中间层设置在所述应用软件层与所述操作系统层以及所述板级支持包层之间,用于将不同的操作系统提供给所述应用软件层的接口转换成标准化的操作系统适配接口,以及将所述板级支持包层提供供给所述应用软件层的接口转换成标准化的板级支持包适配接口。由于本方案将中间层的接口进行标准化,使得相对于应用层来说,相同的业务只需要实现一个代码模块,不需要为每个不同架构的plc产品提供不同的代码模块,可见,本方案能够能屏蔽各操作系统和硬件平台的差异、精简有效的封装层。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

在一个典型的配置中,设备包括一个或多个处理器(cpu)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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