Wilson Mar bio photo

Wilson Mar

Hello!

Calendar YouTube Github Acronyms

LinkedIn

plc

Setup and use Inductive Automation’s Ignition platform to control PLCs for enterprise MES use.

US (English)   Norsk (Norwegian)   Español (Spanish)   Français (French)   Deutsch (German)   Italiano   Português   Estonian   اَلْعَرَبِيَّةُ (Egypt Arabic)   Napali   中文 (简体) Chinese (Simplified)   日本語 Japanese   한국어 Korean

Overview


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:

Click for full screen

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:

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.

    ignition-panel-727x374.png

    There is less mistakes and waste when operators are assisted with a control panel such as this: ignition-fill-828x485.png

    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-mqtt-3024x1964.png
Click picture for full screen

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:

ignition-pyramid-1833x831.png

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

TUTORIAL:

  1. Many URLs contain a specific release version code, such as:

    https://inductiveautomation.com/downloads/ignition/8.1.48

References:

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

TUTORIAL:

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.

  1. Install Python interpreter.

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

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

  4. Installation Options: Custom (to install additional modules and adjust the default modules to install). Select from the list of modules above.
  5. Install
  6. Start Ignition Now
  7. Uncheck Install Service.

    PROTIP: If on Windows, automatic start-up of the service is controlled at Start > Control Panel > Administrative Tools > Services > Ignition Gateway.

  8. Finish and wait for the browser to pop-up.
  9. Click “Standard Edition”.
  10. Click “I have read and agree with the terms and conditions”.

    gwcmd

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

  12. Configure Ports Defaults:
    • HTTP Port: 8088
    • HTTPS Port: 8043
    • Gateway Network Port: 8060
  13. Finish Setup.

    User Manual

    Config Menu & Backup

    VIDEO: PROTIP: Manually take a backup immediately after completing a test of changes.

  14. Purchase an external USB hard drive and plug it in.

  15. On the left menu, click the “Config” cog icon.
  16. Click “Backup/Restore” within the blue Config menu for (by default):

    http://localhost:8088/web/config/system.backup?12

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

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

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

  20. Check to enable the scheduled backup system.

  21. To configure automatic periodic backups, scroll down to “Backup Schedule” for a UNIX crontab style scheduling string representing when to make the backups.

  22. Scroll down to click “Save Changes”.

    Gateway LogIn & Status

  23. Start Gateway. Wait.
  24. Click “Yes, Enable Quick Start” for
    http://localhost:8088/web/home?3
    
  25. Click the “Status” icon on the left menu.
  26. Click “Log In”.
  27. 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.

ignition-connections-2088x1308.png

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.

IU

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

ignition-aws-standalone-asg.png

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.

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.

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

  2. 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: ignition-licenses.png

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

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-arch-3024x1964.pngClick for full screen

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

ChatGPT to create Views

Software Stack

ignition-SoftwareStack-3200x1800.png 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.

ignition-flow-2070x1304.png

  • 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):
ignition-sfc-elements.png

VIDEO: From Intro:
ignition-sfc_chart.png

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/

  1. Begin with first lesson at https://inductiveuniversity.com/courses/ignition/ignition-overview/8.1

    https://inductiveuniversity.com/videos/what-is-ignition/8.1

  2. Create Account and verify email.
  3. 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.

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

TUTORIAL:

  1. Know the release (such as 8.1.48)

    Install Designer:

  2. Click “Get Designer” at the upper-right corner.
  3. 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.

  4. Do not click green “Activate Ignition” unless you have purchased a license.
  5. Switch to the macOS Finder.
  6. Locate the file and double-click to open it.
  7. Drag “Designer Launcher” and drop on the Applications folder icon.
  8. Switch to Finder and right-click to Move it to “Move to Trash”.
  9. 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.

  10. Double-click on “Designer Launcher” icon.
  11. Click “Open” to confirm “downloaded from the internet”.

  12. Switch to click the red X at the upper-left to dismiss it.
  13. Scroll down to Locations section and click the unmount icon to “Designer Launcher”.

Designer Projects

TUTORIAL: Designer UI

Categories in the Project Browser panel:

  1. Click the “Project Properties” for a pop-up window

    ig-8.1-proj-props752x458.png

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:

  1. Click the cog icon to “Config”.
  2. Login.
  3. 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.

  4. Click “Backup/Restore” to Download Backup.
  5. Some licenses do not permit major upgrade.

    • Connect to a Device

    User Manual

    Programmable Device Simulator

    Database

    • Connect to a Database

    database MariaDB 4306

    • Open the Designer
    • Create Tags
    • Add History to Tags
    • Add Components - Perspective Session
  6. Switch to the “My Designers” dialog.

  7. https://docs.inductiveautomation.com/docs/8.1/getting-started/quick-start-guide

  8. VIDEO: Select the “Maker Edition”, a “free, limited version of Ignition for personal, non-commercial projects.

  9. Create a User
  10. Start Gateway.
  11. Don’t save password on browser.
  12. “Get Started” web page on Localhost.

  13. Download Launchers.
  14. Create a project.
  15. Download add-on extensions.

    Stop & Start

    PROTIP: Add an alias for these commands in the OS CLI.

  16. Stop the Gateway server.

    docker compose down -v

  17. To start the Gateway server

    docker compose up -d

  18. To stop the Gateway from starting upon startup, ???

Config

VIDEO: Within the install folder, configuration files are in the data folder.

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

ig-8.1-diagnostics-774x820.png

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

Remote monitoring design tips

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.