Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Building scada systems with apache software

Initial Idea pitch for creating SCADA applicatons with Open-Source software. This talk was the test-balloon I did at ApacheCon NA 2017 and can be considered the first talk on what should become the Apache PLC4X project.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

Building scada systems with apache software

  1. 1. BUILDING SCADA SYSTEMS WITHBUILDING SCADA SYSTEMS WITH APACHE SOFTWAREAPACHE SOFTWARE Christofer Dutz, codecentric AG 1
  2. 2. DISCLAIMERDISCLAIMER The opinions expressed in this presentation and on the following slides are solely those of the presenter and not necessarily those of the Apache Software foundation or codecentric AG. The Apache Software Foundation and codecentric AG do not guarantee the accuracy or reliability of the information provided herein  2
  3. 3. ABOUT MEABOUT ME Christofer Dutz Senior IT Consultant codecentric AG Apache Member Apache Flex Committer & PMC Flexmojos Lead Developer Open-Source enthusiast @ChristoferDutz 3
  4. 4. INTRODUCTIONINTRODUCTION This talk isn’t intended in presenting a solution It’s more intended of communicating an idea 4
  5. 5. I LOVE BIG DATAI LOVE BIG DATA 5
  6. 6. I LOVE IOTI LOVE IOT 6
  7. 7. I’D LOVE TO DO BOTHI’D LOVE TO DO BOTH 7
  8. 8. UNFORTUNATELYUNFORTUNATELY Instead of doing cool things Instead of changing the world 8
  9. 9. I’M DOING THISI’M DOING THIS 9
  10. 10. AND THISAND THIS CC byWall of spam freezelight 10
  11. 11. WHY?WHY? Banks and insurance companies love Big Data Marketing companies love Big Data IoT demand not very high (yet) Being in the right place at the right time for a Big Data & IoT Job seems less probable than winning the lottery 11
  12. 12. WHY ONLY THESE?WHY ONLY THESE? These companies have always been dealing with big amounts of data Banks have always had to process huge amounts of data Insurance companies have always processed huge amounts of data to calculate risks Marketing companies have always processed huge amounts of data to predict which people to target and how to do it "Big Data" is just another way for them to do what they have been doing for a long time This is just my own explanation I have no numbers to prove it.  12
  13. 13. IS THERE ANYTHING ELSE?IS THERE ANYTHING ELSE? 13
  14. 14. YES THERE IS … A LOT OF ITYES THERE IS … A LOT OF IT Source: Marketing is only a part of "information & communication" 91.2% Banks & insurance Information & communication Others Deutschland in Zahlen  14
  15. 15. WHAT ABOUT THE PRODUCTIONWHAT ABOUT THE PRODUCTION INDUSTRY?INDUSTRY? Source: 65.5% 25.7% Banks & insurance Information & communication Others Production industry Deutschland in Zahlen 15
  16. 16. WHY DON’T WE GET MOST REQUESTSWHY DON’T WE GET MOST REQUESTS FROM HERE?FROM HERE? Most simply don’t know what’s possible Market is dominated by proprietary solutions Products in this market segment: SCADA Systems 16
  17. 17. WHAT ARE SCADA SYSTEMS?WHAT ARE SCADA SYSTEMS? SCADA = Supervisory Control and Data Acquisition Collect data from PLCs (Programmable Logic Controllers) Aggregate state data Display a systems state React on system events 17
  18. 18. DISTRIBUTION OF SCADA MARKETDISTRIBUTION OF SCADA MARKET Source: 75.5% 6.4% 13.3% Siemens Wonderware Ionics Intellution Others SCADA safety in numbers 18
  19. 19. WHY COULD PRODUCTION INDUSTRYWHY COULD PRODUCTION INDUSTRY BE AN INTERESTING MARKET?BE AN INTERESTING MARKET? It’s a much bigger market It provides great room for improvement Vendor lock-in has slowed down innovation greatly Naturally, production industry has great interest in optimization: Cost reduction Scalability Reliability Safety 19
  20. 20. A BIG PART OF THE MARKET ISN’TA BIG PART OF THE MARKET ISN’T EVEN PROCESSED YETEVEN PROCESSED YET Price-tag of established systems is very high Prevents a lot of small companies from even starting to think about SCADA systems 20
  21. 21. BUT IT’S A DIFFERENT MARKETBUT IT’S A DIFFERENT MARKET Completely different nature of projects Completely different ecosystem Hardware (PLCs) Protocols Use-cases Completely different type of Users 21
  22. 22. FIRST OF ALL THEY DON’T DO THIS:FIRST OF ALL THEY DON’T DO THIS: CC byblinking circuit Mace Ojala 22
  23. 23. OR THAT:OR THAT: M.O.N.T.E.
  24. 24. 23
  25. 25. THEY DO THIS:THEY DO THIS:
  26. 26. web.de 24
  27. 27. AND THAT:AND THAT:
  28. 28. CC byScada System hdgomez 25
  29. 29. DIFFERENT HARDWAREDIFFERENT HARDWARE Siemens S7 26
  30. 30. DIFFERENT HARDWAREDIFFERENT HARDWARE Fatek FBs Series PLC
  31. 31. 27
  32. 32. DIFFERENT PROTOCOLSDIFFERENT PROTOCOLS Only IP Based ones here … Source: 30.0% 30.0% 17.0% 9.0% 7.0% 7.0% Profibus/Profinet Ehternet/IP/OPC Modbus Thernet-Powerlink Ethercat Others IMS Research sees PROFINET and PROFIsafe in leading position 28
  33. 33. SO HOW CAN APACHE SOFTWARESO HOW CAN APACHE SOFTWARE HELP?HELP? Apache has projects for almost everything we need Big Data storage Big- & Fast Data routing Big- & Fast Data processing Virtualization & Cloud Visualization Automation & Management solutions Even Operating-Systems 29
  34. 34. DATA ACQUISITION / LOCALDATA ACQUISITION / LOCAL PREPROCESSINGPREPROCESSING Akka (ok … that’s not directly Apache, but a big friend of the Family) Ideal to collect and pre-process information Runs on really small and limited hardware Akka Streams push information into Kafka and handle back- pressure/buffering Mynewt might be an interesting option 30
  35. 35. ROUTING OF DATAROUTING OF DATA Apache Kafka Perfect for routing data Eventually routs data to other pre-processing units Routs data to storage and or processing Apache Edgent Apache ActiveMQ MQTT-Bridge 31
  36. 36. DATA ACQUISITION / LOCALDATA ACQUISITION / LOCAL PREPROCESSING / ROUTINGPREPROCESSING / ROUTING 32
  37. 37. PROCESSING OF DATAPROCESSING OF DATA Akka Spark Flink Storm … a lot more 33
  38. 38. STORING OF DATASTORING OF DATA Hadoop Cassandra Elasticsearch (ok … not Apache but important) … a lot more 34
  39. 39. DISPLAY OF DATA / UIDISPLAY OF DATA / UI Apache Flex In my opinion Flex is still the best tool for complex graphic UIs FlexJS will make the Flash-Player obsolete Toolchain is perfect for this use-case: Runnable on almost every client-platform BlazeDS pushes data from the Server to the UI Kibana 35
  40. 40. PROCESSING / STORAGE / UIPROCESSING / STORAGE / UI 36
  41. 41. SO WHAT ELSE DO WE NEED?SO WHAT ELSE DO WE NEED? Libraries that handle the communication with the PLCs Profinet Modbus OPC Ideally an abstraction layer usable in Akka 37
  42. 42. MOST OF THESE ALREADY EXISTMOST OF THESE ALREADY EXIST http://snap7.sourceforge.net/ https://sourceforge.net/projects/j2mod/ https://github.com/stephane/libmodbus https://github.com/eclipse/milo https://code.google.com/p/opcua4j/ 38
  43. 43. SO WHAT’S STILL MISSING?SO WHAT’S STILL MISSING? Akka PLC Abstraction Library Currently open-source libraries only allow polling of data Good for dashboards Bad for real-time processing of events ProfinetIO (Example) allows PLC to send near real-time alarm to SCADA systems based on top of IP, but not TCP/UDP → not usable in Java ecosystem ⇒We need to implement adapters (ideally JNI) for the most important protocols to allow the full range of communication 39
  44. 44. SO WHAT’S THE PLAN?SO WHAT’S THE PLAN? codecentric is going to give me: The required funds needed to acquire the hardware The required funds needed to acquire the software A Lab About 6 Months of time Goal ⇒Create an open-source library that fills the gap (Apache licensed) 40
  45. 45. SO WHAT’S DO YOU THINK?SO WHAT’S DO YOU THINK? 41

×