The day 2 keynote of the 2015 PASS Summit opened my eyes to something I was not aware that Microsoft was involved in: the Internet of Things, or IoT. Previous to this presentation, I thought of IoT as Raspberry Pi’s, Nest thermostats, connected cars, and Fitbits. But that is just one side of the concept, called Consumer IoT. The other side of the coin is the Industrial Internet of Things, or IIoT. This is the world that I have been involved in for the last eight years at Subaru of Indiana Automotive with SCADA, HMI, OPC, databases, PLCs, and ID devices like RFID readers and vision systems. Little did I know that, like the IT term “cloud” was both a rehash of a previous concept (web hosting) as well as an evolution of that concept to mean something new (ITaaS (IT as a Service), SaaS (Software as a Service), etc.), IIoT is the evolutionary concept that evolves the concept of SCADA. Whereas I think of SCADA originally meaning a Windows 95 PC plugged into an industrial machine with a serial cable logging data to a text file and maybe an Access form to visualize and/or control a few functions, IIoT evolves that concept to where SCADA and HMI have evolved to today and are going tomorrow. We are logging plant floor data to relational databases that get ETL’ed into data warehouses and that are powering mobile dashboards so people inside and outside the plant can get real-time analytics on short and long term trends. However, this is still you and I looking at these metrics and trying to make the best decision with our limited understanding of all the processes involved. IIoT will have the ability to look at many more islands of data together and enable us to see inefficiencies that we never knew existed, with the ability to make intelligence decisions without human interaction. And it will do this by using the powers that IT has created in the areas of cloud and business intelligence.
Microsoft has created something called the IOT Hub in its cloud service architecture, Azure. Earlier this year, an OPC UA connector was created so devices could report directly to the IOT Hub. But wait, you say, you can’t rely on the unpredictability of the cloud in order to make real-time decisions on the plant floor. That’s where the idea of the “Fog” comes in. Between on-prem and the cloud, the speakers suggest some capabilities in the middle to bridge this gap which help mitigate that concern. So event handling that affect real-time processes get processed locally, but events that either affect remote processes at other locations or data that just needs to be stored get processed in the cloud.
I was very surprised how much Microsoft is investing in IoT and how it seems like they are reinventing the wheel that has been HMI/SCADA for the last few decades. As opposed to coming out with yet another visualization engine/historian/scripting engine product, they are building more of a gateway for events and data into their existing Azure data stores, complete with event queuing for asynchronous and latent connections. They are also considering extending the T-SQL language to include outputs to devices directly in the syntax. I’ve always been curious of how adding an OPC UA library as a SQL CLR assembly would work to be able to write to an OPC tag. They may be building this into the product in the future. Imagine being able to do “SELECT value FROM table WHERE tag_name = ‘Tag1’ OUTPUT(Channel.Device.Tag1)”. I had to smile at the slide for this which said “How about IoT-SQL?”
Microsoft’s Azure IOT capabilities are definitely something to keep an eye on.