Type System¶
Consystence organises equipment definitions into a four-level hierarchy: type → instance → library → marketplace.
Hierarchy¶
graph TD
MP[Marketplace] -->|contains| LIB[Libraries]
LIB -->|contains| TYPE[Device Types]
TYPE -->|instantiated as| INST[Device Instances]
INST -->|deployed to| SITE[Site / Process] | Level | Description | File Extension |
|---|---|---|
| Device Type | Reusable template for a class of equipment | .cstype |
| Device Instance | Configured type bound to a real PLC address | .csinst |
| Library | Package of related types (e.g. "Pumps") | .cspkg |
| Marketplace | Registry for discovering and installing libraries | — |
| Site Export | Full site configuration snapshot | .cssite |
Device type file structure¶
A device type is a directory with a standard layout:
consystence.pump.centrifugal/
├── manifest.yaml # Type metadata, tags, states, AI context
├── components/
│ ├── faceplate.yaml # Operator faceplate layout
│ ├── symbol.svg # ISA 5.1 process symbol
│ └── detail.yaml # Detailed view layout
├── alarms/
│ └── alarms.yaml # Alarm definitions
├── commands/
│ └── commands.yaml # Command definitions
├── docs/
│ └── README.md # Type documentation
└── plc/
├── udt.L5X # Rockwell UDT export (optional)
└── aoi.L5X # Rockwell AOI export (optional)
Library package format¶
A library (.cspkg) is a ZIP archive containing multiple device types and a library manifest:
consystence-pumps-1.2.0.cspkg
├── library.yaml # Library metadata, dependencies
├── consystence.pump.centrifugal/ # Device type directory
├── consystence.pump.submersible/ # Device type directory
└── consystence.pump.positivedisp/ # Device type directory
The library.yaml declares the library name, version, publisher, and any dependencies on other libraries.
Demo types — pump station¶
The built-in demo pump station includes these types:
| Type ID | Equipment | Tags | Alarms |
|---|---|---|---|
consystence.pump.centrifugal | Centrifugal pump with VSD | 12 | 6 |
consystence.valve.motorised | Motorised gate valve | 6 | 3 |
consystence.instrument.level | Level transmitter | 4 | 4 |
consystence.instrument.flow | Flow transmitter | 4 | 3 |
consystence.instrument.pressure | Pressure transmitter | 4 | 3 |
consystence.tank.storage | Storage tank with level | 5 | 4 |
Equipment scope¶
Consystence targets the full coal value chain. The type system covers these process areas:
| Process Area | Example Equipment |
|---|---|
| Longwall | Shearer, AFC, BSL, shields, monorail |
| Development | Continuous miner, shuttle car, bolter |
| Conveyor | Belt conveyor, tripper, stacker, reclaimer |
| Coal Handling | Crusher (jaw, cone, impact), screen, feeder, bin |
| Washery / CHPP | Dense medium cyclone, flotation cell, centrifuge, thickener |
| Water Management | Pump station, dam, pipeline, treatment plant |
| Ventilation | Main fan, auxiliary fan, regulator, gas monitoring |
| Power | Switchroom, transformer, VSD, MCC |
| Dust & Gas | Dust suppression, gas drainage, monitoring station |
| Surface Infrastructure | Bathhouse, workshop, fuel bay, weighbridge |
| Rail & Logistics | Train loadout, rail loop, stockpile management |
| Port / Ship Loading | Ship loader, stacker-reclaimer, conveyor network |
Deftec's production PLC libraries (112 UDTs, 57 AOIs) provide the tag schemas and control logic for these equipment types. The Consystence device type system wraps these PLC definitions with UI, alarms, commands, and AI context.