Ignition for FactoryTalk View Developers
As we have been saying at Corso Systems since 2011, the manufacturing world is ready for Ignition. We are finding more and more people asking to move away from other platforms with conversions to Ignition projects. We have done a large number of conversions to Ignition at this point, and figured it was time to cover some of what it takes to move from a FactoryTalk mindset to Ignition.
Operating Systems
The first major difference between FactoryTalk View and Ignition is FactoryTalk View only runs on Windows. If you aren't using Windows as your OS, then you won't be using FactoryTalk View. Ignition supports Windows, Linux, and MacOS. Cnything you can throw at it will run Ignition. Even Raspberry Pi, Jetson Nano, some PLCs, and other industrial hardware support running Ignition natively with Ignition On Board.
Licensing
FactoryTalk View is typically licensed by the number of displays at the server level, and however many clients you want to use. FactoryTalk View does offer an unlimited display license for the server, but you still need to worry about the number of clients. You also need to consider the architecture, local station, network, or network distributed. With Ignition, you get it all with your license, without having to worry about display count, tag count, client count or anything else. If you are using an Edge license, you will have some limitations like a single project, database access, and reporting. Think of Edge like FactoryTalk View Machine Edition, and a full Ignition Gateway like FactoryTalk View SE and you are on the right track. With Ignition, there’s no need to worry about adding new clients—simply open them and your licensing is covered. If you are using ViewPoint for mobile or web-based access you will want to look into Ignition's Perspective module. Perspective will give you fully supported access into your system from mobile devices or web browsers.
Training
In the Rockwell Automation world, training is handled through distributors, or at annual events like TechEd. You can also browse a couple of forums online, or read the manuals to get an understanding of how everything works. These options can be costly and/or resource intensive. Inductive Automation offers their Inductive University training for free. It covers everything in their product offering at a high level of detail. After completing the Inductive University training, you will be ready to create a project with what you’ve learned. Some of the more advanced topics will take some effort to understand and implement, however you can get started without spending anything. If you want to have a more "typical" training experience, Inductive Automation offers classes at their headquarters, in both the standard and advanced levels. At Corso Systems, Inductive University is the first task most of our employees complete during onboarding.
Clients
In Inductive Automation Ignition, you can simply go to the gateway to launch your projects. Once launched from the gateway, Ignition will save icons to your desktop. If you have built the project with the Perspective module, you have the option of visiting a URL as well. You can also use the URL with Perspective to access the projects on your phone/tablet, or use the native Android or iOS apps as well. You don't need to go through a wizard to generate a file to launch the clients.
Design
Just like FactoryTalk View Studio is a separate program for designing your application, you use Ignition's Designer for designing in Ignition. The Designer gives you access to all of the backend tools you need to build and deploy your projects. The differences between FactoryTalk View Studio and Ignition’s Designer are are too numerous to cover in this post, and will generally be project specific. If you have questions on anything, please feel free to reach out and ask us!
Redundancy
Redundancy is similar on both platforms. Install the software on two servers, configure them to talk to one another, and handle failover appropriately. Any major differences are implementation specific and covered well in each platform's documentation.
Windows and Templates
In FactoryTalk View, what you would call displays are called windows in Ignition. You can have main windows which take up the whole client display, docked windows which are "stuck" to a portion of the screen, or pop-up windows you can move around within the larger client window. Ignition provides the same level of flexibility as FactoryTalk View for how to build your application, but without the headache of limiting your number of displays to meet your license requirements. What you would call Global Objects in FactoryTalk View, you call Templates in Ignition. Unlike FactoryTalk, none of these templates will count against a licensing limit, and you don't need to place them on a window to use them elsewhere in the project. Ignition templates exist as their own entities, and can be used across projects with zero issues. You also never have to worry about right clicking on the object and having to select "Global Object Parameter Values" in Ignition!
Server Management
Think of the Ignition Gateway as a much more powerful version of the FactoryTalk Directory. In the Gateway, you manage security, PLC connections, alarm notifications, enterprise level gateway communications, database connections, etc. You can lock down access to the gateway based on user credentials.
Tags
Both environments have a similar concept of tags. You create HMI/SCADA tags to map to values in the PLC. Tags allow you to represent all of the data you need in the system. Both platforms support PLC tags, memory tags, and all of the various data types. The major difference is if you are using Ignition's Historian vs. FactoryTalk Historian, your historical tag configuration is done in the tag configuration rather than in the Historian configuration. Ignition is a much more intuitive system, and after you have completed a project you will likely no longer need to look at the manual for every new project.
Scripting
FactoryTalk View uses VBA as its scripting language. Ignition uses Python. If you are new to Python there will be a learning curve. But, after having worked with a majority of the popular languages used in software development, Python is very easy to pick up, even as a first language. Python also has more support resources on sites like StackOverflow since it is so widely used. For components and properties, Ignition has a similar Expression binding environment, giving you easy access to all of the common programming tools you might need in a simplified interface. If you need to do anything advanced, you can always go into the scripting language. This is no different than FactoryTalk View, although you can get very creative with the flexibility offered in Ignition and accomplish almost anything you can dream up with the Expression Language.
Parameters and Bindings
If you are using Parameter Files in FactoryTalk View, you will need to look at Custom Properties in Ignition. Custom Properties allow you to pass parameters into windows, components, templates, or anything else you might need to give dynamic values. It always feels more difficult to go back to parameter files in FactoryTalk View after using Ignition, so the transition to custom properties is an easy one. Want to really have your mind blown? What parameter is #7 referring to on your window? Oh you need to look that up? What if you could just call it "ProductionLineNumber", or something you can actually understand at first glance? This is the default behavior in Ignition. One of the many ways Ignition makes your life easier. You can also bind all of the properties on window components to create dynamic windows. Options like visibility, enabling the component, position, color, etc. are all accessible. You can also use components like template repeaters and template canvases to simplify development on systems with many similar pieces of equipment—all without having to create multiple screens with different configurations. If this is something you have done in FactoryTalk View or another SCADA platform, you will know the frustration here, and will have an "A-Ha!" moment when you see what is possible with Ignition. If not, simply know that Ignition can make your life very easy when working with multiples of the same type of equipment.
Database Access
You "can" connect FactoryTalk View to a database, however youll have to get deep into VBA scripting to do much more than simply push logged data or alarms to the database. FactoryTalk View isn't designed to be database-first like Ignition. Ignition makes it much easier to connect and use databases. If you are coming from FactoryTalk View, this will be new to you. For more information on databases in general, check out Inductive University. Ignition has a handful of ways to get data into and out of a database. These range from easy (logging data using transaction groups), to more advanced tasks like writing custom SQL queries in scripts. For what it's worth, we haven't run into anything we can't do in Ignition using databases.
Alarms
Both environments have a similar concept of alarms. FactoryTalk View and Ignition allow you to store alarm history in a database, and create as many alarms as you need. The major difference in Ignition is that alarms are configured at the tag level, and you don't need to go into a separate alarm and event server to configure them. You also have more options for acknowledging alarms, and a robust alarm notification engine to send voice, email, SMS, and Twilio messages without having to install third-party software like Win-911 or get heavily into scripting. Simply choose the notification type from a drop-down, and it will go into the pipelines you configure for notification.
Animations
In Ignition, you will want to look at a component's properties to handle most of the things you would see under the animations tab in Factorytalk View. Component properties like visibility, color, position, width, height, etc. are readily accessed. The main difference is that the "Touch" animation is handled with scripting in Ignition. Everything else will let you bind expressions similar to how you would proceed with FactoryTalk View. You can also change the values of these bindings with scripting in Ignition, giving you even more flexibility.
Security
If you are using Active Directory for your domain, and want to tie your SCADA user credentials to that, FactoryTalk View and Ignition are roughly equivalent. You will use the Ignition Gateway to manage users and roles instead of the FactoryTalk Directory. You can build your security structure in Active Directory and have similar results with either product. However, if you are not using Active Directory, there are some differences. Ignition manages user accounts internally in this case, and does not require any configuration of Windows-based users or groups. Users can be assigned specific roles—again managed in Ignition directly. Ignition allows you to create roles and these roles can be named anything you desire. In contrast, FactoryTalk View gives you a limited number of security codes you can use to define roles in the application.
Once you have roles assigned in either platform, you can secure the application so that specific roles can do specific tasks, and users without those roles will not be able to execute those tasks. The major contrast between FactoryTalk View and Ignition comes when you get into Ignition 8.0 with Perspective—with the ability to use SAML providers for single sign on. This functionality is not included in FactoryTalk View.
One area where Ignition will require a little extra effort compared to FactoryTalk View, is if you are using access tied to specific computers or computer groups. You can do this in Ignition through scripting to get the name/IP address of the client computer. The easiest route to accomplish this in Ignition is to grab this info in a project startup script, then set user credentials based on it. You can also do this if you need to load specific information on a computer at a particular machine as well.
Wrapping Up
We like FactoryTalk View. We love Ignition. Converting between the two platforms is a relatively straightforward process. Once you understand the differences and how to implement in Ignition, you will be well on your way to fully realizing how digital transformation can change your business.