Ignition 8.1.18: Major Scripting Update, Perspective Upgrades, and Other Improvements

Ignition 8.1.18

 

Can you believe it? Summer is right around the corner even though it feels like 2022 just barely started. Following the hefty release of Ignition 8.1.17, the release train was primed to roll into the station carrying another major update. Ignition 8.1.18 brings significant improvements to scripting in the designer, feature updates to the Perspective Module, and other improvements in Ignition.

 

Scripting Just Got Better

For many users, scripting is a big part of the Ignition platform. With the help of some key feedback from the Ignition community, Ignition 8.1.18 delivers significant improvements to the scripting editor.

Improved Editor

With Ignition 8.1.18, the Script Editing component has been completely replaced. The updated editor is smarter and more aware of DPI scaling, and it comes with some quality-of-life improvements.

First up is an inline find-and-replace feature when you press Ctrl+F (Cmd+F for MacOS). Prior to the update, the search function would appear via a modal or popup dialogue. With this new editor, you can perform a search without additional windows or obstructions to your workspace. As a bonus, there are new data match options to refine your search even further. You can also use Ctrl+R to replace specific text, or Ctrl+G to jump to a particular line.

 

Find-and-Replace

 

Two additional quality-of-life features are code folding and visible whitespace. Code folding gives you the ability to collapse class and function bodies in the editor, which helps you to focus on certain sections of code. Visible whitespace is particularly useful for Python. In Python, the use of indents has great significance as it defines blocks of code but keeping track of indentation within a script can sometimes be difficult. With 8.1.18, you can show whitespace by including an arrow that represents the indent, making confusing indentation errors a thing of the past.

 

Show Whitespace

 

Autocomplete Me

The new editor features an improved Autocomplete popup. Those of you who are heavily into scripting will be completely overjoyed.

Enhance Type Completion

In 8.1.18, variable and parameter types now have type (as in, datatype) awareness. In various contexts, such as extension functions, parameter types are suggested and inserted automatically. For example, in a script transform, when you type quality, the new feature is aware of the parameter type and displays methods and properties related to QualityCode.

 

Autocomplete

 

Prior to this update, you would have to either check the results of a method passed into the function dir() or refer to the appendix section of our user manual to get the variable and parameter type information you’re looking for. Both solutions also required you to copy over the method or property from one place into the location of your script. The new feature dramatically improves the scripting workflow and saves a considerable amount of time. System functions and Python’s top-level built-in functions are currently part of the enhanced type completion. Project and Python standard library scripts are planned to follow.

Parameter Completion

Along the same vein of enhanced type completion, the new script editor offers parameter completion assistance. When the feature is enabled, it presents a list of functions based on what you have entered in the script editor.

 

Parameter Completion Assistance

 

Once you select a function, all associated parameters are automatically filled into the current line. As you tab through each parameter, you’ll see dedicated tooltips that provide a brief description of that parameter. This new feature aims to improve your quality of life and development speed.

Ready, Set, Script Action

In addition to the Autocomplete, our development team revisited the docstring in the script editor window. Those who have worked in the scripting window are familiar with the purple text that outlines argument functionality, but unfortunately the text took up a lot of space and couldn’t be removed or edited, which could sometimes cause confusion for new users.

 

Pre-8.1.18 Tag Script Editor

Tag Event Script editor, prior to 8.1.18

 

In 8.1.18, we’ve removed the docstring from the script editor window and given a dedicated, collapsible panel in the interface. The script editor is now free of that purple text, improving clarity and giving you more space to work with.

 

8.1.18 Tag Script Editor

Tag Event Script editor in 8.1.18

 

Fresh New Perspective Updates

As always, Perspective receives some fresh new updates. Let's dive in and see what Perspective in Ignition 8.1.18 has in store.

A New Container

Perspective is getting a new container component called the Split Container. This new container is ideal for data-dense screens. As the name suggests, the container is split into two sections divided by a user-adjustable slider. The container can be oriented either horizontally or vertically, and items in either section of the container can be resized depending on the placement of the slider.

 

Split Container

 

Other Perspective Updates

  • Added a new session property, session.props.pipes.overlapGap. This gives you the ability to define the gap space when P&ID pipes overlap.
  • Added new toggleableFilter prop to the toolbar configuration of the Alarm Status Table and Alarm Journal Table. When false, the text filter is always open.
  • Added the script-callable method refreshData() for forcing a refresh on table data in either the Alarm Journal Table or Alarm Status Table. Useful when the value of refreshRate is large enough that the data does not update within a reasonable time frame.
  • Added the prop interaction.panAndZoom.freeRange to the Power Chart’s Pan and Zoom mode. When the prop is set to true, pan/zoom actions will directly modify the overall time range of the chart by setting new config.startDate and config.endDate values. This will then force the chart to display the new corresponding historical data.
  • Added a clearUploads() scripting function to the FileUpload Component. This will reset the component back to its default state for uploading new files.

 

Other Great Improvements

Along with the update to the script editor and the Perspective Module, Ignition 8.1.18 delivers additional improvements that warrant some extra attention.

Alarm Notification

  • If multiple remote notification profiles are targeting the same remote gateway, the settings for alarm event processing (Retry Delay and Max Queued Transactions Size) will use the max between all the profiles with the same remote gateway.

Reporting

  • Added the property Bypass Image Cache to the Properties section of a report. When this property is set to true, image files under a specific file path can be replaced whenever necessary, and newly generated reports will display the new image.

BACnet

  • Added the system.bacnet.readRaw and system.bacnet.writeRaw scripting functions, which allow any object/property combination to be read/written. These functions serve as an escape hatch for objects not explicitly supported by the BACnet driver because the functions accept and return types used by the underlying BACnet4j library instead of translating to OPC UA then into types supported by tags.

Designer

  • Added a right-click find-and-replace menu option in the Project Browser for views, transaction groups, windows, templates, and named queries.
  • Tag tooltips now display when hovering over tags in the Tag Browser.

Gateway Config

  • Added a Filename Pattern property under the Scheduled Backups Settings section that allows users to define customizable filename pattern with optional placeholders such as ${os}, ${version}, ${gatewayName}, ${edition} and ${timestamp}. In addition, this new setting determines the filename of manually created gateway backups.

 

Until the Next Train …

You can learn more about these updates and other improvements in our release notes and user manual. As always, we invite your feedback about what you’d like to see in upcoming releases. Ignition 8.1.19 is already winding its way to its next stop with more improvements and updates!


AUTHOR
Arnell Ignacio
Marketing Technology Specialist / Inductive Automation
Arnell is the IA Blog Postmaster General and a Marketing Technology Specialist for Inductive Automation. He has over 14 years of experience in digital, content, and strategic marketing. Arnell’s experience spans across B2B organizations that specialize in M2M solutions, embedded hardware, industrial wireless technologies, and industrial controls software as well as the nonprofit sector. In his spare time, Arnell loves spending time with his family, enjoys being a musician, and is passionate about live sound amplification and woodworking.