Setup and use Inductive Automation’s Ignition platform to control PLCs for enterprise MES use.
Overview
- Purdue Pyramid
- Ignition Gateway servers
- Why InductiveAutomation.com Ignition
- Inductive Automation, the Company
- Install
- Ignition Connections
- Store and Forward
- Industrial Demo
- Ignition Modules
- Device PLC Driver modules
- Licenses
- EAM Scaling with MQTT
- Customer usage
- Software Stack
- Dev Build
- Coding Tutorials
- Designer Launcher install
- Designer Projects
- Config
- Dev
- OPC
- Sensors and Actuators
- Add-on packages
- Diagnostic Bundle
- Tutorials
- Industrial?
Alphabetical Index: Actuators, DCS, Designer, DMZ, DNP3, EAM, EFM, ERP, , HMI, IIoT, Install, ISA95, Launch, LIM, Maker Edition, MES, modules, MQTT, MRP, OEE, OPC, Perspective, PLCs, Projects, Releases, RTUs, SCADA, Sensors, SFC, SMS, Tags. Mouse hover for the acronym definition.
BLOG: Large modern industrial enterprises organize their systems of management into these categories for individuals to focus deeply:
Overall orchestration is done by “Top Floor” people using an
- ERP (Enterprise Resource Planning) system that does long-range planning (in industries with long lead time items) or complex bills of materials (BoM) needed on the shop floor, along with some form of associated shop orders in manufacturing industries.
- MRP (Manufacturing Resource Planning) includes most accounting functions, including general ledger, as well as inventory management, and resource and inventory planning.
These systems help with ISO 9001 certification and compliance with FDA CFR 21 Part 11 Medical Device Manufacturing.
- MES (Manufacturing Execution Systems) coordinate minute-by-minute movement of material and work in process on the plant floor is done by a to make more efficient use of limited capacity by reducing bottlenecks, such as calculating alternative routings in production.
Additionally, not shown are also:
- Building Management
- Warehouse Management
- Logistics Management - to track and manage the movement of transportation vehicles carrying goods between vendors, plants, and customers.
Purdue Pyramid
VIDEO: Academics at the Univerity of Purdue created “pyramid” as a way to organize the vocabulary of systems, which Inductive Automation has implemented into software:
The Purdue Model was adapted from the ISA95 (International Society of Automation) model data objects pushed to an enterprise Unified Namespace. ANSI-ISA95 is a large specification with many parts developed over many years.
(4) The Enterprise level manage the “Cloud Edition Gateway”, cloud injectors, SAP ERP, and systems for:
- Workforce Management
- Order Management
- Inventory Management
(3.5) The DMZ (Demilitarized Zone) is focused on preserving privacy by using Proxy and Firewall software to separate networks.
(3) The Operations level manage the “Central Ignition Gateway”, admin. clients, and systems for:
- MES (Manufacturing Execution System)
- Scheduling
- OEE (Overall Equipment Effectiveness)
- Quality Management
The bottom three layers describe the
- SCADA (Supervisory Control and Data Acquisition) system that provides
-
HMI (Human-Machine Interface) VIDEO of Touch panels (Edge Panels) that communicates with PLCs in their manufacturer’s native protocol to access a 1-week data buffer.
There is less mistakes and waste when operators are assisted with a control panel such as this:
QUESTION: What is “WrapperSimpleApp” that has a Java icon?
IU:“Perspective” is Induction’s design IDE brand name.
(2) Supervisory Control manage the “Local Ignition Server”, local clients, and site Edge IIoT servers managed using Edge Panel UI.
(1) Process Control is about managing
-
PLCs (Programmable Logic Controllers) that automate remote industrial equipment operation.
Major PLC vendors include:
- Wonderware (by Schneider)
- eazyworks.com
- WinCC
-
iFix
- SAP (software)
- Oracle
- Siemens
- RTUs (Remote Terminal Units) provide a web interface to lots of inputs, outputs, intelligence.
(0) Physical Processses manage
- Sensors that detect conditions and
- Actuators that take action.
Visibility from each and every location
InducativeAutomation enables the design of all PLC interactions to be defined from a single central Designer location by starting the Inductive Ignition Design Launcher app on their workstations (laptops).
Ignition Gateway servers
InductiveAutomation makes money by selling an annual license for each Ignition server (shown in blue in the middle of this diagram):
Ignition servers are called “Gateways” because industrial plants typically take up a lot of territory, so there are both local and remote Ignition servers connected to a central Gateway.
Ignition makes uses of MQTT (Message Queue Telemetry Transport), a lightweight, publish-subscribe, machine-to-machine network protocol for message queuing.
BTW MQTT was created to monitor oil pipelines within the SCADA industrial control system (in SarkplugB format or add-in Vanilla Transmission).
MQTT Recorder Module: Provides the ability to receives EFM record objects including periodic (history), event, alarm and configuration from the EFM protocol modules in MQTT infrastructures that automatically generates database tables.
MQTT is used to send real-time SCADA alarm, event and historical records through “CHARIOT” MQTT server from cirrus-link.com. Their EFM EFM (Electronic Flow Meter) modules communicates with Ignition OPC UA and Emerson ROC, ROC Plus and ABB flow computers. Periodic (history), event, alarm and configuration from MQTT Recorder Modules receives EFM record objects from the EFM protocol modules in MQTT infrastructures automatically generates database tables.
Ignition servers run as containers within Docker using the docker compose command. Licenses are stored within the Docker image along with secrets. An SMTP server using image dockage/mailcatcher on 1080 & 1025.
Why InductiveAutomation.com Ignition
VIDEO: A big part of InductiveAutomation’s value proposition is that they provide a way to obtain plant-wide visibility of the gamut of PLCs under various brands.
The defining attractiveness of InductiveAutomation is that they provide a work-around to vendor lock-in which requires purchase of expensive priprietary solutions (at high profits for the vendor) called DCS (Distributed Control Systems). This vendor-driven approach requires much effort by each purchaser to integrate machines from among various vendors.
This hierarchy diagram below:
At the shop floor or Field Level, RFID tags, barcodes, and weights and other measures are captured and displayed by a
- LIM (Laboratory Information Management) system.
Inductive Automation, the Company
https://ia.io/platform redirects to
https://www.InductiveAutomation.com/
in Folsom, CA (Near Sacramento) 800-266-7798
BTW: The word “Ignition” here is not related to the Ignition Gazebo libraries used to develop robot and simulation applications.
Unlike legacy PLCs which use proprietary Assembly language, Ignition is customized using the Python language.
Unlike older competitors that use 15 inch monitors, InductiveAutomation clients display at HD (1920x1080 pixel) resolution on 22+ inch monitors.
InductiveAutomation charges by the number of servers installed for use by an unlimited number of clients at no additional licensing cost. VIDEO.
People:
- Kevin McClusky is CTO
- Travis Cox, Evangelist, created the AWS shell scripts
- Paul Scott, Training Content
Releases
-
Many URLs contain a specific release version code, such as:
https://inductiveautomation.com/downloads/ignition/8.1.48
References:
- VIDEO: IEC 61131-3 by Yaskawa by robotics
- Top Requirements for an effective SCADA
- https://www.youtube.com/watch?v=FDlxR2Ktoi4
- VIDEO: Anywhere
- VIDEO: Picking the right arch
-
https://account.inductiveautomation.com/
- https://docs.inductiveautomation.com/docs/8.1/getting-started/
-
https://docs.inductiveautomation.com/docs/8.1/intro Ignition User Manual
- https://forum.inductiveautomation.com/
- https://www.linkedin.com/in/traviscox-automation/
-
https://www.youtube.com/@InductiveAutomation
- America’s Cyber Defense Agency, CISA (Critical Infastructure Security and Resilience) has released security alerts about Ignition as part of its Industrial Control Systems Advisories service for the world.
Ignition Certifications
https://inductiveuniversity.com/
https://training.inductiveautomation.com/core-certification/study-guide/ Core Certification
https://training.inductiveautomation.com/gold-certification/study-guide/ Gold Certification $2,000
https://www.reddit.com/r/PLC/comments/12chn4b/ignition_gold_certified/
Install
WARNING: Notice the version number in the URL.
- VIDEO: Time-saving hacks
VIDEO: MQTT demo project on Raspberry Pi with Debian
NOTE: JDK does not need to be installed separately.
-
Install Python interpreter.
-
https://inductiveautomation.com/downloads/
- macOS ignition-8.1.43-macos-64-installer.dmg Sep 17, 2024 was 1,644,383,679 bytes (1.64 GB on disk)
- Linux https://www.inductiveuniversity.com/videos/installing-ignition-on-linux/8.1
- Windows https://www.inductiveuniversity.com/videos/installing-ignition-on-windows/8.1
CAUTION: On Windows, the path contains a space, so:
C:\Program Files\Inductive Automation\ignition -
Installation Location defaults to, on macOS:
/usr/local/ignition
On Linux:
/usr/local/bin/ignition
On Windows (non 64 bit?):
C:\Program Files\Inductive Automation\Ignition
- Installation Options: Custom (to install additional modules and adjust the default modules to install). Select from the list of modules above.
- Install
- Start Ignition Now
-
Uncheck Install Service.
PROTIP: If on Windows, automatic start-up of the service is controlled at Start > Control Panel > Administrative Tools > Services > Ignition Gateway.
- Finish and wait for the browser to pop-up.
- Click “Standard Edition”.
-
Click “I have read and agree with the terms and conditions”.
gwcmd
-
In “Create a User”, make up a Username and Password. Rootme
PROTIP: Password Reset with GWCMD using this to restart Gateway for new user/password entry.
./gwcmd.sh -p
- Configure Ports Defaults:
- HTTP Port: 8088
- HTTPS Port: 8043
- Gateway Network Port: 8060
-
Finish Setup.
Config Menu & Backup
VIDEO: PROTIP: Manually take a backup immediately after completing a test of changes.
-
Purchase an external USB hard drive and plug it in.
- On the left menu, click the “Config” cog icon.
-
Click “Backup/Restore” within the blue Config menu for (by default):
http://localhost:8088/web/config/system.backup?12
-
Click “Download Backup” to make a copy of the user data inside this Ignition Gateway server’s database. This includes all projects, drivers, images, and configuration, but not the modules.
Backup can be initiated from within a Bash script to automate the above using the gwbk command.
-
Save to your external drive the Gateway backup (gwbk) file named with the current date and time stamp, such as:
Ignition-MacBook-Pro.local_Ignition-backup-20250718-0928.gwbk
This is the result of “Filename Pattern” setting in Gateway Settings:
${gatewayName}_Ignition-backup-${edition}${timestamp}.gwbk
Server Name Change
-
Click “Gateway Settings” within the blue Config menu for (by default) for:
http://localhost:8088/web/config/system.settings?13
Ignition-MacBook-Pro is the generated “System Name”, which cannot be changed dynamically.
A new Gateway Name can be entered on restore from gwbk.
PROTIP: Define naming standards for your organization to follow. Refer to the Purdue Pyramid (above).
-
Check to enable the scheduled backup system.
-
To configure automatic periodic backups, scroll down to “Backup Schedule” for a UNIX crontab style scheduling string representing when to make the backups.
-
Scroll down to click “Save Changes”.
Gateway LogIn & Status
- Start Gateway. Wait.
- Click “Yes, Enable Quick Start” for
http://localhost:8088/web/home?3
- Click the “Status” icon on the left menu.
- Click “Log In”.
- Type the (Admin) Username you specified during install.
Ignition Connections
The number of component Connections managed by Ignition servers are displayed the Gateway’s Status GUI.
Cloud Edition
Iginition is not a SaaS app like Salesforce.
VIDEO: The Ignition Cloud Edition obtained from the AWS Marketplace or Azure installs on Ubuntu Linux servers from an (EC2 AMI) image, not as “serverless” functions.
“Auto-scaling” within a standalone AWS archicture requires configuration of Auto Scaling Group (ASG) within a Bastion host in each of two Availability Zones. Configurations need to be specified in shell scripts to define Security Groups, Public & Private subnets, NAT gateways, AWS KMS, CloudWatch, Amazon SNS, etc.
QUESTION: Can HashiCorp Terraform be used to stand up servers? That would enable identification of security and misconfiguration issues before resources are created.
OPC (Open Platform Connect) United Architecture
Ignition’s OPC-UA (Open Platform Communication United Architecture) module VIDEO:
- OPC-COM for legacy OPC servers
- OPC-DA (Data Access) v2 & 3 for Windows
- OPC-HDA (Historical Data Access) v12
- OPC Tunneller ???
Maker Edition
InductiveAutomation provides a free-forever edition for home automation.
- Getting Started with Maker in Supplemental
- VIDEO: Maker Edition Install and Programming
- VIDEO: Maker Edition Install
PROTIP: A custom program is needed to periodically pull data from an external source into Ignition. This is more secure than allowing API calls to push data into an Ignition server. The data source can be weather information from sensors which provide an API to present its data to others. When instructions for the above is compiled, it can be used by students everywhere to use an enterprise-grade tool such as Ignition. This is undertaken by bomonike.org.
Store and Forward
Store and Forward engines are automatically created for configured database connections and remote history providers.
-
The Store and Forward Status page is at:
http://localhost:8088/web/config/database.sandf?7#/
It’s where its Memory Buffer size and Disk Cache size can be edited. Actions include “Archive Disk Cache” and “Load Disk Cache”.
-
Click “Details for
http://localhost:8088/web/status/con.history?10
Industrial Demo
PROTIP: Turn off Dark Reader on your browser.
This does not require installation locally.
https://demo.inductiveautomation.com works 2 hours at a time.
View source to see that it uses React, Mobx, Moment, XHR. All HTML on the page is loaded dynamically.
The app can be configured to VIDEO: add a tint to an svg image.
Ignition Modules
Modules selected for install and listed in the Gateway (alphabetically):
- are not selected at install
-
are selected at install
- Alarm Notification
- Enterprise Administration
- OPC-UA
- Perspective
- Reporting
- Serial Support Client
- Serial Support Gateway
- SFC (Sequential Function Charts)
- SMS Notification
- SQL Bridge (defined in the Designer to support Transaction Groups : units of execution that perform actions such as storing data historically, synchronizing database values to OPC, or loading recipe values)
- Symbol Factory
- Tag Historian
- UDP and TCP (Communication Protocol) Drivers
- Vision (an older front-end technology replaced by Perspective)
- Web Browser
- WebDev
Device PLC Driver modules
The cost of a license for Ignition depends on whether you want Perspective build, Siemens drivers, and voice notification. See:
There are also PLC Driver modules and Communication protocol modules (such as OPC-UA).
PROTIP: Don’t select these modules during install unless you know you’ll need them.
- ABB (Totalflow) ???
- Allen-Bradley Driver (Logix 5000)
- BACnet Driver
- Bentley Nevada ?
- GE ?
- Honeywell ?
- Legacy DNP3 Driver
- Logix Driver
- Micro8000 Driver
- Mitsubishi Driver
- Modbus Driver
- Omron Driver (NX5 course)
- Rockwell Automation ?
- Siemens Drivers (tags don’t support browsing)
- Yokogawa ?
Each device is input into the database with a unique Tag identifier, along with various attributes with values.
Ignition has drivers for each manufacturer, listed at
IU: Modules displayed (filtered) are determined by the docker-compose.yml under services: gateway: enviornment: GATEWAY_MODULES_ENABLES=opc-ua,tag-historian,alarm-notification,logix-driver
https://inductiveuniversity.com/video/basic-structure-of-an-ignition-sdk-module
Licenses
Each module is associated with a license.
New modules have a two hour trial period.
Without a license, the Designer can create new projects.
Custom module development
IU: Dev custom modules using the Ignition SDK written in Kotlin (developed by JetBrains) and Java run by the Azul.com OpenJDK Zulu JDK.
Use Git to clone https://github.com/inductiveautomation/ignition-sdk-training
The IDE recommended is IntelliJ IDEA free Community Edition.
The IMDC (Ignition Module Development Community) has code to Azure at https://github.com/IgnitionModuleDevelopmentCommunity
- Scripting & expression Functions
- Components
- Tag providers
- Drivers
The build.gradle.kts config. file defines what project scope the module has. A letter defines each scope, such as “G” to com.inductiveautomation.ignition.examples.scripting.gateway.GatewayHook, C to ClientHook, D to DesignerHook, CDG to common.
IU: To build/generate SDK modules into a .modl file, Gradle.org is installed using: https://github.com/inductiveautomation/ignition-module-tools
gradlew.bat clean build
gradlew.bat runCli --console plain
Each .modl file is actually a zip file containing a jar SNAPSHOT file for each scope, plus a XML manifest file named “module”.
QUESTION: How sign custom modules?
Logger objects and messages for each scope.
Module debugging makes use of a JDWP connection configured in /data/ignition.conf.
Communication Protocol Modules
-
TCP (using the HSMS standard, SEMI E37)
-
MODBUS is a protocol published by Modicon in 1979 (now owned by Schneider) when ASCII was used. It now make use of several media: RS-232 & RS485 serial, RS-422 TCP/IP Ethernet. It is called open becuase it is used by different PLCs. A master send sends requests for slaves to respond. A CRC error check in is added.
-
RS-232 based protocol (using the SECS-I standard, SEMI E4), SECS/GEM is the Equipment Communications Standard E5 / Generic Equipment Model (standard E30) protocol defined by SEMI (Semiconductor Equipment and Materials International) for equipment-to-host data communications. In an automated fab, the interface can start and stop equipment processing, collect measurement data, change variables and select recipes for products.
-
SMS (mobile) text notifications
- DNP3 (Distributed Network Protocol 3) used by electric and water utilities
- EC 61850 - communication protocols for intelligent electronic devices at electrical substations.
-
BACnet - a communication protocol for building automation and control (BAC) networks that use the ASHRAE, ANSI, and ISO 16484-5 standards protocol used by building automation and control systems for applications such as heating, ventilating, and air-conditioning control (HVAC), lighting control, access control, and fire detection systems and their associated equipment. The BACnet protocol provides mechanisms for computerized building automation devices to exchange information, regardless of the particular building service they perform.
- Send message to Lark
- ??? For interoperability among IoT devices, the Matter protocol under IP was developed by Amazon, Apple, Google, Samsung, and others with the Zigbee Alliance, at the Connectivity Standards Alliance (CSA).
Version 1.0 of the spec and SDK was published 4 October 2022. Matter uses as transport the Thread IPv6 mesh protocol for battery-powered devices, supported by Apple iPhone 15 Pro, and all models of iPhone 16 and Google Pixel 9.
EAM Scaling with MQTT
The EAM (Enterprise Administration Module) enables management of many Ignition installations from one location.
Ignition communicates using the MQTT protocol with central administration of permissions.
Ignition uses JDBC to store and retrieve data in SQL databases which use compression algorithms (called “Historian”).
Ignition’s Reporting Engine creates dynamic PDF files.
Ignition’s Alarming system sends out notifications via voice, SMS, email.
Customer usage
https://inductiveautomation.com/resources/customerproject
VIDEO Raspberry Pi Ignition Edge Install
Using ChatGPT
Software Stack
from here
Ignition Modules
https://inductiveautomation.com/ignition/modules
- Gateway server executes Ignition modules, provides Launchers, then communicates with clients Launched from the Gateway:
- Perspective Designer is inductiveautomation’s HTML5-based design IDE to configure and build projects.
- Sessions are runtimes of the Perspective Module run in a browser.
- Vision clients are a legacy module superceded by Perspective.
- Images ???
-
Projects
-
Tags is how Ignition uniquely identifies each OPC-UA object which communicates with PLCs.
- Database connections use utility code to reach databases using the JDBC (Java Database Communications) protocol. Python programs use a library to mimic how Java programs communicate.
- SFC (Sequential Function Charts) is Ignition’s implementation of IEC 61131-3 “Ladder Logic” specifications for drag-and-drop visual programming of complex logic in robust logic systems that execute concurrent long-running on Ignition Gateways. Its GUI is used instead of programming Python.
Charting elements include steps (boxes), transitions, direct links, jumps, parallel branches / syncs (fat bars):
Dev Build
The current and prior releases (once per month) by QA Engineer Garth Gross are at: https://github.com/inductiveautomation/ignition-automation-tools/tags
Notice there is are different version numbers for Ignition (8.1.39) and Perspective (2.1.39).
https://github.com/inductiveautomation/ignition-sdk-training
Coding Tutorials
https://inductiveuniversity.com/
-
Begin with first lesson at https://inductiveuniversity.com/courses/ignition/ignition-overview/8.1
https://inductiveuniversity.com/videos/what-is-ignition/8.1
- Create Account and verify email.
- Take Topic Challenge
-
1 hr 28 min course “Design Fundamentals” takes a deep dive into the world of visual design - common design patterns and philosophies.
-
46 min course “Advanced Styling in Perspective” for tips and tricks to take your Perspective projects to the next level.
-
1 hr 15 min course “Module Development with the Ignition SDK” opens up Ignition to user/organization extensions and customizations with SDK module development.
-
Watch overview https://www.inductiveuniversity.com/video/what-is-ignition/8.1
Ignition Designer tool
https://inductiveuniversity.com/courses/elective-studies
https://www.youtube.com/watch?v=ZkYZ1xTtzsg Learning to Code Using Ignition!
Designer Launcher install
-
Know the release (such as 8.1.48)
Install Designer:
- Click “Get Designer” at the upper-right corner.
-
Click “Download for macOS” for
designerlauncher.dmg (.exe for Windows, tar.gz for Linux)
PROTIP: Rename the download if you want to keep the file over several releases.
- Do not click green “Activate Ignition” unless you have purchased a license.
- Switch to the macOS Finder.
- Locate the file and double-click to open it.
- Drag “Designer Launcher” and drop on the Applications folder icon.
- Switch to Finder and right-click to Move it to “Move to Trash”.
-
Navigate within the $HOME/Applications folder. Click the “Name” heading to sort by that. Type D. Notice its “Date Modified” is the date created, not the current date installed.
- Double-click on “Designer Launcher” icon.
-
Click “Open” to confirm “downloaded from the internet”.
- Switch to click the red X at the upper-left to dismiss it.
- Scroll down to Locations section and click the unmount icon to “Designer Launcher”.
Designer Projects
TUTORIAL: Designer UI
Categories in the Project Browser panel:
- Alarm Notification Pipelines
- Sequential Function Charts (SFC)
- Scripting
- Perspective Components
- Transaction Groups
- Vision
- Named Queries
- Reports
Tools menu:
- Console (Ctrl+Shift+C)
- Image Management
- Script Console
- Database Query Browser
- Translation Manager
- Symbol Factory
- Launch Project
The Designer Launcher 3:26 Creating a Project 4:43 The Designer User Interface 3:00 About Project Properties 1:22 About Communication Modes 2:23 Using Find and Replace
https://docs.inductiveautomation.com/docs/8.1/appendix/components/perspective-components
References:
- winning project(among 300) to 2025 72-hour weekend Build-A-Thon for Students & before the Ignition Conference
- 3 hr 49 min course “Building in Perspective” to create your first Perspective project.
- https://www.linkedin.com/pulse/mcu-iiot-inductiveautomation-ignition-wilson-mar-msc–azpic/
- VIDEO: How PID Control Works (the best explanation)
- VIDEO: Arduino PID Controller - From Scratch! by Ian Car
- Cirrus-Link for IIoT
### Launch the Gateway
- Designer
- Vision Client Launcher
- Perspective Workstation
- Perspective Session Launcher
### Upgrade
VIDEO: At the Gateway:
- Click the cog icon to “Config”.
- Login.
- Modules
https://localhost:8088/web/config/system.modules?5
PROTIP: Module file names end with “.modi”.
The module is automatically signed with a certificate.
QUESTION: Is there automatic upgrade of security patches?
PROTIP: Upgrade of Ignition to several (not just the most recent) version.
- Click “Backup/Restore” to Download Backup.
-
Some licenses do not permit major upgrade.
- Connect to a Device
Database
- Connect to a Database
database MariaDB 4306
- Open the Designer
- Create Tags
- Add History to Tags
- Add Components - Perspective Session
-
Switch to the “My Designers” dialog.
-
https://docs.inductiveautomation.com/docs/8.1/getting-started/quick-start-guide
-
VIDEO: Select the “Maker Edition”, a “free, limited version of Ignition for personal, non-commercial projects.
- Create a User
- Start Gateway.
- Don’t save password on browser.
-
“Get Started” web page on Localhost.
- Download Launchers.
- Create a project.
-
Download add-on extensions.
Stop & Start
PROTIP: Add an alias for these commands in the OS CLI.
-
Stop the Gateway server.
docker compose down -v
-
To start the Gateway server
docker compose up -d
- To stop the Gateway from starting upon startup, ???
Config
VIDEO: Within the install folder, configuration files are in the data folder.
- Define the restore.gwbk file for backup.
Dev
VIDEO: Learning to code in Ignition
https://github.com/inductiveautomation organization by Perry Arellano-Jones and Kevin Collins
- https://github.com/inductiveautomation/ignition-module-tools
-
https://github.com/inductiveautomation/ignition-sdk-training uses Gradle processing Java and Kotlin
- Kindling
https://github.com/orgs/ignition-devs/repositories?type=all
OPC
Real-time OPC (Open Process Control) servers.
https://www.wikiwand.com/en/articles/Open_Platform_Communications
Object Linking and Embedding OPC
https://www.udemy.com/course/mastering-opc-ole-for-process-control/
Sensors and Actuators
Several vendors provide industrial-strength sensors that monitor and actuators that control.
Low-cost microprocessors such as Arduino, Raspberry Pi, Intel NUC, Zima, etc. provide a good way to train about general concepts. But they don’t have the weather, security, power-level proofing provided by industrial equipment.
Add-on packages
inductiveautomation’s Exchange website provides (at time of writing) 442 add-ons for download.
Look for “Maker Edition Compatible” if you’re running that.
A sample package is a zip file containing a README.md and MANIFEST file containing this example:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"name": "Next Generation Dashboard",
"ignition-version": "8.1.10",
"version": "1.0.0",
"modules": [{"name": "com.inductiveautomation.perspective"},{"name": "com.inductiveautomation.webdev"},{"name": "com.inductiveautomation.opcua"}]
}
Notice the file specifies the specific Ignition version.
The modules listed correspond to the folders at root:
- com.inductiveautomation.perspective
- com.inductiveautomation.vision is the older tech
-
com.inductiveautomation.webdev
- com.inductiveautomation.opcua does not exist as a folder but mentioned in the project.json ???
In the Other folder are icons.zip and themes.zip.
The Projects folder holds a fonts.zip containing font files.
The core of the package is a file such as:
- dashboardKpi_20210922144324.zip<
Numbers in the file name is its date of creation.
The sample project.json
{
"title": "KPI Dashboard",
"description": "",
"parent": "",
"enabled": true,
"inheritable": false
}
The ignition folder contains:
- designer-properties
- event-scripts
- global-props
- named-query
- script-python
The script-python contains folders:
- dashboard
- db
- KPIFramework/kpi
- tags
In each folder above is a resource.json such as:
{
"scope": "A",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"code.py"
],
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2021-09-21T21:51:47Z"
},
"lastModificationSignature": "bea61bf53cccfb3d2cb5e341bef1278049bd8ac4f44dc4b78bd948029b634872"
}
}
The Signature is created during the build based on a Private key.
Right below copy and paste the icons from the ha_icons.svg file and save. Now we have new icons to play around with. The dashboard requires a few of these icons for the provided example.
Next, you need to import the project backup and tags provided by the resource. You can easily import both in the Ignition Designer. The tags are required for the example dashboard that is provided to show information.
Project backup and restoring from a project backup is referred to as Project Export and Import. Projects are exported individually, and only include project-specific elements visible in the Project Browser in the Ignition Designer. They do not include Gateway resources, like database connections, Tag Providers, Tags, and images. The exported file (.zip or .proj ) is used to restore / import a project.
.zip = Ignition 8+
..proj = Ignition 7+
There are two primary ways to export and import a project:
Gateway Webpage - exports and imports the entire project.
Designer - exports and imports only those resources that are selected.
When you restore / import a project from an exported file in the Gateway Webpage, it will be merged into your existing Gateway. The import is located in:
Ignition Gateway > Configuration > System > Projects > Import Project Link
If there is a naming collision, you have the option of renaming the project or overwriting the project. Project exports can also be restored / imported in the Designer. Once the Designer is opened you can choose File > Import from the menu. This will even allow you to select which parts of the project import you want to include and will merge them into the currently open project.
The main view is Dashboard/Carousel. You can create a page (in Perspective page configuration) that uses that main view. You can easily configure the dashboard to modify the widgets and tags they point to. Simply open up the Carousel view and take a look at the Carousel component’s “views” property.
Basically, the carousel can have multiple pages since views is an array. Each page uses the Dashboard/Dashboard view. The parameters dictate the widgets shown. The resource provides a set of standard widgets. You can easily create your own. The Standard widget is the most used. There are a ton of configuration options. Play around with the parameters to get an idea. If you want to see what parameters are possible, check out the widget view.
Ignition can export and import Tag configurations to and from the JSON (JavaScript Object Notation) file format. You can import XML (Extensible Markup Language) or CSV (Comma Separated Value) file formats as well, but Ignition will convert them to JSON format. Tag exports are imported in the Designer. Once the Designer is opened you can click on the import button in the Tag Browser panel.
Diagnostic Bundle
-
Unzip
Folders in the bundle:
- gateway-info.json
- gateway-network-live-diagram.json
- jetty-server-dump.txt
- metrics.idb
- system_logs.idb
- thread-dump.json
- wrapper.log
Tutorials
https://www.youtube.com/watch?v=z935clBMJYU The IP (ingress Protection) rating of devices is defined by International Standard EN 60529. The 2-digit code defines the result of tested resistance to solids and liquids.
https://www.youtube.com/watch?v=aYltp_iM6VA 6 Key Terms in Upstream Oil and Gas Automation (PLC vs RTU in the Electric/Digital Oilfield) by Kimray
https://inductiveuniversity.com/videos/password-reset-with-gwcmd/8.1
Industrial?
“Heavy” industries need uninterruped power for monitoring and controlling real-time status of protected equipment:
- Electric power generation, transmission, and distribution
- Water and sewage
- Buldings, facilities, and enviornments
- Manufacturing
- Mass transit and traffic signaling
These systems need to be hardened” by implementing recommendations based on this pdf covering controls which include strong password, 3FA, VPN, log all access attempts, keep inventory & SBOM updated.