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.
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
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
Automatically connects to WinCC OA projects via:
- Extension settings (
winccoa-database.projectPath) winccoa-project-adminextension API- Workspace folder detection
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
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.
- 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)
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "WinCC OA Database Explorer"
- Click Install
code --install-extension vscode-winccoa-database-X.Y.Z.vsixThe extension works cross-platform on Windows, Linux, and macOS. Native modules are prebuilt for Electron (local VS Code) and Node.js (Remote SSH/Containers).
# Install dependencies
npm install
# Compile
npm run compilePress F5 in VS Code to launch the Extension Development Host.
- 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:integrationt
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 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
- 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
See CONTRIBUTING.md for guidelines.
MIT License. See LICENSE.
WinCC OA and Siemens are trademarks of Siemens AG. This is a community project and is not affiliated with Siemens AG.
β’ π¦ VS Code Marketplace
β’ π Issue Tracker
β’ π Documentation