COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/20201/64MES技术及应用饶运清ManufacturingExecutionSystem华中科技大学机械学院—若干关键技术COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/20202/64提纲一、MES体系结构二、MES集成技术三、数据采集与识别技术COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/20203/64一、MES体系结构什么是组件?MES组件分类基于组件的MES系统架构MES业务组件开发基于组件的MES系统配置组件模型标准基于组件开发MES的优点基于工作流技术的MES建模与开发COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/20204/64什么是组件也叫构件、控件等。简而言之,组件就是对象。组件是对数据和方法的封装。业务组件库领域分析组件设计组件实施用户需求分析系统分析、设计业务组件选择/开发软件系统生成组件装配、测试基于组件的软件开发流程COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/20205/64MES组件分类标准组件:标准组件是MES底层核心功能的集合,它提供整个MES系统的运行环境,为上层实现MES具体功能的组件服务。这些组件包括:工作流组件、查询组件、搜索组件、视图组件、消息组件、分类组件、系统集成插件等。通用组件:通用组件则是跨行业的,实现大多MES系统所包含的功能。如优化计算、误差分析、故障诊断、数据可视化界面、报表、日期管理、事件管理等。行业组件:行业组件是针对特定行业中的典型需求,实现其相应具备的功能。如生产过程模型、业务模型、设备监测、设备维护、物料平衡、生产计划调度、生产绩效分析、动态成本分析等。专业组件:专业组件是根据特定类型的MES系统的特殊要求,提供定制化功能的组件,如生产过程动态仿真、物料跟踪等。COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/20206/64基于组件的MES系统架构总线层数据库/网络J2EE/.NETXML框架层订单管理构件生产调度构件其它构件系统管理构件设备管理构件物料管理构件人力资源构件组件层…工具集工具集应用层应用系统COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/20207/64MES业务组件开发基于组件的MES开发过程及各个阶段的活动如右图所示,主要可以分为四大步骤:MES需求分析与系统设计MES业务组件提取及适配MES业务组件装配MES软件测试MES系统需求需求分析MES系统设计业务组件提取提取的组件二进制组件可配置组件源代码组件配置修改、编译专用组件开发测试可布署组件组件装配系统测试MES软件MES业务组件库COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/20208/64(1)MES需求分析与系统设计此阶段与传统的瀑布型软件开发模式需求分析与系统设计相似,都是对MES用户的需求进行分析,归纳出用户对MES软件的功能需求,然后从系统的高度上对MES软件的各个组成部分进行设计。在MES需求分析与系统设计阶段,可以从MES领域组件库中提取到相似的分析级与设计级的MES组件,复用组件内的知识,可以提高MES软件的分析与设计效率。根据MES软件的各部分功能划分,确定可以从领域组件库中提取的领域组件和需要重新开发的专用组件。COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/20209/64(2)MES业务组件提取及适配在这个阶段,首先根据相应的组件提取方法从MES业务(领域)组件库中提取出所需的各类业务组件,包括二进制代码组件、源代码组件和可配置组件。然后对提取出的源代码组件进行修改并编译,对可配置组件进行配置适配,最后形成可部署的组件。COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/202010/64(3)MES组件装配这个阶段将在软件体系框架(如J2EE)基础上,把各个组件装配到一起,形成MES软件系统。不同层次的可部署组件会有不同的装配方式,例如,采用XML语言作为组件装配的接口描述语言。在进行MES业务组件装配之前,首先需要确定合适的软件体系架构和装配技术。例如,采用SUN公司的J2EE体系结构,并用XML语言作为MES领域组件装配的接口描述语言,以实现组件之间的无缝连接,形成分布式、跨平台、基于Web的MES软件。COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/202011/64(4)MES软件测试对通过装配形成的MES软件进行各项性能测试,包括数据、功能、稳定性、安全性、集成性等指标。COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/202012/64基于组件的MES系统配置MES系统的可配置主要通过组件的定义或复用、组件库的建立和和按照生产业务流程组装MES系统三个过程。(1)组件定义或复用对于一个组件,其描述可以分为两个部分:组件功能的说明和组件功能的实现部分。任何可重用的软件组件都必须有特征说明(主要是描述组件的类型信息)和规则说明(主要是描述组件的动态行为),分别用来描述可重用组件的静态特征和动态语义。另外,在描述可重用组件的信息中还应该包括组件的对外接口信息。同时为大量开发MES的组件组件、建立可重用组件库做准备,必须制定好MES组件的开发规范。COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/202013/64(2)组件库的建立为使MES开发人员能够对MES用户的需求做出快速响应,创建满足用户要求的组件,有必要开发可重用MES组件库管理平台。组件库管理平台主要用来储存和管理可复用的组件,提供的主要功能包括储存、增加、删除、修改、检索和统计等。此外,为了便于管理员和用户考察组件的复用情况,还应该提供组件复用记录和用户意见反馈功能。COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/202014/64(3)组件组装组件的组装也是组件复用中一个非常关键的步骤。因为基于组件的开发、通过组件组装得到最终的应用系统,其稳定性、可靠性等方面,磨合是否出漏洞,直接关系到应用系统能否正常运行。在进行组件组装时可以采用编写不同的胶合元件、剪裁、包装等组装策略。COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/202015/64以排产和调度为例:根据生产详细排产和调度活动特征,把它分解定义为多个组件,设置在组件库中,用户可以根据自己的生产模式和业务流程选用对应的排产和调度组件进行组装,来构成企业MES系统中所需的排产和调度功能模块。当生产模式或业务流程发生变化时,只需修改原组件的对象属性、事件、方法或重新定义新的组件来进行组装,构成企业生产模式或业务流程发生变更后的排产和调度功能模块。通过这种方式,即满足了用户的不同需求,又简化了生产计划排产和调度建立过程。基于组件化的MES系统,通过组件可复用或重新定义、组件库的建立和组装,能够建立适应不同行业多种生产模式和业务流程的MES系统,它具有良好的柔性和可适应性。COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/202016/64组件模型标准组件模型用于描述组件及其装配关系,没有标准的组件模型,就没有真正的即插即用组件。目前业界存在三种主流的组件模型标准,都是要解决分布环境下组件的集成和互操作问题:COM系列(ComponentObjectModel):COM/DCOM/COM+EJB(EnterpriseJavaBean)CORBA组件模型(CCM—CORBAComponentModel)COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/202017/64COM系列:Microsoft的COM组件对象模型系列,即COM/DCOM/COM+,是关于对象交互作用的一个二进制标准,强调多个接口的类型而不强调继承,因此在互操作及功能扩展方面更为灵活;但其弱点是跨平台性能太差,只局限于Windows平台。EJB:EJB是由Sun公司推出的,是开发和配置基于组件的分布式商务应用的组件结构。EJB提供了远程访问、安全、事务等多种分布式对象计算的服务。这些应用程序只需编写一次,即可在支持EJB规范的任何服务器平台上配置。目前支持EJB标准的J2EE平台在实践中获得广泛的应用。CCM:OMG于1991年末提出的CORBA(CommonObjectRequestBrokerArchitecture)规范,是对象管理体系结构(OMA)参考模型的实现方案之一。CORBA2.x之前的CORBA标准,本质上仍然是分布式对象标准,直到CORBA3.0提出CORBA组件模型(CORBAComponentModel,CMM),才诞生了真正意义的组件标准。CCM出现较晚,但它能够博取众家之长,汲取了EJB模型(容器管理、HOME管理)及DCOM/COM+组件模型(多接口)的优点,被称之为未来组件模型的典范。COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/202018/64三种组件模型标准比较CCMvsEJB:CCM具有语言无关性,而EJB仅限于Java语言;CCM提供的功能部件及规范较EJB更完备,CMM组件模型的开放性较EJB好;但CCM的支撑平台的成熟性比EJB差。CCMvsCOM:CCM的优势在于它的平台无关性,而COM系列局限于WINDOWS平台。以CCM规范为基础开发的服务器端组件框架,具有良好的可移植性和重用性。但是由于CCM是一种组件模型规范,必须首先有开发商开发才能使用,况且CCM技术规范出炉不久,其支撑平台后劲不足。COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/202019/64不同标准的组件间的集成组件技术发展的趋势是朝着集成化的方向发展的。无论是OMG组织还是Sun公司,都希望在技术上能够相互融合。实际上,在CCM中也定义了对EJB规范的支持,使得CORBA和EJB之间可以很好地集成。利用EJB技术较成熟、且有产品支持的特点,开发人员可以选择EJB作为其服务端规范,同时保留CORBA客户端的语言和平台无关性。CORBA和EJB的集成有两种方案:桥接技术和基于IIOP的远程方法调用(RMI)。COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/202020/64基于组件开发MES的优点可配置性可重用性可扩展性可集成性COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/202021/64(1)可配置性基于组件的MES软件,是在MES领域框架的基础上,通过装配通用组件和领域组件所形成的软件系统。各个组件之间通过接口进行交互,避免了采用传统软件开发方式开发的紧密耦合系统所具有的难以部署与配置的缺点。基于组件的MES在用户需求发生变化、需要进行局部调整的时候,可以只改变其中的某个或某些组件,而不必修改整个软件系统。因此,基于组件的MES软件具有良好的可配置性。COPYRIGHT©HUSTMES技术及其应用·华中科技大学机械学院4/4/202022/64(2)可重用性不同企业在规模、管理模式、经营策略等方面会存在差异,因此对MES的功能需求也有所不同,若软件不进行修改,整体复用的可能性比较小。而传统的软件开发模式开发出的软件是紧耦合的,难以复用其中的部分功能,当需求发生变化时,必须重新进行需求分析、功能分解、设计和开发,造成软件系统可复用性差。而基于组件的MES可以实现多种级别的复用,包括代码级、二进制级、领域分析、设计和测试等级别的复用。这种多层次和多级别的软件组件复用,可以极大的提高MES的软件开发效率,缩短开发周期,降低开