WinCC OA Database Explorer
May 1, 2026 ยท View on GitHub
A VS Code extension that recreates the WinCC OA PARA module, providing a graphical interface for browsing and editing datapoint types (DPTs), datapoints (DPs), and their configurations directly from VS Code.
Features
Unified Tree View
Browse DPTs, their DP instances, and element hierarchies in a single tree:
- DPT (symbol-class) โ DP instances (database) โ element tree (struct/field)
- Click on leaf elements to open the config editor
Config Editor Webview
View all configurations for a datapoint element:
- Current value with timestamp, status, and type info
- Address, alert handling, archive, PV range, smoothing, distribution configs
- Set values through the WinCC OA event manager
Project Auto-Detection
Automatically connects to WinCC OA projects via:
- Extension settings (
winccoa-database.projectPath) winccoa-project-adminextension API- Workspace folder detection
Drag & Drop DP Names
Effortlessly copy datapoint names for use in scripts, documentation, or AI assistants:
- Drag & drop datapoint or element nodes from the tree view into any VS Code editor or external application
- Context menu: Right-click on DP or element nodes and select "Copy DP Name"
- Automatically constructs the full element path (e.g.,
System1:ExampleDP.config.address) - Works seamlessly with Copilot Chat, terminals, and external tools
Architecture
VS Code Extension
|
|-- better-sqlite3 (read) ----> ident.sqlite (DPTs, elements, DPs)
| config.sqlite (address, alert, archive, ...)
| last_value.sqlite (current values)
|
|-- MCP HTTP Client (write) --> MCP HTTP Server --> WinCC OA Event Manager
(localhost:3001)
- Reading: All data is read from SQLite databases at
{projectDir}/db/wincc_oa/sqlite/using better-sqlite3 (native Node.js module, prebuilt for Electron and Node.js runtimes) - Writing: Values are set through the WinCC OA MCP HTTP server, which routes them through the event manager
Note: Direct SQLite writes do not propagate to the WinCC OA runtime. Use the MCP server for value changes.
Prerequisites
- VS Code 1.106+
- WinCC OA 3.20 or higher (requires SQLite cache)
- A running WinCC OA project with SQLite databases
- WinCC OA MCP HTTP server running (for value setting)
- winccoa-project-admin extension (optional, for auto-detection)
Installation
From VS Code Marketplace
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "WinCC OA Database Explorer"
- Click Install
From VSIX
code --install-extension vscode-winccoa-database-X.Y.Z.vsix
The extension works cross-platform on Windows, Linux, and macOS. Native modules are prebuilt for Electron (local VS Code) and Node.js (Remote SSH/Containers).
Development
Setup
# Install dependencies
npm install
# Compile
npm run compile
Run Locally
Press F5 in VS Code to launch the Extension Development Host.
Development Scripts
- Build:
npm run compile - Watch:
npm run watch(auto-recompile on changes) - Package:
npm run package - Lint:
npm run lint - Format check:
npm run format:check - Unit tests:
npm run test:unit - Integration tests:
npm run test:integration
Branching Model (GitFlow)
developis the default branch (day-to-day work)mainis the stable branch (releases)feature/*/bugfix/*targetdeveloprelease/vX.Y.Zandhotfix/vX.Y.Ztargetmain
More details: docs/automation/GITFLOW_WORKFLOW.md
CI/CD Pipeline
- CI Pipeline:
.github/workflows/ci-cd.yml - Pre-releases: Created on PRs to
main - Stable releases: Created from
mainbranch - Integration tests:
.github/workflows/integration-winccoa.yml
More details: docs/automation/CI-INTEGRATION.md
Roadmap
- DPT editor webview (edit element tree structure)
- Create/delete datapoints and datapoint types
- Config editing (address, alert handling, archive, etc.)
- Search/filter in tree view
- Historical data access (PostgreSQL)
- Multi-language support for display names
- Drag & drop for element reordering
- File watcher for SQLite database changes
- Support for distributed systems
Contributing
See CONTRIBUTING.md for guidelines.
License
MIT License. See LICENSE.
Disclaimer
WinCC OA and Siemens are trademarks of Siemens AG. This is a community project and is not affiliated with Siemens AG.
Quick Links
โข ๐ฆ VS Code Marketplace
โข ๐ Issue Tracker
โข ๐ Documentation