FactoryTalk Optix is the next generation of visualization software from Rockwell Automation, meant to provide a higher degree of customized development with its integrated C# support and flexibility for HMI and SCADA applications.
This blog series covers the essentials to creating your own HMI and SCADA applications using Optix as well as some helpful examples for common applications.
Installation
FactoryTalk Optix Studio is installed via FactoryTalk Hub, and it is the IDE used to program Optix projects. You can either download the IDE application or utilize a web-based IDE if your license supports it.
The Optix Runtime tools are also installed via FactoryTalk Hub, and they are required on any machine that is going to run an Optix application.
![FactoryTalk Optix Hub](/Portals/0/2024_web_images/1-ft-optix-hub.png)
FactoryTalk Hub: which hosts a number of FT applications (including FactoryTalk Design Studio for Optix)
Licensing and Pricing
Optix licensing is done on a token-based system, with more features requiring more tokens, and, therefore, a larger license. Generally speaking, the largest contributors to token usage are multiple concurrent web clients, OPC-UA connections, or database connections.
Examples of features that affect the sizing of your application include the following:
- Controller connections
- Multiple web clients
- Alarming
- Recipes
- PDF reports
- Data logging
- Database connectivity
- OPC UA connectivity
For more information on tokens and licensing, please see Rockwell’s documentation.
Presentation Engines
Presentation engines are responsible for rendering and displaying UI elements during runtime. There are two available presentation engines that can be used simultaneously – the native presentation engine and the web presentation engine.
The native presentation engine launches the project in its own window as an application.
The web presentation engine hosts the application on a web server, accessible via the defined web page. Multiple concurrent web clients can access the application (if multiple connections are defined in the web presentation engine), but more concurrent clients require more tokens.
Optix can make use of session-specific tools to allow concurrent clients to have different screens/panels open, have different users logged in, and display different information, provided that the Optix project was designed with multiple clients in mind.
![Optix Presentation Engine](/Portals/0/2024_web_images/2-optix-presentation-engine.png)
An example configured Web Presentation Engine
Style Sheets
Style sheets allow the definition of default colors, shapes, sizes, and other UI element configurations. A project’s style sheet can be swapped during runtime. Some properties can be defined both in the style sheet and in an individual UI element. In the case that a property is explicitly defined for an individual element, it will override the style sheet.
![Style Sheet Example](/Portals/0/2024_web_images/3-style-sheet-example.png)
An example Style Sheet
Screens and Panels
FT Optix uses screens, panels, and popups as the main methods for displaying UI elements. Screens and popups can both contain multiple panel loaders, which can be used to dynamically change displayed content when a defined action is performed, such as hitting a button.
To see panel loaders being implemented to create a dynamic device sidebar that changes what device it controls (and the associated UI elements) at the push of a button, stay tuned for our upcoming FactoryTalk Optix - Dynamic Device Faceplate blog post.
![Panel Loader](/Portals/0/2024_web_images/4-panel-loader.png)
A panel loader that is a part of the main overlay of an application. It has the ability to load either a Motor or a GroundRack panel into the panel loader.
A runtime instance with the "Motor" panel loaded into the panel loader
![Rack Panel Loaded](/Portals/0/2024_web_images/6-rack-panel-loaded.png)
A runtime instance with the "Ground Rack" panel loaded into the panel loader
Converters
Converters allow you to modify variables dynamically based on other variables. For instance, a key-value converter could change the text displayed in a string variable when a different integer variable’s value changes, and an engineering unit converter can be used to scale variable values differently.
There are more converter types and use cases that were not mentioned above. For more information on converters, stay tuned for our upcoming FactoryTalk Optix - Variables, Attributes, Dynamic Links, and Converters blog post.
![Converter](/Portals/0/2024_web_images/7-converter.png)
A Key-Value converter that parses an integer out into valve status strings
Dynamic Links
Dynamic links are used to define relationships between two or more variables or attributes within the FT Optix project. Complex dynamic links allow the use of built-in converters, allowing further customization of UI elements.
For further information on Property Bindings, stay tuned for our upcoming FactoryTalk Optix - Variables, Attributes, Dynamic Links, and Converters blog post.
For an example of leveraging complex dynamic links, stay tuned for our upcoming FactoryTalk Optix - Dynamic Device Faceplate blog post.
![Dynamic Link](/Portals/0/2024_web_images/8-dynamic-link.png)
A dynamic link that performs mathematical operations on several variables to return an adjusted distance
Events
Events call methods when a specific trigger happens, such as a button being pressed or a variable's value changing. Events can be added onto most UI elements, and they can trigger multiple methods.
![Example Event](/Portals/0/2024_web_images/9-example-event.png)
Methods
Methods are called by events. FT Optix has a number of built-in methods, but custom methods can be defined through NetLogic as well.
You can also create pre-defined method invocations, which allow the calling of methods with pre-defined parameters.
![Methods](/Portals/0/2024_web_images/10-methods.png)
A list of common methods available in FT Optix
![Method Invocation](/Portals/0/2024_web_images/11-method-invocation.png)
A custom method invocation for renaming a MySQL Database table
NetLogic
NetLogic allows C# code to be integrated and run in an FT Optix project. FT Optix can call parameterized methods, and they can send and receive variables with the C# project.
For further information on NetLogic, stay tuned for our upcoming FactoryTalk Optix - NetLogic Overview and Examples blog post.
![Net Logic](/Portals/0/2024_web_images/12-net-logic.png)
An example NetLogic snippet that returns a localized time
Data Stores
Data stores are databases used to store values from different loggers and NetLogic (if you so choose). You can either use an embedded database, which is a simple SQLite database created with minimal overhead, or you can choose to create a connection to a database (SQL Server or MySQL). Other database types may be supported through ODBC connections, but they have not been tested or confirmed yet.
Loggers can be linked directly to a data store and will automatically configure tables for themselves on said database.
![Data Store Table](/Portals/0/2024_web_images/13-datastore-table.png)
An example data store with an "Alarm Logger" linked to it, auto generating the necessary tables
Communication Drivers
Communication Drivers allow defining communication paths to PLCs and other devices, as well as the importing of tags and other information to be used in the Optix project. A list of the currently available communication drivers is available below.
![Available Comm Drivers](/Portals/0/2024_web_images/14-available-comm-drivers.png)
All available communication drivers in Optix
![Comm Driver](/Portals/0/2024_web_images/15-comm-driver.png)
The tag importer display from an example Rockwell Ethernet Driver linked to a PLC
Template Library
![Template Library](/Portals/0/2024_web_images/16-template-library.png)
Optix's Template Library
The template library stores templates created by Rockwell and allows you to create/import your own libraries as well. Some examples of useful templates that are included with Optix are:
- Alarm Grid
- Alam History
- Alarm Banner
- User Login Popup
- Confirmation Dialog
- Date and Time Display
- File Selector
- File System Browser
- Alarm Importer and Exporter
- Alarm Logger
Read the Other Articles in this Series
Learn more about our experience with Rockwell FactoryTalk and contact us today for your next project.