SlideShare a Scribd company logo
Using the Open
Source OPC-UA
Client and Server for
Your IIoT Solutions
JEROEN COUSSEMENT - INFLUXDAYS 2019 - LONDON
ABOUT FACTRY
▸ Based in Ghent, Belgium
▸ Industrial software solutions
▸ Tools for data-driven
operational improvement
▸ Factry Historian
▸ Lots of open-source
TIME-SERIES
MEETUP
https://www.meetup.com/Time-
Series-Belgium/
INDUSTRY
INDUSTRY 1.0
STEAM POWER /
MECHANISATION
INDUSTRY 2.0
MASS ASSEMBLY
INDUSTRY 3.0
COMPUTERS &
AUTOMATION
https://www.flickr.com/photos/greenmambagreenmamba/5307396963/in/photostream/, (CC BY-ND 2.0))
SUPERVISORY CONTROL
SYSTEM (SCADA/DCS)
PROGRAMMABLE LOGIC
CONTROLLER (PLC)
PROCESS SENSORS AND ACTUATORS
PROGRAMMABLE LOGIC
CONTROLLER (PLC)
INDUSTRY 4.0
CYBER PHYSICAL
SYSTEMS / AI / ML
A GAP BETWEEN
OT AND IT.
OT IT?
SOMETIMES WE
HAVE TO GO
FULL RETRO
VERY LONG
LIFECYCLES
“WE’VE BEEN
DOING IT FOR
YEARS AND IT
WORKS”
SLOW ADOPTION
EVERYONE HAS
THEIR OWN
STANDARD
VENDOR LOCK-IN
SUPERVISORY CONTROL
SYSTEM (SCADA/DCS)
PROGRAMMABLE LOGIC
CONTROLLER (PLC)
PROCESS SENSORS AND ACTUATORS
EXTERNAL APPLICATIONS ( Artificial Intelligence / Machine Learning / … )
PROGRAMMABLE LOGIC
CONTROLLER (PLC)
WHAT KIND OF TIME-SERIES
DATA DO WE HAVE
IN INDUSTRY ?
DEVOPS DATA vs INDUSTRIAL DATA
DevOps Industry
Metrics cpu load, disk I/O, database
stats, ...
temperature, pressure, flow,
valveState ...
Resolutions seconds to minutes (sub)seconds
Retention weeks, then downsampling 5 to 10 years, no downsampling
Main goals incident detection, performance
monitoring
quality guarantee, predictive
maintenance
THE FIRST TIME-SERIES DATABASES
PROCESS HISTORIAN
Process historian refers to a
database software application that
logs or historizes time-based
process data.
SUPERVISORY CONTROL
SYSTEM (SCADA/DCS)
PROGRAMMABLE LOGIC
CONTROLLER (PLC)
PROCESS SENSORS AND ACTUATORS
InfluxDB
EXTERNAL APPLICATIONS ( Artificial Intelligence / Machine Learning / … )
PROGRAMMABLE LOGIC
CONTROLLER (PLC)
Using the Open Source OPC-UA Client and Server for Your IIoT Solutions | Jeroen Coussement | CEO, Factry
OPC-UA
DESCRIPTION
▸ Industrial communication protocol
▸ Successor of OPC - OLE for Process Control
▸ Vendor independent / Platform independent
▸ Released in 2006, but became adopted only recently
▸ Integrated on newest controllers, but retrofit on older
ones possible.
OPC-UA
DATA STRUCTURE
▸ Hierarchical data structure
▸ Everything is represented as a data node.
▹ Each node has a unique nodeID
▹ Consists of namespace + identifier
▹ ns=2;s=S7:12_03_12.DB100.4,r
SUPERVISORY CONTROL
SYSTEM (SCADA/DCS)
PROGRAMMABLE LOGIC
CONTROLLER (PLC)
PROCESS SENSORS AND ACTUATORS
InfluxDB
EXTERNAL APPLICATIONS ( Artificial Intelligence / Machine Learning / … )
PROGRAMMABLE LOGIC
CONTROLLER (PLC)
OPC-UA LOGGER
OPEN SOURCE
▸ Reads data from OPCUA sources
▸ Local buffering for no data loss
▸ github.com/coussej/
node-opcua-logger
OPC-UA LOGGER
DEMO
▸ Configure some nodes
to be collected from
simulation server
OPC-UA LOGGER
OPEN SOURCE
▸ V2 coming soon
▹ Cleaner code (async/await!)
▹ Better buffering
▹ Deploy as a single binary
USE-CASE: BIOREACTOR
USE-CASE: ENERGY MONITORING
USE-CASE: WIND TURBINE OPERATIONS
SUPERVISORY CONTROL
SYSTEM (SCADA/DCS)
PROGRAMMABLE LOGIC
CONTROLLER (PLC)
PROCESS SENSORS AND ACTUATORS
InfluxDB
EXTERNAL APPLICATIONS ( Artificial Intelligence / Machine Learning / … )
PROGRAMMABLE LOGIC
CONTROLLER (PLC)
OPC-UA SERVER
OPEN SOURCE
▸ Return algorithm results back
to the process control
▸ Exposing last() value of
specified series over OPCUA
▸ github.com/factrylabs/
influx-opcua-server
OPC-UA SERVER
OPEN SOURCE
▸ DEMO
HOW DOES FLUX FIT INTO
THE PICTURE?
FLUX
CUSTOMER QUESTION 1
▸ Input Pressure
▸ Output Pressure
▸ Can we calculate Pressure drop?
▸ Math across measurements!
Using the Open Source OPC-UA Client and Server for Your IIoT Solutions | Jeroen Coussement | CEO, Factry
DEMO FLUX - Pressure drop (1/2)
UF1PT01 = from(bucket: "historian")
|> range(start: 2019-05-01, stop: 2019-05-25)
|> filter(fn: (r) => r._measurement == "CV-UF1PT01")
|> aggregateWindow(every: 3m, fn: mean, createEmpty: false)
UF1PT02 = from(bucket: "historian")
|> range(start: 2019-05-01, stop: 2019-05-25)
|> filter(fn: (r) => r._measurement == "CV-UF1PT02")
|> aggregateWindow(every: 3m, fn: mean, createEmpty: false)
DEMO FLUX - Pressure drop (2/2)
join(
tables: {pt01:UF1PT01, pt02:UF1PT02},
on: ["_time"]
)
|> map(fn: (r) => ({
_time: r._time,
_pressureDrop: r._value_pt01 - r._value_pt02
}))
|> filter(fn: (r) => r._pressureDrop > 0)
|> aggregateWindow(columns: ["_pressureDrop"], every: 1h, fn: mean, createEmpty: false)
FLUX
CUSTOMER QUESTION 2
▸ NTU (Nephelometric Turbidity Unit)
▸ Machine Status
▸ Can we see the NTU only when the machine is in
production?
Using the Open Source OPC-UA Client and Server for Your IIoT Solutions | Jeroen Coussement | CEO, Factry
DEMO FLUX - Filter on status (1/2)
NTU = from(bucket: "historian")
|> range(start: 2019-05-01, stop: 2019-05-02)
|> filter(fn: (r) => r._measurement == "CV-UF1NTU01" and r.status == "Good")
|> aggregateWindow(every: 30s, fn: mean)
|> keep(columns: ["_value", "_time"])
Status = from(bucket: "historian")
|> range(start: 2019-05-01, stop: 2019-05-02)
|> filter(fn: (r) => r._measurement == "Status" and r.status == "Good")
|> map(fn: (r) => ({
_time: r._time,
_status: float(v: contains(value: int(v: r._value), set: [11,21])
}), mergeKey: false)
DEMO FLUX - Filter on status (2/2)
union(tables: [NTU, Status])
|> sort(columns: ["_time"], desc: false)
|> fill(column: "_status", usePrevious: true)
|> fill(column: "_status", value: 0.0)
|> fill(column: "_value", usePrevious: true) // same for the values themselves
|> fill(column: "_value", value: 0.0)
|> map(fn: (r) => ({_time: r._time, _filteredValue: r._value * r._status}), mergeKey: false)
|> yield()
THANK YOU!ANY QUESTIONS?
JEROEN COUSSEMENT
jeroen.coussement@factry.io
FACTRY
OPEN OPERATIONAL INTELLIGENCE

More Related Content

What's hot (20)

PPTX
Data Modernization_Harinath Susairaj.pptx
ArunPandiyan890855
 
PDF
Time to Talk about Data Mesh
LibbySchulze
 
PPTX
Ipfs
承翰 蔡
 
PDF
Meetup: Streaming Data Pipeline Development
Timothy Spann
 
PPTX
Embarking on MuleSoft Automation Journey via RPA, Composer and Flex Gateway
Eva Mave Ng
 
PDF
Mac
Vrince Vimal
 
PDF
Lecture 7 8 ad hoc wireless media access protocols
Chandra Meena
 
PDF
Top 7 Capabilities for Next-Gen Master Data Management
DATAVERSITY
 
PDF
ETL Using Informatica Power Center
Edureka!
 
PPTX
What is SSL/TLS, 1-way and 2-way SSL?
pqrs1234
 
PDF
Deep Dive into the OPC UA / DDS Gateway Specification
Gerardo Pardo-Castellote
 
PPTX
Intelligence Data Day 2020
Patrick Deglon
 
PDF
Fixed mobile convergence (fmc)
IEEE VESIT
 
PPTX
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
huguk
 
PPTX
Mulesoft Connections to different companies, and different services
Byreddy Sravan Kumar Reddy
 
PDF
Power Aware Routing in Adhoc Networks
Pradeep Kumar TS
 
PDF
How to See and Resolve Office 365 Performance Challenges
ThousandEyes
 
PPTX
MILLIONS EVENT DELIVERY WITH CLOUD PUB / SUB
Tu Pham
 
PDF
IT Simplification And Modernization PowerPoint Presentation Slides
SlideTeam
 
PPTX
connecting smart object in IoT.pptx
AnisZahirahAzman
 
Data Modernization_Harinath Susairaj.pptx
ArunPandiyan890855
 
Time to Talk about Data Mesh
LibbySchulze
 
Meetup: Streaming Data Pipeline Development
Timothy Spann
 
Embarking on MuleSoft Automation Journey via RPA, Composer and Flex Gateway
Eva Mave Ng
 
Lecture 7 8 ad hoc wireless media access protocols
Chandra Meena
 
Top 7 Capabilities for Next-Gen Master Data Management
DATAVERSITY
 
ETL Using Informatica Power Center
Edureka!
 
What is SSL/TLS, 1-way and 2-way SSL?
pqrs1234
 
Deep Dive into the OPC UA / DDS Gateway Specification
Gerardo Pardo-Castellote
 
Intelligence Data Day 2020
Patrick Deglon
 
Fixed mobile convergence (fmc)
IEEE VESIT
 
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
huguk
 
Mulesoft Connections to different companies, and different services
Byreddy Sravan Kumar Reddy
 
Power Aware Routing in Adhoc Networks
Pradeep Kumar TS
 
How to See and Resolve Office 365 Performance Challenges
ThousandEyes
 
MILLIONS EVENT DELIVERY WITH CLOUD PUB / SUB
Tu Pham
 
IT Simplification And Modernization PowerPoint Presentation Slides
SlideTeam
 
connecting smart object in IoT.pptx
AnisZahirahAzman
 

Similar to Using the Open Source OPC-UA Client and Server for Your IIoT Solutions | Jeroen Coussement | CEO, Factry (20)

PDF
Creating and Using the Flux SQL Datasource | Katy Farmer | InfluxData
InfluxData
 
PDF
Sensor Data in InfluxDB by David Simmons, IoT Developer Evangelist | InfluxData
InfluxData
 
PDF
InfluxData Architecture for IoT | Noah Crowley | InfluxData
InfluxData
 
PDF
Building Your Data Streams for all the IoT
DevOps.com
 
PPTX
InfluxDB Community Office Hours September 2020
InfluxData
 
PDF
Flux QL - Nexgen Management of Time Series Inspired by JS
Ivo Andreev
 
PDF
How to Enable Industrial Decarbonization with Node-RED and InfluxDB
InfluxData
 
PPTX
Stream processing IoT time series data with Kafka & InfluxDB | Al Sargent, In...
HostedbyConfluent
 
PDF
Pushing it to the edge in IoT
J On The Beach
 
PDF
Intro to InfluxDB
InfluxData
 
PPTX
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
InfluxData
 
PDF
Balaji Palani [InfluxData] | InfluxDB Tasks Overview | InfluxDays 2022
InfluxData
 
PDF
Intro to Time Series
InfluxData
 
PDF
InfluxDB IOx Tech Talks: Query Processing in InfluxDB IOx
InfluxData
 
PDF
2021 10-13 i ox query processing
Andrew Lamb
 
PDF
Devoxx france 2015 influx db
Nicolas Muller
 
PDF
Devoxx france 2015 influxdb
Nicolas Muller
 
PPTX
Real time fraud detection at 1+M scale on hadoop stack
DataWorks Summit/Hadoop Summit
 
PDF
InfluxDB 2.0: Dashboarding 101 by David G. Simmons
InfluxData
 
PDF
Brian Gilmore [InfluxData] | InfluxDB in an IoT Application Architecture | In...
InfluxData
 
Creating and Using the Flux SQL Datasource | Katy Farmer | InfluxData
InfluxData
 
Sensor Data in InfluxDB by David Simmons, IoT Developer Evangelist | InfluxData
InfluxData
 
InfluxData Architecture for IoT | Noah Crowley | InfluxData
InfluxData
 
Building Your Data Streams for all the IoT
DevOps.com
 
InfluxDB Community Office Hours September 2020
InfluxData
 
Flux QL - Nexgen Management of Time Series Inspired by JS
Ivo Andreev
 
How to Enable Industrial Decarbonization with Node-RED and InfluxDB
InfluxData
 
Stream processing IoT time series data with Kafka & InfluxDB | Al Sargent, In...
HostedbyConfluent
 
Pushing it to the edge in IoT
J On The Beach
 
Intro to InfluxDB
InfluxData
 
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
InfluxData
 
Balaji Palani [InfluxData] | InfluxDB Tasks Overview | InfluxDays 2022
InfluxData
 
Intro to Time Series
InfluxData
 
InfluxDB IOx Tech Talks: Query Processing in InfluxDB IOx
InfluxData
 
2021 10-13 i ox query processing
Andrew Lamb
 
Devoxx france 2015 influx db
Nicolas Muller
 
Devoxx france 2015 influxdb
Nicolas Muller
 
Real time fraud detection at 1+M scale on hadoop stack
DataWorks Summit/Hadoop Summit
 
InfluxDB 2.0: Dashboarding 101 by David G. Simmons
InfluxData
 
Brian Gilmore [InfluxData] | InfluxDB in an IoT Application Architecture | In...
InfluxData
 
Ad

More from InfluxData (20)

PPTX
Announcing InfluxDB Clustered
InfluxData
 
PDF
Best Practices for Leveraging the Apache Arrow Ecosystem
InfluxData
 
PDF
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
InfluxData
 
PDF
Power Your Predictive Analytics with InfluxDB
InfluxData
 
PDF
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
InfluxData
 
PDF
Build an Edge-to-Cloud Solution with the MING Stack
InfluxData
 
PDF
Meet the Founders: An Open Discussion About Rewriting Using Rust
InfluxData
 
PDF
Introducing InfluxDB Cloud Dedicated
InfluxData
 
PDF
Gain Better Observability with OpenTelemetry and InfluxDB
InfluxData
 
PDF
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
InfluxData
 
PPTX
Introducing InfluxDB’s New Time Series Database Storage Engine
InfluxData
 
PDF
Start Automating InfluxDB Deployments at the Edge with balena
InfluxData
 
PDF
Understanding InfluxDB’s New Storage Engine
InfluxData
 
PDF
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
InfluxData
 
PPTX
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
InfluxData
 
PDF
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
InfluxData
 
PDF
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
InfluxData
 
PDF
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
InfluxData
 
PDF
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
InfluxData
 
PDF
Paul Dix [InfluxData] The Journey of InfluxDB | InfluxDays 2022
InfluxData
 
Announcing InfluxDB Clustered
InfluxData
 
Best Practices for Leveraging the Apache Arrow Ecosystem
InfluxData
 
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
InfluxData
 
Power Your Predictive Analytics with InfluxDB
InfluxData
 
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
InfluxData
 
Build an Edge-to-Cloud Solution with the MING Stack
InfluxData
 
Meet the Founders: An Open Discussion About Rewriting Using Rust
InfluxData
 
Introducing InfluxDB Cloud Dedicated
InfluxData
 
Gain Better Observability with OpenTelemetry and InfluxDB
InfluxData
 
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
InfluxData
 
Introducing InfluxDB’s New Time Series Database Storage Engine
InfluxData
 
Start Automating InfluxDB Deployments at the Edge with balena
InfluxData
 
Understanding InfluxDB’s New Storage Engine
InfluxData
 
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
InfluxData
 
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
InfluxData
 
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
InfluxData
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
InfluxData
 
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
InfluxData
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
InfluxData
 
Paul Dix [InfluxData] The Journey of InfluxDB | InfluxDays 2022
InfluxData
 
Ad

Recently uploaded (20)

PDF
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PPTX
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
PDF
introduction to computer hardware and sofeware
chauhanshraddha2007
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
introduction to computer hardware and sofeware
chauhanshraddha2007
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 

Using the Open Source OPC-UA Client and Server for Your IIoT Solutions | Jeroen Coussement | CEO, Factry