qt opc ua-an overview · qt opc ua-an overview presented by: michele rossi-the qt company frank...

27
Qt OPC UA- An Overview Presented by: Michele Rossi- The Qt Company Frank Meerkötter- basysKom 6/15/2018 Automation 2018 1 19 June, 2018

Upload: others

Post on 26-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

Qt OPC UA- An OverviewPresented by:Michele Rossi- The Qt CompanyFrank Meerkötter- basysKom

6/15/2018 Automation 20181

19 June, 2018

Page 2: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

6/15/2018 Automation 20182

The Qt CompanyMichele Rossi, Product Manager Automation

Page 3: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

The Qt Company at a Glance

36.3 M€

2017 Revenue

11.9 %

2017 YoY Growth

-3.2 M€

2017 EBIT 1995

285Professionalsin twelve countries, 1Q 2018

>5,000Customers

>70Industries

>1M

Developers2006 2008 2011 2012 2015 2016

Trolltech IPOto Oslo exchange

First public versionof Qt released by

Trolltech (Norway)Trolltech

acquired by Nokia

Digia acquired Qt Commercial licensing business from Nokia

Digia acquired”All rights to Qt”

from Nokia

”The Qt Company”becomes its own entity,

a subsidiary of Digia

Qt Group Plc demerger from Digia, listed independently in

NASDAQ Helsinki

2017

Raised 15 M€ equity to fund

growthinvestments

Page 4: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

Qt in Industrial & Infrastructure AutomationSolutions at the edge of the internet

6/15/2018 Automation 20184

Remote UI

Connectivity

Tooling

Safety and Security

Advanced UI

Add-onQt for

Automation 5.11(Qt 5.11)

Qt VNC

Qt WebGLStreaming (TP)

Qt Webassembly (TP)

Qt SerialBus

Qt MQTT ✓

Qt KNX ✓

Qt OPC UA ✓ (TP)

Page 5: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

Commercial License Evaluation License

15/06/18 Automation 20185

How to get ‘Qt for Automation‘

Qt for ApplicationDevelopment

Qt for Automation add-ons

Qt for Device Creation

1. Ask your Sales representative2. Download at https://www.qt.io/qt-in-automation/

1. Purchase add-on license for your existing Qt license2. Contact your Qt Sales representative for a quote

Page 6: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

QT OPC UA – AN [email protected] 06/2018

Page 7: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

Contents▪ About basysKom

▪ OPC UA – in a hurry

▪ Qt OPC UA

▪ Live demo

▪ Future directions

▪ Q&A

Page 8: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

About basysKom▪ Long time Qt service partner

▪ Focused on embedded systems and industrial applications

▪ Customers in machine manufacturing, automation & measurement devices

▪ Located in Germany (Darmstadt/Nuremberg)

▪ Consulting, training, development

▪ www.basyskom.com

Page 9: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

About myself▪ Development Lead

▪ Maintainer of Qt OPC UA

[email protected]

Page 10: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

OPC UAIn a hurry

Page 11: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

OPC UASuccessor to OPC (classic)

M2M communication protocol and architecture

Core Applications Industrial automation (eg. manufacturing)

Process control (eg. chemical processes)

Goal: Interoperability!

Developed by the OPC Foundation Open Standard, freely available

IEC 62541

Core standard 14 parts, over 500 pages

Companion standards Information models and definitions for certain problems/industries

15 and counting

Page 12: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

Client/ServerWhere are servers to be found? Sensors

PLC

Aggregating servers

IT

Where are clients to be found? HMI/Visualization

Applications

PLCs

Aggregating servers, IT

Servers provide a fixed set of standardized services Clients consume these services Services allow to access and manipulate data on the server

Devices can be servers as well as clients at the same time

Page 13: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

Data modelingServers organize data in an address space Split into name spaces

Fully meshed graph of nodes and references

Nodes contain attributes (values, descriptions, display names, …)

References have defined semantics (HasChild, HasComponent, Organizes, …)

Address space contains data AND meta data

Self describing

Standardized modeling rules

Standardized information models

Page 14: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

Services

10 service sets Session Browse Attribute MonitoredItem Subscription ...

Page 15: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

QT OPC UA

Page 16: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

What is Qt OPC UA?A new Qt module 2015: Initiated and upstreamed by basysKom

2016: Research, user feedback

2017: Implementation of a new API concept

2018: Technology preview in Qt 5.11

One full time developer and the module maintainer are employed by basysKom

API

Wrapper for existing stacks open62541 (Open Source)

Unified Automation (Commercial)

Page 17: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

Goals of Qt OPC UAFocus on the development of HMIs and visualizations

Goals Client API

Well integrated into Qt

Easy to use API

Qt types

Non-goals Server API, high performance applications

Page 18: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

API elementsQOpcUaClient Connection management

Creation of node objects

See doc-snapshots.qt.io/qtopcua/qopcuaclient.html

QOpcUaNode Abstraction for server side nodes and attributes

Reading/writing of attributes

Allows to setup subscriptions and monitored items

See doc-snapshots.qt.io/qtopcua/qopcuanode.html

Page 19: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

Features (as of 5.11) Fully asynchronous API Session/connection management Reading/writing of node attributes Monitoring of node attributes (value changes) Calling of methods on the server Browsing of the server address space

Page 20: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

How to get Qt OPC UA?The code is triple licensed* Commercial

GPLv2

LGPLv3

*) with the exception of the Unified Automation Plugin

Available directly from the installer for “Qt for Automation” license holders

Needs to be installed from source for GPL or LGPL licensees See: http://code.qt.io/cgit/qt/qtopcua.git/

See: https://blog.basyskom.com/building-qt-opc-ua-with-open62541/

Page 21: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

LIVE DEMO

Page 22: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

Showcase Industrial HMI

Page 23: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

Showcase Industrial HMI

Page 24: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

FUTURE DIRECTIONS

Page 25: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

Qt 5.12 and laterStabilizing the API Currently a tech preview

Needs user feedback!

• bugreports.qt.io (Component „OpcUa“)

• #qtopcua/freenode

[email protected]

Upcoming features Events

Endpoint discovery & transport security

Node management

Generalized browse support

QML API

...

Page 26: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

19.06.2018FRANK MEERKÖTTER

QUESTIONS?

Frank Meerkö[email protected]

Page 27: Qt OPC UA-An Overview · Qt OPC UA-An Overview Presented by: Michele Rossi-The Qt Company Frank Meerkötter-basysKom 1 6/15/2018 Automation 2018 19 June, 2018

Thank you!Visit www.qt.io for more information.

6/15/2018 Automation 20186