Ignition as an API Backend

If you are reading this post, you probably already know about Inductive Automation’s Ignition either from using it at a manufacturing plant, running a business, or as a powerful home automation tool with Ignition’s Maker Edition. And you’ve probably seen Ignition screens in Vision or Perspective. But, have you ever seen Ignition running “headless”?

No, we’re not talking running around with its head cut off and causing “pause the world” events. In the software sense, headless is defined as “software capable of running without a graphical user interface (GUI).”

Software For Humans

Most of the software in your day to day life has a GUI: web browsers, Microsoft Office, email programs, video games. Without an interface to interact with, all of these software applications would be very difficult for people to use. Even accessibility features like enabling dictation are simply replacing the act of typing on a keyboard with your voice. The text still goes into an interface visible on the screen.

If you were to ask most people on the street what a computer looks like, they would likely describe what someone uses on the job to access information, and enter data. Mostly, they would describe the GUI rather than anything about the physical computer itself or how it works.

Software For Computers

If you were to ask computers what most of the computers in the world look like, they would have an entirely different story. They wouldn’t know or care about the way people interact with computers, they would only know how they interact with them.

While browsing the web for example: when you type in corsosystems.com and press enter, you are brought to this website. You see all of the text and pictures we have uploaded and you can peruse to your heart’s content. The computer sees something entirely different. Your web browser packages a request and sends it through your network card out to some other computers on the internet as a stream of 0s and 1s. Computers take that information and look up what corsosystems.com points to, finds the server it is hosted on, then grabs the relevant stream of 0s and 1s to return to your web browser. You will probably have any number of other forms of data passing back and forth, eventually giving your web browser enough information to display the page you are reading right now. In today’s world that will have happened in a shorter time than it took to read this sentence.

Needless to say, a vast majority of the computers in the world are handling requests like this—with zero graphical interface required.

Headless Ignition: Welcome to Sleepy Hollow

How do you do this with Ignition? Very simply. First, make sure that the Ignition Web Development Module is installed. This module exposes any Ignition gateway as a web server. Then, you can access the Ignition gateway from any device on the network using standard URL formats and parameters. This allows you to use HTTP GET, POST, and any other standard HTTP calls. You can also now enable SSL for https access, and enable the full Ignition security architecture as needed on any of your calls.

Once you access the Ignition gateway via a URL, you also have full access to the Ignition scripting engine—giving you access to PLCs and other plant floor devices, databases, OPC Servers, and other Ignition gateways. You could even build an endpoint to send messages to operators using the HMI portion of Ignition from any machine on the network.

Why You Should Use the Web Development Module

The Ignition Web Development (WebDev) Module is a very powerful tool in today’s world. By using it, you can easily integrate just about any other software package with Ignition.

Here are just a few of the project implementations we’ve completed with the WebDev module:

  • Ignition as a front-end for an Automated Guided Vehicle (AGV) management system, integrating ASRS and warehousing systems to call/receive goods from AGV units in a just-in-time (JIT) capacity.

  • Integrating Ignition with the FLIR Camera API to automatically capture images from a FLIR temperature camera, then return the files to Ignition to store in a database for reporting.

  • Passing data from legacy systems capable of communicating with Modbus (not Modbus TCP) to a remote Ignition server using an API endpoint.

  • Generate HTML views for a third party system to display information from Ignition in an iFrame component in their software.

  • Query Ignition for information from any number of other 3rd party systems without any available industrial protocols.

  • Generate on-demand Ignition reports from other systems, returning PDF files for download when accessing the gateway.

  • Using Ignition as a PDF combiner to accept file uploads of PDFs, CAD Drawings, and image files, converting and combining them into a single document.

The possibilities are limitless with the Web Development Module. Please Contact Us if you have any ideas you would like to try out!


Previous
Previous

SCADA Systems For Heat Treatment

Next
Next

Tailscale for Remote Network Management