Project Explorer
The tree appears in stages
After you connect to a project, the Project Explorer shows the program of each CPU first: its software units, program blocks, technology objects and watch and force tables. The remaining branches follow while you already work with the blocks: PLC data types and PLC tags under the CPU, then Hardware, the HMI devices and the Project Library. A branch that is still on its way shows a small spinner next to its name and stays closed until its contents arrive; what you have expanded, selected or ticked in the meantime is kept. The toolbar Refresh fills the tree in the same order.
Hardware and Project Library on demand
The Hardware and the Project Library are not read when a project connects, so the tree appears sooner. Both folders are still in the tree; next to each of them sits a small icon, an arrow pointing down in a circle. Click it and the folder fills while a small spinner runs beside its name, then it opens. Hover the icon to read what it does. If you need one of the two every time, switch on Load Hardware or Load Project Library under Project Explorer in the Settings; the link in the icon's tooltip takes you there. Switching a setting on while a project is connected reads the branch right away; switching it off keeps a folder that is already filled until you connect again. A folder you filled with the icon stays filled through Refresh; a folder you have not filled stays closed unless its setting is on.
The HMI devices work the same way: they are not read when a project connects, and every HMI device in the tree shows the same small icon. Click the icon on any of them and all HMI devices of the project are read at once; each of them shows the spinner until they are filled, then the device you clicked opens. If you need the HMI devices every time, switch on Load HMI under Project Explorer in the Settings. Exporting or importing HMI data reads the HMI devices first when they have not been read yet. The Plant views folder belongs to the HMI data and appears together with the HMI devices; a project without HMI devices shows it on its own shortly after connecting.
Code Display
When you select a block in the project tree, its source code is displayed in the code editor.
Supported Languages:
- SCL (Structured Control Language)
- STL (Statement List)
- LAD/FBD (rendered inline as networks)
Editing data types (UDTs)
Open a PLC data type (UDT) from a connected project and it appears as compact, editable source (TYPE … END_TYPE) with syntax highlighting — instead of long XML. Edit its members and press Ctrl+S to write the data type back into the project and recompile the PLC — the same flow as saving an SCL block, confirmation dialog included.
If source cannot be generated for a data type — for example because it is know-how-protected — it opens read-only instead. A data type shown from a project opened offline is read-only as well.
If you prefer the XML view, turn off Open UDTs as .udt under Editor in the Settings — data types then always open as read-only XML.
With that option on, a data type of the safety program opens as its source document for editing on TIA Portal V20 and newer: press Ctrl+S to write it back into the project, the same way as any other data type. On an older TIA Portal version it opens read-only. Its interface table stays read-only, and the source view is where such a type is changed.
Note: A
.udtsource does not carry the fail-safe attribute of a data type. That is why a data type of the safety program is changed through its source document, never through a.udt.
Editing data blocks
Open a data block from a connected project and its source view shows compact, editable source (DATA_BLOCK … END_DATA_BLOCK) with syntax highlighting. Edit it and press Ctrl+S to write the data block back into the project and recompile the PLC — the same flow as saving an SCL block, confirmation dialog included.
If source cannot be generated for a data block — for example because it is know-how-protected or a safety block — it opens as read-only XML instead, without error squiggles.
To work with the XML representation of a data block, right-click it in the project tree and choose Open as XML — the block opens as XML in a separate tab. Edit the XML and press Ctrl+S to write the block back into the project and recompile the PLC, with the same confirmation as any other block save.
Technology objects
With TIA Portal V18 or newer, technology objects (Motion Control axes, PID controllers, counters and the like) can be opened, created, edited and deleted straight from the project tree, under the Technology objects folder.
Open and edit. Double-click a technology object to open it as an editable XML tab. Edit the XML and press Ctrl+S to write it back into the project and recompile the PLC — the same confirmation as saving a block, and any compile problems are offered for you to open. A technology object can only be opened while you are connected to TIA Portal. Some types, such as Motion Control axes, cannot be shown as a source file; opening one shows a short read-only note instead, and you can still view and change its parameters through the AI assistant.
Create. Right-click the Technology objects folder and choose New Technology Object. Pick a type from the list (PID controllers, Motion Control axes, counters) — or choose Custom… to enter a type identifier yourself — confirm the version, then enter a name. The object is created and compiled and appears in the tree. The version you enter must match a technology-object version installed with your TIA Portal (for example PID_Compact version 2.4).
Delete. Right-click a technology object and choose Delete; confirm the prompt to remove it from the project.
AI chat. You can also ask the AI assistant to create, list, read, edit (change parameter values) or delete technology objects. Every change the assistant makes is shown for you to confirm first.
Import. Technology objects are edited one at a time, not through Import All or importing selected files. A technology-object file in your export folder is listed as skipped during a bulk import; to change a technology object, open it and edit it or use the AI assistant.
Autocomplete
While editing SCL, the editor suggests blocks, variables and members as you type. Type a . after a block or data-block name — for example "MyDb". — and the suggestions for that block's members appear right away. The editor is ready to use the moment you connect to a project, and project actions such as exporting blocks or HMI start immediately — even on large projects, nothing has to finish loading first.
Editing graphical blocks
On TIA Portal V20 or newer, graphical blocks (LAD, FBD and GRAPH) open as editable source — you type in them like in any other block. A button in the block editor toolbar switches between Show Graphical View (the read-only network or sequence rendering) and Show Source; your choice is remembered for that editor. Press Ctrl+S to write the change back into the project and compile the PLC — after the same confirmation dialog as a text block; errors and warnings appear right in the editor.
In the graphical view the networks render directly in AnyAutomation Studio — no external Compare or Visualizer tool is required, and no separate Siemens utility needs to be installed. Each network shows its title, comment and the layout as it appears in TIA Portal. Ladder blocks render as ladder networks, FBD blocks as function-block diagrams (with their gates, set/reset and assignment outputs, comparators and the called blocks, and inverted inputs marked), and GRAPH blocks as the full sequence chart with steps, transitions, branches and actions.
Before TIA Portal V20 the block opens in the read-only graphical view and the source toggle is not offered. For know-how-protected or safety blocks the toggle is still available, but the source view opens read-only — there is no editable source to write back. Text-source blocks (SCL/STL) open in the code editor as usual.
You can also open an exported block file as a graphical view without a live TIA Portal connection. Open the block's .xml (from Windows Explorer, the Desktop or the workspace), then choose Reopen Editor With… → TIA Graphical View (or right-click the file and pick Open With → TIA Graphical View). The ladder diagram is rendered straight from the file's contents, so you can review an exported block on any machine — even offline.
Interface and Tag-Table view
Block interfaces can be shown as a table above the code, like in TIA Portal. Use the Show Block Interface toggle in the block editor toolbar (or turn on the Show Block interface like in TIA setting, which is off by default) to switch it on. The table shows one row per member with its Name, Data type, Start value / Default value, Retain, the HMI/OPC UA/Web API access flags (Accessible, Writable, Visible in HMI engineering), Setpoint, Supervision and Comment columns.
PLC tag tables get an equivalent tag-table view (Name, Data type, Address, Retain, the HMI access flags, Supervision and Comment). With Show Block Interface off, blocks open as plain source. You can still read or edit interfaces and tag tables through the SCL/STL source in the code editor, or in TIA Portal directly.
A data type of the safety program cannot be changed in the interface table: the message names the safety program in TIA Portal as the place for such a change, and when you are not logged in to it, it names that as well. The source view is where such a type is changed.
A WinCC Unified device in the project tree
Connect to a project and expand a WinCC Unified device in the Project Explorer: the tree lists what the device holds in the same order as TIA Portal. The Runtime Settings come first, then Screens with its screen folders, HMI Tags with the tag table folders and the System Tags, Connections, HMI Alarms with Discrete Alarms, Analog Alarms, OPC UA Alarms and Alarm Classes, Historical Data with Data Logs, Alarm Logs, Audit Trails and Logging Tags, then Scripts, Text and Graphic Lists with Text Lists, System Text Lists and Graphic Lists, and last Plant object tags. The plant views belong to the project, so they sit under the project next to the project library rather than under the device.
A double-click opens the row you clicked: a tag table in the HMI Tags editor, a screen in the Screen editor, a script module as JavaScript in the code editor, the Discrete Alarms, Analog Alarms and Alarm Classes folders in the alarm editor, and any single object in its detail view. The sections below describe each of these editors.
A category folder stays visible even when it holds nothing; the three grouping folders HMI Alarms, Historical Data and Text and Graphic Lists appear only when the device holds at least one of their categories. Some content needs a certain TIA Portal version: Scripts from V19, Text and Graphic Lists and the thresholds of a tag from V20, Graphic Lists and the Display Name column from V21. On an older version the message names the version that is required.
A very large folder lists its first 2000 entries; the folder row then says how many more there are, and hovering it says how many of how many are shown. The remaining entries are in the project, they are just not listed here.
Alarms, logs, lists, system tags and the runtime settings carry no checkbox and no export, protection or vault entries in the tree: you read and change them in their editors, and you export a whole device with the HMI actions of the Import / Export view (see Import and Export).
HMI tag tables
Double-click an HMI tag table in the project tree (under an HMI device's HMI Tags) to open it in the HMI Tags editor — a table with one row per tag showing its Name, Data Type, Connection, PLC Tag, Acquisition Mode, Acquisition Cycle and Comment. A tag table on a WinCC Unified device is marked with a UNIFIED badge. For such a table the editor also shows each tag's Address and its Persistent setting, and on TIA Portal V21 and later its Display Name; these three columns are read-only and stay visible while you edit.
A tag with limits shows its Upper Threshold and Lower Threshold as sub-rows under it, when TIA Portal shows them for the device. In edit mode the Value and the Value Type (None, Constant or Tag) of a threshold can be changed and are saved together with the table; its name and its mode are display only. Thresholds cannot be added, deleted or renamed, because TIA Portal offers no way to.
To change tags, click Edit and edit any cell. On a WinCC Unified device the Name cell can be changed as well: type the new name and save, and the tag is renamed on the device; a name another tag of the device already carries is refused as you type. Click Save to TIA to write your changes back to the HMI device, or Discard to drop them. If a tag table cannot be loaded, the editor shows a message with a Show Details link for more information.
Deleting. Right-click a tag table folder of a WinCC Unified device and choose Delete: the confirmation names how many items the folder contains, and the folder is removed together with them.
HMI object details
Alarms, alarm classes, connections, data logs, alarm logs, audit trails, logging tags, system tags, OPC UA alarms, text lists, graphic lists and the runtime settings of a WinCC Unified device open in a detail view when you double-click them in the project tree. The view lists every property of the object with its value. A property that TIA Portal does not let you change shows a lock icon, and a text kept in several project languages shows the text in your display language with the other languages listed below it.
Every object that TIA Portal lets you change can be edited right in the detail view. Click Edit, change the values, then click Save to TIA to write them to the device or Discard to drop them. A tab with unsaved changes asks before it closes. An object that TIA Portal does not let you change keeps its READ-ONLY badge; hovering the badge says so.
- The runtime settings offer everything on the object and in its settings groups: the start screen and the screen resolution, the bit-selection strategies, the central input hint, panning and zooming, the login limits, the OPC UA server settings, the reporting, telemetry, process diagnostics and tag settings. A setting with a fixed set of values is picked from a list. The table of languages and fonts is a list and is not edited here, and on TIA Portal V21 the central input hint does not take a value yet: saving reports a warning and the setting stays as it was.
- A connection offers its comment, communication driver, initial address and startup setting. TIA Portal does not let you change the partner, the station or the node, so a connection cannot be moved to another controller from Studio.
- An alarm class offers its priority, its state machine, the alarm log it writes to, and for each of its four states the background colour, the text colour and whether it flashes. Colours are entered as
0xAARRGGBB,#AARRGGBBor#RRGGBB, for example0xFFADD8E6, and a swatch shows the colour next to the value. - A data log, an alarm log and an audit trail offer their storage settings (storage device, storage folder, maximum size and retention period), their segment settings (maximum size, start time and time period) and their backup settings (backup mode and backup path).
- A logging tag offers all of its settings: the data log it writes to, its source and acquisition cycle, the logging mode, the trigger mode with its trigger tag, the limits, and the smoothing and aggregation settings.
- A single alarm offers its settings and its texts, one row per project language; for many alarms at once use the alarm editor.
- An OPC UA alarm offers its alarm class, its area and its condition type. The connection and the node it was created with cannot be changed afterwards.
- System tags, text lists, graphic lists and scripts carry nothing TIA Portal lets you change in this view; scripts are edited in the code editor, and the entries of a text or a graphic list are changed through the assistant.
A value that does not fit is marked and not applied, for example a size that is not a whole number, a date without a time, or a duration that is not written as days.hours:minutes:seconds (1.02:30:00). To rename the object, click Edit, change the Name in the header of the view and save: the tab, the header and the project tree follow the new name. A name that is already taken or one TIA Portal rejects is reported and the view stays in edit mode. System tags, lists and the runtime settings keep their name. Changing anything on a WinCC Unified device requires a Pro plan; reading stays available on every plan. The assistant can read and change these objects too, see AI Chat.
A property that is empty in the project shows an empty row you can fill in, the comment of a connection for example. When TIA Portal accepts a value and does not keep it, the view says so after saving and shows the value the device still carries.
TIA Portal also lists parameter set types, cycles, scheduled tasks and screen management below a WinCC Unified device. TIA Portal's automation interface does not offer these four to other programs, so they do not appear in the project tree and cannot be opened from Studio.
Discrete alarms, analog alarms and alarm classes also open in the alarm editor, and scripts open as JavaScript in the code editor. A script module opens straight from the device and saves straight back with Ctrl+S after the upload confirmation. To add a module, right-click the Scripts folder of a WinCC Unified device and choose New Script Module: enter a name that no other module of the device carries, and the new module opens in its editor and appears in the tree. A script module cannot be deleted or renamed, because TIA Portal offers no way to.
Data logs, alarm logs, alarm classes and connections can also be created and deleted from the project tree: right-click the Data Logs, Alarm Logs, Alarm Classes or Connections folder of a WinCC Unified device and choose New Data Log, New Alarm Log, New Alarm Class or New Connection, enter a name, and the new object opens in its detail view ready to be set up. Right-click one of those objects and choose Delete to remove it after a confirmation; an object TIA Portal supplies itself, such as a system alarm class, is refused. Right-click a tag table, a logging tag, an alarm, an alarm class, an OPC UA alarm type, a connection, a data log, an alarm log or an audit trail and choose Rename to give it a new name: the tree selects the renamed row, an open detail view follows, and a name already used by another object of that kind is refused before anything changes.
Project library: types and versions
Under Project Library the Types folder shows every type of the project library with its kind as its description, Faceplate, Script module, Block type or Unified type, and below it one row per version with its state, In work or Committed, and default on the default version. Double-click a type or a version to open the Library Type view: it shows the fields of the type, among them the namespace, author, comment, consistency, the minimum device version and the document formats, and a table of the versions with state, default, author, comment, the date of the last change and the types a version depends on or is used by. The toolbar of the view offers the same actions as the context menu, plus Reload, which reads the type from the project again; the actions that work on a version stay disabled until you select a version row.
The Library submenu of a type or a version offers Export Type Documents (you pick a document format and a folder, then Studio names the files it wrote), Import Type Version from Documents (a folder, the file name without its extension, and whether existing content is overridden) and, on the Types folder, Import Type from Documents, optionally with the HMI device the type is read for. Show Instances lists where a type is used, in the PLCs, the classic HMI devices and on the screens of the WinCC Unified devices; an entry of a Unified screen opens the screen and selects the object, and an empty list names where it looked. New Version (Edit) creates a new in-work version from a version, Release releases it with a version number, an author and a comment, Discard drops an in-work version, Set as Default makes a version the default version and Delete Version removes it; each of these actions asks first and names the type, the version and the effect.
What TIA Portal does not offer, Studio does not offer either: the screen content of a faceplate type cannot be edited, a script module type has no instances, and a released version cannot be changed any more. On TIA Portal V21 a faceplate type names no document format, so only block types and script module types are exported and imported as documents there.
Plant model
The project tree shows the folder Plant views under the project with the plant view of the project and its nodes, nested as in TIA Portal, and under every WinCC Unified device the folder Plant object tags with the plant object tags the device derives from the plant object types of its nodes. Right-click Plant views and choose New Plant View: enter a name, and the view appears in the tree. Right-click the view or a node and choose New Node: enter the name and then, if the node is to carry a plant object type, the name of that type, or leave the field empty. A view and a node are renamed with Rename or F2 and removed with Delete; the delete asks first and says how many nodes below go with it.
Double-click a view, a node or a plant object tag to open its detail view. On the view you enter the assigned HMI device, by the name of its runtime as TIA Portal carries it; a node shows its path, its view and its plant object type with the type's interfaces; a plant object tag shows its members and their logging tags, and its acquisition cycle, acquisition mode, connection and PLC tag can be changed. The detail view of a plant view lists its nodes six levels deep; a branch that reaches deeper ends with a line saying how many sections it left out, and you follow it in the tree instead. What TIA Portal does not offer, Studio does not offer either: a project holds one plant view, a node does not change its plant object type, and a plant object tag is neither created nor deleted, it comes and goes with the type of its node.
HMI alarms
Double-click Discrete Alarms, Analog Alarms or Alarm Classes under the HMI Alarms folder of a WinCC Unified device to open the alarm editor, one tab per set. Clicking another set replaces the open tab while it carries no unsaved changes, and opens a second one beside it otherwise, so a click can never lose an edit. Click Edit to change the alarms in place: the alarm text in the language chosen at the right end of the toolbar, the alarm class and the trigger tag from lists of what the device holds, the priority, the trigger settings and the remaining fields. A panel under the table shows the Event Text and Info Text of the selected alarm in every project language at once, including changes you have not saved yet. In edit mode the Name cell of a discrete or analog alarm can be changed as well; the alarm is renamed when you save, and a name another alarm already carries is marked on the cell. Discrete alarms also show their Acknowledgment State Bit, Acknowledgment Control Tag and Acknowledgment Control Bit. New Alarm asks for a name and adds a row, Delete Alarm removes the selected alarm after a confirmation, and Save to TIA writes the changes to the device. On the Alarm Classes tab the values are shown as they are, since a class is changed in its detail view; New Alarm Class and Delete Alarm Class add and remove classes there. Changing alarms requires a Pro plan.
To add many discrete alarms at once, right-click Discrete Alarms (or one of its alarms) and choose Create Discrete Alarms in Bulk. Pick a text file (.csv, .tsv or .txt) in the Choose the Alarm List dialog: one alarm per line, five columns separated by tab or semicolon, in the order name, trigger tag, bit, event text and alarm class. Blank lines and lines starting with # are skipped, and a first line beginning with Name is treated as a header. When the project has more than one language, you then choose the one the event texts are written in. Every row is checked against the device before anything is written, the names, the trigger tags, the alarm classes and the bit range; if a single row does not pass, nothing is created and the reasons are listed in the TIA Portal output. Otherwise a confirmation names how many alarms will be created on which device, and after Create Alarms the progress appears in the status bar and the run can be cancelled. A file holds at most 2000 alarms. Creating alarms requires a Pro plan.
HMI screens
Double-click a WinCC Unified screen in the project tree (under an HMI device's Screens) to open it in the Screen editor: a canvas that draws each object as the shape it is, in the place it sits. Lines, polylines and polygons follow their points, rectangles keep their corners, circles, ellipses, arcs and segments are round, text and buttons carry their font, and an IO field shows the tag its value is bound to. A bar, gauge, slider or switch is drawn in simplified form showing its value, a clock with its hands, and a trend, alarm, parameter or diagnosis control shows its own bars, axes, gridlines and column headers over empty rows, while a faceplate container names the faceplate it holds. A screen window shows the screen it opens, inside a window frame with its title bar; a custom widget shows its own drawing, whether that drawing belongs to the project or comes from the symbol library that came with your engineering software, and falls back to its name and the values set on it when the drawing cannot be found. The drawing is shown in the state you configured it in: it takes the colours you set on it, shows only the state its settings select, and fills the box you gave it. A background that uses a colour gradient or one of the hatch patterns is drawn with that gradient or pattern. A graphic view, a button, a switch and the background of the screen show their picture, scaled the way the object asks for it. A screen opened from an export folder shows the pictures that were written next to it, and the entries of the text and graphic lists exported with it; a picture that is not there shows its name instead. Drag an empty area to pan the canvas, and use the mouse wheel to zoom (or Reset Zoom); holding the middle mouse button pans the canvas over an object as well, and the toolbar shows the current zoom in percent.
Colours, spacing, text weight and line wrapping come from the device style of the HMI device, so a screen looks the way it looks on the panel even where an object sets nothing of its own. Studio recognises the style from the screen itself: a trend, alarm or other control on the screen tells it the style, and otherwise a screen on a dark background is drawn in the dark style. If the project uses another style, pick it under Settings -> Editor -> Screen Editor -> Unified Screen Style (Automatic, Flat Bright, Flat Dark or Extended); the open screen follows at once. A caption longer than its object wraps inside the object and is cut with an ellipsis on the last line that fits; where the style does not wrap, it is cut on one line. The object keeps its size. Text appears in the font each object names; where an object names none, the font from Unified Font Family in the same section is used. A text or a graphic that is bound to a text or graphic list is shown with the entry the list marks as its default, or with its first entry, the same value TIA Portal's own screen editor shows.
Select an item, on the canvas or in the object list on the left, to edit it in the property panel on the right: its Name, Text, position (Left, Top), size (Width, Height) and Visible flag. The panel offers only the fields the selected object can take, and a value TIA Portal does not let you change, such as the screen a screen window opens, is listed read-only below them. Beneath the properties, three sections list the object's Bindings, its Events and its Other Properties; click Reveal in Tag Table on a bound tag to open the tag table that holds it, also for a member of a structure tag. For a control, the bindings and events of its parts, the columns of an alarm control, the curves and axes of a trend control, the elements of its tool bar, are listed under the part they belong to. Click Add Binding to bind a property: you choose the object or the part, the property, what the binding follows (a tag, a script, a flashing or a text or graphic list) and then the tag from the device's tags, or for a script when it runs and, for a script that runs on tags, the tags that trigger it, and type the script in the box that opens below. Click Add Event to give the object an event script, Edit on a row to change a binding or a script, and Remove to take it away. Every change lands on the screen as an unsaved edit until you save. Drag an item on the canvas to move it, and press Delete to remove the selected item.
Drag the edge between the object list and the screen, or the edge between the screen and the property panel, to make either column wider or narrower; Studio keeps the two widths for the next screen you open. Hover an object row to see its full name and type.
Above the object list, the Object Palette lists the shapes, widgets, controls and containers a screen can hold. Click an entry to add the object in the middle of the visible screen, or drag it onto the screen to place it where you drop it; the new object gets the size and the settings TIA Portal gives a new object of that kind, a name of its own, and it is selected. A faceplate container asks which faceplate type it shows: the list holds the faceplate types of the project library, one entry per version, grouped under the type's name and marked as in work or committed and as the default version. Pick the one you want, or choose Type the value and write the type as its version, a backslash and its name; a library without faceplate types asks for that text straight away. Objects your device cannot carry are not offered.
Select several objects with Ctrl+click in the object list or on the screen, or with Shift+click in the object list to take the whole range down to the row you clicked before, then use the row of buttons above the screen: Duplicate, Copy and Paste (also into another open screen of the same device), Align on one of six edges, Distribute horizontally or vertically, and Bring to Front, Bring Forward, Send Backward or Send to Back for the drawing order. Duplicate, Copy and Paste also have the shortcuts Ctrl+D, Ctrl+C and Ctrl+V. Resize Screen to Device gives the screen the size of the device's display after you confirm; the objects keep their position and size. Every one of these lands on the screen as an unsaved edit until you save.
Click Save to TIA to write the screen back — you are asked to confirm first, because saving replaces the entire screen in TIA Portal. Click Pull to reload the screen from TIA (you are asked to confirm if you have unsaved changes). If a screen cannot be loaded or saved, a message with a Show Details link gives more information.
Saving keeps the scripts, events and dynamizations of the screen and of every object on it, the bindings on the parts of a control included, and a script that runs on tags keeps the tags that trigger it. When a part of a control cannot be written completely, or TIA Portal does not keep a binding you added (it accepts no script binding on the visibility of a value axis, for example), the message after saving says so, and Show Details names each affected part and binding.
A range condition whose limits TIA Portal does not hand out (a colour that changes with a Real tag between 0.5 and 1.5, for example) is shown without its limits when the screen loads, and the load message names it. Such a screen opens, but it is not saved, duplicated or imported back from Studio: the message names the affected conditions, and the screen in TIA Portal stays as it is.
When a dynamization was switched from a range condition to another condition type in TIA Portal, the earlier range conditions stay in the project, but TIA Portal no longer shows them. Studio leaves them out when the screen loads, and the load message names them. Saving the screen from Studio writes it without them.
When TIA Portal has something to say about the objects you changed, the message after saving says how many validation messages there are, and Show Details lists each one in the TIA Portal output. Renaming a screen from the project tree reports the count as well. If the screen was renamed or removed in TIA Portal after you opened it, saving reports that the screen was not found.
WinCC Unified screens need TIA Portal V17 or newer. On an older version the message names the version that is required.
Creating and renaming. Right-click the Screens folder or a screen folder of a WinCC Unified device and choose New Screen or New Screen Folder, then enter a name; right-click a screen and choose Rename or Duplicate Screen (you confirm the copy first, then name it, and it gets its own screen number). The new or renamed screen is selected in the project tree, and a renamed screen that is open keeps its tab and its unsaved changes. Tag table folders are created and renamed the same way under HMI Tags. A screen name that the device already uses, in any of its folders, is refused; a folder name already used in the same place is refused as well.
Deleting. Right-click a screen folder of a WinCC Unified device and choose Delete: the confirmation names how many screens the folder contains, and the folder is removed together with them. Text lists and graphic lists of a Unified device can be deleted from the project tree the same way.
Only WinCC Unified screens can be opened — classic-panel screens are not supported.
Saving and closing
- Ctrl+S saves the file or block currently shown in the editor. For files this writes to disk. For text-source TIA Portal blocks (SCL/STL), Ctrl+S asks for confirmation ("Upload '<block>' to TIA Portal?") before uploading the change back to the project and recompiling the PLC. On TIA Portal V20 and newer a graphical block (LAD, FBD, GRAPH) is saved from its source view in exactly the same way; on an older version, and for know-how-protected and safety blocks, the block opens read-only and cannot be uploaded.
- An item marked as protected with the red lock in the project tree is not written back into the project when you save. The message names it as protected and your changes stay in the tab. For a marked organization block with A on, only its attributes are written back.
- Closing an editor with unsaved changes shows a confirmation dialog before you lose any edits.
- Disconnecting from TIA Portal closes any editors that were opened from TIA. If those editors have unsaved changes you are prompted to save (upload), discard, or cancel the disconnect.
Opening blocks and drag & drop
To open a block's source in the editor, double-click it in the project tree, or use Quick Open (the tia prefix) to jump to any block by name.
Drag & drop works between the Project Explorer and the Export Folder view in both directions:
- Project → Export Folder (export): drag any node(s) — blocks, folders or a whole PLC — onto the Export Folder to export every exportable block underneath.
- Export Folder → Project (import): drag file or folder rows from the Export Folder onto a PLC (or its Blocks / data-types / tags folder) to import them.
You can also drop external .xml / .scl / .awl / .db / .udt / .s7dcl files straight onto a PLC node (or its category folders) in the tree to import them.
Block details
Each block's type and number are shown in the project tree (for example OB1, FB10), and its programming language — as reported by TIA Portal (SCL, STL, LAD, FBD, GRAPH, F_LAD, …) — is reflected by the syntax highlighting and the editor's language indicator. A dedicated metadata panel (author, last-modified timestamp) is planned.
Finding where a block is used
When a block's SCL source is open in the code editor, you can see everywhere a block, function block or data block is used across the whole project. Place the cursor on the name, then press Shift+F12 — or right-click it and choose Go to References.
A list opens directly over the code showing every place that name is used in the project: the blocks that call it, and the places it is read or written. Each entry shows the block it appears in and a preview of the matching line. Click an entry to jump straight to that block and line; double-click it to open the block in its own editor tab.
This is handy for tracing where a function block is instanced, finding every caller of a function before you change its interface, or checking which blocks still reference a data block you want to delete.
Names that contain hyphens — such as a quoted instance name like "idb_8-Segment" — are now treated as a single word. A double-click selects the whole name in one step, so you can copy it or run Go to References on it without having to drag across the hyphen by hand.
Inline Chat (Ctrl+I)
The Inline Chat lets you ask the AI questions or request code changes directly in the code editor — without switching to the AI Chat sidebar.
How to use:
- Open a block in the editor from the Project Explorer (or use an empty editor)
- Optionally select the code you want to modify or ask about
- Press Ctrl+I — a small chat input appears at the top of the editor
- Type your question or instruction (e.g., "add error handling", "what does this section do?")
- Press Enter to send
Handling AI responses:
- The AI streams its response directly in the inline chat widget
- If the AI proposes a code change, Accept/Reject buttons appear:
- Press Tab or click Accept to apply the change
- Press Escape or click Reject to discard it
- Press Escape at any time to close the inline chat
Tip: The inline chat works even without a block loaded — useful for asking general SCL questions.
Search the project tree
To quickly find something in the Project Explorer, click the filter icon (funnel) at the top of the view — or press Ctrl+Alt+F (or F3). A search box appears. Type part of a name — the tree narrows to just the matching blocks, folders, tags and hardware together with their parent folder, and a counter shows how many matches were found.
The search covers the whole project, including collapsed folders. Click the filter icon again (or press Esc) to close the search and restore the tree's previous state.
In the search box you can switch between Filter (show only matches, the default) and Highlight (mark matches, keep the rest visible, with ↓ / ↑ to step between them), and between fuzzy and contiguous matching.
This searches the project tree you are looking at. To jump straight to a block by name without opening the tree, use Quick Open instead:
Finding blocks by name (Quick Open)
To jump to any block, data type or tag by name, open Quick Open and type the tia prefix followed by part of the name. The list filters as you type:
- Fuzzy match —
fbmtrfindsFB_Motorby matching the characters in order. The matching characters are highlighted in each result. - Case-insensitive —
MOTORandmotorbehave identically.
Each entry shows the item's kind (FB, FC, DB, OB, UDT, Tags …) and its path. Press Enter to open the block and reveal it in the project tree.