Siemens TIA Portal V13 issues

(Updated June, 2016.)

Totally Integrated Automation (TIA) is the current Siemens engineering framework for automation. It is vastly different from the 5.x version and it took me time to get used to. Overall, it has been improving steadily with each new version but there are still a few pesky issues that can be a bother. This is valid for version 13 service pack 1 update 9 (June 2016) but some of these issues have been present in earlier versions.

(I will update this post regularly.)

First things first: back up often

With the classic Step 7 5.x you always had the option of saving each window individually. Sometimes it can be useful not to save after a download, so that you can quickly revert back to the last saved version.

The programming editor could crash, resulting in the possible loss of work for any window in the editor that wasn't saved. Other components would survive the crash.

There is an important deviation in TIA Portal: a crash of the software brings down the entire software suite, resulting in the loss of anything not saved, not just the current window and/or the current editor, but everything (tags, alarms, HMI components, hardware configurations, etc).

Therefore, it is sage advise to not only save but also back up often throughout the day. You can't save the contents of selected windows or components, it is all or nothing. Backing up an open project can be done from within TIA Portal without closing the project. The resulting .zap13 file is a ZIP file with a custom Windows extension.

(I should point out that since V13 Update 3 the stability has vastly improved. With V13 SP1 UPD1 I experienced only one crash -- knock on wood.)

Undo missing for STL networks

In any ladder network you can use the undo function. In STL networks, however, any accidental deletions of code or any typos are permanent: no undo implemented for STL. Siemens engineers must never make mistakes.

No undo in STL

No undo for STL networks.

Recently, I accidentally selected a fair amount of code and before realizing this I had pressed delete. I was able to restore the deleted code from one of the very frequent backups I make throughout the day, but it is time consuming to open a second project, find and copy the code. A simple undo would be so nice.

Edit: Even in ladder networks the undo function is not always available. It seems inconsistent.

Update: this has improved considerably with V13 Update 5.

Major problem: incorrect marking of difference offline/online

Often, the software will indicate differences between online/offline versions. This seems to be based on time stamps, rather than actual code differences. See: Comment changes in STL networks forces recompile/download elsewhere. The classic Step 7 would display this with different symbols, red for code differences (based on checksum) and yellow for time stamp mismatches (which can occur if you have made comment changes after downloading a block).

Same checksum, different time stamp

In the above example FC125 and FC135 have the same checksum but different time stamps, so TIA Portal indicates this as a problem. It more or less forces a download or else it will be impossible to monitor the block.

Unable to insert new STL network from STL network

From within a ladder network you can add a new ladder network via the button on the toolbar. Via a right-click inside the network you can insert either a new ladder network or a new STL network.

Insert new network from LAD

For STL networks there is no choice, you can only add a new ladder network, not a new STL network. You have to insert a ladder network first, then add a new STL network from there, then delete the ladder network. Seems like an oversight.

Insert new network from STL

Ghost ladder networks added

After adding a new ladder network after the last network another ladder network is always added right after the first object is added to the new network. I constantly find myself deleting these empty networks. Not sure what the rationale behind this could be. Seems like a bug.

In this example, I added network 42 after the last network, 41:

Ghost ladder network

As soon as I add an object to the network, a new ladder network, here 43, is added:

Ghost ladder network

Comment changes in STL networks forces recompile/download

You can modify network comments for both ladder and STL networks without issues. However, any change in STL comments will require recompiling and downloading of the block. Annoying at best.

Here is an example where the offline/online versions match:

A modification to the first STL comment causes the entire block comparison to fail:

Insufficient scroll wheel support

The scroll wheel is supported. However, scrolling by hovering over a window without highlighting it is not supported consistently. Some windows (like the assignment lists) do not support scrolling with the scroll wheel at all. Really, Siemens?

No scrolling with Control-Up/Down

Any decent programming editor will support scrolling with the keyboard combinations Control-Up and Control-Down. It scrolls the page up and down without moving the location of the cursor. Version 5.x supported it, although not in all editors. SCL, for example, didn't support it. Unfortunately, this is not implemented for TIA Portal at all.

Monitor after download

Once a block has been downloaded to the PLC it will take some time before TIA Portal performs a checksum test and updates the status indicating the offline and online version matches. Until then, the green "play" button remains greyed out. Sometimes, these delays are more than annoying if speed is of the essence.

Fonts ignored when printing

When printing code the software ignored fonts defined for ladder and STL and uses Courier New for STL code. It uses a fairly large font size for this that seems disproportional to the font size for the ladder networks.

Current settings:

General -> Script/text editors -> Font:

General -> Script/text editors -> STL:

General -> PLC programming -> LAD/FDB -> Font:

Given these settings, this is what the screen looks like from within TIA Portal:

When printing it is ignoring the font settings. The STL font is also disproportionally large compared to the text in the ladder logic:

Numerical format while monitoring

With Step 7 5.x you could right-click and select a different format. Unfortunately, with TIA Portal the format cannot always be changed. When monitoring values in ladder networks, the format can be changed via right-click / modify / display format:

When monitoring interface values for FB/FC calls the format is almost always hexadecimal, making it difficult to interpret. The format cannot be changed:

A nice feature is that the columns with displayed values can be moved sideways.

Tooltips obscuring view

More often than not the multitude of tooltips are obscuring the view of the code below it.

Annoying tooltips

It would be better to display information in the status bar. Or move the tooltips above the cursor. Or just don't pop them up when it is unnecessary, especially when monitoring online.

STL address bug

When assigning the RLO to an address, TIA Portal considers entering =db25.dbx34.7 a syntax error (even though this is perfectly valid). Only with a space after the equal sign it will accept the input: = db25.dbx34.7.

Label name

In the classic Step 7, label names were allowed to start with underscores. Not anymore:

If you start typing a quote after the jump instruction a popup appears. From there it allows you to select the jump label starting with an underscore:

However, it will still be regarded as invalid:

This is not necessarily a huge deal, but it seems more like a bug than intentional behavior.

Edit: I am happy to report that this has been fixed in V13 SP1 Upd3.

Display gaps global addresses

In the overview for the global addresses, only addresses in use are displayed. It would be helpful if gaps were displayed, the way it was with Step 7 5.5 so it is clearer where available addresses can be found.

In the picture, the gap between words MW366-MW498 is visually somewhat obvious, but that is often not the case.

Unique HMI object names

When copying an object and pasting it in the same screen (picture) it is assigned a unique name. This is not the case when pasting the object in another screen. The name remains the same.

This leads to compiler warnings and can have unexpected (potentially dangerous) results in runtime.

Edit: this has improved with V13 SP1 Upd3.

Lack of absolute addresses in datablocks

With classic Step 7 data blocks have a declaration view and a data view. The declaration view is used to populate the DB and create structures. The latter reveals the absolute addressing and is used for online viewing.

Declaration view in classic Step 7.
This view shows the absolute addresses
and the offset within structures and arrays.

Data view in classic Step 7.
This reveals the absolute addresses for the
entire DB, including structures and arrays.

In TIA Portal, however, it is not possible to view the absolute addresses in (non optimized) data blocks.

TIA Portal does not show the absolute addresses
(and there is no column that can be selected either).

FC and FB symbolic references only

Symbolic addressing is pushed hard (a tad too aggressive in my opinion). Even FC and FB numbers (or SFC/SFB) are hidden from view when selecting a function from a library. For example, when selecting SFC51 RDSYSST from Step 7 classic it lists these by their number. TIA Portal only lists these by symbolic name.

SFC51 selection from the Step 7 classic library.

SFC51 selection from the TIA Portal library.

This is unfortunate since a lot of the literature is referring to these by their numbers.


November 13, 2014: With V13/Update 5 the undo functionality has greatly improved.
December 20, 2014: Service pack 1 improved the undo feature.
February 17, 2015: Added label name peculiarity.
February 17, 2015: Added online/offline checksum fail.
March 19, 2015: Added the address gap issue.
March 29, 2015: Added more pictures to illustrate the label name issue from February 17.
April 26, 2015: Added HMI object name issue.
May 29, 2015: Added the lack of absolute references in data blocks and of function blocks.
June 23, 2015: Noted improvement on assigning unique HMI object names. Noted the fix for jump labels with underscores.


great thanks.
I really believe classical step7 is more comfortable.

I've done large projects in both. TIA definitely has time-saving features, especially tag selection, better drag/drop of objects in ladder, etc. Hardware config is easier. But it definitely has its quirks.

I have TIA Portal V13SP1. Every time I try to make/change screen objects visibility tag the whole TIA Portal crashes!

Sorry to hear about your crashes. I have been fortunate enough that V13 SP1 has only crashed once for me (I have, however, opted to reinstall everything with V13 SP1 and not update the existing installation that had V11 and V12). Have you tried searching the support forum?

This topic has a recommendation to recompile the PLC project, then the HMI. Or alternatively, copy the various project components to a newly created project.

Here is a topic that mentions crashes when deleting tags from the HMI picture.

If neither one is helpful, I would recommend contacting Siemens for support on this issue. In the past, they have often recommended re-installing the software, very time-consuming. With TIA it often seems that project corruption can occur. Evidently, the software is then not able to handle that gracefully.

Thank you for gathering issues altogether. I have to comment to underscored jump labels, they are possible to use but you have to mark the label name with " ", e.g "_RUN" and then it will define it correctly to STL.

Hmmm... I can't get that to work for me. I can define a jump label starting with an underscore. But I can't seem to let TIA accept a jump statement with that in any way.

If I type the label name after the jump instruction it is regarded invalid.

If I start typing a quote as the first character after the jump instruction it will allow the label name (with the underscore) to be selected from a list; it will reject the result, though.

If I enclose the label name in quotes it is also rejected.

Anyone tried to connect via an eWon modem with the TIA portal?
It's a nightmare. We just installed a remote PC with the software and control it with teamviewer.
Many crashes and small bugs makes the TIA portal a true pain in the ass.

When it came to installing service pack 1 for v13 I reinstalled everything from scratch. I suspected that previous versions (I still had v11 and v12 as well but had no need for it) could contribute to stability issues. I have "only" seen one crash since.

Sorry, I don't have experience with eWon.

Came in this morning and all blocks except two showed they were different. The two were that last I worked on yesterday. Not a problem, as I am bench testing, and a recompile and download solved it. However, what about on a live plant, where it could be weeks, months even years between accessing the online code. Operations don't like you stopping stuff. If I didn't have a new HMI requiring the TIA Portal, I would not use it.

Me neither. I believe here is a problem with the code that performs the comparison. Sometimes the checksum is identical but the time stamps aren't. Very annoying as it won't allow monitoring.

hi, i am using TIA Portal v13. i am having a problem regarding alarms . here is a system where alarms exceed 1000 per day . in thus software max numbr of data records is 50,000 in statistics. but this is not enough for my observation . can anybody have an idea how to increase this number. because i ve to analyse the system month wise.

In older versions of WinCC alarm windows were limited to 1,000 alarms (probably a fixed limit for performance reasons). However, via the reporting system or by accessing the SQL tables any alarm could be accessed.

Not sure if this can be done with TIA Portal. Best to contact Siemens.

Dearstephen! in the statistics i can accesss upto 50,000 alarms . but its too less for monthly observation.the alarm window still shows a list of 1000 in TIA portal. i want the statistics numbr to be increased..

If this is a production environment, you really recommend contacting Siemens tech support.

However, via the reporting system or by accessing the SQL tables any alarm could be accessed.. the reporting system or SQL server to be accessed?

Obviously, my previous attempts to point you to the Siemens support system have fallen on deaf ears. Please head to Industry Support Siemens. Create an account and open a support issue with Siemens, they are the professionals and will be able to answer your question.

(I am not a user of WinCC in its new form, I can't help you with this, sorry.)

Another annoying thing is lack of "DATA VIEW" when non-optimized DB is open. Offsets are shown in reference to the beginning of the structure in the DB rather than beginning of the DB. Thus absolute address of the variable in the DB has to be always carefully calculated.
The workaround is to open monitor table then drag & drop tag from the DB. In the monitor table absolute address is shown in reference to the beginning of the DB.

Indeed, I miss viewing the absolute addresses as well. It seems to fit in with the notion of forcing engineers to use symbolic programming as much as possible. Thanks for the tip on going online. I guess you could achieve the same from the simulator if you're not connected.

Another thing that relates to the overwhelming preference of Siemens for symbolic addressing is that when selecting SFBs and SFCs it mostly is referred to by symbolic names as opposed to the absolute block numbers.

Thanks for the feedback. (I'll update the main post.)

I would love to try TIA portal if it would run without crashing all the time. Tried reinstalling and downlowding the latest verisons but no luck. Open a project and try to add a processor and crash every time. Siemens has no clue but at least V5.5 runs great. On my third try of an install but this time I got rid of LabView off my computer. My computer is a Dell M4800 with an i7 and 16GB memeory and 1.2TB of SSD so the processing power is not the issue.

The Siemens forums contain quite a few posts of people that experience crashes. Where possible I would try to install and run from a virtualized environment, as "clean" as possible. This is not always possible, I often use a CP5512 for Profibus and MPI, for example and I've never been able to get that to work.

If you can't run TIA Portal virtualized, perhaps you can install Labview that way? This way you'd still have access to it.

how to open .ZAP13
file in TIa v13???


(1) Project -> retrieve.

(2) Or you could rename your .zap13 archive to .zip and handle it outside TIA.

"Unique HMI object names" - "This leads to compiler warnings and can have unexpected (potentially dangerous) results in runtime."

This name conflict can occur only between the items of a Screen and the items of its Template and is only relevant in case accessing the screen items by name from a VBScript. Uniqueness is guaranteed only in the scope of 1 screen as it seems and the template is considered part of the screen - for Comfort, RT Advanced, MultiPanel etc. I think for RT Professional it is not so.

I agree with the quote in your comment. From experience I can say that it can indeed have strange side effects. Unintended events can execute so my rule of thumb is to correct those immediately.

What I find remarkable is that it does not appear to be too difficult to automatically assign unique names, as is the case if you copy objects on the same screen (although today I encountered that exact same problem with text objects that I copied within the same screen). TIA must have an internal table of object names as it performs these checks while compiling. It appears to be a bug, not intended.

To add to my last comment: I just tried this again in a test project (V13/SP1/Upd3):

I copied two buttons on the same screen and to another screen using copy/paste. Unique names were assigned. (The object called Btn_HM1_Reverse_Rq correctly received a _1 suffix: Btn_HM1_Reverse_Rq_1.)

However, this afternoon I did the same with a text object and this did not happen.

I just tried duplicating the same text field in the same project as this afternoon and now the text field was properly renamed from Text field_37 to Text field_33. Perhaps it interfered with an object name already present in another screen. Why it worked now, no idea. Seems an improvement but not entirely reliable (yet).

Hello everyone,

does anyone know if there's a workaround for this situation?

In SIMATIC Manager when retrieving a zipped project I could choose between overwritring or renaming it, with TIA Portal seems that this option isn't available.

It's pretty annoying having to create a new folder everytime I want to retrieve a TIA Portal project.

That's right, it just asks for the target directory.

Frankly, I handle archiving and retrieving outside TIA Portal.

To be fair, in classic Step 7 I never liked the auto generated directory names.

Have a Field PG-M with twice OS: XP and Win7. TIA Portal v11 basic is installed with single license. When upgrading to TIA Portal v13 with floating license I could not start the v13: Error Side-by-Side-config. Looked to sxstrace without finding solution.

Did Windows event viewer log anything useful? I would check there. It could be an error generated by the OS, not the Siemens software.

I reinstalled all versions of Visual C++. Did not work. Finally I have resinstaled/repaired the TIA Portal v13 and now it works :).

Glad you resolved it. Even just reinstalling TIA Portal is time-consuming.

When I try and add a tag to the HMI, it drops the whole portal and I have to restart.

Using TIA Portal V13 SP1

I would like to add to the list of TIA Portal V13 SP1 issues a lack of cross-reference overlapping detection. When you cross-ref. for example M10.3 bit is shows correctly access to this bit, when you cross-ref. MB10 byte it shows correctly access to this byte, BUT when cross-ref. MB10 byte there is now way to display also bit access to this byte. In Step 7 5.5 ther was an option "Show overlapping access" and it did the job done. In TIA Portal when you right-click some tag name there is an option "Show overlapping accesses", but it's always greyed out... or I'm doing something wrong ?

True, it should be part of the cross-referencing. I'll add it to the post.

However, you could still see overlapping access via the assignment list:

Nice blog !
I have done a few projects with TIA, like others i wouldn't use it if i had to make the choice.
Too many issues and design faults, i start to wonder if they can keep this in the air.
Siemens totally missed a change to build the best programming tool on the market with such a big development budget. If they had involved some serious PLC programmers during design instead of marketing people it.

They should never have left the concept of S7 and the use of mnemonics instead of compiling.
Compares are a nightmare, cross referencing is only capable of finding full addresses.
"Goto location" making fast navigation possible in Classic is no longer possible.
Conversion/Translation of LAD/FBD to STL is no longer possible.
Generate source files is no longer possible for LAD/FBD.
Multi-user possibilities are forgotten
Still no single step / breakpoints in 1500, not even in the simulator ! Almost impossible to find errors in complex SCL code.
Comparing projects not so easy.
Downloading datablocks... well the snap function brings some help but is it user friendly ? hell no.
One of the strong points of Classic is that YOU can decide if a download is safe or not. Now TIA forces you to download DB's or go into STOP to prevent you making errors ? Totally unacceptable for installations that may only stop once a year for maintenance.
Sometimes you can't compare code after installing an update, TIA suggest just to download all, yeah that's a nice choice if you don't know the data and code are equal.
Yes they want you to work symbolically and use optimized blocks, but then powerfull instructions to work symbolically is missing. VARIANTS bring some solutions but ALIAS or AS functions are missing.
AT function only works for exact the same structures. Object oriented options. Where are the smart ways to link HMI structures and to enable data engineering. TIA Openness seems nice at start but it takes too much effort to use at full power.
And yes it's still too slow... too many checkboxes, useless warnings etc.

Other then that it has improved a lot the last years but still there is a long way to go to become one of the best again.

I agree with some of your criticism. It is clearly developed from the ground up, which was necessary to obtain the level of integration they were looking for between all the components. In doing so, they have made several poor design choices. No doubt that the next versions will address some of these issues, but it remains full of quirks that are sometimes difficult to overcome. (It seems to me that the developers may not be all that well-versed in actual hands-on programming in the field.)

I haven't had time yet but I intend to add some points you brought up and the previous commenter. I'd like to submit these issues to Siemens eventually in the hope it will catch the attention of someone.

I have to thank Siemens engineers for this great software. I have become very familiar in taking full images of HDD and restoring whole computer to earlier stage. Also playing "How many crashes can be experiances durind a day" is very popular game.... TIA is garbage.. no matter what version talked.

Do you want to build a factory with it LOL...

I mirror my hard drive daily and often carry a spare drive ready for installation. Can't afford not to be able to work.

I do believe that version 13 with latest service pack and updates has matured and is more reliable. But it seems that once a problem occurs it is difficult to solve that.

Used Step5, Step7 and now TIA V11,V12 & V13 over last 15 years. TIA has so many problems it makes life very difficult. I have experienced many of the bugs reported above plus others - like safety compile just hanging. Even most elementary stuff like search/replace still doesnt work properly after 3 versions! It's like they decided to take everything that was good about Step7 and NOT include it in TIA!
How can a safety program in Step7 take few minutes to compile but in TIA takes 30mins - full compile is much longer! Embarrassing to be working with client, need to make a simple change and then wait nearly and hour before its's compiled/downloaded - are we moving forwards or backwards with this software? - Migration can also be problematic - fine for a simple project but anything more involved and you are in for hours and hours of pain! the few good things about TIA are far outweighed by the bad, countless hours have been lost due to crashes and strange behavior.

Agreed, I prefer classic Step 7.

Talking about creating friction on a job site. The constant need for recompiling data blocks requiring systems to be (partially) shut down is outright embarrassing.

Also lost the option to view monitored variables with Binary view,

WinCC Advanced v13 If I use tags from created structures in recipes they don't work don't change value. You have to asign tags directly.
Other thing I noticed was when using topology with profinet sinamics g120 inverters seems that does not detect incorrect cable pluged in port so if two cables are swapped on two ports on inverter in topology look everything ok. If I connect online with old step 7 5.5 I get error.

With the G120, isn't that the same for any Profinet connection, where you (optionally) can configure a specific communication partner?

It is cumbersome to find a block by number. I want DB2020, why should I have to navigate through the project tree to get there?
Why can't I cross-reference a tag with slice access?
If an instance data block is referenced, why doesn't the cross-reference allow me to navigate to the instantiation point?
Why are some tables able to be copied to csv format and not others?
Why did updating from sp1 upd7 > upd8 eventually end up with the requirement to reinstall windows? If TIA Portal was meant to be operated from a squeaky clean or virtualized environment, then why don't they just admit it up front and warn you?

Some of those points are related to the desire to push the symbolic access. I wish they would leave that up to the user.

And there are, unfortunately, still several inconsistencies as you mention. This product is still not very mature, in my opinion.

As far as reinstalling Windows, I haven't experienced any issues updating TIA. However, should something go wrong during the installation it is often very difficult to correct.

good explaination

All this applies to Wincc Professional/Panels
You can also add that is not posible to create arrays of user defined types elements in Wincc, neither use indirect addressing with user defined types.
Also you cannot define mixed structures (some variables are internals and others are for a device like when you sea a structrure in Wincc that comes from a PCS7 block). You cannot leave gaps in the addresses (for ssmple becouse all the information i need are in Words 10 an 24 of the structure)

very good

Great thanks,
I wonder if we can transfer a HMI program written in tia v.13 to the wincc comfort( in step 7)?
IS this possible to transfer all the objects and data of a panel in tia to another software?

TIA Portal has rather poor exporting options. As far as I know you it doesn't support exporting that kind of data. Alarms, texts, recipes, etc can be exported. But that's about it.

Rick Bergis: Press F7 and type in DB2020, wait till the list populates and shows you the db, then press enter, then TIA portal will open the db and navigate to it in the tree view.

At my current consult job at the customers, we are using TIA V13 Sp1 Upd9.
When we need to full compile the panels, it takes roughly 40 minutes on my HP ZBook, i7 CPU, 32 GB ram, it uses up to 8 GB of ram during the compile, and only ~10% cpu.
So this project file i am curently updating for one cpu, has 5 panels (one is a panel pc / RT), so it has been compiling for 3 hours soon, and i did miss import 5 tags in one of the panels, so i had to restart its compile and add another 40 minutes of waiting.
Sure, i opened another project for another cpu and worked on it, still annoying having to wait 40+ minutes if a full compile is required.