Download OOUAMiddleware ProductionCell Demo

The ProductionCell demo illustrates the runtime model architecture of OOUAMiddleware in a fully operational environment.
It demonstrates dynamic NodeSet loading, runtime interpretation, embedded LUA execution, alarm configuration and historian services.

What This Demo Demonstrates

Runtime Model Walkthrough (NodeSet-first)

ProductionCell Demo – Runtime Model Walkthrough LineMiddleware only • Operative simulation in LUA • Alarms + Historian driven by NodeSet NodeSet Types OpenOpcUa_ProductionCellDemo.Types.xml Types, DataTypes, Methods, A&C definitions \Demo_OpenOpcUa\LineMiddleware\Project NodeSet Instances OpenOpcUa_ProductionCellDemo.Instances.xml ProductionCell objects, variables, method instances \Demo_OpenOpcUa\LineMiddleware\Project Project Configuration LineMiddleware.oouaprj NodeSet list, endpoints, historian settings \Demo_OpenOpcUa\LineMiddleware\Project Embedded LUA OpenOpcUaCoreServer.lua Simulation (multi-rate) + method implementation \Demo_OpenOpcUa\LineMiddleware\Project InjectFault implemented in LUA LineMiddleware Runtime OOUAMiddleware Core – Runtime NodeSet Interpreter • Dynamic loading (Types + Instances) • Runtime AddressSpace construction • Method binding and execution • Alarm evaluation + Event generation \Demo_OpenOpcUa\LineMiddleware OPC UA Client UAExpert / any client Browse • Read • Call InjectFault A&C Engine Declarative alarm config Events generated automatically VFI Historian Virtual File Interface Daily CSV output ..\LineMiddleware\Project\Data No LUA needed for HA Logs \Demo_OpenOpcUa\LineMiddleware\Logs Startup + runtime diagnostics Demo scope: LineMiddleware only (no PlantMiddleware, no VPI) – operative behavior simulated in LUA for clarity and repeatability.

How the ProductionCell Demo builds an operational AddressSpace from NodeSet Types + Instances and drives alarms + historian at runtime.

  • Runtime NodeSet Types & Instances loading
  • Dynamic AddressSpace construction
  • Method execution via LUA (InjectFault)
  • Declarative alarm configuration
  • OPC UA event generation
  • Daily CSV historian via VFI
  • Middleware layering (Line → Plant)

Video Demonstration

Download form

    Download package

    Package Contents

    ProductionCell Demo Package – Contents Folder layout used by the demo Root folder \Demo_OpenOpcUa\LineMiddleware\ Binaries \Demo_OpenOpcUa\LineMiddleware\(runtime executables) Project \Demo_OpenOpcUa\LineMiddleware\Project\ LineMiddleware.oouaprj Project configuration OpenOpcUa_ProductionCellDemo.Types.xml Type model OpenOpcUa_ProductionCellDemo.Instances.xml Instance model OpenOpcUaCoreServer.lua LUA simulation + InjectFault Opc.Ua.NodeSet2.*.xml Standard OPC UA NodeSets Logs \Demo_OpenOpcUa\LineMiddleware\Logs\ CSV historian output (VFI) ..\LineMiddleware\Project\Data\YYYY-MM-DD.csv PKI / Certificate Store C:\Samples\Demo_OpenOpcUa\LineMiddleware\Project\CertificateStore\ Windows LineMiddleware NodeSet-first

    Folder layout used by the demo: binaries, project configuration, NodeSets, LUA script, logs, CSV historian output, certificate store

    • Windows runtime package
    • ProductionCell NodeSet Types
    • ProductionCell NodeSet Instances
    • LUA script
    • .oouaprj configuration
    • CSV historian output
    • PDF quick start

    Run in 5 Minutes

    Embedded LUA Simulation (InjectFault & fixed-rate tasks)

    ProductionCell LUA Simulation – Flow Diagram Fixed-rate tasks (200 ms, 500 ms, 1 s) + on-demand actions using GetUAValue / SetUAValue (AttributeId.Value = 13) LUA Scheduler (Runtime) Calls FixedRateLua_* functions at configured periods 200 ms task 500 ms task 1 s task FixedRateLua_00200 Compute Speed = smooth(target(sin(t))) Write Conveyor.Speed FixedRateLua_00500 Gate by MachineState (Running=1) Update cycleProgress → increment TotalProduced FixedRateLua_01000 Thermal model driven by Speed If EStopActive=1 → cool down faster Write MotorTemperature (clamped) UA Read/Write GetUAValue(nodeId, 13) SetUAValue(nodeId, value) UA Read/Write Read MachineState Update TotalProduced UA Read/Write Read Speed / EStopActive Write MotorTemperature Target Nodes Speed → ns=4;s=…Conveyor.Speed MotorTemp → ns=4;s=…MotorTemperature TotalProduced→ ns=4;s=…KPIs.TotalProduced Optional Nodes (if present) MachineState → ns=4;s=…MachineState EStopActive → ns=4;s=…Alarms.EStopActive Used to gate production & cooling On-demand: OnDemandLua_InjectEStop() / OnDemandLua_ClearEStop() → write EStopActive This diagram is generated from OpenOpcUaCoreServer.lua (ProductionCell demo).

    LUA scheduler calls fixed-rate tasks (200 ms, 500 ms, 1 s) and performs UA Read/Write operations to simulate behavior and trigger runtime effects.

    • Extract package
    • Launch LineMiddleware
    • Connect with UAExpert
    • Browse ProductionCell
    • Call InjectFault(2)

    Explore the Runtime Model in Action

    This demo is the practical illustration of the Runtime Model Architecture described in the documentation.