Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added last of the images lost in the Confluence server upgrade.

...

  • Ignition Edge 2
    • Select Redundancy on the left navigation bar. Then set the Mode to 'Master' and set the Standby Activity left to 'Warm' as shown below.
    • Set up the Redundancy Network Settings.  The settings here are specific to your network setup.  On many LAN configurations none of these changes are required.  What is shown below was the configuration for setting up all of these components in Amazon's AWS EC2 instances.  The changes were:
      • Uncheck 'Auto-detect network interface'
      • Set the 'Network Bind Interface' to the public IP address of the Ignition Edge 2 EC2 instance.  On a LAN this would be the primary network interface address of the Ignition Edge 2 machine.
      • Uncheck the 'Autodetect HTTP Address' tickbox.
      • Specify two explicit HTTP addresses for clients to use.  These were the public IP addresses of the Ignition Edge 2 and Ignition Edge 2 Backup EC2 instances.  On a LAN, these would be the primary network interface addresses of the Ignition Edge 2 and Ignition Edge 2 Backup machines.  Also note the HTTP port is 8088 which is the default Ignition HTTP port.
    • Set the Master Node Address.  Note in the configuration below a hostname is being used.  This should be the primary network interface address of the Ignition Edge 2 Gateway.
    • Finally, click the 'Save Changes' button.

  • Ignition Edge 2 Backup
    • Select Redundancy on the left navigation bar. Then set the Mode to 'Backup' and set the Standby Activity left to 'Warm' as shown below.
      Image RemovedImage Added
    • Set up the Redundancy Network Settings.  The settings here are specific to your network setup.  On many LAN configurations none of these changes are required.  What is shown below was the configuration for setting up all of these components in Amazon's AWS EC2 instances.  The changes were:
      • Uncheck 'Auto-detect network interface'
      • Set the 'Network Bind Interface' to the public IP address of the Ignition Edge 2 Backup EC2 instance.  On a LAN this would be the primary network interface address of the Ignition Edge 2 Backup machine.
      • Uncheck the 'Autodetect HTTP Address' tickbox.
      • Specify two explicit HTTP addresses for clients to use.  These were the public IP addresses of the Ignition Edge 2 and Ignition Edge 2 Backup EC2 instances.  On a LAN, these would be the primary network interface addresses of the Ignition Edge 2 and Ignition Edge 2 Backup machines.  Also note the HTTP port is 8088 which is the default Ignition HTTP port.Image RemovedImage Added
    • Set the Master Node Address.  Note in the configuration below a hostname is being used.  This should be the primary network interface address of the Ignition Edge 2 Gateway.
      Image RemovedImage Added
    • Finally, click the 'Save Changes' button.

...

  • Using Ignition Designer on Edge 1, do the following:
    • Create a new project called 'Test'.
    • In the Tag Browser, confirm there is a folder called 'Edge Nodes'.  If there is not, confirm MQTT Transmission is installed.
    • In the 'Edge Nodes' folder, create a folder called 'Group 1'.
    • In the 'Group 1' folder, create a folder called 'Edge 1'.
    • In the 'Edge 1' folder, create a folder called 'Device 1'.
    • In the 'Device 1' folder, create a Tag called 'Tag 1'.
    • At the end, you should see something similar to what is shown below.

Image RemovedImage Added

  • Using Ignition Designer on Edge 2, do the following:
    • Create a new project called 'Test'.
    • In the Tag Browser, confirm there is a folder called 'Edge Nodes'.  If there is not, confirm MQTT Transmission is installed.
    • In the 'Edge Nodes' folder, create a folder called 'Group 1'.
    • In the 'Group 1' folder, create a folder called 'Edge 2'.
    • In the 'Edge 2' folder, create a folder called 'Device 1'.
    • In the 'Device 1' folder, create a Tag called 'Tag 1'.
    • At the end, you should see something similar to what is shown below

Image RemovedImage Added 

  • Finally, refresh the Transmission runtime.  This is done by clicking the 'MQTT Transmission/Transmission Control/Refresh' Boolean tag.

Image RemovedImage Added

    • After clicking the Boolean tag you may need to 'Enable Read/Write Mode'

Image RemovedImage AddedStep 6: Force Sync of Backup Instances

...

  • Repeat the following steps for the following Ignition instances: Primary, Edge 1, and Edge 2
    • Browse to the Status menu and then click in the Redundancy box as shown below.
      Image Removed
      Image Added 
      • Force the Re-sync via the button below.  This will duplicate the master configuration to the backup Ignition instance it is connected to.
      Image Removed
      • Image Added
      • Repeat the above Re-sync steps on the Edge 1 and Edge 2 Ignition instances.

Step 7: Verify MQTT Engine is getting data from the MQTT Transmission Edge 1 and Edge 2

Open Ignition Designer on the Ignition Primary instance.  Expand the MQTT Engine tag tree and validate the following tags are present.  If they are present and not stale, they are properly connected.

Image RemovedImage Added

Step 8: Test the Redundancy

...

  • Ignition Primary
    • Create the following widgets.
      • Label - Ignition Primary
      • Label - Redundancy State → Label with Tag Path of "[MQTT Engine]/Engine Info/Redundancy State"
      • Label - Redundancy Role → Label with Tag Path of "[MQTT Engine]/Engine Info/Redundancy Role"
      • Label - Edge 1 Tag 1 → Label with Tag Path of "[MQTT Engine]/Edge Nodes/Group 1/Edge 1/Device 1/Tag 1"
      • Label - Edge 2 Tag 1 → Label with Tag Path of "[MQTT Engine]/Edge Nodes/Group 1/Edge 2/Device 1/Tag 1"
      • Label - MQTT Engine Connected → Multi-State Indicator with Tag Path of "[MQTT Engine]/Engine Info/MQTT Clients/Chariot SCADA/Online"
      • Label - Edge 1 Connected → Multi-State Indicator with Tag Path of "[MQTT Engine]/Edge Nodes/Group 1/Edge 1/Node Info/Online"
      • Label - Edge 2 Connected → Multi-State Indicator with Tag Path of "[MQTT Engine]/Edge Nodes/Group 1/Edge 2/Node Info/Online"
    • When complete - it should look similar to what is shown below

Image RemovedImage Added

  • Ignition Edge 1
    • Create the following widgets
      • Label - Ignition Edge 1
      • Label - Redundancy State → Label with Tag Path of "[MQTT Transmission]/Transmission Info/Redundancy State"
      • Label - Redundancy Role → Label with Tag Path of "[MQTT Transmission]/Transmission Info/Redundancy Role"
      • Label - Edge 1 Tag 1 → Label with Tag Path of "[default]/Edge Nodes/Group 1/Edge 1/Device 1/Tag 1"
      • Label - Connected → Multi-State Indicator with Tag Path of "[MQTT Transmission]/Transmission Info/MQTT Clients/Group 1-Edge 1/Online"

Image RemovedImage Added

  • Ignition Edge 2
    • Create the following widgets
      • Label - Ignition Edge 2
      • Label - Redundancy State → Label with Tag Path of "[MQTT Transmission]/Transmission Info/Redundancy State"
      • Label - Redundancy Role → Label with Tag Path of "[MQTT Transmission]/Transmission Info/Redundancy Role"
      • Label - Edge 2 Tag 1 → Label with Tag Path of "[default]/Edge Nodes/Group 1/Edge 2/Device 1/Tag 1"
      • Label - Connected → Multi-State Indicator with Tag Path of "[MQTT Transmission]/Transmission Info/MQTT Clients/Group 1-Edge 2/Online"

Image RemovedImage Added

  • Once all three dashboards have been created, save and publish them and close the Ignition Designer windows.
  • Now open each of the Ignition client 'Test' projects.  With everything running you should see three windows similar to the following.

Image RemovedImage Added

  • At this point we can begin failing Ignition instances.  From the Status → Redundancy page we can use the 'Force Failover' button as shown below.  Of course stopping the actual Ignition instance is another option.

Image RemovedImage Added

  • Primary Ignition Failure: Failing the Ignition Primary instance will cause the following.
    • Ignition Primary will go down and be unreachable
      • This results in all MQTT connections being lost.
    • Ignition Primary Backup will come up and take the place of Ignition Primary
    • MQTT Engine will reconnect on Ignition Primary
    • The MQTT Transmission instances will reconnect to the new MQTT Server (MQTT Distributor) running in Ignition Primary Backup
    • This is all shown in the screenshot below of the Ignition projects.  Note all connections are valid and the 'Redundancy Role' of Ignition Primary is now Backup.

Image RemovedImage Added

  • Edge 1 Failure: Failing the Ignition Edge 1 instance will cause the following.
    • Ignition Edge 1 will go down and be unreachable
      • This results in the MQTT Connection between Ignition Edge 1 and Ignition Primary being lost.
    • Ignition Edge 1 Backup will come up and take the place of Ignition Edge 1.
    • The MQTT Transmission instance on Ignition Edge 1 Backup will connect to the MQTT Server (MQTT Distributor) running in Ignition Primary
    • This is all shown in the screenshot below of the Ignition projects.  Note all connections are valid and the 'Redundancy Role' of Ignition Edge 1 is now Backup.

Image RemovedImage Added

  • Failure of all Master Nodes: Failing all master Ignition instances (Primary, Edge 1, and Edge 2) will cause the following.
    • Ignition Primary, Edge 1, and Edge 2 will all go down and be unreachable
      • This results in all MQTT connections being lost
    • Ignition Primary Backup, Edge 1 Backup, and Edge 2 Backup will all come up and start their MQTT services.
    • The new MQTT Transmission instances on Ignition Edge 1 Backup and Ignition Edge 2 Backup will connect to the new MQTT Server (MQTT Distributor) running in Ignition Primary Backup
    • This is all shown in the screenshot below of the Ignition projects.  Note all connections are valid and the 'Redundancy Role' of all instances is now Backup.

Image RemovedImage Added

To summarize, this tutorial shows how Ignition and the MQTT Modules can be used to create a resilient infrastructure that is able to withstand failures of machines and network connections within the architecture.  As noted earlier, this tutorial shows the basic requirements of configuring failover support with Ignition and the MQTT Modules.  This can be further improved with additional advanced concepts.  Feel free to contact sales@cirrus-link.com for more information.

...