本发明属于制造执行系统(manufacturing execution system,简称MES)领域,尤其涉及一种基于模块化的控制单元的柔性制造系统。
背景技术:
柔性制造系统包括ERP系统、MES制造执行系统以及一些列的生产设备。其中MES系统为能通过信息传递对从订单下达到产品完成的整个生产过程进行优化管理。它能够与上端的ERP系统通讯获取信息并能收集位于末端的终端设备的数据信息,对末端设备的操作进行控制。现有的柔性制造系统中的MES系统主要存在以下几点问题:
·产品方案移植性差
产品方案尤其是开发代码移植性差是困扰MES市场发展的一个主要问题。由于传统的软件框架思路过分追求集中的流程监控,在方案初期设计阶段,开发人员必须充分预估制造系统的加工能力和流程可能,这样使得系统软件内核对硬件设备依赖过强,并限制了系统自身扩展和产品方案移植的可能性,同样也从根本上约束了整个制造系统潜在加工柔性的发挥。
·行业局限性太强
因为之前所提到的产品方案移植性差的问题,所以今天几乎所有的MES供应商的产品都只针对非常特定的行业,甚至行业内特定类型的企业,市场推广具有很强的局限性。
·产品开放性差
MES市场被严重分割,数据和模式方面缺少通用标准的采用。很多MES开发商甚至本身也是设备制造商,开发的软件系统与自身设备耦合度极高,与第三方设备和软件的整合能力较差,系统开放性严重缺失,与之前两点互为因果,限制了自身产品的发展。甚至像SAP这样的大型软件企业,其自身的ERP产品和MES产品在数据上也有一定交流不畅,说明其之前ERP和MES产品在设计开发上缺少全局规划设计。
·开发成本极高
移植性差,原因在于其客户方案中代码的再利用率非常低,定制化开发无法避免大量的低效重复工作,这直接造成了开发商在MES方案设计、开发和实施中的巨大投入。
传统集中框架灵活性较差(如图1所示),也造成了系统对随机情况的应对能力不足,任何改动都可能涉及到系统的基础框架和内核程序,不但开发困难,对客户企业来说也意味着更长的系统停摆和测试周期,可能直接影响其正常生产。
总体来说,传统MES系统多采用集中式控制,其控制单元被固化在系统之中,这样要求系统在设计阶段,程序开发设计人员就必须充分考虑到整个制造系统可能采用的生产流程以及不同设备的接口、工艺特征,这在很大程度上限制了各工艺设备产能的充分发挥和制造流程控制的灵活度。
技术实现要素:
本发明的目的在于提供一种基于模块化的控制单元的柔性制造系统,以解决现有技术中柔性制造系统中的MES系统集中式控制带来的灵活度低、程序二次开发成本高的问题。
本发明公开了一种基于模块化的控制单元的柔性制造系统,所述柔性制造系统包括ERP系统、MES系统以及生产设备,所述MES系统包括控制单元,每一所述控制单元至少包括能力模块和控制模块;
所述能力模块用于读取外界发送的运行逻辑文件和功能函数库;
所述控制模块用于加载并运行所述运行逻辑文件和所述功能函数库。
优选的,所述运行逻辑文件包括代表外部环境或者内部状态值的变量、函数指向以及运行指向的函数的条件流程;
所述控制单元还包括认知模块,用于获取并保存所述变量的值;
所述控制模块用于验证根据所述变量的值是否符合所述条件流程,并在满足时,运行所述函数指向所指向的功能函数。
优选的,所述控制单元还包括通讯模块,用于建立通讯连接,按照通讯协议与所述ERP系统和/或所述生产设备进行数据传送。
优选的,所述MES系统包括至少两个所述控制单元,所述控制单元涉外通讯模块之间通过统一的数据格式进行通讯。
优选的,所述功能函数库为DLL功能函数库。
优选的,运行逻辑文件为XML格式。
优选的,所述能力模块还包括一个统一程序类接口,所有自定义的功能函数继承所述接口。
优选的,所述能力模块还用于通过自身的所述功能函数对所述数据的格式进行识别和处理。
优选的,所述认知模块还用于保存所述运行逻辑文件、设备配置和运行日志信息。
优选的,所述通讯模块,用于按照UDP协议传送第一类型数据,并用于按照HTTP协议传送第二类型数据,所述第一类型数据与所述第二类型数据的属性不同。
本发明通过提供一种柔性制造系统,其中包含有可实时读取外界传送的运行逻辑文件和功能函数库并以此来定义自身功能的控制单元的MES系统,使得程序开发人员可以根据需要自定义运行逻辑文件和功能函数库中的功能函数,将不同的功能通过不同的控制单元完成,无需将控制单元的功能事先固化在系统中,相比现有技术,提高了制造流程控制的灵活度,降低了开发成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中的MES系统架构图;
图2是本发明柔性制造系统架构图
图3是本发明MES系统架构图;
图4是本发明控制单元结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本发明公开了一种柔性制造系统,如图2所示,其包括ERP系统1、MES系统2以及由MES系统控制的一系列生产设备3。
其中MES系统由传统的集中式控制改变成为分布式控制,其主要采用了能够根据实时读取的外界文件实现不同功能的控制单元,这样每一个控制单元只需要对某一台特定的生产设备进行数据收集和流程监控,充分保证这台设备的效能和灵活度充分发挥,并可以尽可能独立运转。
如图3所示,为本发明中的MES系统结构图,其包括多个控制单元,每一控制单元对应一生产设备。由于每一控制单元均是独立存在的,因此,不论增加、删除或是改变控制单元,都不会对其他控制单元造成影响。
以下首先对上述控制单元的结构进行介绍:
如图4所示,控制单元包括能力模块12和控制模块11。
控制模块11本身运行控制单元的控制线程,是控制单元的核心模块。首先,它包含一个主线程,在启动阶段,载入基于XML格式的运行逻辑文件和DLL功能函数库,之后根据实时的环境信息和内部信息数据不间断的循环检验运行逻辑,任何满足条件的逻辑关系将激活一个支线程启动运行功能函数库所指向的一个或多个功能函数。
本发明中,一个基于XML格式定义的运行逻辑文件大概分三个组成部分:
·变量Variable
一个变量代表一个外部环境或者内部状态值。例如这里的控制单元控制一台设备,那么它可以通过感应器的电子信号来确定这台设备是否已经连接,这时我们就需要定义一个布尔值变量DeviceConnected来保存这个数据。
·函数指向Function
控制单元的一个主要特征在于对外部环境做出反应,而这里的反应就是运行特定的功能函数。以下显示了一个定义指向某功能函数去与设备建立连接。
·条件流程Process
环境变量和功能函数指向都已经存在,需要对运行此函数的临界条件需要进行定义。在这个例子中,我们可以很好理解,在控制单元启动完成和设备相关设置载入之后,如果设备没有连接,系统应该发起对设备的连接申请。
本发明中,控制模块11的功能还包括对自身线程的管理和异常情况处理等功能。
能力模块12用于从外界读取运行逻辑文件以及功能函数库,负责管理控制单元载入的所有功能性函数。此模块提供一个统一程序类接口ICapability,任何自定义的功能函数类必须继承此接口,以保证其在被载入时可以自动被能力模块识别并运行。
控制模块11发起的功能函数线程最终由能力模块12检验和启动。根据运行逻辑文件中不同的参数设定,同样的功能函数这里可以以同步和异步两种模式运行。
上述的运行逻辑文件可采用XML格式,功能函数库可以为DLL功能函数库。能力模块12可以从任何外界接口如ERP系统或是其他终端等获取运行逻辑文件等。
进一步的,本发明控制单元还可包括认知模块13。如之前在控制模块11中所介绍的,所有对环境和内部运行情况的监控都是通过一系列变量,而这些变量就可以由认知模块13来进行管理。除这些实时变量之外,认知模块13也在运行中负责保存控制单元的运行逻辑、程序及设备配置和运行日志等所有信息。
更进一步的,控制单元还可以包括通讯模块14。控制单元的数据通讯分为外部和内部两个主要部分。这里所说的外部,是指MES系统软件部分之外的设备或软件,例如生产加工设备。所以为了实现比较广泛的外部通讯功能,这里的通讯模块14支持多种工业常用的通讯协议和格式例如HTTP、UDP、USB、RS232、RS485、TCP/IP等等。此模块负责建立连接,并通过此连接发送和接收数据。
内部通讯,这里包括控制单元与另一控制单元或是控制单元与ERP系统的数据交流。例如从ERP系统中获取最新的生产计划参数进行更新等。
本发明中,内部通讯数据可规定全部基于XML格式化传递,而通讯协议根据数据单元的大小可进行不同处理,以保证时效性和安全性符合要求。根据数据的特点和要求,本发明采用两种通讯协议:
小于4K或对完整性安全性要求低的数据
小于4K的小数据,例如控制单元基本状态信息,当前IP和运行信息,需要不间断在MES内部广播。这种数据使用UDP协议,一般不需要接受方确认。如有需要,通许模块也支持接受方确认,来实现handshake模式。
大于4K或对完整性安全性要求高的数据
这部分可能是复杂的设备状态信息、来自于数据库的数据、文件或者高通量测试设备的测试结果信息以及设备控制指令,将通过更加安全但可能处理效率略低的HTTP协议传输。如果对于安全性要求更高,可以对所传输数据进行SSL加密,保证内部信息不会被第三方恶意软件截取。
这里,通许模块14实现控制单元在MES系统里对内以及对外的通讯能力,而不同的数据处理方式可以根据需求灵活采用,满足定制化的不同需求。
需要说明的是,实际应用中会有多种数据格式,本发明中,对具体数据格式的识别和处理,可由能力模块中自定义的功能函数完成,以此保证通讯模块在不同方案中的通用性。
可见,在上述控制单元中,其基本的结构都相同,不同的在于其函数库以及逻辑文件是控制单元运行时动态载入的,这使得在针对不同的工艺设备开发时,可采用同样的核心编码,然后针对其不同编写逻辑文件和功能函数即可,实现了程序主体部分的高度可移植性。
每一个控制单元的上述四个模块互相调用有机结合。例如,如果我们需要开发一种针对某种设备的功能函数,例如连接某种设备Connect2Device,在这函数内部我们可以调用通讯模块的对外部设备的通讯协议,然后根据运行结果更改认知模块的相关变量。
在MES系统中,可通过采用多个上述结构的控制单元完成各项功能需求的,不但包括设备的监控,而且还包含对第三方软件的数据交互(例如ERP,CRM等等),以及对MES系统的监控和分析等等。这种模块化的控制单元之间互相独立又协同工作,构成了如图3所示的MES,并实现MES系统灵活高效的管理。
以下为本发明的柔性制造系统的一个具体实施例,其包括ERP系统、MES系统以及4个不同的生产设备,其中MES系统包含6个独立的控制单元A、B、C、D、E、F,控制单元A用于与ERP系统进行通讯,控制单元B、C、D、E与4个生产设备一一对应,用于对生产设备进行监控,控制单元F用于对MES系统本身进行分析。每个控制单元的功能通过自身能力模块读取的逻辑运行文件和功能函数库进行定义。控制单元A获取ERP系统发送的XML格式的新的生产计划数据进行同步并通过XML格式的文件发送至其他几个控制单元,控制单元B、C、D、E与各自的生产设备进行通讯,对接收到的数据,由自身的能力模块进行识别并处理。控制单元F接收XML格式的数据,对MES系统本身进行分析。这6个控制单元之间通过XML文件进行数据的交互。
当增加有新的生产设备时,可对应该生产设备的属性,定义相应功能的逻辑运行文件和功能函数库,在不影响整个柔性制造系统的前提下,增加一个控制单元并读取新定义的逻辑运行文件和功能函数库实现对新的生产设备的监控。
与现有技术相比,本发明的柔性制造系统具有如下优点:
生产灵活度高
通过具有独立逻辑与预定义能力的自治性控制单元最大程度分散模拟工人的行为模式,实现对不同情况的随机处理能力,最大限度的发挥制造设备群的柔性生产能力。
同时,采用模块化的控制单元的框架去提高系统开发平台的通用性,解决传统制造控制系统MES在扩展度、灵活性和代码通用性等方面严重不足的问题。
系统扩展性佳
传统MES结构当需要对生产流程进行调整或者添加新的设备时,需要对系统进行整体改动,而之后往往伴随着整个制造系统的停机测试,造成极大的浪费。而采用本发明框架的MES,生产流程的变动只需要对数据库中的相关参数进行重新设置,并不需要对任何程序改动,可以在生产运行中随时进行。另外一方面,新的工艺及设备的添加,只需要对其进行局部的开发和测试,对系统现有部分不会造成任何影响。
加工效率提高
基于本发明框架的分布式结构,在通过对整体流程的高效运算和数据分析,可以对每一个控制单元进行实时管控和调整,充分发挥设备的生产效率,高效分配生产资源,解决某些生产环节所造成的瓶颈效应问题。并有效的避免生产过程所造成的资源浪费,提高生产效率,降低生产消耗,优化企业产能。
二次开发成本低
因为MES的高昂价格主要在于其二次开发成本之上,更进一步说,其系统开发平台的可移植性差是造成其二次开发成本过高的主要原因。在本发明中,MES开发平台的主体编码具有高度的通用性,对客户所采用的设备的无耦合关系,使得二次开发成本得到显著降低。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。