Mission Critical Ignition Architecture: Local Client Fallback
In many situations, a standard Ignition Gateway will suffice with zero issues. Many companies opt to use Redundant Gateways as first line of defense. In the case, if the main gateway goes down, the backup will take over and keep the plant running. Once the main gateway issues are resolved everything can be moved back over and the plant will be back to normal with relative ease.
In some cases, a redundant gateway isn’t enough reliability. Even if the main and/or redundant gateways are rock solid, you could still have major issues such as spotty network connectivity between the PLCs and gateways, or machines that simply cannot stop operating for any reason, regardless of what happens on the gateways.
Corso Systems has found that a Local Client Fallback method can solve these problems for most companies. This allows you to run a gateway on the machine itself—and to set up this gateway with the project needed to run the machine. This gateway can take over local control if there are any issues with the connection between the local gateway and the main gateway.
Obviously, this setup would get expensive if you were to buy a full gateway license for every machine, so instead, with some inspiration from the IIoT world, we’ll take advantage of the Ignition Edge platform’s Edge Panel gateway for our local machine level gateways.
Setting Up Ignition Edge for Local Client Fallback
First, install Ignition Edge on a computer with access to the main gateway and the PLCs at the machine itself. Next, go into the Edge Gateway webpage->Config->Gateway Settings. Scroll down to the “Local Client Fallback” section, check “Enable Local Client Fallback”, and enter “Edge” for the project name.
Open up a designer connected to your Edge gateway, add in the tags and windows as needed to control the machine, and save your project. We will have a more detailed post in the near future about converting non-Edge projects to Edge projects to simplify this process.
Now that your Edge project is configured, open a client session connected to the main gateway as you normally would. To test the fallback functionality, disconnect the network cable between the main gateway and the Edge gateway. After the specified number of seconds you configured before failover, it should failover to the Edge project automatically, or you can click the button on the disconnection dialog to failover immediately without the timeout.
Getting Back to the Main Gateway After the Problem is Resolved
When the network connection is restored, you will still be in fallback mode. Unless there’s additional configuration, you’ll need to reopen the client session again to return to the main gateway.
To remedy this and automatically return to the main gateway, we’ll create a timer script in the Edge project that runs every thirty seconds. Update the code below with your main gateway’s IP address, port, and project name, then save/publish the changes. Now, when the connection is back online and this script runs, it will automatically return to a client session running on the main gateway.
# add this to a Client Timer Script running every 30 seconds # change the IP address and project names to maatch your system #Allow the main copy of Ignition 10 seconds to give a respons status = system.util.getGatewayStatus("ipaddress:8088/main",10000) # if it's running again, retarget if status == "RUNNING": system.util.retarget("my_project", "ipaddress:8088")
Wrapping Up: Using Local Client Fallback
Using Local Client Fallback with a gateway running on a computer with access to your PLCs will give you fault protection from network outages or other issues with your main gateway. You can set up additional steps with this architecture to minimize any impact to your data collection or overall operations. We will cover these methods in future posts.
If you have any questions or need any additional information on how to use Local Client Fallback to give you a Fault Tolerant, Highly Available Ignition installations, please contact us!