Talk about how to use Open-Source and especially Apache PLC4X to access industry machinery data and to use open-source to build the next generation of industrial software
1. DIGITIZING YOUR FACTORY THE OPENDIGITIZING YOUR FACTORY THE OPEN
SOURCE WAYSOURCE WAY
05.02.2020: OOP 2020
Christofer Dutz
@ChristoferDutz
codecentric AG
1
2. AGENDAAGENDA
Current Situation in the (production) Industry
Introduction Apache PLC4X
Open software can outperform an expensive proprietary
product by far
Community development and commercial support work
together nicely
Innovation cycles of weeks instead of years can help you
get the most out of your invest
What is to come?
2
5. THE CURRENT SITUATION IN THETHE CURRENT SITUATION IN THE
INDUSTRYINDUSTRY
Industry 4.0 is everywhere
The industry is adopting more and more:
IoT technology
Cloud technology
Big Data technology
Machine learning and AI technology
4
6. THE FUTURE SITUATION IN THETHE FUTURE SITUATION IN THE
INDUSTRYINDUSTRY
2017 2018 2019 2020 2021
0
50
100
150
200
250
300
350
400
450
500
550
600
650
700
IoT Market in Billions of $
5 . 1
7. ALL CHARTS SORT OF LOOK THE SAMEALL CHARTS SORT OF LOOK THE SAME
5 . 2
8. BUTBUT
These topics are completely new to the industry
There is usually no know-how in the company
Customers turn to their established vendors
These try to close the gap
6
9. BUUTBUUT
These topics are completely new to the vendors
There is usually no know-how at the vendor
Vendors start buying companies that have the necessary
know-how
Additionally they start hiring talented people to close the
gap
7
10. BUUUTBUUUT
Unfortunately they’re doing it the same way they have been
doing it for the last 20 years
Closed-Source
Restrictive-Licenses
Insanely expensive
Restricted connectivity
8
12. BUUUUTBUUUUT
These topics are what we’ve been doing for almost a decade
Modern IT has plenty of great tools to use
Modern IT has plenty of skilled people to take on the fight
All the industry needs to do, is start asking us instead
10
14. BARRIER: CONNECTIVITYBARRIER: CONNECTIVITY
Most major vendors of industrial hardware defined their own
proprietary protocols for communication
These protocols are usually always incompatible with each
other
Some standards (Modbus, EtherNet/IP, OPC)
PLCs usually provide multiple protocols
No universal way to communicate with (open-source) SW
New protocol: OPC-UA aiming at becoming the standard
12
15. OPC-UAOPC-UA
OPC-UA is a standard for inter-machine communication
Defined by OPC Foundation
It’s members come from almost all major automation
vendors
Been working on it for about 10 Years
Defines how to transport machine data
But also the semantics of this data
13
16. OPC-UA IS (CURRENTLY) NOT AOPC-UA IS (CURRENTLY) NOT A
SOLUTIONSOLUTION
OPC-UA support by adding application server to the PLC
Performance is currently less than ideal
In my opinion highly over-engineered for most current use-
cases
Usable version released end of 2018
Availability probably somewhere around 2% - 7%
14
17. OTHER ALTERNATIVE: MQTTOTHER ALTERNATIVE: MQTT
A number of new PLCs support MQTT directly
Been available for the last 1-2 years
Gut feeling says, number of MQTT enabled devices is less
than OPC-UA
Same Problem as with OPC-UA
→ It will take years for reasonable coverage
15
18. APACHE PLC4XAPACHE PLC4X
— Apache PLC4X Project Statement
PLC4X is a set of libraries for communicating
with industrial programmable logic controllers
(PLCs) using a variety of protocols but with a
shared API.
16
19. APACHE PLC4XAPACHE PLC4X
Applications only use API module
Integration modules available for multiple frameworks
Generally available for Java
Working on C++, C#, Python
Scala, C, JavaScript, … will follow
Ability to write software (almost) independent of the actual
PLC used
17
26. EXAMPLE 1: MAKING TBS OF MACHINEEXAMPLE 1: MAKING TBS OF MACHINE
DATA AVAILABLE IN KAFKADATA AVAILABLE IN KAFKA
Challenge:
2600 data points
Every 2 seconds
On 26000 PLCs
From 13 factories from all over the world
Making that data available in Apache Kafka
23
27. EXAMPLE 1: MAKING TBS OF MACHINEEXAMPLE 1: MAKING TBS OF MACHINE
DATA AVAILABLE IN KAFKADATA AVAILABLE IN KAFKA
24
28. EXAMPLE 1: MAKING TBS OF MACHINEEXAMPLE 1: MAKING TBS OF MACHINE
DATA AVAILABLE IN KAFKADATA AVAILABLE IN KAFKA
Open-Source Solution:
Apache Kafka Connect
Apache PLC4X Kafka Connect Source
Apache Kafka
2600 data points
Every 2 seconds (200ms would be possible)
600 PLCs per Kafka Connect Node
Additional Kafka Cluster
25
29. EXAMPLE 2: SECURE PRODUCTIONEXAMPLE 2: SECURE PRODUCTION
DATA AVAILABILITYDATA AVAILABILITY
31. EXAMPLE 2: SECURE PRODUCTIONEXAMPLE 2: SECURE PRODUCTION
DATA AVAILABILITYDATA AVAILABILITY
Large pharmaceutical company wants to optimize
production using data science
Data scientists need production data
Compliance rules and regulations make it difficult to get the
data
27
32. EXAMPLE 2: SECURE PRODUCTIONEXAMPLE 2: SECURE PRODUCTION
DATA AVAILABILITYDATA AVAILABILITY
Industry solution:
OSIsoft PI
Validated Software for making data available outside
28
33. EXAMPLE 2: SECURE PRODUCTIONEXAMPLE 2: SECURE PRODUCTION
DATA AVAILABILITYDATA AVAILABILITY
Open-Source solution:
Raspberry PI
Apache PLC4X passive mode driver
Data-Diode
29
34. EXAMPLE 2: SECURE PRODUCTIONEXAMPLE 2: SECURE PRODUCTION
DATA AVAILABILITYDATA AVAILABILITY
30
35. COMMERCIAL SUPPORTCOMMERCIAL SUPPORT
In general with Open-Source: No right for instant support
But usually around open-source projects companies offer
commercial support offerings
Ideally supporting companies also involved in the
community
get patches, fixes and improvements into the project
Commercial industry support usually just expensive
Guaranteed reaction times usually just for creating an
issue, not for delivering a fix
Hot-Fixes cost (a lot!!!) extra
31
36. INNOVATION CYCLES OF YEARS IN THEINNOVATION CYCLES OF YEARS IN THE
INDUSTRYINDUSTRY
Industrial Products: usually release cycles measured in
years
Available solutions usually represent "state of the art" at
inception-time
Often already deprecated on market entry
Reaction-Time on bugs and issues usually also
measured in months or even years
32
37. INNOVATION CYCLES OF DAYS ANDINNOVATION CYCLES OF DAYS AND
WEEKS IN OPEN-SOURCEWEEKS IN OPEN-SOURCE
Open-Source projects usually have release cycles of weeks
if not even days
Foundations even demand fast reaction on security issues
New ideas and concepts can be adopted within weeks
Short cycles allow fast adoption to new needs and
situations
Extremely fast feedback loops
33
38. WHAT IS TO COME (APACHE PLC4X)?WHAT IS TO COME (APACHE PLC4X)?
C-type drivers for running Apache PLC4X on:
Embedded devices
Integration into Apache MyNewt
Apache MiNiFi (Edge Gateways)
EdgeX Foundry
34