原文《灯塔工厂&熄灯工厂&智能制造项目设计方案》WORD格式,主要从灯塔工厂的逻辑架构、灯塔工厂的微服务架构、基于docker容器部署架构、灯塔工厂物理架构、数字化基础中间件、智能业务中间件、 Robot应用管理、AGV调度应用、CNC管理系统、3D 可视化等进行建设。本文仅对主要内容进行介绍。

来源网络公开渠道,旨在交流学习,如有侵权联系速删,更多参考公众号:优享智库

自动化线可视化系统基于工业互联网平台解决方案,提供3D场景,可视化监控面板及数字孪生等功能,并支持电脑端、电视看板端、平板端以及手机端浏览器显示和使用。主要为机台管理和产能管理,机台管理包括设备状态监控,故障报警,机台稼动率,OEE,实时参数,产能管理包括 数字孪生,品质追溯,生产产能,生产效率,生产良率。通过机台管理和产能管理,提高产线的生产效率和生产质量,及时响应设备异常报警。

一、逻辑架构图

二、微服务架构

本信息化项目是个复杂的软件体系,面向客户痛点,提供了丰富的向客户场景提供不同的功能,但同时在某些业务场景下又需要联动,同时有很多可复用的功能,比如设备管理。针对本信息化项目这种特点,业界当前有一个广泛采用的实现--微服务架构。

微服务框架核心功能:

1. 服务注册&服务发现:服务注册发现包括三个角色:服务提供者、服务调用者和服务注册中心。服务提供者和服务调用者将地址信息注册到服务注册中心,并从服务注册中心获取所有注册服务的实例列表,服务调用者使用服务提供者的实例地址进行调用。

2. 服务调用:实现服务消费者对服务提供者的一次访问,包括了发送请求、编解码、以及响应请求等步骤

3. 服务路由:服务路由包含一条路由规则,路由规则决定了服务消费者的调用目标,即规定了服务消费者可调用哪些服务提供者。

4. 负载均衡:负载均衡,它的职责是将网络请求,或者其他形式的负载“均摊”到不同的机器上。避免集群中部分服务器压力过大,而另一些服务器比较空闲的情况。通过负载均衡,可以让每台服务器获取到适合自己处理能力的负载。在为高负载服务器分流的同时,还可以避免资源浪费,一举两得。

5. 服务降级:服务压力剧增的时候根据当前的业务情况及流量对一些服务和页面有策略的降级,以此缓解服务器的压力,以保证核心任务的进行。同时保证部分甚至大部分任务客户能得到正确的响应。也就是当前的请求处理不了了或者出错了,给一个默认的返回。

6. 熔断容错:熔断机制是应对雪崩效应的一种微服务链路保护机制。我们在各种场景下都会接触到熔断这两个字。高压电路中,如果某个地方的电压过高,熔断器就会熔断,对电路进行保护。同样,在微服务架构中,熔断机制也是起着类似的作用。当扇出链路的某个微服务不可用或者响应时间太长时,会进行服务的降级,进而熔断该节点微服务的调用,快速返回错误的响应信息。当检测到该节点微服务调用响应正常后,恢复调用链路。

7. 服务鉴权:对微服务调用进行鉴权,避免非法访问,提高系统安全性

通过微服务架构,本信息化项目具备了如下关键能力:

1. CNC、AGV等可以根据各自业务需求,实现方便的实现互相的访问和联动,面向不同的客户场景,可以提供最有针对性的解决方案。

2. 系统高可用性,都是多实例部署,避免了单点故障。同时,微服务框架提供了服务降级/熔断容错等提高系统可用性的技术。

3. 系统性能可水平扩展,都是无状态设计,可以通过部署更多实例提供系统处理能力。

从工业物联网设备采集到的数据一般具有如下特点:

1. 数据量大,一般单表记录数在10亿级,总存储需求在T级以上。

2. 大多是时间序列数据。

针对这些特点,我们选用MongoDB存储从设备采集的数据。MongoDB是一个文档型NoSQL数据库,具有高度的可伸缩性和灵活性:

1. MongoDB 将数据存储在类似于JSON的文档中,字段可以随文档的不同而不同,特别适合于存储工业设备上报格式多变的数据。

2. MongoDB是分布式数据库,支持高可用,可以水平扩展支持海量数据存储。

3. 最像关系型数据库的NoSQL:范围查询、排序、聚合查询、二级索引、视图、分布式事务、通配符索引、物化视图

4. 时间序列数据支持:聚合管道、 map-reduce函数

MongoDB提供了3种部署架构:

单节点架构:

1. 有单点故障丢失数据的风险

2. 适合非核心数据的存储

副本集架构图:

1. 1主多从,主从数据同步

2. 从主写入,主从可以读

3. 主故障,会从剩下主中选举新主

分片集群架构图

1. Mongos节点,负责将查询和写操作路由到分片集群实例的对应分片中。

2. Shard节点,三节点的副本集架构,负责存储数据库数据。

3. ConfigServer节点,用于存储集群和分片的元数据,三节点的副本集架构

我们将根据客户的实际的业务需求,灵活选择部署架构,适应不同的业务需求。

三、基于docker容器部署架构

本信息化项目基于业界主流的Docker开源技术进行业务部署,Docker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及AUFS类的Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。

Docker在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等,极大的简化了容器的创建和维护。

传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此使得Docker技术比虚拟机技术更为轻便、快捷。

作为一种新兴的虚拟化方式,Docker跟虚拟机相比具有众多的优势。

1. 更高效的利用系统资源

由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。

2. 更快速的启动时间

传统的虚拟机技术启动应用服务往往需要数分钟,而Docker容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。

3. 一致的运行环境

开发过程中一个常见的问题是环境一致性问题。由于开发环境、测试环境、生产环境不一致,导致有些bug并未在开发过程中被发现。而Docker的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性。

四、 数字化基础中间件

运维监控是一系列管理产品的统称,它所包含的产品功能强大、易于使用、解决方案齐全,可一站式满足用户的各种IT管理需求。

越来越多的客户都在考虑或采纳业务集中的方案。然而业务系统集中后,不仅增加运行维护的工作强度,而且会使集中的系统变得更加繁杂。有效的系统和应用监控体系成为了解业务资源的使用状况,及时发现可能导致系统故障的隐患,实现系统运营保障的关键。

另一方面,借助于集中监控解决方案,用户能够正确和及时地了解系统的运行状态,发现影响整体系统运行的瓶颈,帮助系统人员进行必要的系统优化和配置变更,甚至为系统的升级和扩容提供依据。强有力的监控和诊断工具还可以帮助运行维护人员快速地分析出应用故障原因,把他们从繁杂重复的劳动中解放出来。

维护人员快速地分析出应用故障原因,把他们从繁杂重复的劳动中解放出来。因此,很多客户的 IT 部门提出建立集中 IT 管理系统的需求,监控的内容包括网络、服务器、数据库、中间件和应用。通过集中监控系统及时发现系统中的故障,减少故障处理时间。

监控是整个运维乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供详实的数据用于追查定位问题。

例如在Robot应用管理中,通过大屏监控可以实现列表式呈现场域Robot建议保养时间,提前通知工程师进行检修及运维,提高车间生产产能通过单台设备的PHM管理、定位偏移及运行距离的定量分析,给出保养时间和建议,避免过度保养和保养不足,提高设备稼动率,减少设备带病工作几率。智能预测Robot(各轴、电池、减速机、马达等关键部位)使用寿命,提前诊断、分析及排除可能导致机台异常的原因,减少人力维修成本。

五、智能业务中间件

面向服务的体系结构,是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。工作流引擎使得构建在各种各样的系统中的服务,可以以一种统一和通用的方式进行交互。

工作流引擎包括流程的节点管理、流向管理、流程样例管理等重要功能。可以设成流程图。本系统采用Activiti作为原型,其核心是BPMN 2.0的流程引擎,进行定制化开发。

Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准。

Activiti是一种轻量级,可嵌入的BPM引擎,而且还设计适用于可扩展的架构。 Activiti将提供宽松的Apache许可2.0,同时促进Activiti BPM引擎和BPMN 2.0的匹配。

六、 Robot应用管理

通过实时采集的设备数据,获取设备的状态,事件,运行参数等关键信息,设备状态及时呈现3D生产看板中。

功能描述:

1. 通过实时监控总览页面,呈现机台实时状态

2. 机台告警及时反馈到页面中

3. 选择具体的设备,可查看具体机台的机台编码、机台状态、状态计时、UPH/主轴转速/加工数/主轴负荷/稼动率/主轴温度、机台当日时间线/时间分布

4. 设备监控:通过对设备联网并采集数据,实现设备实时监控,状态监测,优化设备管理模式,设备信息一目了然。

5. 产能广告牌:从工段、工站、线体、线别四个维度统计产能,实时呈现产线生产状态、产能数据,实现透明化管理,产能数据能快速汇总、呈现,及时解决产能不达标的问题。

6. 智能调机:通过机器视觉等手段判断,对产品做到自适应拾取等,自动编写调试程序、自动储存、自动调用,增加产线柔性。

7. 甘特图分析:对整线设备运行状态进行实时呈现,可快速实现异常信息除错,快速定位瓶颈工站,找到流水线节拍的优化方向。

七、 AGV调度应用

AGV 智能中控采用B/S架构。 应用模块通过微服务形式部署在应用服务器的容器中。 数据接口通过虚拟机的方式部署在数据服务器中, 并采用主备方式保证高可用。

应用各功能模块可以根据用户定制分别部署和运行, 不互相影响。 应用和数据分离, 即使应用中断也不会丢失数据。

应用和数据之间的流式数据采用Redis内存访问, 保证实时性。 数据访问接口采用Restful API方式。 方便二次开发。 和其他系统的对接也经过数据中台的数据接口统一接入。

和各品牌的AGV调度和控制接口采用socket通讯方式。 频率为每秒一次。

八、 CNC管理系统

通过机台连接和数据采集实时获取机台的状态、事件、运行参数及生产指标等关键信息,监控车间设备实时工作状态,快速反馈机台报警。

左侧菜单栏中一级菜单栏【机台管理】,二级菜单栏【机台实时监控】,跳转至机台实时监控总览页面,包含机台状态看板、平均稼动率、楼层产线layout图、机台告警信息看板。

九、3D 可视化

数字孪生是将真实世界的人和物以及运行轨迹,利用物理模型、传感器采集运行数据,进行数字化后,经过数据分析,聚合等操作,在虚拟世界完成映射,从而反映出产品生产现状,同时随着时间的变化,真实世界的持续不断的变化,虚拟世界不断同步更新,反映出最新的现状,比如机台生产磨损情况。

将数字孪生应用于生产流程则能够产生功能强大的应用程序。数字孪生可呈现物理世界中某一生产流程的模型,及其在数字世界中的数字化镜像。数字孪生是对工厂环境中实际情况的准实时虚拟复制。实际生产流程中部署了数以千计的传感器,共同收集各个不同层面的数据,包括生产机械的行为特征、半成品(厚度、颜色质地、硬度、转矩、速度等)以及工厂内部的环境状况等。该等数据不断传输至数字孪生应用程序,并由该程序完成数据聚合。

Logo

宁波官方开源宣传和活动阵地,欢迎各位和我们共建开源生态体系!

更多推荐