One concept that is gaining use in manufacturing is the idea of the Unified Namespace (UNS). Below are several videos that cover this topic and some ideas extracted from these videos. Some of this is my extrapolation, not necessarily direct quotes from the presenters. (Disclaimer: I’m NOT a manufacturing expert – I’m only trying to learn useful concepts that may apply to the IIOT space). The manufacturing 4.0 people are doing impressive work. They are using new technologies (including OSS) where it makes sense. Manufacturing leads other industries in adopting process and useful information technology. There are probably several reasons for this – results are easier to measure, and its required or you soon die as manufacturing is the primary cost for most companies that produce physical products. The development and IT budgets are smaller so it’s easier to hide waste there. There are efforts to bring process learning from manufacturing to IT.
A UNS is single source of truth of all your data and events that represents the structure of your business. The goal is to have all data for the business transparently available to people/processes who have authority to see that data. Open access to information is required for efficiency and scale. This takes many forms. One example is Google’s single code repo which most in the company have access to.
A UNS can include multiple components including a message broker (typically MQTT in manufacturing), databases, and various manufacturing software packages such as Ignition, Libre, etc. For example, check out the OSS stack Libre uses.
Many use the OSA95 Part 2 model: Enterprise, Site, Area, Line, Cell
A UNS is more than a message broker.
MQTT is popular in manufacturing, but can’t support all the needs of a UNS such as request/response. Sparkplug (a standard on MQTT) is good for SCADA and device discoverability, but is not good for transactional data and its fixed topic namespace is not flexible enough for some situations. Additionally, the data payload is not granular enough for cases where you only need on piece of the data – for example power usage of all devices in a facility. All the other data is extraneous for that process. Libre is using GraphQL to solve this problem.
Transactions are an important parts of a UNS – order entry, manufacturing flow through plant, etc.
The first video provides an an actual UNS example used in a real project:
- [Enterprise] (folder)
- Dallas (folder)
- Press (folder)
- press 1 (line) (folder)
- Edge (folder) (OPC data, kepware, inbound from edge)
- Dashboard (UDT)
- used to build dashboards in Ignition
- LINE (UDT) (OEE)
- MQTT (UDT)
- abstracted data
- lifetime counters
- status regs
- shop floor
- spec
- press 1 (line) (folder)
- Lamination
- Press (folder)
- Dallas (folder)
We’ve run into some of the same challenges in IOT projects which has driven the architecture of Simple IoT. The “UNS” in SIOT is a directed acylic graph (DAG) where every node has a UUID. The graph is used to find nodes, but the API uses a node UUID, not the graph path.