Practical Considerations for Connecting LabVIEW to the ... · LabVIEW 2017 Complex applications....

Post on 11-May-2019

241 views 0 download

Transcript of Practical Considerations for Connecting LabVIEW to the ... · LabVIEW 2017 Complex applications....

1

ni.comni.com

Practical Considerations for Connecting LabVIEW to the Industrial IoT

Tarek Safwan

National Instruments

Staff Field Marketing EngineerTarek.Safwan@ni.com

3

Today’s Agenda

▪ Introduction to the Industrial IoT and NI Edge Nodes

▪ Speaking the IIoT “Lingo”

▪ Connecting to IoT Cloud Platforms From LabVIEW

4

IIoT System Architecture

THINGS OF THE IIOT OPERATIONAL TECHNOLOGY (OT) INFORMATION TECHNOLOGY (IT)

5

The NI Edge Node Advantage

Nanosecond

Analysis and ControlN

Data Acquisition From

Any SensorD

Open Connected

SoftwareO

Edge-Ready

HardwareE

Synchronized Data and

Edge Node HardwareS

6

Open Connectivity to OT and IT

IEC

61131

Learning the IoT Language

8

JSON—JavaScript Object Notation

▪ Standard to store and send data

▪ Often used between browsers and servers

▪ Text format

▪ Self-describing

9

S2S AMQP

D2S

MQTT

XMPP

HTTP

D2D

DDS

OPC-UA

Common IIoT Protocols

image: electronicdesign.com

10

MQTT—Message Queue Telemetry Transport

ship1/fwd/speed

ship2/fwd/speed

MQTT

broker

topic = “device/path/topic"

ship1/rotation/speed

MQTT subscribersMQTT publishers

+/+/speed

ship1/#

ship2/fwd/speed

11

1234

MQTT—Quality of Service (QoS)

QoS 0—at most once

1 2 4

12

MQTT—Quality of Service (QoS)

QoS 1—at least once

12 3

1

2

3

3 Resend

4

43

13

MQTT—Quality of Service (QoS)

QoS 2—exactly once

1

1

2

2

3

2 3

14

MQTT—Tips

▪ MQTT client

▪ MQTT.fx

▪ Linux, Mac, and Windows

▪ http://www.mqttfx.org/

▪ MQTT broker

▪ test.mosquitto.org

▪ Linux, Mac, and Windows

▪ Install your own MQTT broker

▪ https://mosquitto.org/download/

▪ Use port 1883 for open and 8883 for encripted data transfer (TLS 1.2/SSL)

The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.

15

LabVIEW MQTT APIs

▪ Several public APIs:

▪ https://github.com/DAQIO/LVMQTT

▪ https://github.com/Indie-Energy/AWS-IoT-RESTful

▪ more

▪ LabVIEW Tools Network:

▪ IOT Cloud Connector for LabVIEW by Etteplan

▪ SSL support on request

▪ Focused on use with IBM Watson IoT forBluemix

▪ Wirequeue MQTT by WireFlow

▪ Broker runs on WireFlow servers

▪ SSL support

16

AMQP—Advanced Message Queuing Protocol

▪ Sends queues of data between servers

▪ Endpoints must acknowledge receiving data

▪ RabbitMQ—open source message broker

▪ LabVIEW APIs

▪ LabbitMQ by Distrio

▪ Github AMQP implementation

17

RTI DDS Toolkit

on Windows and NI

Linux RT

LabVIEW VIs

RTI DDS Toolkit

on Windows and NI

Linux RT

LabVIEW VIs

DDS—Data Distribution Service

▪ Publish/subscribe communication model for

distributed systems

▪ Native LabVIEW API that supports Windows

and NI Linux Real-Time systems

▪ DDS compliance—interoperates with C, C++,

Java, and C#/.NET applications

▪ Set quality of service requirements—latency,

throughput, and reliability

▪ Ability to scale to thousands of nodes and

millions of data points

▪ DDS Security enables per-topic

read/write access control

Real-time publish/subscribe data exchange

Communicate over shared memory, LAN, Internet

Secure authentication, encryption, access control

Peer-to-peer (no network service required)

RTI DDS Toolkit

on Windows and NI

Linux RT

LabVIEW VIs

DDS Libraries

C, C++, .NET,

Java,

JavaScript,

Python, Lua

and Ada Apps

The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.

19

Popular IIoT Platforms

▪ Many platforms available

▪ Preference depends on

▪ Service model (IaaS, PaaS, SaaS)

▪ Company IT preferences

▪ Experience

▪ Capabilities and requirements

▪ Cost model

▪ And more

ni.comni.com

Connecting to Amazon Web Services IoT

21

Amazon Web Services (AWS)—IoT service

▪ Connect over MQTT

▪ Manage things

▪ Route messages

to other services

▪ Debug

▪ https://aws.amazon.com/iot/

22

AWS IoT Rules and Services

MQTT

23

Amazon S3 Storage

▪ Simple Storage Service (S3)

▪ Store and retrieve from anywhere

▪ Store large files up to 5TB

▪ S3 buckets (folders) and objects (files)

▪ Regions

▪ https://aws.amazon.com/s3/

▪ LabVIEW Cloud Toolkit for Amazon Web Services

▪ HTTP and HTTPS

▪ Large data uploads

▪ Low-level VIs include source code

▪ Run on desktop and real-time OS

ni.comni.com

Connecting to IBM Watson IoT for Bluemix

IBM Watson IoT for Bluemix

▪ Build, run, deploy, and manage applications in the

cloud

▪ Support for several programming languages

▪ Java, Node.js, Python, PHP, Go, and so on

▪ Broad catalog of services

▪ Data analytics, Watson, IoT, network, storage, and so on

▪ Communicate with devices via Watson IoT for

Bluemix

▪ MQTT support

▪ https://bluemix.net

27

IBM Bluemix ConceptAnalytics

process

Dashboards

Email

Text

Twitter

Maximo

work order

MQTT

or

HTTP

CompactRIO

Node-RED

Java

Python

Driver behavior

analytics

Internet of

Things

ni.comni.com

Connecting to PTC ThingWorx

29

PTC ThingWorx IoT Platform

▪ CAD industry

▪ Model-Based Design approach

▪ Things modeled in detail

▪ Connectivity:

▪ REST API

▪ Edge microserver

▪ Device SDK

▪ Kepware

▪ AWS IoT

▪ LabVIEW Rest API available

Image source: PTC

30

LabVIEW 2017

Complex applications. Distributed systems. Streamlined development.

Leverage the Latest Design Trends

With New IP and Tools

Expanded Ecosystem With Hardware

and Software Interoperability

Streamline the Management

of Distributed Systems

LabVIEW Analytics and Machine Learning Toolkit

LabVIEW Cloud Toolkit for Amazon Web Services

Channel Wire Support for FPGA

Native Support for Secure RTI DDS Toolkit

LabVIEW OPC UA Toolkit

LabVIEW FPGA IEC 61131-1 Interface Utility

System Management Software

31

SystemLink™—Product Overview

ServerWindows PC or Server

Web ApplicationBrowser-Based: PC, Mac, Tablet

Managed SystemsWindows and NI Linux® Real-Time

Manage distributed systems with software that provides mass coordination of

device management, software deployment, and data transfer.

PRODUCT FEATURES

SOFTWARE DEPLOYMENT

• Mass deploy software to multiple remote hardware nodes

• Create and manage deployment packages for LabVIEW apps and non-NI software

DEVICE MANAGEMENT

• View and configure device settings; perform diagnostics such as restart and self-test

• Classify systems according to operational context

DATA TRANSFER SERVICES

• Automate data transfer using LabVIEW and Web APIs

• Use data viewers to administer data transferred from targets

System and Data Security

User Authentication

Data Processing

The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.

32

Summary

▪ MQTT

▪ Most common IIoT communication protocol for device to server

▪ Feature extraction

▪ MQTT through GitHub or native HTTP calls

▪ LabVIEW 2017

▪ Cloud Toolkit for Amazon Web Services

▪ RTI DDS Toolkit

▪ Data storage to cloud

▪ NI’s continual investment in IIoT technologies

▪ Resources:

▪ White paper A Practical Guide for Connecting LabVIEW to the Industrial IoT

▪ Examples in cloud toolkit

33

ni.comni.com

Cloud Data Storage

Using Amazon Web Services (AWS) S3