使用WSO2 ESB构建制造服务总线(MSB)

在开始讨论本主题之前,我想介绍一些制造业中常用的术语。

术语制造执行系统(MES)由AMR Research于1990年提出,从先进的制造计算机信息系统的发展,MES概念已经发展了近三十年。 以下是制造执行系统协会(MESA)对MES的定义。

制造执行系统(MES)提供的信息可以优化从订单发布到成品的生产活动。 MES使用当前准确的数据来指导,启动,响应并报告工厂活动。 由此产生的对不断变化的条件的快速响应,加上对减少非增值活动的关注,推动了有效的工厂运营和流程。 MES改善了运营资产的回报率以及准时交货,库存周转率,毛利率和现金流绩效。 MES通过双向通信提供有关整个企业和供应链中生产活动的关键任务信息。

MES在运行时必须与多个异构系统对话。 下面列出了一些。

  1. 产品生命周期管理(PLM)
  2. 企业资源计划(ERP)
  3. 客户关系管理(CRM)
  4. 人力资源管理(HRM)
  5. 流程开发执行系统(PDES)
  6. 监督控制和数据采集(SCADA)
  7. 可编程逻辑控制器(PLC)
  8. 集散控制系统(DCS)
  9. 批处理自动化系统

让我们看一下信息如何在MES和其他连接的系统之间流动。

  • 从MES到PLM :生产测试结果
  • 从PLM到MES :产品定义,操作清单(路线),电子工作说明,设备设置
  • 从MES到ERP :生产绩效结果,生产和消耗的物料
  • 从ERP到MES :生产计划,订单要求
  • 从MES到CRM :产品跟踪和追踪信息
  • 从CRM到MES :产品投诉
  • 从MES到HRM :人员绩效
  • 从HRM到MES :人员技能,人员可用性
  • 从MES到PDES :生产测试和执行结果
  • 从PDES到MES :制造流程定义

我没有在流程中提到所有系统。 原因是,上述系统属于由ISA-95标准定义的称为Level-4系统的类别。

ISA-95通常被称为国际标准,它是在企业和控制系统之间开发自动化接口的国际标准。 该标准是为全球制造商开发的。 它被开发用于所有行业和各种过程,例如批处理过程,连续和重复过程。

在ISA-95标准中已定义了一种通用的数据定义B2MML(企业对制造标记语言) ,以将MES系统链接到这些4级系统。

B2MML标准定义了用于交换ISA-95信息的格式,并定义了用于交换的特定方法(XML文档)。 B2MML是使ISA-95标准可实施的原因。 该架构可从www.mesa.org免费获得。

因此,所有的Level-4系统和MES应该都了解B2MML。

其他系统,例如SCADA,PLC,DCS和批处理自动化系统,都属于ISA-95 2级系统。

  • 从MES到PLC :工作说明,配方,设定点
  • 从PLC到MES :过程值,警报,调整的设定点,生产结果

大多数MES系统都将连接性作为其产品的一部分。 通过连接到可编程逻辑控制器(PLC)建立工厂车间设备数据的直接通信。 通常,首先要收集和诊断车间数据,以便在分布式控制系统(DCS)或监督控制和数据采集(SCADA)系统中进行实时控制。 在这种情况下,MES系统连接到这些2级系统以交换车间数据。

工厂车间连接的行业标准是过程控制(OPC)的OLE。

制造执行系统(MES)提供了工厂人员有效管理从订单发布到成品生产的制造过程所需的信息。
负责管理工厂的MES层位于管理业务的ERP之下。

ERP和MES有许多共同的信息要求。 一个示例是原材料库存数据。 ERP需要了解当前的原材料水平,以进行库存评估和进行高级计划。 MES需要知道当前的原材料库存水平,以便可以在正确的时间将正确的原材料发送到正确的工作中心。 差异与所需信息的粒度有关。 对于ERP,了解每种原材料的总现有库存就足够了–它可以使用此数据来计算库存的当前值,并计划将来的物料分配到生产中。 但是,对于MES,这种详细程度是不够的。

为了优化库存使用,MES需要知道库存的每个子批次,数量,位置和当前状态。 良好实施的ERP-MES集成具有显着的业务优势:精益的业务流程可以无缝地跨ERP-MES边界流动; 数据同步,使工厂始终根据当前规格生产产品,而ERP可以始终根据车间的最新准确信息进行计划。

让我们在图表中总结上面讨论的所有内容。

屏幕截图2013年7月27日下午6.55.33

我们已经讨论了如何使用B2MML将第4层系统与MES连接。 现在,让我们专注于OPC,看看如何使用它来将MES与2层系统连接。

用于过程控制的OLE(OPC)代表过程控制的对象链接和嵌入(OLE),是工业自动化行业工作组于1996年制定的标准规范的原始名称。
该标准规定了不同制造商的控制设备之间的实时工厂数据通信

后来,OPC基金会正式将其首字母缩写重新命名为“ Open Platform Communications”。

名称的更改反映了OPC技术在过程控制,离散制造,楼宇自动化以及许多其他应用中的应用。 OPC还超越了其最初的OLE(对象链接和嵌入)实现,包括其他数据传输技术,包括XML,Microsoft的.NET Framework甚至OPC Foundation的二进制编码TCP格式。

用于一个硬件设备的OPC服务器为该OPC客户端提供了与该设备以及任何其他硬件设备上的任何其他OPC服务器相同的方法来访问其数据。 目的是减少硬件制造商及其软件合作伙伴以及SCADA和其他HMI生产商为使两者相互连接所需的重复工作。

一旦硬件制造商为新的硬件设备开发了OPC服务器,便完成了工作以允许任何“高端”访问其设备,而SCADA生产商开发了他们的OPC客户端后便完成了其工作以允许访问任何硬件。 ,与OPC兼容的服务器已存在或尚未创建。

OPC服务器为许多不同的软件包(只要是OPC客户端)提供了一种从过程控制设备(例如PLC或DCS)访问数据的方法。 传统上,每当需要从设备,自定义界面或驱动程序访问数据包时,都必须编写该包。 OPC的目的是定义一个通用接口,该接口只需编写一次,然后可由任何业务,SCADA,HMI或自定义软件包重新使用。

在2004年1月,OPC基金会责成一个工作组创建一个新的体系结构,该体系结构将把OPC推向技术的最前沿,并提供一个在未来10年及以后可行的互操作性框架。 结果就是OPC-UA。

OPC UA支持两种协议。 只有通过更改URL,这对应用程序程序员才可见。 二进制协议为opc.tcp:// Server,而http:// Server为Web Service。 否则,OPC UA对API完全透明。

二进制协议提供最佳的性能/最低开销,占用最少的资源(不需要XML解析器,SOAP和HTTP,这对于嵌入式设备很重要),提供最佳的互操作性(显式指定了二进制文件,并且在实现过程中允许较少的自由度)和使用单个任意选择的TCP端口进行通信,以简化隧道传输或通过防火墙轻松启用。

Web服务(SOAP)协议最好由可用的工具(例如,JAVA或.Net环境)提供支持,并且使用标准的http / https端口对防火墙友好。

可以在此处找到用于SOAP绑定的WSDL。

到目前为止,我们所讨论的只是背景。 制造流程/过程中制造服务总线(MSB)的用途是什么? 现在让我们集中讨论。

屏幕截图2013年7月28日上午12.23.12

在这里,ESB / MSB充当第2层和第4层系统之间MES的连接层。 如果我们采用典型的制造流程,则MSB将执行MES提供的说明。 MES将具有有关所需配方,PLC的路线或执行顺序以及物料信息的信息。

屏幕截图2013年7月28日上午12.23.12

从MSB每次调用PLC后,它收到的响应数据将被传递回MES。 这些存储的数据可由第4层ERP CRM系统使用。

到目前为止,MES和ERP之间的以下信息流(我们一开始就提到过)将更加有意义。

  • 从MES到ERP :生产绩效结果,生产和消耗的物料
  • 从ERP到MES :生产计划,订单要求

在生产系统中,MSB的作用不仅仅是将请求路由到PLC或第2层系统。 MSB还负责...

  1. 处理和恢复故障。
  2. 处理交易。
  3. 在高负载下执行。
  4. 多个PLC之间的负载平衡。
  5. 从PLC收集操作统计信息。

参考:在Facile Login博客上,由我们的JCG合作伙伴 Prabath Siriwardena 使用WSO2 ESB构建制造服务总线(MSB) 。

翻译自: https://www.javacodegeeks.com/2013/07/building-a-manufacturing-service-bus-msb-with-wso2-esb.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367176.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql jion 实现原理_MySQL-join的实现原理、优化及NLJ算法

案例分析:selectc.*fromhotel_info_original cleft joinhotel_info_collection honc.hotel_typeh.hotel_typeandc.hotel_idh.hotel_idwhereh.hotel_idis null这个sql是用来查询出 c 表中有 h 表中无的记录,所以想到了用 left join 的特性(返回左边全部记…

python笔记30-docstring注释添加变量

前言 python里面添加字符串注释非常简单,如何将变量放入 python 的函数注释里面呢? docstring也就是给代码加注释的内容了,python可以给函数,类、方法,模块添加注释内容,注释标准格式一般是三个双引号&…

无线路由器在手机上如何连接服务器,192.168.10.1路由器手机怎么设置? | 192路由网...

问:192.168.10.1路由器手机怎么设置?答:192.168.10.1是一个C类的私有IP地址,目前国产的路由器中,睿因路由器使用192.168.10.1作为默认登录地址。鉴于此,下面鸿哥使用睿因路由器来进行演示介绍。温馨提示&am…

Java Mission Control 5.2终于来了! 欢迎7u40!

自从我们上次听说这个叫做任务控制的小东西已经有一段时间了。 它从JRockit一直到现在都被重命名为Java Mission Control。 这是从HotSpot和JRockit融合战略中幸存下来的部分之一。 使用今天的Java SE 7 Update 40,您实际上可以再次使用它。 Java Mission Control …

webview布局适配实践

一、相关概念 1、viewport:移动设备(包括webview)用来显示网页的那一块区域; 2、devicePixelRatio属性(别名像素比,简称dpr):window.devicePixelRatio 物理像素 / 独立像素(css中的px); 3、rem…

尝试连接到服务器时出错请检查虚拟机管理器,Hyper-V尝试连接到服务器出错无效类的解决方法...

Hyper-V尝试连接到服务器出错无效类的解决方法Windows10安装Hyper-V后没有自动连接到本地计算机,手工连接失败,提示:引用内容尝试连接到服务器"DESKTOP-6P9L2HB"时出错。请检查虚拟机管理服务是否正在运行以及是否授权你连接到此服…

你敢在post和get上刁难我,就别怪我装逼了

> 掘金编辑提醒:本文疑似有误,参考 听说「99% 的人都理解错了 HTTP 中 GET 与 POST 的区别」 之前好几次面试都被问到post和get有什么区别,肯定很多同学和我一样说了一大堆什么post比get安全,get比post传的少乱起八糟这样的答案…

昂首阔步:让开发人员喜欢使用您的REST API

随着JAX-RS API的发展,以及今年早些时候在JSR-339下发布的2.0版本,使用出色的Java平台创建REST服务变得更加容易。 但是,极大的简化带来了巨大的责任:记录所有这些API,以便其他开发人员可以快速了解如何使用它们。 不…

thinkphp mysql 更新_THINKPHP5修改数据库数据出现“缺少更新条件”的错误

查询数据库的数据分配显示在页面山修改后的数据准备传递到第三章图里接收数据,然后修改到数据问题出现的环境背景及自己尝试过哪些方法相关代码// 请把代码文本粘贴到下方(请勿用图片代替代码)第一张图代码public function edit(){$db_01new DB();$id_editRequest::…

[No0000187]可能是把Java内存区域讲的最清楚的一篇文章

写在前面(常见面试题) 基本问题: 介绍下 Java 内存区域(运行时数据区)Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么)对象的访问定位的两种方式&#xff…

Java语言基础及java核心

一、Java语言特点 1、 简单 2、 面向对象 3、 分布式 4、 健壮 5、 安全 6、 中性架构跨平台 7、 超强的可移植性 8、 高性能 9、 多线程 二、java的环境变量 JAVA_HOMEC:\Program Files\Java\jdk1.8.0_101 (到你的安装目录下) CLASSPASH./ &#xff0…

移动端日期选择插件rolldate

rolldate为上一版jquery移动端时间插件的全新版本,目前保留了上一版的大部分功能,并且增加了回调函数,以及主题风格选取,最重要的是解决了上一版本的遗留问题,依赖jquery、滑动不够流畅、参数设计不够合理等等。开发日…

服务器如何查看gpu型号,linux 查看服务器gpu

linux 查看服务器gpu 内容精选换一换本节操作介绍通过华为云APP连接Linux实例的操作步骤。云服务器状态为“运行中”。已获取Linux云服务器用户名和密码,忘记密码请参考在控制台重置云耀云服务器密码重置密码。云耀云服务器已经绑定弹性公网IP。所在安全组入方向已开…

echarts vue 柱状图实例_VUE中使用Echarts绘制柱状图

在main.js中引入echartsimport echarts from ‘echarts‘Vue.prototype.$echarts echarts在相应的vue中导入echartsimport echarts from ‘echarts‘;实现柱状图显示mounted: function () {// 基于准备好的dom,初始化echarts实例let myChart echarts.init(documen…

从计算机体系结构方面思考深度学习

今年 1 月,谷歌人工智能负责人 Jeff Dean(当时还是谷歌大脑负责人)与 2017 年图灵奖得主、体系结构巨擘 David Patterson(当时获奖结果尚未公布)联合发表了题为《计算机体系结构黄金时代:赋能机器学习革命》…

使用Apollo通过WebSocket通过STOMP轻松进行消息传递

在我以前的文章中,我介绍了几个有趣的用例,这些用例使用著名的消息代理HornetQ和ActiveMQ通过Websockects实现STOMP消息传递。 但是我没有介绍的是Apollo,因为我个人认为它的API是冗长的,并且不像Java开发人员那样表现力强。 尽管…

h5渲染性能一瞥

内容来源:2018 年 6 月 30 日,饿了么前端主管向勇在“饿了么技术沙龙・第27弹 【前端专场】”进行《h5渲染性能一瞥》演讲分享。IT 大咖说(微信id:itdakashuo)作为独家视频合作方,经主办方和讲者审阅授权发…

爬虫系列之requests

爬取百度内容: 1 import requests2 url "https://www.baidu.com"3 4 if __name__ __main__:5 try:6 kv {user-agent: Mozilla/5.0}7 r requests.get(url, headerskv)8 r.raise_for_status() #返回状态值,如果…

如何使用JSON和Servlet创建JQuery DataTable

在本文中,我将介绍使用简单servlet传递的JSON创建JQuery DataTable所需的基本编码。 DataTable是基于JQuery的非常强大的网格,具有高级功能,可以使用自定义功能在短时间内构建。 安装 下载最新的JQuery DataTable下载 上面的下载将提供两个…

页面重绘 回流及其优化

在讨论页面重绘、回流之前。需要对页面的呈现流程有些了解,页面是怎么把html结合css等显示到浏览器上的, 下面的流程图显示了浏览器对页面的呈现的处理流程。可能不同的浏览器略微会有些不同。但基本上都是类似的。 1. 浏览器把获取到的HTML代码解析成1…