- Print
How to Use the Common Data Model for Discrete Use Cases
A breakdown of tables from the Common Data Model, used in the Composable MES for discrete.
Before implementing this data model, read How to Use a Common Data Model to understand the basics of structuring tables.
Tulip's Common Data Model considers multiple industries that have different data requirements. For discrete manufacturing, use the tables listed below as your starting data schema.
The diagram below illustrates how the tables work together. Each connection represents a relationship.
Solid connections use the same fields to share data.
These tables are used in the Composable MES App Suite, available in the Tulip Library.
You should adjust the names of the tables to suit your operations as needed, as long as they align with the table's description.
These tables are a standardized starting point that you can extend further. Make sure to adapt this data model to serve your operations by renaming tables, adding tables, or editing necessary fields.
Physical Artifact Tables
Equipment and Assets
Reusable equipment or devices, not part of the Bill of Materials, but may be required for procedures and may require calibration.
Label | Field Type | Description |
---|---|---|
ID | Text | * Required: unique identifier |
Name | Text | The name of the asset, device, or equipment |
Description | Text | A short description of the asset, device, or equipment |
Status | Text | The status or current condition of the asset, device, or equipment |
Location | Text | The current physical location of the asset, device, or equipment (e.g. station ID, location ID, or any arbitrary indication of location such as cell or unit) |
Type | Text | The type of asset, device, or equipment |
Last Calibration | Datetime | The last date that aperiodic review for acceptance was completed |
Calibration Cadence (sec) | Interval | The duration between scheduled maintenance activity or periodic review for acceptance |
Inventory Items
Holds inventory by location and item.
Label | Field Type | Description |
---|---|---|
ID | Text | * Required: unique identifier |
Material Definition ID | Text | Unique identifier for the material |
Material Definition Type | Text | Type of material of the inventory item |
Status | Text | The current state of the inventory item |
Location ID | Text | Current physical location of the inventory (e.g. station ID, location ID, or any arbitrary indication of location such as cell or unit) |
Location Area | Text | Further subdivision of locations by area, which allows for grouping or filtering by area or zone |
Quantity | Number | The quantity of the inventory record |
Unit of Measure | Text | the unit of measure related to the quantity |
Locations
Physical locations on the production floor. They can be associated with light kit locations for pick-to-light.
Label | Field Type | Description |
---|---|---|
ID | Text | * Required: unique identifier |
Location Area | Text | A grouping of locations or the next level of location hierarchy (e.g. station ID, a location ID, or any other specified marker of a location) |
BIN Number | Integer | A value associated with the current location |
Light Kit Number | Integer | A value associated with the Tulip light kit |
Type | Text | A categorization of locations for filtering or sorting by type |
Status | Text | The current status or condition of the location |
Stations
Shows all stations on the shop floor.
Label | Field Type | Description |
---|---|---|
ID | Text | * Required: unique identifier |
Status | Text | The current station status (e.g. Running, Down, Idle, Paused) |
Status Color | Color | Color of the current station status |
Status Detail | Text | Information about the station (e.g. reason downtime) |
Process Cell | Text | The process cell that is part of the station |
Operator | User | The operator currently working at the station |
Work Order ID | Text | Unique identifier for the work order currently in progress at the station |
Material Definition ID | Text | Unique identifier for the material used in the work order in progress |
Units
Used to store unique physical lots, serial numbers, and batches.
Label | Field Type | Description |
---|---|---|
ID | Text | * Required: unique identifier |
Material Definition ID | Text | Unique identifier of the material of the unit |
Material Definition Type | Text | The type of material of the unit |
Status | Text | The current state of the unit (e.g., In Progress, Available, Unavailable) |
Location | Text | The physical location on the shopfloor or in inventory (e.g. station ID, location ID, |
Quantity | Number | Quantity of the Unit |
Unit of Measure | Text | The standard unit used to quantify the unit (e.g., kg, mg, liters) |
Work Order ID | Text | Unique identifier of the work order |
Completed Date | Datetime | The time the unit was completed |
Produced by | User | The operator who completed the unit |
Parent Unit ID | Text | Unique identifier of the parent unit |
Operational Artifact Tables
Actions
Holds events that require follow up.
Label | Field Type | Description |
---|---|---|
ID | Text | * Required: unique identifier |
Material Definition ID | Text | Unique identifier of the material definition |
Title | Text | Short description to identify the nature of the action |
Location | Text | Physical place the action is in reference to or is acted upon |
Severity | Text | Impact of the defect on the process (e.g. Critical, High, Medium, Low) |
Status | Text | Current status of the action (e.g. Now, In progress, Closed) |
Work Order ID | Text | Unique identifier of the work order the action is related to |
Unit ID | Text | Unique identifier of the related unit |
Comments | Text | Further description or notes related to the action |
Photo | Image | Related image |
Reported By | User | The user who created the issue |
Owner | User | The user responsible for carrying out the action |
Type | Text | Category of actions for filtering or analysis |
Actions Taken | Text | If closed, description of actions taken |
Due Date | Datetime | Date the action must be completed |
Defects
Tracking of defect. Each line is a unique defect related to single material or observance of deviation. Lines can have multiple quantity.
Label | Field Type | Description |
---|---|---|
ID | Text | * Required: unique identifier |
Material Definition ID | Text | Unique identifier of the material definition |
Reason | Text | Support routing to correct owner, swift resolution, and root cause analysis |
Location | Text | The physical place where the defect was detected (e.g. station ID, location ID, any arbitrary indication of a location such as area, cell, unit) |
Severity | Text | Impact of the defect on the process (e.g. Critical, High, Medium, Low) |
Status | Text | Current status of the defect (e.g. New, In Review, Closed) |
Work Order ID | Text | Unique identifier of the Work Order the defect is related to |
Unit ID | Text | Unique identifier of the related material unit |
Comments | Text | Further description or notes related to the defect |
Photo | Image | Image of the defect |
Quantity | Number | Quantity of the defective materials |
Reported By | User | User who logs the defect/event |
Disposition | Text | Action taken to resolve the defect |
Disposition Assignee | User | User who has been assigned the action or lead the next steps with the defect investigation (e.g. supervisor, quality representative) |
Dispositioned Date | Datetime | Date that the disposition starts |
Closed | Datetime | Date that the defect was resolved and closed |
Material ID | Text | Unique identifier of the defective material |
Inspection Results
Stores the results of procedure steps with relation to the material being inspected. These are pass/fail results or measurements taken during a process step that requires an input from the user.
Label | Field Type | Description |
---|---|---|
ID | Text | * Required: unique identifier |
Work Order ID | Text | Unique identifier for the work order |
Unit ID | Text | Unique identifier for the physical unit |
Material Definition ID | Text | Unique identifier of the material definition |
Type | Text | Further categorization or classification of the type of result |
Status | Text | Current status of the inspection demand (e.g. New, In Progress, Closed) |
Procedure | Text | Procedure ID for inspection |
Location | Text | Location where the inspection was executed |
Photo | Image | Image of the result |
Passed | Boolean | True/false value for whether the inspection passed |
Operator | User | Operator who executed the inspection |
Text Value | Text | Text value captured |
Measured | Number | Measured actual value |
Target | Number | Measured target value |
LSL | Number | The lower specification limit when the measurement was performed |
USL | Number | The upper specification limit when the measurement was performed |
Kanban Cards
Stores information for Kanban cards.
Label | Field Type | Description |
---|---|---|
ID | Text | * Required: unique identifier |
Part Number | Text | Unique identifier of the part |
Status | Text | Current status (e.g. New, In Progress, Closed) |
Consuming Location | Text | The physical location of the consumed part |
Supplier | Text | Name of the part supplier |
Quantity | Number | Quantity of required parts |
Lead Time | Interval | The time expected from empty to replenish |
Part Description | Text | Physical description of the part required |
Status Color | Color | Color to indicate status of the request |
Image | Image | Photo of the part |
Active | Boolean | True/false value for whether the kanban is active |
Material Requests
Holds material replenishment requests for specific items between departments.
Label | Field Type | Description |
---|---|---|
ID | Text | * Required: unique identifier |
Material Definition ID | Text | Unique identifier of the material definition |
Requesting Location | Text | Physical location that requested the replenishment |
Supplier Location | Text | Physical location that will replenish the material |
Kanban Card ID | Text | Unique identifier of the kanban card definition |
Quantity | Number | Quantity of materials to be replenished |
Status | Text | Current status of the request (e.g. New, In Progress, Closed) |
Status Color | Color | Color to indicate status of the request |
Requester | User | User who initiated the material request |
Assignee | User | User who received the material request |
Requested | Datetime | Date the material was requested |
Started | Datetime | Date the material request started |
Completed | Datetime | Date the material request was fulfilled |
Bin | Text | Bin requesting location where the material should be delivered |
Completed By | User | User who provided the material to fulfill the replenishment request |
Ready for pick time | Datetime | Date that the material is ready to be picked |
Delivered by | User | User who delivered the material to the requesting location |
Work Orders
The production requirements of your operation. These are generated from orders and represent a demand of specific materials to be produced in order to fulfill the order.
Label | Field Type | Description |
---|---|---|
ID | Text | * Required: unique identifier |
Operator | User | User who completed the work order |
Parent Order ID | Text | Unique identifier of the parent work order |
Material Definition ID | Text | Unique identifier of the material definition |
Status | Text | Current status of the work order (e.g. Released, Kitted, In Progress, Completed, Consumed, Delivered) |
Location | Text | Physical place where the work order exists (e.g. station ID, location ID, arbitrary indication of a location) |
Quantity Required | Number | Quantity of parts that need to be produced |
Quantity Complete | Number | Actual quantity produced |
Quantity Scrap | Number | Quantity of units that were scrapped associated with the work order |
Due Date | Datetime | Date that the work order is due |
Start Date | Datetime | Date that the work order was started |
Complete Date | Datetime | Date that the work order was completed |
Customer ID | Text | Unique identifier of the company or entity the work order is being fulfilled to |
Secondary (Advanced) Table Types
The following secondary table types do not fit within a Digital Twin model and should only be considered by advanced users. You should only include Reference or Log tables once you've gone through the Solution Design process and exhausted all other options. These tables should never serve as the foundation for an app solution.
Logs
Logs are a secondary table type within the Tulip Common Data Model, as they do not fit within a Digital Twin model and should only be considered by advanced users. You should only include Log tables once you've gone through the Solution Design process and exhausted all other options. Log tables should NEVER serve as the foundation for an app solution.
Genealogy Records
Each record is a parent/child relationship. The child could be either a serialized or unserialized subassembly or individual part.
Label | Field Type | Description |
---|---|---|
ID | Text | * Required: unique identifier |
Parent Unit ID | Text | Unique identifier of the parent unit (e.g. serial number) |
Parent Material Definition ID | Text | Unique identifier of the part number for parent assembly |
Parent Description | Text | Description of the parent assembly |
Component Unit ID | Text | Unique identifier of a component in the parent assembly (e.g. Material Lot Number) |
Component Material Definition ID | Text | Unique identifier of the component |
Component Description | Text | Description of the component |
Component Quantity | Number | Quantity of the components |
Component UoM | Text | Unit of measurement of the component |
Work Order ID | Text | Unique identifier of the related work order |
Notes and Comments
Users can store notes that are attached to work orders, shifts, or other process artifacts.
Label | Field Type | Description |
---|---|---|
ID | Text | * Required: unique identifier |
Reference ID | Text | Unique identifier of the work order, shift, or other process artifact for reference |
Location | Text | Location where the note was taken (station ID, location ID, any arbitrary indication of a location such as area, cell, unit) |
Notes | Text | Field tracking the user's note or comment |
Sender | User | User who sent the note |
Updated By | User | User who wrote the comment |
Recipient | User | User who recieved the notes |
Notes Photo | Image | Photo of the notes |
Station Activity History
Stores a historical record of production output and status by station, grouped by hour. Similar in function and purpose to the machine activity table.
Label | Field Type | Description |
---|---|---|
ID | Text | * Required: unique identifier |
Station ID | Text | Unique identifer of the station related to the record |
Status | Text | Current status of the station (e.g. Running, Down, Idle) |
Start Date/Time | Datetime | Date and time that the station activity log started |
End Date/Time | Datetime | Date and time that the station activity log ended |
Duration | Interval | Duration of the record |
Material Definition ID | Text | Unique identifier of the material produced during station activity |
Target Quantity | Number | Quantity of the material expected to be produced for the duration |
Actual Quantity | Number | Quantity of the material actually produced for the duration |
Defects | Number | Quantity of the defective material captured for the duration |
Downtime Reason | Text | Downtime collected during the station activity |
Comments | Text | Field tracking the user's notes of comments |
Work Order ID | Text | Unique identifier of the work order associated |
Unit ID | Text | Unique identifier of the unit associated |
References
References are a secondary table type within the Tulip Common Data Model, as they do not fit within a Digital Twin model and should only be considered by advanced users. You should only include Reference tables once you've gone through the Solution Design process and exhausted all other options. Reference tables should NEVER serve as the foundation for an app solution.
Bill-of-Materials
This table is typically used in lieu of integration with a system of record that could pass this data in real time. This table holds a bill of material and procedures for a given product of parent item. It can be used to display required component items and quantities broken down by process step.
Label | Field Type | Description |
---|---|---|
ID | Text | * Required: unique identifier |
Parent Material Definition ID | Text | Unique identifier of the material definition of the parent assembly |
Parent Material Description | Text | Description of the parent material |
Component Material Definition ID | Text | Unique identifier of the material definition of the component to be assembled or consumed |
Component Material Description | Text | Description of the material to be assembled or consumed |
Component Quantity | Number | Quantity of the material to assemble or consume |
Conponent UoM | Text | Unit of measure of the component |
Point of Use | Text | Location, operation, or step where the material will be assembled or consumed |
Materials Definitions
Definitions of all items made, purchased, or assembled. This describes items and their specific properties.
Label | Field Type | Description |
---|---|---|
ID | Text | * Required: unique identifier |
Name | Text | Name of the material definition |
Type | Text | Categorization of materials (e.g. Raw vs Intermediate, Final vs Make, vs Buy) |
Description | Text | Description of the material |
Image | Image | Image of the material |
Status | Text | Current status of the material (e.g. New, Ready, Blocked, Obsolete) |
Unit of Measure | Text | Unit of measure of the material |
Version/Revision | Text | The number of letter representing the version/revision of the part |
Vendor ID | Text | Unique identifier of the supplier of the material |
Target Cycle Time | Interval | Target amount of time to complete one unit |