A faster secondary workflow for TIA Portal projects

Engineer in VS Code. Keep TIA Portal in the loop.

Dynamic PLCCheck for Siemens adds fast editing, diagnostics, FBD previews, tag-table tooling, and millisecond PLC unit-test cycles for SCL / Structured Text and TIA Portal exports.

Unit-test reset
Milliseconds
TIA reset baseline
~2 seconds
Current version
2.10.1
S7DCL editor screenshot
Companion workflow, not a TIA replacement

Import/export through TIA Portal, then use VS Code for fast navigation, review, tests, and LLM-assisted changes.

Workflow

Use TIA Portal for engineering station duties. Use VS Code for iteration speed.

1

Export or sync from TIA Portal

Keep the canonical TIA project workflow, export SCL, S7DCL, tag tables, resources, and data types using the TIA Version Control Interface

2

Edit and review in VS Code

Navigate code quickly, inspect generated FBD, edit tag tables, and let diagnostics run without waiting on the TIA UI.

3

Run fast PLC tests

Unit tests reset memory in milliseconds, avoiding the roughly two-second reset penalty that makes TIA unit-test loops drag.

4

Bring LLM tools into the loop

Plain files, CLI checks, and documentation make PLC code easier to search, explain, refactor, and review with local or hosted LLM tools.

5

Import and final verification

Import the changes into the TIA portal to do final verification against your process

Capabilities

Focused tools for Siemens-specific files

SCL language intelligence

Diagnostics, type checking, hover, completion, and go-to-definition for Siemens SCL / Structured Text projects.

Graphical FBD review

Open .s7dcl files as readable FBD previews so exported logic can be reviewed without waiting on a full Portal session.

Tag table editor

Work with PLC tag-table XML in a focused table UI instead of raw export files.

Fast PLC unit tests

Author .scltest cases and run deterministic unit-target or whole-program checks with memory reset in milliseconds.

Code coverage

See coverage directly in the file tree while test cases run against exported PLC code.

Recorded live monitoring

Watch PLC values with state recording so you can inspect what a value was at a specific point in the program, not only the latest value.

Breakpoint stepping

Step through PLC execution from VS Code while inspecting source, generated code, runtime output, and watched values.

CLI and LLM-friendly files

Run plccheck from terminals or CI, and expose PLC code as normal text that LLM tools can inspect and edit.

PLC-root scoping

Use .plc.json files to keep symbols and types isolated when a workspace contains multiple PLCs.

Why this exists

TIA Portal is still part of the process. It just should not be the whole edit loop.

Speed where repetition hurts

The extension targets the slow parts of day-to-day PLC development: opening files, jumping between symbols, running small tests, and checking exported code repeatedly.

Better review surface for exported projects

FBD networks, S7 resources, tag tables, quoted identifiers, and project-library references become inspectable from normal editor workflows.

A practical bridge to AI-assisted engineering

Because the workflow is file-based and CLI-addressable, LLM tools can reason over source, docs, tests, and diagnostics much more directly than inside a closed TIA UI.

Workflow proof

Where the VS Code workflow is faster than TIA alone

Coverage while you write PLC tests

Coverage while you write PLC tests

The extension surfaces coverage percentages directly in the VS Code file tree while .scltest cases exercise the generated runtime.

  • Use coverage to see which exported blocks still only have manual validation.
  • Keep tests close to the SCL source instead of treating unit tests as a separate engineering-station activity.
  • Tight feedback makes it practical to add many focused test cases instead of a few slow end-to-end checks.
Live monitoring with recorded state

Live monitoring with recorded state

TIA watch tables are built around the latest value. The VS Code debug workflow records state so the editor can show what a value was at the point in the program you are inspecting.

  • Watch selected tags and expressions while the PLC runtime is executing.
  • Correlate cycle timing, runtime health, output logs, watched values, and source locations in one workspace.
  • Use recorded values to reason about the path through the program, not just the current end state.
Breakpoint stepping for PLC logic

Breakpoint stepping for PLC logic

Set breakpoints and step through PLC execution from VS Code while inspecting the current source location and recorded values.

  • Debug exported logic without switching context back to a slow UI for every small check.
  • Stop at the program point that matters and inspect the state that existed there.
  • Use this together with generated tests to reproduce and explain behavior before moving changes back through TIA Portal.
Graphical FBD preview for S7DCL exports

Graphical FBD preview for S7DCL exports

FBD networks exported as .s7dcl can be reviewed visually inside VS Code, so graphical logic is not reduced to raw text during code review.

  • Inspect network structure quickly when reviewing TIA exports.
  • Keep graphical Siemens-specific context alongside the text workflow.
  • Use it as a review surface before going back to TIA Portal for final engineering-station operations.
Tag-table editing without raw XML friction

Tag-table editing without raw XML friction

PLC tag-table XML is still part of the TIA export format, but it is not a good editing surface. The extension presents it as a table while preserving the exported data model.

  • Review tag names, addresses, and types in a purpose-built UI.
  • Let the language server index tag tables for global symbols and diagnostics.
  • Make tag-table review part of the same VS Code workflow as SCL, tests, and diagnostics.
S7DCL editing in the same workspace

S7DCL editing in the same workspace

S7DCL exports stay connected to diagnostics, resource navigation, previews, and the rest of the PLC source tree.

  • Navigate TIA export files with normal editor speed.
  • Keep S7DCL review next to SCL, tag tables, resources, and tests.
  • Expose the files to search, CLI checks, and LLM-assisted review workflows.

Test loop

Millisecond reset changes how often you test.

TIA unit tests spend about two seconds resetting memory between cases. The extension's generated runtime resets state in milliseconds, which makes small unit tests practical while editing.

Debug visibility

Recorded values beat latest-value watch windows.

TIA monitoring shows the latest observed value. The VS Code workflow records state so a debug session can show what a value was at the point in the program you are inspecting.

Documentation

Start with the usage guide.

Set up PLC roots, open TIA exports, run fast tests, and use the debugging tools from VS Code.

Open documentation