177 lines
7.0 KiB
JSON
177 lines
7.0 KiB
JSON
{
|
|
// Debug configurations for the OPC DA Diagnozer CLI.
|
|
// All configs run `python -m opcda_diagnozer` with the 32-bit venv
|
|
// interpreter — the bitness that matches the 32-bit OPC DA wrapper DLLs
|
|
// (SPECIFICATION §11). Pick one from the Run and Debug view (Ctrl+Shift+D).
|
|
//
|
|
// NOTE: `run` / `probe` are Phase 1 stubs until the core engine lands
|
|
// (docs/IMPLEMENTATION_PLAN.md §4) — the configs are ready for that day.
|
|
"version": "0.2.0",
|
|
"configurations": [
|
|
{
|
|
// Basic use: foreground monitoring run (the normal way to run the tool).
|
|
// Currently prints the Phase 1 stub message; becomes live with the
|
|
// core engine. Set breakpoints in main.py / monitor/ to debug it.
|
|
"name": "opcda-diagnozer: run (foreground)",
|
|
"type": "debugpy",
|
|
"request": "launch",
|
|
"python": "${workspaceFolder}/.venv/Scripts/python.exe",
|
|
"module": "opcda_diagnozer",
|
|
"args": ["run", "--config", "config.example.yaml"],
|
|
"cwd": "${workspaceFolder}",
|
|
"console": "integratedTerminal",
|
|
"justMyCode": false,
|
|
"env": {
|
|
"PYTHONUNBUFFERED": "1"
|
|
}
|
|
},
|
|
{
|
|
// One-shot read of every configured tag — the pre-deployment check.
|
|
"name": "opcda-diagnozer: probe",
|
|
"type": "debugpy",
|
|
"request": "launch",
|
|
"python": "${workspaceFolder}/.venv/Scripts/python.exe",
|
|
"module": "opcda_diagnozer",
|
|
"args": ["probe", "--config", "config.example.yaml"],
|
|
"cwd": "${workspaceFolder}",
|
|
"console": "integratedTerminal",
|
|
"justMyCode": false,
|
|
"env": {
|
|
"PYTHONUNBUFFERED": "1"
|
|
}
|
|
},
|
|
{
|
|
// Basic use: validate the example config without connecting.
|
|
"name": "opcda-diagnozer: check-config",
|
|
"type": "debugpy",
|
|
"request": "launch",
|
|
"python": "${workspaceFolder}/.venv/Scripts/python.exe",
|
|
"module": "opcda_diagnozer",
|
|
"args": ["check-config", "--config", "config.example.yaml"],
|
|
"cwd": "${workspaceFolder}",
|
|
"console": "integratedTerminal",
|
|
"justMyCode": false,
|
|
"env": {
|
|
"PYTHONUNBUFFERED": "1"
|
|
}
|
|
},
|
|
{
|
|
// Show all available OPC DA servers (auto: Automation Wrapper over
|
|
// COM, falls back to the local registry scan).
|
|
"name": "opcda-diagnozer: list-servers",
|
|
"type": "debugpy",
|
|
"request": "launch",
|
|
"python": "${workspaceFolder}/.venv/Scripts/python.exe",
|
|
"module": "opcda_diagnozer",
|
|
"args": ["list-servers"],
|
|
"cwd": "${workspaceFolder}",
|
|
"console": "integratedTerminal",
|
|
"justMyCode": false,
|
|
"env": {
|
|
"PYTHONUNBUFFERED": "1"
|
|
}
|
|
},
|
|
{
|
|
// Show all available OPC DA servers via the no-COM registry scan,
|
|
// with full metadata (CLSID, description, DA versions) as JSON.
|
|
"name": "opcda-diagnozer: list-servers (registry, JSON)",
|
|
"type": "debugpy",
|
|
"request": "launch",
|
|
"python": "${workspaceFolder}/.venv/Scripts/python.exe",
|
|
"module": "opcda_diagnozer",
|
|
"args": ["list-servers", "--source", "registry", "--json"],
|
|
"cwd": "${workspaceFolder}",
|
|
"console": "integratedTerminal",
|
|
"justMyCode": false,
|
|
"env": {
|
|
"PYTHONUNBUFFERED": "1"
|
|
}
|
|
},
|
|
{
|
|
// Show OPC DA servers on a remote DCOM host — prompts for the host
|
|
// name at launch. Needs Launch+Activation permissions for your user
|
|
// on the target host (README "DCOM troubleshooting").
|
|
"name": "opcda-diagnozer: list-servers (remote host…)",
|
|
"type": "debugpy",
|
|
"request": "launch",
|
|
"python": "${workspaceFolder}/.venv/Scripts/python.exe",
|
|
"module": "opcda_diagnozer",
|
|
"args": ["list-servers", "--host", "${input:dcomHost}"],
|
|
"cwd": "${workspaceFolder}",
|
|
"console": "integratedTerminal",
|
|
"justMyCode": false,
|
|
"env": {
|
|
"PYTHONUNBUFFERED": "1"
|
|
}
|
|
},
|
|
{
|
|
// Full structure tree of the configured server: every branch
|
|
// AND every tag in place, whole subtree.
|
|
"name": "opcda-diagnozer: list-items (whole tree)",
|
|
"type": "debugpy",
|
|
"request": "launch",
|
|
"python": "${workspaceFolder}/.venv/Scripts/python.exe",
|
|
"module": "opcda_diagnozer",
|
|
"args": ["list-items", "all", "--depth", "0", "--config", "config.example.yaml"],
|
|
"cwd": "${workspaceFolder}",
|
|
"console": "integratedTerminal",
|
|
"justMyCode": false,
|
|
"env": {
|
|
"PYTHONUNBUFFERED": "1"
|
|
}
|
|
},
|
|
{
|
|
// Flat ItemID list of one subtree as JSON — the item_id values
|
|
// are what go into config `tags:`. Adjust the branch path to the
|
|
// server your config points at.
|
|
"name": "opcda-diagnozer: list-items tags (JSON)",
|
|
"type": "debugpy",
|
|
"request": "launch",
|
|
"python": "${workspaceFolder}/.venv/Scripts/python.exe",
|
|
"module": "opcda_diagnozer",
|
|
"args": [
|
|
"list-items",
|
|
"tags",
|
|
"--branch", "Simulation Items.Bucket Brigade",
|
|
"--json",
|
|
"--config", "config.example.yaml"
|
|
],
|
|
"cwd": "${workspaceFolder}",
|
|
"console": "integratedTerminal",
|
|
"justMyCode": false,
|
|
"env": {
|
|
"PYTHONUNBUFFERED": "1"
|
|
}
|
|
},
|
|
{
|
|
// One-shot read of tags with a --server override — no config
|
|
// file needed. Adjust the tags (and optionally the ProgID) to
|
|
// whichever server is registered on your machine.
|
|
"name": "opcda-diagnozer: read (--server override)",
|
|
"type": "debugpy",
|
|
"request": "launch",
|
|
"python": "${workspaceFolder}/.venv/Scripts/python.exe",
|
|
"module": "opcda_diagnozer",
|
|
"args": [
|
|
"read",
|
|
"--server", "Matrikon.OPC.Simulation.1",
|
|
"Bucket Brigade.Int1",
|
|
"Bucket Brigade.Real8"
|
|
],
|
|
"cwd": "${workspaceFolder}",
|
|
"console": "integratedTerminal",
|
|
"justMyCode": false,
|
|
"env": {
|
|
"PYTHONUNBUFFERED": "1"
|
|
}
|
|
}
|
|
],
|
|
"inputs": [
|
|
{
|
|
"id": "dcomHost",
|
|
"type": "promptString",
|
|
"description": "Remote host to enumerate OPC DA servers from (via DCOM)",
|
|
"default": "CONTROL-HOST01"
|
|
}
|
|
]
|
|
} |