FactoryPMI
   HOME

TheInfoList



OR:

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' ...
, Modbus
TCP 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 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 Java Web Start te ...
, 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