Ignition SCADA

Last updated
Developer(s) Inductive Automation
Stable release
8.1.44 / October 22, 2024;2 months ago (2024-10-22)
Written inJava
Operating system Windows, macOS, Linux
Type SCADA
Website inductiveautomation.com/ignition

Ignition is an Integrated Software Platform for SCADA systems released by Inductive Automation in January 2010. It is based on a SQL Database-centric architecture. Ignition features cross-platform, web-based deployment through its integrated web server platform Perspective [1] , and also dedicated client software utilizing a Java Swing client called Vision [2] . The Ignition platform has three main components: the Ignition Gateway, the Designer, and the runtime clients. Independent modules provide separate functionality in any or all of the platform components. Ignition SCADA modules provide features such as: Real-Time Status Control, Alarming, Reporting, Databases, Data Acquisition, Scripting, Scheduling, MES, and Mobile support. [3]

Contents

Awards

Ignition received the 2011 Duke's Choice award at the JavaOne conference in San Francisco, CA on October 4, 2011. Oracle recognized the impact of Ignition as a significant Java-based product in Industrial Automation. [4] [5]

Ignition received a 2011 Readers Choice award from Automation World in the SCADA and Information management categories. [6]

Ignition Modules

SQL Bridge

SQL Bridge Architecture Diagram from Inductive Automation Web Site Ignition SQL Bridge Diagram.jpg
SQL Bridge Architecture Diagram from Inductive Automation Web Site

SQL Bridge is an OPC based Middleware product that bridges the gap between industrial PLCs and SQL Databases. It is a drag and drop application that does not require scripting or programming for configuration.

Transaction groups are used to log data, synchronize PLCs, track downtime and manage recipes. Such groups support stored procedures, flexible execution scheduling, and triggering for precise control and monitoring. [7] Data logging can be achieved with transaction groups or SQLTags History.

Store-and-Forward is an engine that buffers SQL database writes to memory and caches them to a local disk when an external database connection is unavailable. Upon reconnection the data is forwarded to the server in aggregated time-efficient batches. [8]

The SQL Bridge module was created in January 2010 to replace the final version of FactorySQL in the 4.x.x series. [9]

Vision

The Vision module is one of the two main visualization modules of the Ignition SCADA platform.

Perspective

The Perspective module is the other main visualization module of the Ignition SCADA platform.

Reporting

The Reporting module creates dynamic reports. Reports may be generated from existing Adobe Acrobat (PDF) files or created from scratch. Data is introduced through the Ignition platform, providing access to any SQL database or OPC source. The Reporting Module supports: images, graphs, tables, and a variety of basic shape tools. Reports are viewed through Ignition's web-based system. [10] The Reporting Module allows data aggregation and referencing between table and chart objects as displayed in the image screenshot.

SMS Notification Module

The Ignition SMS Alarm Notification Module enables both alarm notification and acknowledgement via text messages. By adding the SMS Notification Module to Ignition, alarm notifications can be sent and acknowledged via text messaging. SMS notification is an efficient and immediate method that makes it easier for users to respond. This module requires the Alarm Notification Module and a Sierra Wireless AirLink RV50 with a data and SMS cellular plan (not included in the module). [11]

Twilio Notification Module

The Twilio Module enables alarm notifications to be sent and acknowledged though the Twilio messaging platform in the same manner as the SMS Notification Module.

OPC-UA

The OPC-UA Ignition module is an Eclipse Milo OPC server that supports modular drivers for PLCs and other devices and network connections. Before moving to Milo, the Ignition OPC-UA engine was the first 100% native Java OPC UA stack. [12] The OPC-UA module includes a Quick Client that allows users to read and write PLC register values via an AJAX web page hosted on the Ignition Gateway.

Current included drivers include:

-Allowing users to connect to a multitude of devices such as PLC s, lighting control, generators, flow meters, bar code scanners, HVAC and switchgear etc.

OPC-COM

The OPC-COM Module supports connections to local and remote OPC-DA servers. It works on both 32-bit and 64-bit systems. It has been tested for interoperability with third party OPC-DA servers at several OPC Interoperability conferences. [13]

Module Architecture

Inductive Automation Ignition Platform Architecture Inductive Automation Ignition Platform diagram.png
Inductive Automation Ignition Platform Architecture

MES Module Layer

MES Modules are separately licensed Ignition plug in modules that generally provide higher level functionality with less user development. MES Modules are designed to provide specific functionality and can be industry specific. Current modules available are: Downtime OEE, SPC, and Scheduling . The Changeover Management and Track & Trace / Genealogy Modules have been announced as upcoming as of January 2013.

HMI/SCADA Module Layer

The HMI/SCADA Module Layer contains mainstay products of the Ignition Platform. Vision is the main visualization module, SQL Bridge is a bidirectional OPC to SQL database historian and transaction manager, Reporting generates dynamic Pdf reports, and Mobile allows access to HTML 5 compatible devices such as iPads, iPods, Android, Smartphone, and Tablets.

Platform Layer

The Platform Layer includes the following core functionality to all modules: OPC-UA Client, Database, Web Server, System Logging, Licensing, Unified Development Environment, Auditing, Authentication, Module API, Alerting Core Functionality, Database Connectivity, Python Scripting Engine, Realtime Tag Database, Store & Forward, and Redundancy. [14]

History

FactorySQL

FactorySQL box FactorySQL logo.gif
FactorySQL box

FactorySQL was an OPC based Middleware product by Inductive Automation that bridged the gap between industrial PLCs and SQL Databases. [15] FactorySQL was a drag and drop .NET application that ran as a Windows service. FactorySQL version 1.0 was released in 2003 and deprecated at version 4 in 2010 with the release of Ignition [16] Inductive Automation offered the OPC-UA module for free. [17]

FactorySQL was initially written to be a drag and drop OPC to SQL data logger. Functionality was introduced to become a Transaction Manager and Industrial Historian. FactorySQL introduced SQLTags support with version 4.1 in December 2007. [18]

FactorySQL configuration was done with standard Groups. This unit of configuration would morph from a historical logger, real-time status and control synchronizer, downtime tracker, recipe manager, etc. [19] The group configuration defines the database connection, table, timing options, triggering options, and "direction". Direction defines whether read or write operations come from or go to the OPC server from the SQL database. "Bidirectional" allows a change from either side to be written to the other. Groups contain Items. Items are dragged from an OPC browsing tree or manually created. Each item represents a fully qualified OPC path along with a column name in the SQL database. Items also contain scaling options, OPC information, and other modes of operation.

Features listed from vendor web site: [20]

FactoryPMI

FactoryPMI box FactoryPMI logo.gif
FactoryPMI box

FactoryPMI was a Java based SCADA product by Inductive Automation containing three main components: the runtime, gateway, and designer. [23] The FactoryPMI designer began as a form of Sun's Bean Builder. FactoryPMI version 1.0 was released in 2003 and deprecated at version 3.3 in 2010 with the release of Ignition. [24]

Features listed from vendor web site. [25]

Versions

FactoryPMI major release history
Date releasedVersionComments
08/09/20051.3New components.
10/18/20051.4New proprietary component layout that no longer uses springs.
01/08/20061.5Added industrial graphics library with 226 images.
06/28/20061.6Added Plugin architecture. Added new components.
08/02/20061.7Added concurrent developer support.
09/22/20061.8Added project/gateway retargeting for the FactoryPMI Runtime, with support for parameter passing and startup window specification.
12/29/20062.0Added ability to combine Gateways into clusters.
04/25/20072.1Major improvements to the Designer introducing a docking style customizable user interface.
08/14/20072.2Component Styles feature for dynamic multi-state animation.
09/17/20073.0SQLTags feature implemented.
11/21/20073.1SSL, Java 6, and "Standalone Mode" implemented.
03/06/20083.2New serialization and window management.
12/16/20083.3Status Chart and Tab Strip components.

2010 consolidation

In 2010, Inductive Automation consolidated FactorySQL and FactoryPMI with Ignition by Inductive Automation. It created a modular framework, providing a central design interface for FactorySQL and FactoryPMI. Ignition became the platform, and FactorySQL and FactoryPMI were refactored as modules. FactorySQL became the SQL Bridge Module, and FactoryPMI became the Vision Module. Two other modules included with the initial release were: the Ignition Reporting Module, and the Ignition OPC-UA Module.

SQLTags

SQLTags is a proprietary technology that uses any SQL Database as a Tag Database. Tags can be derived from the following sources: OPC, expression, or constant and support various configuration options such as: alerting, scaling, and historical storage. SQLTags are stored in Tag Providers, which are automatically configured tables in an SQL database. [28]

SQLTags Historian is a proprietary data logging technology that manages historical data in any supported SQL Database. It is configured by defining an Ignition SQL database connection, then enabling the feature on a per tag basis. The system automatically creates and manages the tables without any user SQL input. Historical Scan Classes support different logging intervals by sets of tags as well as altering the logging rate dynamically. This allows the system to store high resolution history when needed, but lower resolution data for other periods. The system automatically partitions data into multiple database tables. This accomplishes two functions: ensures consistent performance over the long term, and provides a consistent mechanism for data archival and pruning. [29]

Scripting

The Ignition platform uses scripting to allow designers to add flexibility and customization. There are two major scripting languages in Ignition: Python and the Expression Language.

Python

Ignition uses an implementation of Python version 2.5 called Jython. Python script is used for component Event Handling. An example of this would be opening a popup window when a user clicks on a graphic object. Another common use are event scripts such as a timer that checks for alarms or a logon script. Java classes and methods can also be used in Jython for more specialized functionality.

Expression Language

The Ignition Expression Language is a simple language that was invented by Inductive Automation. [30] An expression language is a very simple kind of language where everything is an expression - which is a piece of code that returns a value. This means that there are no statements and no variables, just operators, literals, and functions. Consider an example from the expression language found in Microsoft_excel. Excel can calculate a cell's value dynamically by typing an expression such as "=SUM(C5:C10)", which performs the arithmetic sum of those 6 cells. The expression language in Ignition functions similarly. It is used to define dynamic values for tags and component properties.

Expressions are divided in the following categories: Aggregates, Color, Date and Time, Logic, Math, String, Type Cast, and Advanced.

Development

An Ignition Module SDK is available for anybody to develop their own modules. [31] The SDK exposes the API and classes as separate JAR resources for the following: Client, Gateway, Designer, Common, Vision module. For example, a programmer wrote an Ignition module to integrate with QuickBooks, which uses SOAP to communicate with the QuickBooks Web Connector. [32]

Licensing

Ignition is typically sold with an unlimited licensing structure, favoring a per server/feature model that avoids charging for: clients, PLC or SQL Database connections, tags, or visualization screens. [33]

The most common Ignition software package is The Works which includes unlimited versions of the following modules: SQL Bridge, Vision, Reporting, and Symbol Factory. Limited versions of the SQL Bridge and Vision Modules are restricted by functionality and concurrent clients, respectively. [34]

Performance

Ignition performance is based on tag changes per second and total number of concurrent clients. Inductive Automation released a 2008 white paper benchmarking SQLTags performance. [35] Although testing was conducted on FactorySQL and FactoryPMI, Ignition performance is expected to be at least comparable. Evaluation utilized 150 Amazon EC2 virtual machines using the following databases: MySQL with MyISAM data engine, MySQL with InnoDB engine, Microsoft SQL Server 2005 Express Edition, and Oracle 10g Express Edition. As a real world point of comparison, a Surefire SCADA distillery project sustains 30,000 discrete tag changes per second on a Linux platform. [36]

Security

Inductive Automation promotes IT departments supporting security using standard methodology. [37] Ignition supports the following security features:

The United States Computer Emergency Readiness Team (US-CERT) released advisory 11-231-01 that allowed malicious unauthenticated users to download sensitive information regarding project configuration. Inductive Automation responded by resolving the issue in version 7.2.8.178 and greater. [38]

Open Source

Inductive Automation is a promoter and contributor to the Open source community. FactoryPMI utilizes a number of such projects including: MySQL, Apache, JFreeChart, Jython, Hsqldb, jTDS, Bean Builder, and numerous others.

Related Research Articles

<span class="mw-page-title-main">Microsoft Access</span> Database manager part of the Microsoft 365 package

Microsoft Access is a database management system (DBMS) from Microsoft that combines the relational Access Database Engine (ACE) with a graphical user interface and software-development tools. It is a member of the Microsoft 365 suite of applications, included in the Professional and higher editions or sold separately.

SCADA is a control system architecture comprising computers, networked data communications and graphical user interfaces for high-level supervision of machines and processes. It also covers sensors and other devices, such as programmable logic controllers, which interface with process plant or machinery.

Jython is an implementation of the Python programming language designed to run on the Java platform. It was known as JPython until 1999.

Web development is the work involved in developing a website for the Internet or an intranet. Web development can range from developing a simple single static page of plain text to complex web applications, electronic businesses, and social network services. A more comprehensive list of tasks to which Web development commonly refers, may include Web engineering, Web design, Web content development, client liaison, client-side/server-side scripting, Web server and network security configuration, and e-commerce development.

Open Platform Communications (OPC) is a series of standards and specifications for industrial telecommunication. They are based on Object Linking and Embedding (OLE) for process control. An industrial automation task force developed the original standard in 1996 under the name OLE for Process Control. OPC specifies the communication of real-time plant data between control devices from different manufacturers.

The OPC Foundation is an industry consortium that creates and maintains standards for open connectivity of industrial automation devices and systems, such as industrial control systems and process control generally. The OPC standards specify the communication of industrial process data, alarms and events, historical data and batch process data between sensors, instruments, controllers, software systems, and notification devices.

The following tables compare general and technical information for many wiki software packages.

The OPC Data Access Specification is the first of a group of specifications known as the OPC Classic Specifications.

Omnis Studio is a rapid application development (RAD) tool that allows programmers and application developers to create enterprise, web, and mobile applications for Windows, Linux, and macOS personal computers and servers across all business sectors.

OPC Unified Architecture is a cross-platform, open-source, IEC62541 standard for data exchange from sensors to cloud applications developed by the OPC Foundation. Distinguishing characteristics are:

Citect is now a group of industrial software products sold by Aveva, but started as a software development company specialising in the Automation and Control industry. The main software products developed by Citect included CitectSCADA, CitectSCADA Reports, and Ampla. As of August 2021, Citect SCADA is now known as AVEVA Plant SCADA.

<span class="mw-page-title-main">JFire</span> Defunct accounting software system

JFire was an enterprise resource planning and customer relationship management system.

Inductive Automation is a supplier of web-based industrial automation software based in Folsom, California, US. The Ignition SCADA platform is the company's main product line.

Polyhedra is a family of relational database management systems offered by ENEA AB, a Swedish company. The original version of Polyhedra was an in-memory database management system which could be used in high availability configurations; in 2006 Polyhedra Flash DBMS was introduced to allow databases to be stored in flash memory. All versions employ the client–server model to ensure the data are protected from misbehaving application software, and they use the same SQL, ODBC and type-4 JDBC interfaces. Polyhedra is targeted primarily for embedded use by original equipment manufacturers (OEMs), and big-name customers include Ericsson, ABB, Emerson, Lockheed Martin, United Utilities and Siemens AG.

<span class="mw-page-title-main">CODESYS</span> Development environment for programming controller applications

Codesys is an integrated development environment for programming controller applications according to the international industrial standard IEC 61131-3.

<span class="mw-page-title-main">Tryton</span> Application platform for resource planning

Tryton is a three-tier high-level general purpose computer application platform on top of which is built an enterprise resource planning (ERP) business solution through a set of Tryton modules. The three-tier architecture consists of the Tryton client, the Tryton server and the database management system.

Backend as a service (BaaS), sometimes also referred to as mobile backend as a service (MBaaS), is a service for providing web app and mobile app developers with a way to easily build a backend to their frontend applications. Features available include user management, push notifications, and integration with social networking services. These services are provided via the use of custom software development kits (SDKs) and application programming interfaces (APIs). BaaS is a relatively recent development in cloud computing, with most BaaS startups dating from 2011 or later. Some of the most popular service providers are AWS Amplify and Firebase.

B-Scada is a company based in Crystal River, Florida. B-Scada's product offerings include on-premises Supervisory Control and Data Acquisition (SCADA) and Human Machine Interface (HMI) software platforms, a cloud-based Internet of Things (IoT) software platform, and wireless sensing hardware. It is one of the first companies to use data modeling in SCADA systems to create virtual representations of real world physical assets.

Trihedral Engineering Limited (Trihedral) is a Bedford, Nova Scotia, Canada–based creator of industrial automation software. The VTScada SCADA platform is the company's main product.

<span class="mw-page-title-main">Jam.py (web framework)</span> Python web framework

Jam.py is free and open-source low-code/no-code "full stack" WSGI rapid application development framework for the JavaScript and Python programming language.

References

  1. "Ignition Perspective Module | Powerful Visualization for Mobile-First Industrial Applications". inductiveautomation.com. Retrieved 2024-12-30.
  2. "Ignition Vision Module | Real-Time & Historical Data on HMIs". inductiveautomation.com. Retrieved 2024-12-30.
  3. "Inductive Automation Module Features" . Retrieved 30 December 2024.
  4. "Oracle Announces Winners of the 2011 Duke's Choice Awards". Oracle Corporation. 14 October 2011. Retrieved 29 Dec 2012.
  5. "Inductive Automation's Java-based HMI and SCADA application built on OPC-UA standard wins award from Oracle". Automation World. 11 November 2011. Archived from the original on 12 April 2013. Retrieved 29 Dec 2012.
  6. "Leadership In Automation 2011: First Team Honorees". Automation World. 21 January 2012. Retrieved 29 Dec 2012.
  7. "Inductive Automation Realtime Control and Monitoring" . Retrieved 5 Jan 2013.
  8. "Inductive Automation Data Acquisition" . Retrieved 5 Jan 2013.
  9. "Upgrade for existing users" . Retrieved 5 Jan 2012.
  10. "Inductive Automation Reporting Module Information". 8 Mar 2011. Retrieved 21 Jan 2013.
  11. "Ignition SMS Notification Module | SMS/Text Alarm Notifications". inductiveautomation.com. Retrieved 2018-04-03.
  12. Bond, Andrew Free OPC-UA Server Unlocks Linux's Potential, 3/2010
  13. "Inductive Automation OPC-COM site". 8 Mar 2011. Retrieved 5 Jan 2013.
  14. "Vendor web site information" . Retrieved 29 Dec 2012.
  15. Jeremy Pollard (17 Jan 2007). "AUTOMATION SOFTWARE - FactoryPMI: A review of web-based SCADA/HMI". Manufacturing Automation. Archived from the original on 2013-04-25. Retrieved 29 Dec 2012.
  16. Bond, Andrew Free OPC-UA Server Unlocks Linux's Potential, 3/2010
  17. "Free OPC-UA Server Offers More Than a Great Price". 8 Mar 2011. Archived from the original on 2013-02-16. Retrieved 5 Jan 2013.
  18. "Press Release: Inductive Automation Releases FactoryPMI 3.1 and FactorySQL 4.1". 11 December 2007. Archived from the original on 16 February 2013. Retrieved 21 Jan 2013.
  19. "Press Release: Inductive Automation Releases FactoryPMI 3.1 and FactorySQL 4.1". 11 December 2007. Archived from the original on 16 February 2013. Retrieved 21 Jan 2013.
  20. "Inductive Automation FactorySQL web site". Archived from the original on 2013-01-18. Retrieved 21 Jan 2013.
  21. "Press Release: Inductive Automation Announces the Release of FactorySQL 3.0 and FactoryPMI 2.0 Paving the Way for a Redundant Web Based SCADA System". 8 March 2007. Retrieved 21 Jan 2013.
  22. "Inductive Automation FactorySQL web site". Archived from the original on 2013-01-18. Retrieved 21 Jan 2013.
  23. Jeremy Pollard (17 Jan 2007). "AUTOMATION SOFTWARE - FactoryPMI: A review of web-based SCADA/HMI". Manufacturing Automation. Archived from the original on 2013-04-25. Retrieved 29 Dec 2012.
  24. Bond, Andrew Free OPC-UA Server Unlocks Linux's Potential, 3/2010
  25. "Inductive Automation FactoryPMI web site". Archived from the original on 2012-12-26. Retrieved 21 Jan 2013.
  26. "Press Release: Inductive Automation Introduces FactoryPMI, SCADA Server with Zero Cost Deployment Clients". 12 March 2006. Retrieved 21 Jan 2013.
  27. "Inductive Automation FactoryPMI web site". Archived from the original on 2012-12-26. Retrieved 21 Jan 2013.
  28. "Ignition User Manual". Inductive Automation. Retrieved 16 Mar 2013.
  29. "Did You Know? SQLTags Historian Makes Storing and Charting Historical Data Fast, Efficient, and Easy". Inductive Automation. 9 Mar 2010. Archived from the original on 2010-03-12. Retrieved 16 Mar 2013.
  30. "Ignition User Manual". Inductive Automation. Retrieved 27 Jan 2013.
  31. "Free Tools for Developers". Inductive Automation. 10 Aug 2010. Retrieved 10 Mar 2013.
  32. "Inductive Automation's Ignition". Aug 2012. Retrieved 10 Mar 2013.
  33. "Ignition Unlimited Licensing". Inductive Automation. Retrieved 27 Jan 2013.
  34. "Ignition Pricing". Inductive Automation. Retrieved 27 Jan 2013.
  35. "Inductive Automation Benchmarks 2008" (PDF). Inductive Automation. 6 March 2008. Retrieved 27 January 2013.
  36. "Building SCADA on Linux-Ignition Delivers Performance and Reliability" (PDF). Inductive Automation. 6 May 2010. Archived from the original (PDF) on March 3, 2016. Retrieved 27 January 2013.
  37. "Security information from vendor web site" . Retrieved 21 Jan 2013.
  38. "ICSA-11-231-01—INDUCTIVE AUTOMATION IGNITION INFORMATION DISCLOSURE VULNERABILITY" (PDF). 19 Aug 2011. Archived from the original (PDF) on 5 November 2012. Retrieved 21 Jan 2013.