{
 "namespace": "urn:carbopress:twin",
 "endpoint": "opc.tcp://127.0.0.1:4841/carbopress/",
 "nodes": [
  {
   "path": "SimTime",
   "type": "float",
   "writable": false,
   "descr": "clock di simulazione [min] — i timer contano su questo"
  },
  {
   "path": "PressCell01/Sensors/PartPresent",
   "type": "bool",
   "writable": false,
   "descr": "pezzo presente sullo stampo"
  },
  {
   "path": "PressCell01/Sensors/PressOpen",
   "type": "bool",
   "writable": false,
   "descr": "finecorsa: pressa completamente aperta"
  },
  {
   "path": "PressCell01/Sensors/PressClosed",
   "type": "bool",
   "writable": false,
   "descr": "finecorsa: pressa completamente chiusa"
  },
  {
   "path": "PressCell01/Sensors/PlatenPos",
   "type": "float",
   "writable": false,
   "descr": "posizione piano 0=aperta..1=chiusa (telemetria)"
  },
  {
   "path": "PressCell01/Sensors/MouldTemp",
   "type": "float",
   "writable": false,
   "descr": "temperatura stampo [C] (proxy cura)"
  },
  {
   "path": "PressCell01/Actuators/CloseCmd",
   "type": "bool",
   "writable": true,
   "descr": "comando chiusura pressa"
  },
  {
   "path": "PressCell01/Actuators/OpenCmd",
   "type": "bool",
   "writable": true,
   "descr": "comando apertura pressa"
  },
  {
   "path": "PressCell01/Actuators/EjectCmd",
   "type": "bool",
   "writable": true,
   "descr": "comando espulsione pezzo"
  },
  {
   "path": "PressCell01/Actuators/HeaterOn",
   "type": "bool",
   "writable": true,
   "descr": "riscaldatore stampo"
  },
  {
   "path": "PressCell01/Control/Phase",
   "type": "str",
   "writable": true,
   "descr": "fase del controllore (per HMI/ingestione)"
  },
  {
   "path": "PressCell01/Control/CycleCount",
   "type": "int",
   "writable": true,
   "descr": "cicli buoni completati"
  },
  {
   "path": "PressCell01/Control/Alarm",
   "type": "bool",
   "writable": true,
   "descr": "allarme attivo"
  },
  {
   "path": "PressCell01/Control/AlarmMsg",
   "type": "str",
   "writable": true,
   "descr": "descrizione allarme"
  },
  {
   "path": "PressCell01/Control/ResetCmd",
   "type": "bool",
   "writable": true,
   "descr": "reset allarme (da HMI/operatore)"
  },
  {
   "path": "PressCell01/Test/DropPart",
   "type": "bool",
   "writable": true,
   "descr": "FAULT INJECTION: rimuove il pezzo (solo virtuale)"
  }
 ]
}
