Last week Opto 22 exhibited at the Automation Conference in Chicago. It was a great event, with a lot of interesting material presented and some really cool new technology demonstrated.
I conducted two workshops for attendees while I was there, both on Rapid IIoT Application Development with Node-RED, RESTful APIs, and MQTT.
In the workshops we discussed what industrial IoT applications are really trying to accomplish. And then we closed with a demo showing how to move control system data directly into the IBM Watson IoT Platform in under five minutes.
The attendees seemed to be awed at how easy it was to do this. Plus, we also cleared up a pretty significant misconception about IIoT in the industrial automation field.
When they hear "IIoT applications," automation and controls engineers immediately assume that IIoT means moving data to the cloud. But that's not necessarily the case. What we’re really trying to accomplish is to get OT and IT assets and personnel synced up and working together to benefit the enterprise as a whole. That might mean putting data in the cloud, or it might mean just connecting data and people locally.
During the workshop we covered some of the new tools that are available to help streamline IoT architecture and make building these types of applications easier, less expensive, and less risky to existing capital.
We also brought a couple of model wind turbines with us to help the audience see an IoT application in real life. This demo is built around a real-world case study that used Opto 22 gear to connect legacy turbines to the Internet of Things. You can learn more in the video case study.
In the workshop, I started with a basic control tag for a digital input point, just like we’re all familiar with. Then I walked the audience through how easily that control tag can be accessed from IT-centric applications like web browsers, databases, and Node-RED, using a RESTful API. Finally, I moved that control tag data directly up to the IBM Watson IoT platform.
And I did it all without having to write a single line of software code.
We’re all familiar with what a control tag looks like. I have control tags set up in a control program that automates the wind turbine demo we bring to the shows. In the Opto 22 control programming software called PAC Control (a highly flexible and powerful flowchart-based control programming environment), a control tag looks like this:
You can see I’m monitoring a digital input point that I’ve named switch_1. I named it switch_1 because it’s physically attached to a pushbutton switch on my I/O rack. That way I can toggle the physical switch on or off, or change it in the control program using a boolean true or false.
Once the audience understood that we’re working with traditional automation and control equipment, it was easy for them to understand the flow of data or information throughout the demo.
Next I showed them how to move the status of the switch_1 control tag into any modern software application that understands how to use RESTful APIs to send and receive data.
A great example of this is a web browser. So I opened up Chrome on my laptop and typed in a request URL—also known as a REST API endpoint—into the address bar. The request is formatted in such a way that it GETs a specific piece of information from the SNAP PAC controller.
Because the SNAP PAC controller powering the automation and control portion of the demo has a RESTful API, I can pretty much ask it for any data point in the control system (subject to authentication, of course). These include I/O points, system variables, and information about the control system itself.
In the case of the demo, I used the URL or RESTful endpoint for the digital input points on the I/O rack. The controller quickly responds back with the information I’m looking for (note the URL in the browser's address bar in the image below; that's the REST API enpoint request).
APIs are basically just ways for different software applications to work together by requesting and providing information and resources. With a well-documented RESTful API, software applications like databases, cloud apps, and basic web browsers know how to ask for information they need, for example to build a basic KPI or OEE dashboard. Or you could even feed this information up to predictive analytics applications in the cloud, like IBM’s Watson IoT Platform.
So at this point, the audience had a pretty good understanding of how RESTful APIs work. Or they were at least starting to get a handle on what I meant by IT applications and resources working more efficiently with OT assets like automation controllers and racks of I/O.
For the next part of the demo I wanted to show the audience how easily I could build an edge computing application that did some basic data analysis and manipulation using Node-RED running on the Opto 22 industrial edge computing appliance, called the groov Box. So, I built a basic Node-RED flow that looks like this:
The flow reads the status of switch_1 from the SNAP PAC controller every 2 seconds. The value comes in a boolean true or false. I then use the Change node (dark yellow) in Node-RED to convert that boolean value into contextual information that an operator can quickly read and understand. This gives operators better situational awareness.
Of course, the Change node manipulating this data is pretty basic. But from that starting point you start to see the power that Node-RED offers. I’m reading and writing control system data and manipulating it all without having to write a single line of software code.
This is how Node-RED enables industrial IoT developers to quickly prototype applications, fail fast if there’s a problem, correct course, and get to meaningful value and ROI incredibly fast.
Once I'd showed the audience how to quickly move data into Node-RED, I wanted to show them how easy it is to send that data up to cloud applications like the IBM Watson IoT Platform. So I dragged a Watson node (blue node) into my flow and redeployed the flow.
Then, I logged into the IBM Watson app in the cloud and showed them how fast I could toggle the switch on my I/O rack and have that information show up in Watson. It was pretty quick, considering it was a cellular connection at the show. I’d say it took less than a second.
After the demo we had a lot of good discussion on these new IoT tools and what possibilities they might hold for OT and IT systems and personnel to start working more closely together.
Node-RED, RESTful APIs, and an overall embrace of both OT and IT technologies are what’s required to begin building these types of applications.