Ignition is an
Integrated Software Platform for
SCADA
Supervisory control and data acquisition (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 ...
systems released by
Inductive Automation
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.
Inductive Automation has customers in a variety of industries includi ...
in January 2010. It is based on a
SQL Database-centric architecture. Ignition features
cross platform
In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
web based
A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection.
History
In earlier computing models like client-serve ...
deployment through
Java Web Start technology. The Ignition platform has three main components: the Ignition Gateway, the
Designer, and the
runtime clients. Independent
modules
Broadly speaking, modularity is the degree to which a system's components may be separated and recombined, often with the benefit of flexibility and variety in use. The concept of modularity is used primarily to reduce complexity by breaking a sy ...
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.
Awards
Ignition received the 2011 Duke's Choice award at the
JavaOne
__NOTOC__
JavaOne is an annual conference first organized in 1996 by Sun Microsystems to discuss Java (programming language), Java technologies, primarily among Java developers. It was held in San Francisco, California, typically running from a M ...
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
Launched in 2003 by PMMI Media Group (formerly Summit Media Group, Inc.), ''Automation World'' is a monthly publication which covers the latest developments in the automation field. Each issue contains articles in the following departments: Opera ...
in the ''SCADA'' and ''Information management'' categories.
Modules
Module Marketplace
Module Marketplace is an
online store
Online shopping is a form of electronic commerce which allows consumers to directly buy goods or services from a seller over the Internet using a web browser or a mobile app. Consumers find a product of interest by visiting the website of the r ...
, similar in concept to: the
iTunes Store
The iTunes Store is a digital media store operated by Apple Inc. It opened on April 28, 2003, as a result of Steve Jobs' push to open a digital marketplace for music. As of April 2020, iTunes offered 60 million songs, 2.2 million apps, 25,00 ...
or
Google Play for the
SCADA
Supervisory control and data acquisition (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 ...
software. Inductive Automation opened it 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.
Early reviews compared the Module Marketplace to the Apple
iTunes Store
The iTunes Store is a digital media store operated by Apple Inc. It opened on April 28, 2003, as a result of Steve Jobs' push to open a digital marketplace for music. As of April 2020, iTunes offered 60 million songs, 2.2 million apps, 25,00 ...
, indicated that it was disruptive and that it removed proprietary boundaries among SCADA software producers. Developers set their own pricing models in the marketplace, with 70% of the revenue going to the developer and 30% going to Inductive Automation. All modules are required to be submitted for validation to Inductive Automation to test for stability, compatibility and
memory leaks. Upon validation, the module is digitally signed by Inductive Automation and may be uploaded to the Module Marketplace. All modules are required to include a free user re-settable 2-hour trial version.
SQL Bridge

SQL Bridge is an
OPC based
Middleware
Middleware is a type of computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue".
Middleware makes it easier for software developers to implement co ...
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 procedure
A stored procedure (also termed proc, storp, sproc, StoPro, StoredProc, StoreProc, sp, or SP) is a subroutine available to applications that access a relational database management system (RDBMS). Such procedures are stored in the database data dic ...
s, 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
Supervisory control and data acquisition (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 ...
platform. containing three main components: the runtime, gateway, and designer.
* The
Ignition Runtime or Client is a
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
application typically launched from a
web browser
A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used on ...
. 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
A touchscreen or touch screen is the assembly of both an input ('touch panel') and output ('display') device. The touch panel is normally layered on the top of an electronic visual display of an information processing system. The display is often ...
application.
* The
Gateway is a web page configurable, customized version of the
Apache
The Apache () are a group of culturally related Native American tribes in the Southwestern United States, which include the Chiricahua, Jicarilla, Lipan, Mescalero, Mimbreño, Ndendahe (Bedonkohe or Mogollon and Nednhi or Carrizaleño an ...
that uses
JGroups
JGroups is a library for reliable one-to-one or one-to-many communication written in the Java language.
It can be used to create groups of processes whose members send messages to each other. JGroups enables developers to create reliable multi ...
multicasting for
clustering. It runs a
servlet that uses a single
port
A port is a maritime facility comprising one or more wharves or loading areas, where ships load and discharge cargo and passengers. Although usually situated on a sea coast or estuary, ports can also be found far inland, such as Ham ...
to mediate client requests. It supports
SSL/TLS
Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in securi ...
and compresses communication between gateway and clients.
* The Designer is a
WYSIWYG
In computing, WYSIWYG ( ), an acronym for What You See Is What You Get, is a system in which editing software allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed d ...
IDE that is used to create
SCADA
Supervisory control and data acquisition (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 ...
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.
SMS Notification Module
The Ignition SMS Alarm Notification Module enables both alarm notification and acknowledgement via
text messages
Text messaging, or texting, is the act of composing and sending electronic messages, typically consisting of alphabetic and numeric characters, between two or more users of mobile devices, desktops/laptops, or another type of compatible compute ...
. 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).
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
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
compliant browser that supports the
canvas element. Compatible examples include:
iPad
The iPad is a brand of iOS and iPadOS-based tablet computers that are developed by Apple Inc. The iPad was conceived before the related iPhone but the iPhone was developed and released first. Speculation about the development, operating s ...
,
iPhone,
Android 2.2+, and
VNC clients.
The mobile module allows operators and managers to 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
Suite may refer to:
Arts and entertainment
*Suite (music), a set of musical pieces considered as one composition
** Suite (Bach), a list of suites composed by J. S. Bach
** Suite (Cassadó), a mid-1920s composition by Gaspar Cassadó
** ''Suite' ...
,
ModbusTCP
TCP may refer to:
Science and technology
* Transformer coupled plasma
* Tool Center Point, see Robot end effector
Computing
* Transmission Control Protocol, a fundamental Internet standard
* Telephony control protocol, a Bluetooth communication s ...
,
Siemens
Siemens AG ( ) is a German multinational conglomerate corporation and the largest industrial manufacturing company in Europe headquartered in Munich with branch offices abroad.
The principal divisions of the corporation are ''Industry'', '' ...
Ethernet
Ethernet () is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 198 ...
, 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
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.
Inductive Automation has customers in a variety of industries includi ...
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.
Module 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
Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
reports, and ''Mobile'' allows access to HTML 5 compatible devices such as
iPad
The iPad is a brand of iOS and iPadOS-based tablet computers that are developed by Apple Inc. The iPad was conceived before the related iPhone but the iPhone was developed and released first. Speculation about the development, operating s ...
s,
iPod
The iPod is a discontinued series of portable media players and multi-purpose mobile devices designed and marketed by Apple Inc. The first version was released on October 23, 2001, about months after the Macintosh version of iTunes ...
s,
Android
Android may refer to:
Science and technology
* Android (robot), a humanoid robot or synthetic organism designed to imitate a human
* Android (operating system), Google's mobile operating system
** Bugdroid, a Google mascot sometimes referred to ...
,
Smartphone
A smartphone is a portable computer device that combines mobile telephone and computing functions into one unit. They are distinguished from feature phones by their stronger hardware capabilities and extensive mobile operating systems, whic ...
, 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
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (pro ...
Scripting Engine, Realtime Tag Database, Store & Forward, and Redundancy.
History
FactorySQL

FactorySQL was an
OPC based
Middleware
Middleware is a type of computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue".
Middleware makes it easier for software developers to implement co ...
product by Inductive Automation that bridged the gap between industrial
PLCs and
SQL Databases. FactorySQL was a drag and drop
.NET application that ran as a
Windows service
In Windows NT operating systems, a Windows service is a computer program that operates in the background. It is similar in concept to a Unix daemon. A Windows service must conform to the interface rules and protocols of the Service Control Manager ...
. FactorySQL version 1.0 was released in 2003 and
deprecated at version 4 in 2010 with the release of Ignition Inductive Automation offered the OPC-UA module for free.
FactorySQL was initially written to be a
drag and drop OPC to
SQL data logger
A data logger (also datalogger or data recorder) is an electronic device that records data over time or about location either with a built-in instrument or sensor or via external instruments and sensors. Increasingly, but not entirely, they a ...
. Functionality was introduced to become a
Transaction Manager
Transaction processing is information processing in computer science that is divided into individual, indivisible operations called ''transactions''. Each transaction must succeed or fail as a complete unit; it can never be only partially comple ...
and
Industrial Historian. FactorySQL introduced
SQLTags support with version 4.1 in December 2007.
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. 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:
* Easy Browsing Browse OPC servers from navigation tree.
* Drag & Drop Configuration Drag and drop tags from OPC browser to groups
* Bi-Directional Data Transfer Transfer data between PLCs and Databases, with a full range of options: timers, counters, triggers, and handshakes
* Built in Email Alerts
* Simple Group Visualization Visual indication of group status including running, stopped, or error status
* Stored Procedure Group Map
OPCdata to and from SQL
stored procedure
A stored procedure (also termed proc, storp, sproc, StoPro, StoredProc, StoreProc, sp, or SP) is a subroutine available to applications that access a relational database management system (RDBMS). Such procedures are stored in the database data dic ...
parameters.
* Block Data Group mirror large blocks of OPC data in an SQL database through the use of
array read and writes.
* Remote Configuration Group configuration over the network via
TCP connection
TCP may refer to:
Science and technology
* Transformer coupled plasma
* Tool Center Point, see Robot end effector
Computing
* Transmission Control Protocol, a fundamental Internet standard
* Telephony control protocol, a Bluetooth communication s ...
.
* Supports Most PLCs and Database Systems Support nearly every
OPC compliant PLC and
ODBC
In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An ...
compliant SQL database.
* Redundancy Supports primary and backup failover modes.
* SQLTags Proprietary means to "turn any SQL database into a high-performance industrial tag database".
FactoryPMI

FactoryPMI was a
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
based
SCADA
Supervisory control and data acquisition (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 ...
product by Inductive Automation containing three main components: the runtime, gateway, and designer. 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.
* The
FactoryPMI Runtime or Client is a
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
application typically launched from a
web browser
A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used on ...
. It acts as the
HMI interface for end users and can be used to view realtime or historical process data or control industrial applications. The runtime can be launched one of three ways. As an
Applet inside a web browser, via
Java Web Start, or in ''Full Screen Exclusive'' mode, where it occupies the whole screen without borders or toolbars, typical of an industrial
Touchscreen
A touchscreen or touch screen is the assembly of both an input ('touch panel') and output ('display') device. The touch panel is normally layered on the top of an electronic visual display of an information processing system. The display is often ...
application.
* The
Gateway is a web page configurable, customized version of the
Apache
The Apache () are a group of culturally related Native American tribes in the Southwestern United States, which include the Chiricahua, Jicarilla, Lipan, Mescalero, Mimbreño, Ndendahe (Bedonkohe or Mogollon and Nednhi or Carrizaleño an ...
that uses
JGroups
JGroups is a library for reliable one-to-one or one-to-many communication written in the Java language.
It can be used to create groups of processes whose members send messages to each other. JGroups enables developers to create reliable multi ...
multicasting for
clustering. It runs a
servlet that uses a single
port
A port is a maritime facility comprising one or more wharves or loading areas, where ships load and discharge cargo and passengers. Although usually situated on a sea coast or estuary, ports can also be found far inland, such as Ham ...
to mediate client requests. It supports
SSL/TLS
Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in securi ...
and compresses communication between gateway and clients.
* The FactoryPMI Designer is a
WYSIWYG
In computing, WYSIWYG ( ), an acronym for What You See Is What You Get, is a system in which editing software allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed d ...
IDE that is used to create
SCADA
Supervisory control and data acquisition (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 ...
applications. Like the runtime, is a
Java Web Start application. The FactoryPMI designer began as a form of Sun's Bean Builder and has grown to facilitate industrial applications and incorporate
Jython
Jython is an implementation of the Python programming language designed to run on the Java platform. The implementation was formerly known as JPython until 1999.
Overview
Jython programs can import and use any Java class. Except for some standa ...
as the
scripting
Script may refer to:
Writing systems
* Script, a distinctive writing system, based on a repertoire of specific elements or symbols, or that repertoire
* Script (styles of handwriting)
** Script typeface, a typeface with characteristics of handw ...
engine.
Features listed from vendor web site.
*Unlimited Clients FactoryPMI allows an unlimited number of clients to connect from anywhere using web launched distribution.
* Web Launched Uses
Java Web Start deployment technology.
* Active Directory Authentication Supports Microsoft Windows
Active Directory
Active Directory (AD) is a directory service developed by Microsoft for Windows domain networks. It is included in most Windows Server operating systems as a set of processes and services. Initially, Active Directory was used only for centralize ...
authentication.
* Instant Change Deployment Saved changes in the FactoryPMI Designer are automatically pushed to all running FactoryPMI Clients.
* Clustering Connect two or more FactoryPMI Gateways to create a redundant cluster. Client load-balancing automatically spreads traffic over the entire cluster for a
scale-out
Scalability is the property of a system to handle a growing amount of work by adding resources to the system.
In an economic context, a scalable business model implies that a company can increase sales given increased resources. For example, a ...
model.
* Powerful Scripting Language FactoryPMI uses the popular
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (pro ...
scripting language, enabling you to create advanced projects and fulfill custom requirements.
* Powerful Charts and Tables
* SQLTags Proprietary means to "turn any SQL database into a high-performance industrial tag database".
Versions
2010 consolidation
In 2010,
Inductive Automation
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.
Inductive Automation has customers in a variety of industries includi ...
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
Table may refer to:
* Table (furniture), a piece of furniture with a flat surface and one or more legs
* Table (landform), a flat area of land
* Table (information), a data arrangement with rows and columns
* Table (database), how the table data ...
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
Partition may refer to:
Computing Hardware
* Disk partitioning, the division of a hard disk drive
* Memory partition, a subdivision of a computer's memory, usually for use by a single job
Software
* Partition (database), the division of a ...
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
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (pro ...
version 2.5 called
Jython
Jython is an implementation of the Python programming language designed to run on the Java platform. The implementation was formerly known as JPython until 1999.
Overview
Jython programs can import and use any Java class. Except for some standa ...
. Python script is used for component
Event Handling
In programming and software design, an event is an action or occurrence recognized by software, often originating asynchronously from the external environment, that may be handled by the software. Computer events can be generated or triggere ...
. 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
Microsoft Excel is a spreadsheet developed by Microsoft for Microsoft Windows, Windows, macOS, Android (operating system), Android and iOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a macro (comp ...
. 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
A jar is a rigid, cylindrical or slightly conical container, typically made of glass, ceramic, or plastic, with a wide mouth or opening that can be closed with a lid, screw cap, lug cap, cork stopper, roll-on cap, crimp-on cap, press-on cap, ...
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
Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
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
MySQL () is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database o ...
with
MyISAM data engine, MySQL with
InnoDB engine,
Microsoft SQL Server
Microsoft SQL Server is a relational database management system developed by Microsoft. As a database server, it is a software product with the primary function of storing and retrieving data as requested by other software applications—which ma ...
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
Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in securi ...
technology.
* Active Directory Authentication Supports Microsoft Windows
Active Directory
Active Directory (AD) is a directory service developed by Microsoft for Windows domain networks. It is included in most Windows Server operating systems as a set of processes and services. Initially, Active Directory was used only for centralize ...
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
MySQL () is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database o ...
,
Apache
The Apache () are a group of culturally related Native American tribes in the Southwestern United States, which include the Chiricahua, Jicarilla, Lipan, Mescalero, Mimbreño, Ndendahe (Bedonkohe or Mogollon and Nednhi or Carrizaleño an ...
,
JFreeChart
JFreeChart is an open-source framework for the programming language Java, which allows the creation of a wide variety of both interactive and non-interactive charts.
JFreeChart, developed by David Gilbert, is available under the terms of the L ...
,
Jython
Jython is an implementation of the Python programming language designed to run on the Java platform. The implementation was formerly known as JPython until 1999.
Overview
Jython programs can import and use any Java class. Except for some standa ...
,
Hsqldb
HSQLDB (''Hyper SQL Database'') is a relational database management system written in Java. It has a JDBC driver and supports a large subset of SQL-92, SQL:2008, SQL:2011, and SQL:2016 standards. It offers a fast, small (around 1300 kilobytes ...
,
jTDS, Bean Builder, and numerous others.
References
{{reflist
External links
Vendor Ignition PageIgnition Module MarketplaceInductive Automation FactorySQL pageInductive Automation FactoryPMI page2008 Inductive Automation Benchmark White Paper
Industrial automation software
MES software