Rahul Sharma (Editor)

Ignition SCADA

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Ignition SCADA

Ignition is an Integrated Software Platform for SCADA systems released by Inductive Automation in January 2010. It is based on an SQL Database-centric architecture. Ignition features cross platform web based deployment through Java Web Start technology. The Ignition platform has three main components: the Ignition Gateway, the Designer, and 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, Data Acquisition, Scripting, Scheduling, MES, and Mobile support.

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.

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

Module Marketplace

Ignition modules can be purchased through the Module Marketplace. It is an online store that opened on March 4, 2013. Some modules are free while others are paid. All are developed using the Ignition SDK. Access to core Ignition apps are made available so that third party developers can create module apps for use with the company’s systems. All of these apps can be made available for download on the Module Marketplace site.

SQL Bridge

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. 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.

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

Vision

The Vision module is the main visualization portion of the Ignition SCADA platform. containing three main components: the runtime, gateway, and designer.

  • The Ignition Runtime or Client is a Java application typically launched from a web browser. It acts as the HMI interface for end users and can be used to view realtime or historical process data or control industrial applications. It can be launched one of three ways. As an Applet inside a web browser, via Java Web Start, or in Full Screen mode, where it occupies the whole screen without borders or toolbars, typical of an industrial Touchscreen application.
  • The Gateway is a web page configurable, customized version of the Apache that uses JGroups multicasting for clustering. It runs a servlet that uses a single port to mediate client requests. It supports SSL/TLS and compresses communication between gateway and clients.
  • The Designer is a WYSIWYG IDE that is used to create SCADA applications. Like the runtime, is a Java Web Start deployed application.
  • 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. The Reporting Module allows data aggregation and referencing between table and chart objects as displayed in the image screenshot.

    Mobile

    The Mobile Module allows the full Vision module to run on devices that do not support the Java Runtime Environment. This is accomplished by the mobile client viewing a remote session on the Ignition Gateway. The mobile module requires a javascript compliant browser that supports the canvas element. Compatible examples include: iPad, iPhone, Android 2.2+, and VNC clients.

    The mobile module allows operators and managers respond from anywhere to critical data, such as system status, controls system alerts and provides the ability to make notations.

    OPC-UA

    The OPC-UA Ignition module is an OPC server that supports modular drivers for PLCs and other devices and network connections. It is the first 100% native Java OPC UA stack. 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 drivers include A-B Suite, ModbusTCP, Siemens Ethernet, and Simple TCP/UDP, allowing users to connect to a multitude of devices such as PLCs, solar cells, lights, generators, flow meters, bar code scanners, etc.

    Inductive Automation offers the Ignition OPC-UA server for free. The required license must be obtained through the company web site or by direct contact.

    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.

    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.

    History

    In 2010, Inductive Automation consolidated FactorySQL and FactoryPMI with Ignition by Inductive Automation. It created a modular frameworks, 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. The OPC-UA module can also be downloaded for free, and used as a stand-alone OPC-UA server.

    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.

    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.

    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.

    Expression Language

    The Ignition Expression Language is a simple language that was invented by Inductive Automation. 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. 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.

    Modules must be submitted to Inductive Automation for testing prior to approval. Once tested, they are digitally signed and ready for distribution to production Ignition systems.

    Licensing

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

    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.

    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. 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.

    Security

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

  • SSL/TLS All network traffic is encrypted with SSL/TLS technology.
  • Active Directory Authentication Supports Microsoft Windows Active Directory authentication.
  • Auditing allows administrators to review logs of activity.
  • 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.

    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.

    References

    Ignition SCADA Wikipedia