MES
Contents
Industry Standards
See an example of an advanced robotic system:
Manufacturing Execution System: Meta Scope
- Largely for product assembly operations
- Starts with website
- Anaconda - software - is Python code for version management
- Inputs come in, they are processed, quality controlled, scanned.
- Scope is origin to customer
- Use open source MES software as a start
- OSE Value Addition - simplicity, modularity, flexibility; not much that can be replicated from industry standards.
MES SDS
(MES Software Design Specification)
This describes the functions of a MES for an adaptive manufacturing plant. This plants assembly stations may reconfigure or be able to make outputs in more than a single form. For example, the process areas of this plant are 3D printers, CNC mills, plasma cutters, metal benders and a variety of other "adaptive" assembly machines.
A MES:
- Receives orders of products and defines the process to make them.
- So this means it takes a product file (described below) and defines the flow of parts for that product between machines retroactively, giving human operators or machines instructions along the way.
- Executes processes to make parts in a manner to most efficiently use the plants machines and energy to make the maximum number of parts in a given time.
- Inspects the quality of parts
- reclaims or recycles failures.
Features and Scope
As A user I want a manufacturing system that can automatically schedule work for all my autonomous machines and guide personal or machines to preform the assembly and logistical work associated with a factory. I want this system to be able to act directly after an order is received and entered into the system. I want it to account for my customers, inventory and all product produced. I want it to track a product though the assembly process. I want it to serialize produced goods and match that serialization back to jobs preformed by machines upon that good.
Order tracking of MES orders
Tracking of MES Parts as they are assembled or synthesized
- per MES Assembly Instructions on their way into a final product they will be assembled into.
- Much of this is part of the MES Total Asset Life Cycle Inventory Management system
MES Serialization
- of parts and products when being made from MES orders
Plan work on all MES orders
- based on MES Assembly Instructions and MES Parts associated with a product
MES Total Asset Life Cycle Inventory Management
- qty and where all MES parts are, and where all MES machines are. Where MES products and MES Parts are in inventory. Holds the tracking status of MES Stock Orders of parts to arrive.
- Also keeps track of what customer has what product.
- This system is responsible for inventorying and accounting the location of received MES raw material stock.
- The "where" is comprised of MES location Zones that contain the list of serialized products and inventory within a cubed location zone (two oppisate corners defining a 3D cube) defined in meters at a north south offset from a latitude longitude.
- Where has a historical component from manufacturing to shipping. This is line tracking. This includes while each part is made, what machines or entity (a person) at what times it touched. Could also include who/what loaded a machine or who executed an assym. function in the context of a manual plant. The final product data holds what part serial numbers comprise it.
Project Schedule
Critical path
https://docs.google.com/drawings/d/1PiSe7SQwFdPlHPsVjq8jof58Wj5Bmih5DrzHebpu72U/edit?usp=sharing
Daily goals
5/1/2019
Get Schema straightend out today. Start up D3D, get fillament extruding. maybe do calibration cube?
5/2/2019
Keep on D3D if not done. I want a print this week. start building website. Get host for website to build it :D (Start with WIX for now?)
5/3/2019
Build SQL tables
5/4/2019
Keep buliding SQL
5/5/2019 - 5/10/2019
start writing core dispatch service python script start writing production manager python script. test with database
5/11/2019 to 5/20/2019
considering SQL and prod manager to be done, start integrating this with Octoprint. I want to be able to tell a computer to remotely execute Gcode programatically.
Proposed Software modules to realize scope
Flow-charting and planning: https://drive.google.com/open?id=1nbcKawBKlytV8pOt1KDGsfpVsShDCZLS
Part description language
Need a language that is easily human readable and compatable with SQl. So far, gellish? XML more easily recognized. https://en.m.wikipedia.org/wiki/Gellish=Asset
Prototypes of this code: https://drive.google.com/file/d/1q7CqHrbHv4NpeFXT8vej_UZRJEs4gGo8/view?usp=sharing
CORE supervisory control of all other processes based on ERP (order received)
This daemon kicks off other processes and decides what to do next. MES Core Dispatch
Idea generation
- Keeps track of where products are. other processes can query this and speak it's language.
- Maintains data collection sensors such as barcode readers, cameras, RFID, ECT.
- or, just simply could take in human input in the form of inventory lists or manual entry.
- Maintains data collection sensors such as barcode readers, cameras, RFID, ECT.
- Keeps track of product in the form of
- zones
- a zone is two x,y,z coordinates defining a oppisate diagional corners of a cube. Or just some space that lives Somewhere... usually in Industry we do some cube or polygon that's certain corner is some offset from some GPS coordinate.
- zones have containers
- containers hold products or parts.
- A container can be something being shipped from anouther factory or business entity (an Amazon or McMaster order if you will)
- Machine dispatch process
Selects available machines to preform assembly instructions from the MES. Detects input of parts (with help from asset management) and receives assembly instructions from the MES to process the parts into a new part of parts.
Example
EX1 - So, in the example of a 3D printed toothbrush, it would look for a printer with the correct fillament loaded, or would order someone / something to change or load the correct fillament and items to that printer. it might order different PARTS to be loaded to the printer such as a different printhead or nozzel. When done, it would send the assym instructions (printer gcode) to that machines process controler (the ramps)
Notes on this
Could grab lots of these features from octoprint? ??
Products, Parts and Assembly instructions
- A product consists of parts and is realized though assembly instructions.
- A product is a part
- A tool is considered a part
- A tool is not integrated into end products.
- A tool has charateristics
- a tool charateristic is usable life and how much it has used of that
- a whole bunch of other stuff im sure...
- A tool is not integrated into end products.
- A part can consist of other parts
- A part can have Assembly instructions.
- Assembly instructions define how parts combine to make other parts or products, and what type of assembler will act on the inputted parts.
- Assembly instructions can have several formats - Gcode for machines and also maybe a PDF for a person to follow.
- Assembly instructions may specify the state of a machine, that would be specific to the machine and process controler. for example, an instuction for a 3d printer might specify what nozzle size it is supposed to use.
- Assembly instructions can be batch or continuous, which is more applicable to chemical products.
- Assembly instructions define how parts combine to make other parts or products, and what type of assembler will act on the inputted parts.
- A part has characteristics
- A characteristic of a part is a picture depicting it in every relevant view.
- A characteristic of a part part is physical features.
- Physical features have tolerances
- Physical features can have inspection instructions
- Inspection instructions list what machine does the inspection, and how to do it. maybe those instructions are both digital and human readable.
- Inspection instructions output Metrology information that is consumed by the MES. Pass or fail decisions can be made on a part based on this.
YouTube Videos
Open Source Manufacturing Execution System
OSE Developer - Jon Takacs Work Plan Meeting