Ignition 8.0.8: HTTP Header Changes, Auditing Updates, Perspective Alarm Journal & More
The first Ignition release-train version of 2020 has arrived. Ignition 8.0.8 is here carrying a full cargo of community-requested updates and fixes, plus a new feature that should be a pleasant surprise to many of you. As usual, there are too many updates to mention in one blog post, but I’ll cover the highlights below.
Gateway HTTP Headers and Embedding Perspective
We take security seriously, as shown by our recent blog post discussing the Pwn2Own event. This release also contains a noteworthy security improvement in that we made changes to the default HTTP header values on Ignition Gateways, providing more secure default values.
For most installations, this change won’t really have a noticeable impact. However, if you’re embedding a Perspective session in another web-based application, say via an iframe, it’s possible that upgrading to this version may cause you some issues.
While we technically don’t support embedding Perspective sessions, we wanted to provide our users a way to maintain this functionality after upgrading. Thus, these same headers are now user-configurable, allowing you to maintain any prior functionality that this update may have interrupted. We have a Knowledgebase article here detailing the new defaults, as well as demonstrating how to change them.
New Device Drivers
We’re excited to announce that this update features two new updates to our driver library: Omron FINS support and a Programmable Device Simulator.
Omron FINS Drivers
First up is a new driver designed to work with FINS, an Omron protocol. We rolled out this new driver quietly on our forums first to collect some initial feedback. The driver is at a point where we’re ready to introduce it to a wider audience, and as always we’re looking for more feedback.
We already have a number of improvements in progress too. For example, extracting values from a device with the driver currently requires manually creating a tag in the Designer, but we’re already working on a Gateway page that will allow you to configure addresses easily, as well as import configurations from a file.
If you have any feedback on the driver, please let us know through our post on the early access forums.
Programmable Device Simulator
For years, Ignition has shipped with built-in device simulators, providing simulated tag values in cases where the Gateway doesn’t have access to a physical PLC. A lot of functionality in Ignition requires one or more tags, and tags with automatically changing values provide a better simulated experience. These simulators worked great for our training classes, demonstrations, and those folks just getting started with Ignition.
While the simulators were nice, they were extremely limited in their usefulness since their behavior was not configurable at all, nor could you add your own tags to the device, leaving you stuck with only the tags we provided. Thus if you wanted to simulate a particular process, the legacy simulators were not very useful.
In 8.0.8, we’re introducing the new Programmable Device Simulator, which directly addresses the limitation of the older drivers. This new simulator is completely configurable, allowing you to create your own tags, and determine how their values should change over time. Now you can configure the exact pathing of the tags in the device connection, allowing you to truly replicate the tag structure for any of your devices.
Using the new simulator is simple. When creating a device connection on the Gateway, select the Programmable Device Simulator from the list of options. Once the device connection has been created, you can edit the program, which basically defines the tag paths and determines their values.
Additionally we bundled the tags from the legacy simulators (SLC, Generic, and Dairy) into the new simulator driver as loadable programs, allowing you to load the settings for one of our older drivers and then manually modify their behavior. This is a great way to learn how the new simulator works, providing an opportunity to tweak the loaded configurations.
Programs in the simulator work off of time intervals. Each row in a program represents a tag at a particular time interval, and later rows will override the value set by previous rows. So a tag can have a value of 1.1 at interval 0, 2.2 at interval 1, and so on.
The program transitions between each time interval at a consistent rate, and that rate can be modified from the Designer and sessions, via the control tags. Each simulator instance receives its own set of control tags that allow for the program to be modified from the runtime. Thus you can reduce the base rate, pause the program, reset it, and make it repeat.
Lastly you can export the program to CSV, providing an opportunity to edit the program externally, before loading it back in.
Further Auditing Improvement
In 8.0.7, we introduced remote audit profiles and synchronization options. Continuing the trend of auditing updates are two community-requested improvements.
Auditing in Perspective
Certain actions in a Perspective session can now be recorded automatically into an audit profile (assuming auditing has been enabled in the project). Specifically, tag writes from any binding type, logging in or logging out, and any authentication level changes in the session will now be recorded into the audit profile. Previously, Perspective didn’t use the auditing system at all, so this is a huge improvement.
Looking Ahead
As a teaser for the future, we’re looking into adding auditing at the gateway level, meaning we want the audit log to record changes that occur to gateway configurations. We’re not ready to release this functionality yet, but look forward to it in the near future.
Perspective Alarm Journal Table Component
Finally, we see another beloved Vision Module component ported over to Perspective: the Alarm Journal Table component.
Similar in form to the Alarm Status Table component, with the main difference here being that the component can directly retrieve records from an alarm journal profile instead of looking at currently active alarms. We used Vision’s implementation as the basis for the Perspective component, with a few slight improvements.
Vision’s Alarm Journal Table component had a fairly narrow feature set. Any runtime configuration changes you wanted your users to make had to be added manually. That meant that if you wanted your users to be able to see events from different points in time, you needed to add a calendar component of some sort and configure the bindings yourself. The same can be said for adding priority filters or the ability to search for alarms; other components must be used for runtime configuration.
While easy to configure, it was somewhat troubling for us that our users needed to configure these small functionality improvements themselves. With Perspective’s table, we decided to add these features directly into the component, making the component more approachable initially.
Perspective Style Editor 2.0
The dedicated style editor in Perspective was functional but lacked polish. It provided a means to start manipulating styles on components, but could be cryptic at times. A common question is “What do I type into Font Family?” since the UI didn’t give you much in a way of a hint.
Ignition 8.0.8 unveils the first major reiteration of the style editor. We added a slew of new dropdowns for properties that had a fixed number of options (including Font Family), so you no longer have to guess what to type. In addition, we added a summary of active styling options currently configured (not to mention we added visual aids to help illustrate what many of those settings represent).
Our hope is that these small changes to the style editors will make them friendlier for users new to Perspective.
More Updates on the Way
For more information on the 80-plus changes in 8.0.8, see the release notes or the Ignition User Manual. Tell us what you think and what you’d like to see in upcoming releases, and keep an eye out for 8.0.9 to be rolling down the tracks soon.