It is a period of technological change. Rebel Industry 4.0 open-source software solutions, striking from hidden bases, have won their first victories against the evil proprietary Industrial Empire. During the battle, Rebel spies managed to implement industrial protocols to the Empire’s ultimate weapons, the industrial Programmable Logic Controllers, almost unprotected pieces of hardware with enough power to destroy an entire planet. Pursued by the Empire’s sinister agents, a representative of the project races to Berlin aboard his ICE, custodian of his plans to revolutionize the way we are building Industry 4.0 applications, that can free all companies and restore freedom to the industry …
Learn how the Apache PLC4X project has evolved and what we have planned for the future and especially how it can currently help close the gap between industrial hardware and modern software solutions to build the next generation of industrial IoT solutions, based entirely on open-source software.
2. WHO AM I?WHO AM I?
Christofer Dutz
Senior IT Consultant
codecentric AG
Open-Source Enthusiast
Committer of 10 Apache projects
Member of the Apache Foundation
VP of Apache PLC4X
Son of an electroengineer
Twitter: @ChristoferDutz
2 . 1
4. 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
3
5. 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 $
4 . 1
6. ALL CHARTS SORT OF LOOK THE SAMEALL CHARTS SORT OF LOOK THE SAME
4 . 2
7. 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
5
8. 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
6
9. 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
7
11. 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
9
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
but full functionality usually only via the proprietary
one
No universal way to communicate with (open-source) SW
New protocol: OPC-UA aiming at becoming the standard
12
16. OPC-UAOPC-UA
OPC-UA is a standard for inter-machine communication
Defined by OPC Foundation
It’s members come from almost all major Vendors
Been working on it for about 10 Years
Defines how to transport machine data
But also the semantics of this data
14
17. 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 last year
15
18. OPC-UA IS (CURRENTLY) NOT AOPC-UA IS (CURRENTLY) NOT A
SOLUTIONSOLUTION
Figure 1. fromHiding among enemies http://starwars.fandom.com 16
19. EXAMPLE NUMBERSEXAMPLE NUMBERS
In field tests we were able to collect from a single PLC
200 data points
Every 2 seconds
PLC was overloaded if collecting more or doing it faster
Test-Server was overloaded when processing more than 20
PLCs
Expensive
17
21. 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.
19
24. 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
21
32. BARRIER: SECURITYBARRIER: SECURITY
Aspect the industry is most parnoid about
Industrial Espionage
Compliance Rules
Regulations
Very difficult to any data-science technology
"Solution": Validated Software
Reading still has impact on the PLC performance
29
34. SECURITY BY DESIGN: PASSIVE MODESECURITY BY DESIGN: PASSIVE MODE
DRIVERSDRIVERS
Drivers that only passively monitor network traffic
Capture Request & Response
Know what Value X on Device Y is at a given time
Absolutely no impact on the PLC device
Extremely cheap
31
35. IF YOU DON’T TRUST YOUR SWITCHIF YOU DON’T TRUST YOUR SWITCH
PROVIDERPROVIDER
32
38. SO WHAT’S NEW?SO WHAT’S NEW?
We graduated to a TLP of the Apache Software Foundation
on 23rd April 2019
Driver specification in machine readable format
Generates at least model, parser and serializer for any
language
In order to support new language, all you need to provide is:
Language Template
In oder to support new protocol, all you need to provide is:
Protocol Module
Generated server (Plc Mock)
35
42. HOW TO HELPHOW TO HELP
Sign up to our mailing-list:
Follow us on twitter:
Start using PLC4X
File bugs:
Submit PRs:
Join the discussions on our mailing list
Spread the word
Help up color the last two bars
dev@plc4x.apache.org
@ApachePLC4X
https://issues.apache.org/jira/projects/PLC4X
https://github.com/apache/plc4x
39