Files
scadalink-design/infra/opcua/nodes.json
Joseph Doherty 652378b470 Add test infrastructure with Docker services, CLI tools, and resolve Phase 0 questions
Stand up local dev infrastructure (OPC UA, LDAP, MS SQL) with Docker Compose,
Python CLI tools for service interaction, and teardown script. Fix GLAuth config
mount, OPC PLC node format, and document actual DN/namespace behavior discovered
during testing. Resolve Q1-Q8,Q10: .NET 10, Akka.NET 1.5.x, monorepo with slnx,
appsettings JWT, Windows Server 2022 site target.
2026-03-16 14:03:12 -04:00

139 lines
3.7 KiB
JSON

{
"Folder": "ScadaLink",
"NodeList": [],
"FolderList": [
{
"Folder": "Motor",
"NodeList": [
{
"NodeId": "Motor.Speed",
"Name": "Speed",
"DataType": "Double",
"ValueRank": -1,
"AccessLevel": "CurrentReadOrWrite",
"Description": "Motor speed in RPM"
},
{
"NodeId": "Motor.Temperature",
"Name": "Temperature",
"DataType": "Double",
"ValueRank": -1,
"AccessLevel": "CurrentReadOrWrite",
"Description": "Motor bearing temperature in Celsius"
},
{
"NodeId": "Motor.Current",
"Name": "Current",
"DataType": "Double",
"ValueRank": -1,
"AccessLevel": "CurrentReadOrWrite",
"Description": "Motor current draw in Amps"
},
{
"NodeId": "Motor.Running",
"Name": "Running",
"DataType": "Boolean",
"ValueRank": -1,
"AccessLevel": "CurrentReadOrWrite",
"Description": "Motor running status"
},
{
"NodeId": "Motor.FaultCode",
"Name": "FaultCode",
"DataType": "UInt32",
"ValueRank": -1,
"AccessLevel": "CurrentReadOrWrite",
"Description": "Active fault code (0 = no fault)"
}
]
},
{
"Folder": "Pump",
"NodeList": [
{
"NodeId": "Pump.FlowRate",
"Name": "FlowRate",
"DataType": "Double",
"ValueRank": -1,
"AccessLevel": "CurrentReadOrWrite",
"Description": "Flow rate in liters per minute"
},
{
"NodeId": "Pump.Pressure",
"Name": "Pressure",
"DataType": "Double",
"ValueRank": -1,
"AccessLevel": "CurrentReadOrWrite",
"Description": "Discharge pressure in bar"
},
{
"NodeId": "Pump.Running",
"Name": "Running",
"DataType": "Boolean",
"ValueRank": -1,
"AccessLevel": "CurrentReadOrWrite",
"Description": "Pump running status"
}
]
},
{
"Folder": "Tank",
"NodeList": [
{
"NodeId": "Tank.Level",
"Name": "Level",
"DataType": "Double",
"ValueRank": -1,
"AccessLevel": "CurrentReadOrWrite",
"Description": "Tank level in percent"
},
{
"NodeId": "Tank.Temperature",
"Name": "Temperature",
"DataType": "Double",
"ValueRank": -1,
"AccessLevel": "CurrentReadOrWrite",
"Description": "Tank contents temperature in Celsius"
},
{
"NodeId": "Tank.HighLevel",
"Name": "HighLevel",
"DataType": "Boolean",
"ValueRank": -1,
"AccessLevel": "CurrentRead",
"Description": "High level alarm switch"
},
{
"NodeId": "Tank.LowLevel",
"Name": "LowLevel",
"DataType": "Boolean",
"ValueRank": -1,
"AccessLevel": "CurrentRead",
"Description": "Low level alarm switch"
}
]
},
{
"Folder": "Valve",
"NodeList": [
{
"NodeId": "Valve.Position",
"Name": "Position",
"DataType": "Double",
"ValueRank": -1,
"AccessLevel": "CurrentReadOrWrite",
"Description": "Valve position in percent open"
},
{
"NodeId": "Valve.Command",
"Name": "Command",
"DataType": "UInt32",
"ValueRank": -1,
"AccessLevel": "CurrentReadOrWrite",
"Description": "Valve command (0=Close, 1=Open, 2=Stop)"
}
]
}
]
}