How jku-isse/factory-in-a-box works
FIAB is a factory-in-a-box shop-floor control system: a process is configured and deployed, planned across available machines, executed by machine and transport actors, and monitored through order and machine status/history. The tree and README document these product capabilities; sampled source confirms order-to-machine mapping publishes order events and the capability tool reads capability files and sends OPC UA method calls. Other subsystem wiring is inferred only at the level supported by names and documentation; the excerpts do not establish detailed call paths.
Main entry points: CapabilityManagerActor.java Capability manager · opcua OPC UA wrappers · CapabilityManagerClient.java Capability OPC UA client · OrderEventBus.java Order event bus
Components 23
Orders and planning
- MES startup
MES/FIAB/src/main/java/fiab/mes/ShopfloorStartup.java - Order planner
MES/FIAB/src/main/java/fiab/mes/planer/actor/OrderPlanningActor.java - Machine-order mapping
MES/FIAB/src/main/java/fiab/mes/planer/actor/MachineOrderMappingManager.java - Order actors
MES/FIAB/src/main/java/fiab/mes/order/actor - Order event bus
MES/FIAB/src/main/java/fiab/mes/eventbus/OrderEventBus.java - History tracker
MES/FIAB/src/main/java/fiab/mes/general/HistoryTracker.java
Machine integration
- Machine discovery
MES/FIAB/src/main/java/fiab/mes/opcua/CapabilityDiscoveryActor.java - OPC UA wrappers
MES/FIAB/src/main/java/fiab/mes/opcua - Transport coordination
MES/FIAB/src/main/java/fiab/mes/transport/actor/transportsystem/TransportSystemCoordinatorActor.java - Machine actors
MES/FIAB/src/main/java/fiab/mes/machine/actor
Shop-floor equipment
- Turntable runtime
FIABturntable/src/main/java/fiab/turntable - Plotter runtime
FIABvirtualplotter/src/main/java/fiab/machine/plotter - I/O station runtime
FIABiostation/src/main/java/fiab/machine/iostation - PLC functional units
MES/plc/javafunctionalunit/src/main/java/functionalUnits
Operator interfaces
- REST endpoints
MES/FIAB/src/main/java/fiab/mes/restendpoint - Shop-floor dashboard
MES/akkashopfloordemo/shopfloor-angular-frontend/shopfloorfrontend/src/app
Capability configuration
- Capability manager app
FIABvirtualplotter/src/main/java/fiab/capabilityTool/CapabilityManagerApplication.java - Capability manager
FIABvirtualplotter/src/main/java/fiab/capabilityTool/tool/CapabilityManagerActor.java - Capability OPC UA client
FIABvirtualplotter/src/main/java/fiab/capabilityTool/opcua/CapabilityManagerClient.java
Other components
- Operator
- Process editor
- Physical machines
- OPC UA services
Connections 21
- Operator → Process editor: configures process
- Process editor → Order actors: deploys order
- Operator → Shop-floor dashboard: views progress
- Shop-floor dashboard → REST endpoints: requests status
- MES startup → Order planner: starts shop floor
- Order planner → Machine-order mapping: assigns machines
- Machine-order mapping → Order event bus: publishes order events
- Order actors → Order event bus: publishes order events
- History tracker → Order event bus: tracks events
- Machine discovery → OPC UA wrappers: discovers capabilities
- Transport coordination → Machine actors: coordinates transport
- Machine actors → OPC UA wrappers: uses OPC UA
- OPC UA wrappers → Physical machines: communicates with
- Physical machines → Turntable runtime: runs turntable
- Physical machines → Plotter runtime: runs plotting
- Physical machines → I/O station runtime: runs I/O stations
- Physical machines → PLC functional units: runs functional units
- Capability manager app → Capability manager: starts manager
- Capability manager → Capability OPC UA client: creates clients
- Capability OPC UA client → OPC UA services: calls capability method
- Capability manager → Capability OPC UA client: sends capability value