Ignition 8.0 – Making the Leap

We just went through our first large scale 7.9 to 8.0 upgrade with one of our customers. While it went smoothly, there were a couple of hurdles we ran into. Some may be fixed by the time you upgrade (we used 8.0.2), some might be weird bugs that you won’t encounter, and you might run into new and exciting things we never discovered!

The Things That Worked

95% of everything worked with either zero, or very minor changes required. First we updated some of the tag paths in bindings to include the tag provider. This would have been smart to do originally, but we didn’t always go to that level of detail. It appears to be an issue with 8.0.2 where the project’s default provider doesn’t map automatically, so this might be fixed in 8.0.3 and beyond. Basically if you see a wall of red, check your provider first.

Buttons, scripts, graphics, animation, our built-in system health notification system, everything you need to run the plant worked beautifully. Database connections, PLC connections, and generally everything worked as expected. This is no surprise, generally upgrading Ignition is a very easy process.

The one workflow change we ran into was moving from shared templates in 7.9 to global templates in 8.0. This requires you to use a global project to make adjustments to templates rather than making them in the projects themselves. Much more user friendly once you have everything in place, just requires a moment of “oh, yeah, I need to open up the global project” every now and then. The same applies to the production model configuration for the MES Modules. If you are on a fresh 8.0 installation you can set up your projects however you wish, if you are upgrading you will get this project and everything that was previously shared moved into it accordingly.

The Things We Knew

In 8.0.1 there was an issue with nested UDT parameters. Was supposed to be fixed in 8.0.2, seems like it is 8.0.3 or beyond where it will no longer be an issue. Basically instead of passing the values of the parameters through the lower level UDTs, it passes the parameter as the value so {PLC} becomes “{PLC}” instead of “Line 1 Controller”. If you see bad quality on tags using nested UDTs, delete and re-enter the bindings and you should be good to go.

The Things We Didn’t Know

Some labels across a handful of projects that did not previously have mouseover text bindings showed up in 8.0 with mouseover text bindings, bound to tags. Somethings these tags existed, and we saw no overlays, sometimes we ran into the tag provider issue and saw an overlay. These were easy enough to clear out, just be aware in the conversion you may see some new bindings here and there.

The Things That Broke

We we informed by tech support we were the second people to see this, which given how long 8.0 has been available means it is a rare problem. The gist is in some projects, project properties broke the ability to save the project when making changes. In our case it was adding in auto-login, and changing from the default to “Push” updates automatically. When we made these changes we got an error about not being able to find module children. Closing and re-opening the designer fixed the issue with saving, but the values weren’t changed. When we called tech support, we found out the issue was in the conversion process, some of the project settings got put into a folder called N)_renamedN where N was 1, 2, etc. depending on the order in which it was saved.

The fix was simple, simply go into the projects in the file system, delete these files and re-open the designer, which fixed the issue entirely. This was not obvious, so luckily it is a rare thing you probably won’t run into.

Overall Impressions

Going to an entirely new version of software can be scary. Not wanting to be too optimistic I anticipated running into something more complicated than the couple of minor things we found. As always, Inductive Automation’s support was on top of everything when we had questions, and the forum was helpful for understanding the few things we ran into. We haven’t yet moved to 8.0.3 as we prefer to use stable releases rather than nightly builds, however I think these issues should be resolved moving forward, and we will be able to upgrade even more smoothly in the future.