一种用于生成业务流的映射关系的系统及方法与流程

文档序号:23068517发布日期:2020-11-25 17:56阅读:180来源:国知局
一种用于生成业务流的映射关系的系统及方法与流程

本公开涉及数据处理,更具体地涉及从配置文件生成业务流的映射关系和依赖关系的系统及方法。



背景技术:

制造执行系统(mes)是当前的制造企业中普遍使用的平台。mes处于企业资源计划(erp)层和现场自动化系统,例如,现场可编程逻辑控制系统(plc),之间的执行层,主要负责车间生产管理和调度执行。mes可以在统一平台上集成诸如生产调度、产品跟踪、质量控制、设备故障分析、网络报表等管理功能,使用统一的数据库和通过网络联接可以同时为生产部门、质检部门、工艺部门、物流部门等提供车间管理信息服务。

但是mes在业界没有标准,医疗、烟草、造船、造车等制造企业都有各自的mes系统。即使是各个企业自己的各个车间,由于生产工艺的不同,每个车间的mes系统也都不同。例如汽车制造企业具有冲压、车身、涂装、总装、发动机、电池等工艺,这些不同的车间的mes系统各不相同。

对于在全球各地具有不同的车间工厂的制造企业来说,为了使得各个车间工厂能方便灵活地完成各自的mes系统,可以提供一套互相独立的文件,例如由c语言编写的二进制文件。各个工厂可以在不需要修改程序代码的基础上,根据自己工厂的特点,通过配置二进制文件之间的依赖和映射关系,对软件进行自定义组装。

然而,由于随着时间的推移,越来越多的plc节点连接到mes系统上,因此,mes系统被配置得越来越复杂,专业人员要理解系统业务流越来越难,处理故障的效率也越来越低。此外,由于mes系统是给专业的it人员设计的,因此对非专业用户来说不太友好。

因此,存在对于高效率地生成业务流的映射关系的系统及方法的需求。



技术实现要素:

本公开提供了一种能够从配置文件生成业务流的映射关系的系统和方法。

根据本公开的第一方面,提供了一种用于生成业务流的映射关系的方法,包括:接收用于所述业务流的一个或多个第一配置文件;从所述一个或多个第一配置文件中提取与所述业务流有关的第一参数集;利用所述第一参数集中的第一参数的值创建第一条目;通过映射将所述第一参数的值插入到与所述第一参数相关联的第一全局查找表中;创建第二条目,其中所述第二条目至少包含所述第一参数的值和所述第一参数集中的第二参数的值;将所述第二条目与所述第一条目相关联;通过映射将所述第二参数的值插入到与所述第二参数相关联的第二全局查找表中;以及至少基于所述第一条目和所述第二条目生成所述业务流的映射关系。

根据本公开的第二方面,提供了一种计算机系统,包括:一个或更多个处理器;存储器,其上存储有计算机可执行指令,所述计算机可执行指令在由所述一个或更多个处理器运行时使得所述一个或更多个处理器执行本发明的方法。

根据本公开的第三方面,提供了一种非暂态的计算机可读介质,其上存储有计算机可执行指令,所述计算机可执行指令在由一个或更多个处理器运行时使得所述一个或更多个处理器执行本发明的方法。

根据本公开的第四方面,提供了一种用于生成业务流的映射关系的装置,包括用于执行本发明的方法的部件。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得更为清楚。

附图说明

构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:

图1示出了根据本发明的一个示例性实施例的企业系统的示意图。

图2示出了根据本发明的一个示例性实施例的解析任务配置文件的流程图。

图3示出了根据本发明的另一个示例性实施例的创建与任务配置文件有关的数据结构的示意图。

图4示出了根据本发明的一个示例性实施例的解析plc配置文件的流程图。

图5示出了根据本发明的一个示例性实施例的创建plc配置文件有关的数据结构的示意图。

图6示出了根据本发明的一个示例性实施例的解析进入报文路由配置文件的流程图。

图7示出了根据本发明的一个示例性实施例的图6中的步骤602的具体流程图。

图8示出了根据本发明的一个示例性实施例的解析返回报文路由配置文件的流程图。

图9示出了根据本发明的一个示例性实施例的创建与进入报文配置文件和返回报文路由配置文件有关的数据结构的示意图。

图10示出了根据本发明的一个示例性实施例的以命令行形式输出映射关系的示意图。

图11示出了根据本发明的一个示例性实施例的以信号流向图的形式输出映射关系的示意图。

图12示出了可以实现根据本发明的实施例的计算设备的示例性配置。

具体实施方式

下面将参考附图来详细描述本发明的优选的实施例。不是本发明必需的细节和功能被省略,以便不会混淆本发明的理解。

请注意,类似的参考数字和字母指的是图中的类似的项目,因而一旦在一幅图中定义了一个项目,就不需要在之后的图中讨论了。

在本公开中,术语“第一”、“第二”等仅仅被用来在元件或步骤之间进行区分,而并不意图表示时间顺序、优先级或重要性。

在下文中,将结合mes系统的具体示例来阐明如何生成业务流的映射关系,例如将结合c语言编写的任务配置文件、plc配置文件、报文路由配置文件等。但是本领域技术人员应当理解,本发明的技术方案不限于这些特定的配置文件,也不限于以c语言开发,而是可以应用于以各种语言开发的各种企业的制造执行系统。

参考图1,图1示出了根据本发明的一个示例性实施例的企业系统的示意图。如图1所示,企业系统可以包括mes层和plc层。mes层可以包括接收器101、业务处理模块103和发送器104等。mes层还可以包括适配器102。注意适配器102对于mes层不是必须的。plc层包括多个plc节点plc_1至plc_n。接收器101接收从plc节点发送的进入(incoming)报文,经过匹配(match)检查,发送至适配器102等。最终报文进入业务处理模块103。业务处理模块103对报文进入相应处理后,通过发送器104发送返回(outgoing)报文给plc节点。由于plc的节点越来越多,甚至可能达到上千个,并且每个plc节点可能会发送几种不同的报文,因此理解并手动绘制业务流的映射关系将相当困难。由于系统中的每个部件通过相应的配置文件来完成操作,因此本发明通过解析配置文件并构建合适的数据结构,从而实现业务流的映射关系的自动生成。

下面将结合图2和图3说明如何解析任务配置文件。任务配置文件也即进程配置文件,是重要的逻辑配置文件,所有其他文件的配置都会跟与其存在依赖关系。任务配置文件可以定义如下命令:

图2是解析任务配置文件的流程图,图3是创建与任务配置文件有关的数据结构的示意图。

在步骤s201,系统接收一个或多个任务配置文件。

在步骤s202,系统按照本领域技术人员已知的解析文本符号的方法从任务配置文件中提取相关第一。解析方法例如是根据编译器原理的自下而上的解析方法,例如向前查看反向最右推导(lalr(1))。应当理解,本发明构思的解析方法不限于此,本领域技术人员可以在本发明的教导下,使用本领域技术人员公知的其他解析方法。解析出的参数例如可以包括任务组(taskgroup)名称、开始、结束参数等。

可选地,在步骤s202-1,按照任务组名称在taskgroup全局哈希表中进行查找以确定是否存在该任务组。如果不存在,则在步骤s203,利用taskgroup名称创建taskgroup条目31。注意,图3中示出了多个taskgroup条目31_1、31_2等,这里为了描述方便,仅以参考符号31来指代。创建taskgroup条目的示例如下:

在步骤s204,将taskgroup名称进行哈希计算以插入到taskgroup全局哈希表33中。

应当注意,哈希算法仅仅是为说明本发明的构思而采取的一种示例的映射方法。本领域技术人员在本发明的构思的教导下,可以采取任何其他同等的映射方法。

此外,可以将taskgroup条目插入到全局taskgroup链表(参见图3中以ptaskgrouproot起始的链表)中进行保存,以便后续遍历。

在步骤s205,创建taskentry条目32_1。同样下文中以32指代taskentry条目。该条目可以包括组名称、任务名称、执行文件名称、结束参数等。创建taskentry条目的示例如下:

在步骤s206,将创建的taskentry条目32关联到taskgroup条目31指向的下一个taskentry指针。这样可以保证同一个taskgroup下的所有taskentry都能被输出。

在步骤s207,将taskentry条目中的任务名称(taskname)、执行文件名称(taskexe)进行哈希计算,并分别加入任务名称全局哈希表34和执行程序名称全局哈希表35。

下面将结合图4和图5说明如何解析plc配置文件。

图4是解析plc配置文件的流程图,图5是创建与plc配置文件有关的数据结构的示意图。

在步骤s401,系统接收一个或多个plc配置文件。plc配置文件可以包括plc节点名称和ip地址等参数。

在步骤s402,系统解析plc配置文件并提取有关参数。

在步骤s403,按照plc节点号去查找plc节点号全局哈希表53。

在步骤s404,如果找不到该plc节点号,则创建新的tcp_info条目51,例如51_1、51_2等,以下统称51,该tcp_info条目至少包括plc节点名称和ip地址。创建tcp_info条目的示例如下:

在步骤s405,将tcp_info条目中的plc节点号和ip地址进行哈希计算,并分别加入到plc节点号全局哈希表53和ip地址全局哈希表54。

此外,可以将tcp_info条目插入到全局tcp_info条目链表(参见图5中以ptcproot起始的链表)中进行保存,以便后续遍历。

下面将结合图6和图9说明如何解析进入(incoming)报文路由配置文件。

图6是解析进入报文路由配置文件的流程图,图9是创建与进入报文配置文件和返回报文路由配置文件有关的数据结构的示意图。

在步骤s601,系统接收一个或多个进入报文路由配置文件,解析进入报文路由配置文件并提取有关参数。提取的参数可以包括诸如特定导出文件(spool)名称(spoolname)、任务名称、plc节点号等。

在步骤s602,系统按照spoolname去查找在步骤s207创建的执行程序名称全局哈希表35,并返回得到的taskentry指针。

在步骤s603,创建进入报文(in_spool_info)条目,例如91_1、91_2等,以下统称91,该in_spool_info条目至少包括spoolname、任务名称、plc节点号等。创建in_spool_info条目的示例如下:

在步骤s604,将in_spool_info条目91中的spoolname进行哈希计算,并加入到spoolname全局哈希表95。

此外,可以将in_spool_info条目91插入到全局in_spool_info条目链表(参见图9中以pinspoolroot起始的链表)中进行保存,以便后续遍历。

在步骤s605,创建plc链接(plc_link_info)条目,例如92_1、92_2等,以下统称92,该plc_link_info条目92至少包括spoolname、任务名称、plc节点号、ip地址等。创建plc_link_info条目的示例如下:

在步骤s606,将plc_link_info条目92中的plc节点号进行哈希计算,并加入到plc节点号全局哈希表96。

在步骤s605,创建匹配对(matchpair)条目,例如93_1、93_2等,以下统称93,该matchpair条目93至少包括匹配关键词和报文位置等。匹配关键词和报文位置用于mes中的接收器101/发送器104判断来自/去往plc的进入报文/返回报文是否与mes系统匹配。如果匹配,则进入下一个流程。如果不匹配,则丢弃相应报文。创建matchpair条目的示例如下:

在步骤s608,plc_link_info条目92中的关于进入报文的matchpair指针指向步骤s607创建的matchpair条目93。

不同的mes系统根据不同的配置可能存在或不存在适配器(adapter)。适配器用于将plc发送的报文的格式进行适配,以方便下一个进程能够处理报文。在系统中存在适配器时,在任务配置文件中会有特定的配置信息来分别设置适配器和任务条目的关联关系。在系统中不存在适配器时,在任务配置文件中不存在关于适配器的配置信息。根据mes系统有无适配器,步骤s602查找taskentry指针的方式会有所不同。图7示出了图6中的步骤602的具体流程图。

在步骤s602_1,系统按照不存在适配器的方式,利用spoolname去查找在步骤s207创建的执行程序名称全局哈希表35,并返回得到的taskentry指针。

在步骤s602_2,判断返回的指针是否为空(null)。如果返回的指针不为空,则找到的taskentry指针指向的即为最终的taskentry条目。

如果返回的指针为null,则在步骤s602_3,按照存在适配器的方式,利用spoolname去查找在步骤s207创建的执行程序名称全局哈希表35,并返回得到的taskentry指针。

在步骤s602_4,判断返回的指针是否为空(null)。如果返回的指针为null,则在步骤s602_5,系统报错并退出。

如果返回的指针不为空,则在步骤s602_6,将表示适配器的字段设置为真。

然后在步骤s602_7,找到最终的taskentry条目。

下面将结合图8和图9说明如何解析返回(outgoing)报文路由配置文件。

图8是解析返回报文路由配置文件的流程图,图9是创建与进入报文配置文件和返回报文路由配置文件有关的数据结构的示意图。

在步骤s801,系统接收一个或多个返回报文路由配置文件,解析返回报文路由配置文件并提取有关参数。提取的参数可以包括诸如特定导出文件名称(spoolname)、任务名称、plc节点号等。

在步骤s802,创建返回报文(out_spool_info)条目,例如94_1、94_2等,以下统称94,该out_spool_info条目94可以包括spoolname、任务名称、plc节点号等。创建out_spool_info条目的示例如下:

可以通过哈希计算将创建的out_spool_info条目94加入到返回报文全局哈希表(未示出)中。

在步骤s803,系统按照plc节点号去查找在步骤s606创建的关于plc_link_info条目的plc节点号全局哈希表96。

在步骤s804,通过查找到的plc_link_info条目中的zpispoolname对步骤s604创建的关于in_spool_info的全局哈希表95进行查找,以得到相应的in_spool_info条目。

在步骤s805,将in_spool_info条目中的outgoingspool指针指向out_spool_info条目。

在步骤s806,创建返回报文的匹配对(matchpair)条目,该matchpair条目可以包括匹配关键词和报文位置等。

在步骤s807,将plc_link_info条目92中的关于返回报文的matchpair指针指向步骤s806创建的matchpair条目。

在步骤s808,将out_spool_info条目94中的plc_link_info指针指向步骤s803找到的plc_link_info条目92。

在步骤s809,将plc_link_info条目92中的plc节点号和ip地址进行哈希计算,并分别加入到图5所示的plc节点号全局哈希表53和ip地址全局哈希表54。

应当理解,以上描述的仅仅是解析配置文件的示例,本领域技术人员在本发明的构思下,可以根据mes系统的具体配置以及用户对映射关系的不同需求,想到解析更多的其他配置文件,或解析更少的配置文件。根据本发明的以上步骤和设计的数据结构,可以根据用户的需求生成不同业务流的映射关系。

根据以上数据结构生成的映射关系的输出可以采取多种不同的形式。图10和11分别示出了示出了根据本发明的一个示例性实施例的以命令行和信号流向图的形式输出映射关系。

如图10所示,根据用户输入命令,可以在用户界面上输出命令行形式的映射关系。例如,该输出显示了plc节点tcp111向mes系统的接收器vtsrvrcv发送了13个报文(例如17:plsstart:ipsstart),这些报文进入适配器adp_bs等,然后返回报文通过发送器vtsrvsnd_bs等返回到节点tcp111。

如图11所示,根据用户输入命令,可以在用户界面上输出信号流向图形式的映射关系。例如,该输出显示了plc节点tcp317向mes系统的接收器vtsrvrcv发送了1个报文,这些报文进入适配器adp_nasy等,然后返回报文通过发送器vtsnd_adp_snas等返回到节点tcp317。

通过本发明的方法,可以快速高效地生成业务流的映射关系,并且能够以直观且用户友好的方式向用户输出。

图12示出了可以实现根据本发明的实施例的计算设备1200的示例性配置。计算设备1200是可以应用本发明的上述方面的硬件设备的实例。计算设备1200可以是被配置为执行处理和/或计算的任何机器。计算设备1200可以是但不限制于工作站、服务器、台式计算机、膝上型计算机、平板计算机、个人数据助手(pda)、智能电话、车载计算机或以上组合。

如图12所示,计算设备1200可以包括可能经由一个或多个接口与总线1202连接或通信的一个或多个元件。总线1202可以包括但不限于,工业标准架构(industrystandardarchitecture,isa)总线、微通道架构(microchannelarchitecture,mca)总线、增强isa(eisa)总线、视频电子标准协会(vesa)局部总线、以及外设组件互连(pci)总线等。计算设备1200可以包括例如一个或多个处理器1204、一个或多个输入设备1206、以及一个或多个输出设备1208。一个或多个处理器1204可以是任何种类的处理器,并且可以包括但不限于一个或多个通用处理器或专用处理器(诸如专用处理芯片)。输入设备1206可以是能够向计算设备输入信息的任何类型的输入设备,并且可以包括但不限于鼠标、键盘、触摸屏、麦克风和/或远程控制器。输出设备1208可以是能够呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。

计算设备1200还可以包括或被连接至非暂态存储设备1214,该非暂态存储设备1214可以是任何非暂态的并且可以实现数据存储的存储设备,并且可以包括但不限于盘驱动器、光存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁性介质、压缩盘或任何其他光学介质、缓存存储器和/或任何其他存储芯片或模块、和/或计算机可以从其中读取数据、指令和/或代码的其他任何介质。计算设备1200还可以包括随机存取存储器(ram)1210和只读存储器(rom)1212。rom1212可以以非易失性方式存储待执行的程序、实用程序或进程。ram1210可提供易失性数据存储,并存储与计算设备1200的操作相关的指令。计算设备1200还可包括耦接至数据链路1218的网络/总线接口1216。网络/总线接口1216可以是能够启用与外部装置和/或网络通信的任何种类的设备或系统,并且可以包括但不限于调制解调器、网络卡、红外线通信设备、无线通信设备和/或芯片集(诸如蓝牙tm设备、1302.11设备、wifi设备、wimax设备、蜂窝通信设施等)。

可单独地或以任何组合方式来使用前述实施方案的各个方面、实施方案、具体实施或特征。可由软件、硬件或硬件与软件的组合来实现前述实施方案的各个方面。

例如,前述实施方案可体现为计算机可读介质上的计算机可读代码。计算机可读介质为可存储数据的任何数据存储设备,所述数据其后可由计算机系统读取。计算机可读介质的示例包括只读存储器、随机存取存储器、cd-rom、dvd、磁带、硬盘驱动器、固态驱动器和光学数据存储设备。计算机可读介质还可分布在网络耦接的计算机系统中使得计算机可读代码以分布式方式来存储和执行。

例如,前述实施方案可采用硬件电路的形式。硬件电路可以包括组合式逻辑电路、时钟存储设备(诸如软盘、触发器、锁存器等)、有限状态机、诸如静态随机存取存储器或嵌入式动态随机存取存储器的存储器、定制设计电路、可编程逻辑阵列等的任意组合。

虽然已通过示例详细展示了本发明的一些具体实施例,但是本领域技术人员应当理解,上述示例仅意图是说明性的而不限制本发明的范围。应该认识到的是,前述方法中的一些步骤不一定按照图示的顺序执行,而是它们可以被同时、以不同顺序或以重叠方式执行。此外,本领域技术人员可以根据需要增加一些步骤或省略一些步骤。前述系统中的一些部件不是必须按照图示的布置,本领域技术人员可以根据需要增加一些部件或省略一些部件。本领域技术人员应该理解,上述实施例可以在不脱离本发明的范围和实质的情况下被修改。本发明的范围是通过所附的权利要求限定的。

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