【愚公系列】2023年10月 智能制造理论篇-MES系统的数据建模

2024-01-22 01:40

本文主要是介绍【愚公系列】2023年10月 智能制造理论篇-MES系统的数据建模,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。
🏆《近期荣誉》:2022年CSDN博客之星TOP2,2022年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏

文章目录

  • 🚀前言
  • 🚀一、MES系统的数据建模
    • 🔎1.面向关联的分类数据单元模型
      • 🦋1.1 基础数据单元
      • 🦋1.2 订单数据单元
      • 🦋1.3 工艺数据单元
      • 🦋1.4 执行监控数据单元
      • 🦋1.5 质检数据单元
      • 🦋1.6 资源器具数据单元
    • 🔎2.复杂制造执行过程数据关联约束模型
      • 🦋2.1 全局数据约束
      • 🦋2.2 纵向数据约束
      • 🦋2.3 横向数据约束
  • 🚀感谢:给读者的一封信


🚀前言

数据模型的建立是指通过对业务实体、属性、关系等进行分析和抽象,构建出适合于特定应用场景的数据结构,以描述和管理数据的组织方式和规则。其目的是为了提高数据的可靠性、可维护性和可扩展性,同时能够更好地支持业务需求的实现。常用的数据模型包括层次模型、网络模型、关系模型、面向对象模型等。数据模型建立的过程中需要考虑多方面的因素,如数据的规模、复杂度、可用性、安全性等,同时要考虑到应用的需求和业务的变化,以确保数据模型能够满足长期稳定的业务需求。

🚀一、MES系统的数据建模

🔎1.面向关联的分类数据单元模型

针对制造执行过程数据种类繁多的特点,我们可以通过对数据进行分类处理,以建立清晰的数据结构模型。整个制造执行过程可以分析为包含多个数据实体,无论是业务环节还是这些环节中涉及的资源,都可以进行分类。基于这一发现,我们可以按照面向对象的原则构建制造执行过程中的各个元素对象,并在这些元素对象的基础上轻松实现制造执行数据的单元划分。

在全过程的分析中,制造执行涉及的元素对象包括人员、设备、订单、工艺、物料、工装模具等,我们可以将它们构建成数据实体,并进一步将这些数据实体归类,组成数据单元。这种方式有助于理清数据之间的关系,为建立清晰的数据结构模型提供了基础。

在这里插入图片描述

🦋1.1 基础数据单元

这包括在制造执行系统中必须提前维护的数据,供制造执行过程中引用。基础数据单元涵盖人员、设备、工种、工序(工作中心)、班组等信息。工序(工作中心)用于进一步分类管理设备,而班组用于更精细地分类管理人员。

🦋1.2 订单数据单元

订单是制造执行的核心,具有一定的组织结构,如"型号-批次-工号-订单"。订单可以根据生产需求分为执行批次,为了控制生产进度,调度人员需要编制订单调度计划,包括分配设备、工人,指定生产周期和开始时间。

🦋1.3 工艺数据单元

包含所有生产所需的工艺相关信息,包括结构化的工艺路线、详细的工艺文件、工序工时、检验标准以及订单生产准备信息。结构化的工艺路线是执行监控的基础,也是制定调度计划的依据。订单生产准备信息包括面向订单工序的物料、模具、工装等准备信息。

🦋1.4 执行监控数据单元

这是制造执行过程中最关键的数据单元,其中包括订单执行进度数据、物流周转数据、工票数据、随批单数据以及执行小批次数据。这些数据反映了车间生产现场的实时情况,对车间计划人员了解制造执行情况至关重要。工票和随批单是重要的制造执行过程表单,数据会不断流转和更新。执行小批次是针对制造执行过程的任务单元,用于记录制造执行的详细过程,特别适用于流水与离散混合生产模式的物料周转控制。

🦋1.5 质检数据单元

包含与质量检验相关的数据,包括自检、互检、专检流程所产生的数据,以及专检过程中的质检小批次数据。这些数据记录了质量检验的详细过程,对于确保产品质量至关重要。

🦋1.6 资源器具数据单元

除设备外,这包括制造资源,其管理程度可以根据车间需求进行精细化管理。如果需要精细化控制,可以完善资源器具数据单元中的数据,否则,数据的缺失不会影响其他数据单元。

通过清晰的数据分类和结构化,我们可以更好地管理和利用制造执行数据,确保生产过程的高效性和质量控制。

🔎2.复杂制造执行过程数据关联约束模型

制造执行数据不仅种类繁多,数据与数据之间的关系也错综复杂。通过对制造执行过程中数据实体的分析建立了分类数据单元,数据单元之间由于复杂的引用关系形成一个完整的数据网络。根据数据单元模型及其引用关系得出的完整制造执行数据关联的约束模型如图所示。
在这里插入图片描述
在分析制造执行数据关联约束模型时,我们可以发现数据单元之间存在关联约束,同时数据单元内部的数据实体之间也存在关联约束。这些数据单元组合在一起构成了完整的制造执行数据集,并在数据集内部存在约束控制。此外,从制造过程的全局控制角度来看,制造执行系统为了更方便地控制制造执行过程中的变量,通过全局配置的方式向数据集输入配置变量,以实现全局控制的目标。具体的约束分类如下:

🦋2.1 全局数据约束

全局数据约束是为了更方便地控制制造执行过程,通过系统配置的方式向制造执行数据集输入控制变量,以实现全局角度的制造执行过程控制。这些系统配置包括制造执行业务流程环节的配置和人员角色权限的配置等。通过全局系统配置,制造执行系统可以在不需要重新开发的情况下适应业务需求的变化,实现快速响应。全局约束是一种单向约束,只能从系统向数据集发出,而数据集不会对系统配置产生影响。

🦋2.2 纵向数据约束

纵向数据约束是由于数据单元之间的数据引用关联而产生的约束关系。由于一个数据单元可以引用多个数据单元的数据,因此纵向约束在约束范围上存在一对多的关联,即一个下游数据单元与多个上游数据单元之间存在约束。同时,多个数据单元也可以引用一个数据单元的数据,因此在约束范围上也存在多对一的关系,即多个下游数据单元与一个上游数据单元之间存在约束。纵向约束是一种双向约束,只要下游数据单元与上游数据单元存在约束关系,下游数据单元的数据变化会引起上游数据单元的数据变化,反之亦然。

🦋2.3 横向数据约束

横向数据约束是同一个数据单元内部的数据实体之间由于数据引用关联而产生的约束关系。一个数据实体可以引用多个数据实体的数据,因此在横向约束范围上存在一对多的关系,即一个下游数据实体与多个上游数据实体之间存在约束。同时,多个数据实体也可以引用一个数据实体的数据,因此横向约束在约束范围上也存在多对一的关系,即多个下游数据实体与一个上游数据实体之间存在约束。横向约束是一种反向约束,只要下游数据实体与上游数据实体之间存在约束关系,下游数据实体的数据变化会引起上游数据实体的数据变化,反之亦然。


🚀感谢:给读者的一封信

亲爱的读者,

我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。

如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。

我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。

如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。

在这里插入图片描述

再次感谢您的阅读和支持!

最诚挚的问候, “愚公搬代码”

这篇关于【愚公系列】2023年10月 智能制造理论篇-MES系统的数据建模的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/631477

相关文章

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

Rust 智能指针的使用详解

《Rust智能指针的使用详解》Rust智能指针是内存管理核心工具,本文就来详细的介绍一下Rust智能指针(Box、Rc、RefCell、Arc、Mutex、RwLock、Weak)的原理与使用场景,... 目录一、www.chinasem.cnRust 智能指针详解1、Box<T>:堆内存分配2、Rc<T>:

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建