SlideShare a Scribd company logo
1 of 31
Download to read offline
Copyright © by HiveMQ. All Rights Reserved.
WELCOME
Christofer Dutz Florian Raschbichler
● Senior Software Engineer
at Mapped
● Member of Apache
Software Foundation
● Committer in 13 Apache
Projects
● VP Apache PLC4X Project
linkedin.com/in/christofer-dutz linkedin.com/in/fraschbi/
● Head of Support at
HiveMQ
● 7 years of MQTT
experience
● Blogger & Speaker
● Helped 130+ customers
to go into production with
IoT use cases
Copyright © by HiveMQ. All Rights Reserved.
Current Situation
Copyright © by HiveMQ. All Rights Reserved.
● Most important components: PLCs
○ Little Computers that run machinery
○ Very limited resources (CPU & Memory)
○ Up to Real-Time operation
○ Actually never crash
● Currently the industry is all about industry 4.0
● industry 4.0 is all about AI & Machine Learning
● AI & Machine Learning is all about data
○ It’s actually about lots of data
● Data is everywhere
● Accessing Data is easy (on new PLCs)
○ Using OPC UA or MQTT
Current Situation in Manufacturing/Automation
Copyright © by HiveMQ. All Rights Reserved.
What is OPC UA?
Copyright © by HiveMQ. All Rights Reserved.
Introducing OPC UA
● OPC Unified Architecture
● Standard & Protocol for
○ Platform independent data
exchange
○ Service-Oriented architecture
● Also defines the semantics of data
● Created by the OPC Foundation
● Development time: about 10 years
● Sort of final version released 2 years ago
Copyright © by HiveMQ. All Rights Reserved.
Problems with OPC UA?
● A highly complex standard
● Incompatible Asset Administration Shells
● Need to add application-server to PLC
● Great for accessing small amounts of
data (for Dashboards, Logging, etc.)
● Inacceptable performance when
accessing large amounts of data -
especially at high frequencies (for AI &
Machine learning)
Copyright © by HiveMQ. All Rights Reserved.
What is MQTT?
Copyright © by HiveMQ. All Rights Reserved.
Introducing MQTT
● IoT messaging protocol
● Publish/subscribe
● Minimal overhead for client and
bandwidth
● Lightweight client implementations
● Designed for reliable communications
over unreliable channels
● 3 Quality of Service (QoS) levels
● MQTT 5 is required for IIoT
Copyright © by HiveMQ. All Rights Reserved.
Publish / Subscribe Pattern
Copyright © by HiveMQ. All Rights Reserved.
MQTT Pub/Sub Advantages
• Push Communication
• Message filtering based on subjects topics
• Synchronization Decoupling
• Time Decoupling
• Space Decoupling
• Dynamic Topics
Copyright © by HiveMQ. All Rights Reserved.
So why not just concentrate on MQTT?
● Industrial Hardware usually built for
lifespans of 20 years
● MQTT enabled PLCs available for 1-2
years
● Assuming that every PLC built into
machinery in the last 2 years supports
MQTT:
○ 5% of machinery replaced per year
○ -> Max. 10% availability
● What to do with the remaining >90%?
Copyright © by HiveMQ. All Rights Reserved.
MQTT Open Standard - Freedom¹
● Free and open ISO standard
● OASIS standard
● Technical committee of users
● Periodic improvements
Copyright © by HiveMQ. All Rights Reserved.
● Accessing data on PLCs older than 1-2 years is
difficult
○ Hundreds (if not even thousands) of protocols
○ Incompatibilities between manufacturers
○ Most have absolutely no security
○ Those with security features mostly
implemented in a useless fashion
● Especially when using OPC UA mostly performance
is unacceptable for:
○ Lots of data
○ In high frequencies
Current Situation in Manufacturing/Automation
Copyright © by HiveMQ. All Rights Reserved.
● Usage of integration platforms
○ Extremely expensive
○ Usually Monoliths -> Don’t scale well
● Usage of commercial or open-source drivers
○ Commercial usually == Expensive
○ Open-Source mostly:
■ Very old projects
■ Badly maintained
■ Bady licensed
● Usage of (hardware) gateways
○ Gateway PLCs
○ Protocol Adapters/Gateways
Current Solutions
Copyright © by HiveMQ. All Rights Reserved.
Introducing Apache PLC4X
Copyright © by HiveMQ. All Rights Reserved.
Apache PLC4X Open Source - Freedom²
“PLC4X is a set of libraries for communicating
with industrial programmable logic controllers
(PLCs) using a variety of protocols but with a
shared API”
Copyright © by HiveMQ. All Rights Reserved.
Supported Operations:
● Read ✓
● Write ✓
● Subscribe ✓
○ On value change
○ Cyclic
○ Events
● Browse ✗
● Execute ✗
Apache PLC4X Implementation
Copyright © by HiveMQ. All Rights Reserved.
Supported Protocols:
● Siemens S7 ✓
● Beckhoff ADS ✓
● Modbus ✓
● EtherNet/IP ✓
● OPC-UA ✓
● Firmata ✓
● KnxNet/IP ✓
● CAN ✓
Apache PLC4X Implementation - Freedom³
● Allen-Bradley AB-ETH ✗
● Allen-Bradley DF1 ✗
● BacNet ✗
● Emerson DeltaV ✗
● Luxtronic ✗
● Siemens S7 (TIA) ✗
● ProfiNet ✗
● …
Copyright © by HiveMQ. All Rights Reserved.
Supported Languages:
● Java ✓
● Go ✓
● C ✗
● Python ✗
● C# ✗
● C++ ✗
● ...
Apache PLC4X Implementation - Freedom³
Copyright © by HiveMQ. All Rights Reserved.
● One API for all drivers
● One software can handle any type of machinery
○ Different Vendors in different Plants
○ Upgrading / Replacing machinery
● No need to retrofit existing machinery
● No license costs
● Passive-Mode drivers
Apache PLC4X USPs - Freedom⁴
Copyright © by HiveMQ. All Rights Reserved.
Apache PLC4X Passive - Mode Drivers
● Secure by design
● Only listen to network traffic
● Make data in production network available 100% secure
● No need to validate/certify drivers
● Support subscription API
Copyright © by HiveMQ. All Rights Reserved.
Apache PLC4X Passive-Mode Drivers
● Wiesemann & Theis GmbH built “Data-Diode”
● Explicitly built for usage with Apache PLC4X passive-mode drivers
● Product name: Fix Defined Firewall
● https://www.wut.de/e-55312-ww-dade-000.php
Copyright © by HiveMQ. All Rights Reserved.
Apache PLC4X Commercial Support
● https://industrial-opensource.com
● 14 Businesses around Apache PLC4X and other Apache IoT project
● Formed alliance for providing support for IoT Open-Source projects
● Services:
○ Trainings & Workshops
○ Consulting Services
○ Implementation (assistance)
○ Technical Support
○ Legal Consulting
Copyright © by HiveMQ. All Rights Reserved.
Tit
MQTT for the new and upcoming devices
Apache PLC4X for all the existing & old
Machines
Perfect Match
Copyright © by HiveMQ. All Rights Reserved.
Demo Time
Copyright © by HiveMQ. All Rights Reserved.
Data-Diode
Copyright © by HiveMQ. All Rights Reserved.
Demo Setup
Copyright © by HiveMQ. All Rights Reserved.
Demo Client
• Go to:
http://www.hivemq.com/demos/websocket-client/
• connect to Host: broker.hivemq.com with Port: 8000
• Subscribe to topic plc4x/sorting-line-topic
Copyright © by HiveMQ. All Rights Reserved.
Questions?
THANK YOU
Copyright © by HiveMQ. All Rights Reserved.
Stay updated on upcoming webinars
Subscribe to our Newsletternewsletter.social/hivemq
Reach out to HiveMQ Community Forum if you have
questions
Submit your question now!

More Related Content

Similar to Free Your Manufacturing Data with Apache PLC4X & MQTT

Connecting the Smart Factory to the Cloud
Connecting the Smart Factory to the CloudConnecting the Smart Factory to the Cloud
Connecting the Smart Factory to the Cloud
HiveMQ
 
MQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
MQTT.fx on HiveMQ Cloud Testing MQTT in the CloudMQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
MQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
HiveMQ
 

Similar to Free Your Manufacturing Data with Apache PLC4X & MQTT (20)

Connecting the Smart Factory to the Cloud
Connecting the Smart Factory to the CloudConnecting the Smart Factory to the Cloud
Connecting the Smart Factory to the Cloud
 
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
 
Debugging MQTT Client Communications With MQTT.fx and HiveMQ Cloud
Debugging MQTT Client Communications With MQTT.fx and HiveMQ CloudDebugging MQTT Client Communications With MQTT.fx and HiveMQ Cloud
Debugging MQTT Client Communications With MQTT.fx and HiveMQ Cloud
 
HiveMQ + Kafka: The ideal solution for IoT MQTT data integration
HiveMQ + Kafka: The ideal solution for IoT MQTT data integrationHiveMQ + Kafka: The ideal solution for IoT MQTT data integration
HiveMQ + Kafka: The ideal solution for IoT MQTT data integration
 
Connecting the smart factory to the cloud with MQTT and Sparkplug
Connecting the smart factory to the cloud with MQTT and SparkplugConnecting the smart factory to the cloud with MQTT and Sparkplug
Connecting the smart factory to the cloud with MQTT and Sparkplug
 
Industrial transformation-simplified-with-mqtt-and-sparkplug
Industrial transformation-simplified-with-mqtt-and-sparkplugIndustrial transformation-simplified-with-mqtt-and-sparkplug
Industrial transformation-simplified-with-mqtt-and-sparkplug
 
MQTT 5: Why you need it and potential pitfalls
MQTT 5: Why you need it and potential pitfallsMQTT 5: Why you need it and potential pitfalls
MQTT 5: Why you need it and potential pitfalls
 
HiveMQ Cloud - The Cloud Native IoT Messaging Layer
HiveMQ Cloud - The Cloud Native IoT Messaging LayerHiveMQ Cloud - The Cloud Native IoT Messaging Layer
HiveMQ Cloud - The Cloud Native IoT Messaging Layer
 
Introducing HiveMQ Cloud
Introducing HiveMQ CloudIntroducing HiveMQ Cloud
Introducing HiveMQ Cloud
 
Mqtt.fx on hive mq cloud
Mqtt.fx on hive mq cloudMqtt.fx on hive mq cloud
Mqtt.fx on hive mq cloud
 
MQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
MQTT.fx on HiveMQ Cloud Testing MQTT in the CloudMQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
MQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
 
IoT Security Issues and MQTT
IoT Security Issues and MQTTIoT Security Issues and MQTT
IoT Security Issues and MQTT
 
HiveMQ Cloud Webinar
HiveMQ Cloud WebinarHiveMQ Cloud Webinar
HiveMQ Cloud Webinar
 
Media processing with serverless architecture
Media processing with serverless architectureMedia processing with serverless architecture
Media processing with serverless architecture
 
Io t meetup-detroit-mqtt-5
Io t meetup-detroit-mqtt-5Io t meetup-detroit-mqtt-5
Io t meetup-detroit-mqtt-5
 
How to Use InfluxDB to Visualize and Monitor MQTT Messages in an IIoT System
How to Use InfluxDB to Visualize and Monitor MQTT Messages in an IIoT SystemHow to Use InfluxDB to Visualize and Monitor MQTT Messages in an IIoT System
How to Use InfluxDB to Visualize and Monitor MQTT Messages in an IIoT System
 
MQTT 5 - Why You Need It and Potential Pitfalls
MQTT 5 - Why You Need It and Potential PitfallsMQTT 5 - Why You Need It and Potential Pitfalls
MQTT 5 - Why You Need It and Potential Pitfalls
 
Turn Any Panel PC Into an Ignition HMI
Turn Any Panel PC Into an Ignition HMITurn Any Panel PC Into an Ignition HMI
Turn Any Panel PC Into an Ignition HMI
 
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdfUC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
 
Iot in-production
Iot in-productionIot in-production
Iot in-production
 

More from HiveMQ

Testing the Scalability of a Robust IoT System with Confidence
Testing the Scalability of a Robust IoT System with ConfidenceTesting the Scalability of a Robust IoT System with Confidence
Testing the Scalability of a Robust IoT System with Confidence
HiveMQ
 
Designing an Edge to Cloud Architecture for IIoT
Designing an Edge to Cloud Architecture for IIoTDesigning an Edge to Cloud Architecture for IIoT
Designing an Edge to Cloud Architecture for IIoT
HiveMQ
 
What's New in HiveMQ [Inside the Upcoming HiveMQ 4.7 Release]
What's New in HiveMQ [Inside the Upcoming HiveMQ 4.7 Release]What's New in HiveMQ [Inside the Upcoming HiveMQ 4.7 Release]
What's New in HiveMQ [Inside the Upcoming HiveMQ 4.7 Release]
HiveMQ
 
HiveMQ & HighByte Presents: Building an Enterprise Unified Namespace (UNS) to...
HiveMQ & HighByte Presents: Building an Enterprise Unified Namespace (UNS) to...HiveMQ & HighByte Presents: Building an Enterprise Unified Namespace (UNS) to...
HiveMQ & HighByte Presents: Building an Enterprise Unified Namespace (UNS) to...
HiveMQ
 
How to Monitor and Observe IoT and MQTT Applications with HiveMQ
How to Monitor and Observe IoT and MQTT Applications with HiveMQ How to Monitor and Observe IoT and MQTT Applications with HiveMQ
How to Monitor and Observe IoT and MQTT Applications with HiveMQ
HiveMQ
 
4 Paradigm Shifts for the Connected Car of the Future
4 Paradigm Shifts for the Connected Car of the Future4 Paradigm Shifts for the Connected Car of the Future
4 Paradigm Shifts for the Connected Car of the Future
HiveMQ
 
How to Stream IoT MQTT Messages Into the Azure Event Hubs Service
How to Stream IoT MQTT Messages Into the Azure Event Hubs ServiceHow to Stream IoT MQTT Messages Into the Azure Event Hubs Service
How to Stream IoT MQTT Messages Into the Azure Event Hubs Service
HiveMQ
 

More from HiveMQ (17)

Testing the Scalability of a Robust IoT System with Confidence
Testing the Scalability of a Robust IoT System with ConfidenceTesting the Scalability of a Robust IoT System with Confidence
Testing the Scalability of a Robust IoT System with Confidence
 
Designing an Edge to Cloud Architecture for IIoT
Designing an Edge to Cloud Architecture for IIoTDesigning an Edge to Cloud Architecture for IIoT
Designing an Edge to Cloud Architecture for IIoT
 
What's New in HiveMQ [Inside the Upcoming HiveMQ 4.7 Release]
What's New in HiveMQ [Inside the Upcoming HiveMQ 4.7 Release]What's New in HiveMQ [Inside the Upcoming HiveMQ 4.7 Release]
What's New in HiveMQ [Inside the Upcoming HiveMQ 4.7 Release]
 
HiveMQ & HighByte Presents: Building an Enterprise Unified Namespace (UNS) to...
HiveMQ & HighByte Presents: Building an Enterprise Unified Namespace (UNS) to...HiveMQ & HighByte Presents: Building an Enterprise Unified Namespace (UNS) to...
HiveMQ & HighByte Presents: Building an Enterprise Unified Namespace (UNS) to...
 
How MQTT 5 Makes Difficult IoT Use Cases Possible
How MQTT 5 Makes Difficult IoT Use Cases PossibleHow MQTT 5 Makes Difficult IoT Use Cases Possible
How MQTT 5 Makes Difficult IoT Use Cases Possible
 
How to Monitor and Observe IoT and MQTT Applications with HiveMQ
How to Monitor and Observe IoT and MQTT Applications with HiveMQ How to Monitor and Observe IoT and MQTT Applications with HiveMQ
How to Monitor and Observe IoT and MQTT Applications with HiveMQ
 
Revolutionizing IoT Testing - A Sneak Peek of HiveMQ Swarm
Revolutionizing IoT Testing - A Sneak Peek of HiveMQ SwarmRevolutionizing IoT Testing - A Sneak Peek of HiveMQ Swarm
Revolutionizing IoT Testing - A Sneak Peek of HiveMQ Swarm
 
Build Your Own HiveMQ Extension
Build Your Own HiveMQ ExtensionBuild Your Own HiveMQ Extension
Build Your Own HiveMQ Extension
 
How to Set up, Run and Scale a Secure MQTT Broker on Kubernetes
How to Set up, Run and Scale a Secure MQTT Broker on KubernetesHow to Set up, Run and Scale a Secure MQTT Broker on Kubernetes
How to Set up, Run and Scale a Secure MQTT Broker on Kubernetes
 
MQTT - The Key to Scalable Reliable Connected Car Platforms
MQTT - The Key to Scalable Reliable Connected Car PlatformsMQTT - The Key to Scalable Reliable Connected Car Platforms
MQTT - The Key to Scalable Reliable Connected Car Platforms
 
Implementing the 5 Pillars of IT Security for MQTT
Implementing the 5 Pillars of IT Security for MQTTImplementing the 5 Pillars of IT Security for MQTT
Implementing the 5 Pillars of IT Security for MQTT
 
4 Paradigm Shifts for the Connected Car of the Future
4 Paradigm Shifts for the Connected Car of the Future4 Paradigm Shifts for the Connected Car of the Future
4 Paradigm Shifts for the Connected Car of the Future
 
Lightweight and Scalable IoT Messaging with MQTT
Lightweight and Scalable IoT Messaging with MQTTLightweight and Scalable IoT Messaging with MQTT
Lightweight and Scalable IoT Messaging with MQTT
 
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQMachine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
 
Building Scalable & Reliable MQTT Clients for Enterprise Computing
Building Scalable & Reliable MQTT Clients for Enterprise ComputingBuilding Scalable & Reliable MQTT Clients for Enterprise Computing
Building Scalable & Reliable MQTT Clients for Enterprise Computing
 
How to Stream IoT MQTT Messages Into the Azure Event Hubs Service
How to Stream IoT MQTT Messages Into the Azure Event Hubs ServiceHow to Stream IoT MQTT Messages Into the Azure Event Hubs Service
How to Stream IoT MQTT Messages Into the Azure Event Hubs Service
 
Back to Basics: An Introduction to MQTT
Back to Basics: An Introduction to MQTTBack to Basics: An Introduction to MQTT
Back to Basics: An Introduction to MQTT
 

Recently uploaded

Recently uploaded (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Free Your Manufacturing Data with Apache PLC4X & MQTT

  • 1.
  • 2. Copyright © by HiveMQ. All Rights Reserved. WELCOME Christofer Dutz Florian Raschbichler ● Senior Software Engineer at Mapped ● Member of Apache Software Foundation ● Committer in 13 Apache Projects ● VP Apache PLC4X Project linkedin.com/in/christofer-dutz linkedin.com/in/fraschbi/ ● Head of Support at HiveMQ ● 7 years of MQTT experience ● Blogger & Speaker ● Helped 130+ customers to go into production with IoT use cases
  • 3. Copyright © by HiveMQ. All Rights Reserved. Current Situation
  • 4. Copyright © by HiveMQ. All Rights Reserved. ● Most important components: PLCs ○ Little Computers that run machinery ○ Very limited resources (CPU & Memory) ○ Up to Real-Time operation ○ Actually never crash ● Currently the industry is all about industry 4.0 ● industry 4.0 is all about AI & Machine Learning ● AI & Machine Learning is all about data ○ It’s actually about lots of data ● Data is everywhere ● Accessing Data is easy (on new PLCs) ○ Using OPC UA or MQTT Current Situation in Manufacturing/Automation
  • 5. Copyright © by HiveMQ. All Rights Reserved. What is OPC UA?
  • 6. Copyright © by HiveMQ. All Rights Reserved. Introducing OPC UA ● OPC Unified Architecture ● Standard & Protocol for ○ Platform independent data exchange ○ Service-Oriented architecture ● Also defines the semantics of data ● Created by the OPC Foundation ● Development time: about 10 years ● Sort of final version released 2 years ago
  • 7. Copyright © by HiveMQ. All Rights Reserved. Problems with OPC UA? ● A highly complex standard ● Incompatible Asset Administration Shells ● Need to add application-server to PLC ● Great for accessing small amounts of data (for Dashboards, Logging, etc.) ● Inacceptable performance when accessing large amounts of data - especially at high frequencies (for AI & Machine learning)
  • 8. Copyright © by HiveMQ. All Rights Reserved. What is MQTT?
  • 9. Copyright © by HiveMQ. All Rights Reserved. Introducing MQTT ● IoT messaging protocol ● Publish/subscribe ● Minimal overhead for client and bandwidth ● Lightweight client implementations ● Designed for reliable communications over unreliable channels ● 3 Quality of Service (QoS) levels ● MQTT 5 is required for IIoT
  • 10. Copyright © by HiveMQ. All Rights Reserved. Publish / Subscribe Pattern
  • 11. Copyright © by HiveMQ. All Rights Reserved. MQTT Pub/Sub Advantages • Push Communication • Message filtering based on subjects topics • Synchronization Decoupling • Time Decoupling • Space Decoupling • Dynamic Topics
  • 12. Copyright © by HiveMQ. All Rights Reserved. So why not just concentrate on MQTT? ● Industrial Hardware usually built for lifespans of 20 years ● MQTT enabled PLCs available for 1-2 years ● Assuming that every PLC built into machinery in the last 2 years supports MQTT: ○ 5% of machinery replaced per year ○ -> Max. 10% availability ● What to do with the remaining >90%?
  • 13. Copyright © by HiveMQ. All Rights Reserved. MQTT Open Standard - Freedom¹ ● Free and open ISO standard ● OASIS standard ● Technical committee of users ● Periodic improvements
  • 14. Copyright © by HiveMQ. All Rights Reserved. ● Accessing data on PLCs older than 1-2 years is difficult ○ Hundreds (if not even thousands) of protocols ○ Incompatibilities between manufacturers ○ Most have absolutely no security ○ Those with security features mostly implemented in a useless fashion ● Especially when using OPC UA mostly performance is unacceptable for: ○ Lots of data ○ In high frequencies Current Situation in Manufacturing/Automation
  • 15. Copyright © by HiveMQ. All Rights Reserved. ● Usage of integration platforms ○ Extremely expensive ○ Usually Monoliths -> Don’t scale well ● Usage of commercial or open-source drivers ○ Commercial usually == Expensive ○ Open-Source mostly: ■ Very old projects ■ Badly maintained ■ Bady licensed ● Usage of (hardware) gateways ○ Gateway PLCs ○ Protocol Adapters/Gateways Current Solutions
  • 16. Copyright © by HiveMQ. All Rights Reserved. Introducing Apache PLC4X
  • 17. Copyright © by HiveMQ. All Rights Reserved. Apache PLC4X Open Source - Freedom² “PLC4X is a set of libraries for communicating with industrial programmable logic controllers (PLCs) using a variety of protocols but with a shared API”
  • 18. Copyright © by HiveMQ. All Rights Reserved. Supported Operations: ● Read ✓ ● Write ✓ ● Subscribe ✓ ○ On value change ○ Cyclic ○ Events ● Browse ✗ ● Execute ✗ Apache PLC4X Implementation
  • 19. Copyright © by HiveMQ. All Rights Reserved. Supported Protocols: ● Siemens S7 ✓ ● Beckhoff ADS ✓ ● Modbus ✓ ● EtherNet/IP ✓ ● OPC-UA ✓ ● Firmata ✓ ● KnxNet/IP ✓ ● CAN ✓ Apache PLC4X Implementation - Freedom³ ● Allen-Bradley AB-ETH ✗ ● Allen-Bradley DF1 ✗ ● BacNet ✗ ● Emerson DeltaV ✗ ● Luxtronic ✗ ● Siemens S7 (TIA) ✗ ● ProfiNet ✗ ● …
  • 20. Copyright © by HiveMQ. All Rights Reserved. Supported Languages: ● Java ✓ ● Go ✓ ● C ✗ ● Python ✗ ● C# ✗ ● C++ ✗ ● ... Apache PLC4X Implementation - Freedom³
  • 21. Copyright © by HiveMQ. All Rights Reserved. ● One API for all drivers ● One software can handle any type of machinery ○ Different Vendors in different Plants ○ Upgrading / Replacing machinery ● No need to retrofit existing machinery ● No license costs ● Passive-Mode drivers Apache PLC4X USPs - Freedom⁴
  • 22. Copyright © by HiveMQ. All Rights Reserved. Apache PLC4X Passive - Mode Drivers ● Secure by design ● Only listen to network traffic ● Make data in production network available 100% secure ● No need to validate/certify drivers ● Support subscription API
  • 23. Copyright © by HiveMQ. All Rights Reserved. Apache PLC4X Passive-Mode Drivers ● Wiesemann & Theis GmbH built “Data-Diode” ● Explicitly built for usage with Apache PLC4X passive-mode drivers ● Product name: Fix Defined Firewall ● https://www.wut.de/e-55312-ww-dade-000.php
  • 24. Copyright © by HiveMQ. All Rights Reserved. Apache PLC4X Commercial Support ● https://industrial-opensource.com ● 14 Businesses around Apache PLC4X and other Apache IoT project ● Formed alliance for providing support for IoT Open-Source projects ● Services: ○ Trainings & Workshops ○ Consulting Services ○ Implementation (assistance) ○ Technical Support ○ Legal Consulting
  • 25. Copyright © by HiveMQ. All Rights Reserved. Tit MQTT for the new and upcoming devices Apache PLC4X for all the existing & old Machines Perfect Match
  • 26. Copyright © by HiveMQ. All Rights Reserved. Demo Time
  • 27. Copyright © by HiveMQ. All Rights Reserved. Data-Diode
  • 28. Copyright © by HiveMQ. All Rights Reserved. Demo Setup
  • 29. Copyright © by HiveMQ. All Rights Reserved. Demo Client • Go to: http://www.hivemq.com/demos/websocket-client/ • connect to Host: broker.hivemq.com with Port: 8000 • Subscribe to topic plc4x/sorting-line-topic
  • 30. Copyright © by HiveMQ. All Rights Reserved. Questions?
  • 31. THANK YOU Copyright © by HiveMQ. All Rights Reserved. Stay updated on upcoming webinars Subscribe to our Newsletternewsletter.social/hivemq Reach out to HiveMQ Community Forum if you have questions Submit your question now!