Mobile Apps in der Industrie?! Dr. Stefan Hennig 10. November 2014 MONKEY WORKS GmbH. Movisa Visualisieren statt programmieren.
Gliederung Die MONKEY WORKS GmbH Ich höre Stimmen. Wo kommt sie her? Wer ist das? Einführung Wo wir herkommen und welche Probleme wir mit unserem Produkt lösen. Technische Details Produktvorstellungen sind langweilig, jetzt wird s knackig. Unternehmerische Herausforderungen In der Theorie funktioniert s, aber wie kann damit Geld verdient werden? Zu guter Letzt Was ich gern mit auf den Weg gebe. 2
Die MONKEY WORKS GmbH 3
2005 Problem erkannt Diplomarbeit am Institut für Automatisierungstechnik 4
Juni 2012 Abschluss der Promotion Offizielles Ende der Wissenschaft Prototyp funktioniert. 5
Unterstützung durch Dresden exists Ansprechpartner für IT: Katrin Kahle 02/2012 Erster Termin bei Dresden Exists 08/2012 Einreichung des EXIST Antrags 10/2012 EXIST Zuwendungsbescheid erhalten 6
Mai 2013 Büro an der Uni Kuschelnde Entwickler 7
Juli 2013 Gründung der GmbH 3 Gründer 1 Mentor 1 Investor 2 Vollzeit-Angestellte 4 Studenten Dr. Stefan Hennig Linus Kuch Henning Hager und weiterhin auf der Suche!!! 8
April 2014 Neues Zuhause Umzug in ein erstes eigenes Büro 9
Mai 2014 Interpack Mitaussteller bei SIEMENS 10
Einführung 11
Tablets und Smartphones Was macht diese Geräte so attraktiv? Leistungsfähige Hardware günstiger Preis Vielseitige Peripherie (Kamera, Bluetooth,...) Multitouch-Gesten Bekannt und beliebt aus dem privaten Umfeld Industrie 4.0?! 12
Industrie 4.0 Inbetriebnahme/ Wartung Beobachten/Bedienen Private Cloud Qualitätssicherung Wartungstechniker Leitwarte Geschütztes Automatisierungsnetzwerk Rufbereitschaft, Ferndiagnose und -wartung 13
Usecases Nutzung mobiler HMI in der Industrie Reduzierung von Hardwarekosten Autarke Maschine unter Umwelteinflüssen (IP65, 67 etc.), HMI ausschließlich für Wartungszwecke Unterstützung von Operator Handlungen Kalibrierungs- bzw. Konfigurationsarbeiten Operator muss Einstellungen der HMI an der Maschine überprüfen Verkürzte Reaktionszeiten im Fehlerfall Verteilte, autarke Anlagen Benachrichtung ohne aktive HMI 14
Column 2 Column 3 2-A 3-A 2-B 3-B 2-C 3-C 2-D 3-D 2-E 3-E 2-F 3-F Column 4 4-A 4-B 4-C 4-D 4-E 4-F Column 5 5-A 5-B 5-C 5-D 5-E 5-F Eine Visualisierung, viele Geräte Human Machine Interfaces - HMI Movisa Control Room Viz Reaktor A Reaktor B Start Stop ipad 9:24 PM Panel 1 Panel 2 Panel 3 Panel 4 Movisa Maintenance Viz Valve A 100 % Valve B OFF Pumpe Valve C ON UIWindow 1024 x 768 Valve D OFF Panel 1 Panel 2 Panel 3 Panel 4 Valve E ON Valve F remote stationär mobil 15
Eine Visualisierung, viele Geräte Stationär: Desktop Uckermark 1 Windkraftwerk No. 0975 Leistung Status An/Aus 16
Eine Visualisierung, viele Geräte Mobil: Tablet 3 MW Uckermark 1 Windkraftwerk No. 0975 2 MW 1 MW Leistung Status 0 MW An/Aus 17
Eine Visualisierung, viele Geräte Mobil: Tablet 3 MW Uckermark 1 Windkraftwerk No. 0975 2 MW 1 MW Leistung Status 0 MW An/Aus 17
Eine Visualisierung, viele Geräte Fernzugriff: iphone Uckermark 1 Windkraftwerk No. 0975 Leistung Status An/Aus 18
Herausforderungen kurz zusammengefasst Eine Visualisierung, viele Geräte Verschiedene Anwendungs-Szenarien Verschiedene Bildschirmabmessungen Verschiedene Betriebsysteme/Software-Stacks 19
Die Herausforderung Entwicklung für verschiedene Plattformen & Technologien # Displaygrößen Betriebssysteme Programmiersprachen " Manuelle Entwicklung ist nicht zeitgemäß. apple 20
Windkraftwerk No. 0975 Movisa Workbench HMIs auf Knopfdruck Ą Movisa Workbench Leistung Status An/Aus Exportmodule X X X Programmierung auf Knopfdruck Uckermark 1 3 MW Uckermark 1 Windkraftwerk No. 0975 Leistung Status An/Aus Leistung Status 2 MW 1 MW Leistung Status An/Aus apple " # 0 MW An/Aus 21
Windkraftwerk No. 0975 Movisa Server Alarming, Trends, Historie?! Uckermark 1 3 MW Uckermark 1 Windkraftwerk No. 0975 Leistung Status Leistung 2 MW Leistung An/Aus Status 1 MW Status An/Aus 0 MW An/Aus 22
Windkraftwerk No. 0975 Movisa Server Alarming, Trends, Historie?! Uckermark 1 3 MW Uckermark 1 Windkraftwerk No. 0975 Leistung Status Leistung 2 MW Leistung An/Aus Status 1 MW Status An/Aus 0 MW An/Aus ģ Movisa Server unterstützt die wichtigsten Protokolle 22
Leistung Status An/Aus Leistung Status An/Aus Leistung Status An/Aus An/Aus Movisa Engineering Suite Reduziert Kosten und Entwicklungszeiten bei erhöhter Flexibilität Ą Movisa Workbench X Exportmodule 3 MW 2 MW Leistung 1 MW Status 0 MW ģ Movisa Server 23
Modellgetriebene Software-Entwicklung Modellvalidierung Modell-zu-Code-Transformationen Technische Details Eclipse Modell-zu-Modell-Transformationen Domänenspezifische Sprachen 24
Modellgetriebene Software-Entwicklung Trennung funktionaler Eigenschaften von ihrer technischen Realisierung Modell enthält Projektierungsdaten Transformationen erzeugen native Laufzeitlösungen Model Generator Transformation Rules Runtime Artifacts Einsatzbereite Visualisierung 25
Domänenspezifische Sprachen Zugeschnitten auf eine Problemdomäne Beispiel: Familienstammbaum Alice Bob John Jane Jackie 26
Domänenspezifische Sprachen Mehr als nur ein Modell Defined For Specifies Elements Of Target Domain 1 1 1 Core Language Model Defines Meaning Of 1 Domain Specific Language (DSL) 1 Defines 1 Invariants For Language Model (Abstract Syntax) 1..* 1..* Provides Interface For 1 1 1 Language Model Constraints (Static Semantics) Concrete Syntax Language Behavior (Dynamic Semantics) 1. Problemdomäne analysieren 2. Sprachmodell ableiten 3. Konkrete Syntax entwerfen 4. Tooling entwickeln 27
Domänenspezifische Sprachen Problemdomäne analysieren Problemdomäne: Lösungen zum Beobachten und Bedienen von industriellen Prozessen. Charakteristiken: Schematische und interaktive Darstellung des Prozesses Dynamisch-graphische Elemente Prozessdaten 28
Domänenspezifische Sprachen Sprachmodell ableiten Hilfsmittel: Metamodellierung. <<imported>> TextContainingWidgetRepresentation (See Representation Concrete Type Subsystem) RadioButtonGroupRepresentation RadioButtonRepresentation Value : String Representation 1 1 Representation <<imported>> Animation <<imported>> RadioButtonGroup Option 1..* <<imported>> RadioButton (See Animation Subsystem (3)) (See Elementary UI Component Root) Selected 0..1 (See Elementary UI Component Root) 0..1 Interaction Interaction RadioButtonInteraction 0..1 Animation 0..1 0..1 SubmitTrigger RadioButtonAnimation TextAnimation 0..* <<imported>> TextAnimationRecord (See Animation Subsystem (1)) <<imported>> SubmitTrigger (See Interaction Subsystem) Animation 0..1 ValueOutputAnimation 0..* <<imported>> ValueOutputAnimationRecord (See Animation Subsystem (2)) <<imported>> Interaction (See Interaction Subsystem) 29
Domänenspezifische Sprachen Konkrete Syntax High-fidelity modeling interface. Zielstellung: Anwendern der DSL die Komplexität des Sprachmodells verbergen. Bekannte Konzepte aus dem Vokabular der Anwender verwenden. Graphische Modellierung Textuelle Modellierung 30
Domänenspezifische Sprachen Tools, Tools, Tools Was unsere Nutzer wollen: Klickibunti durch Wizards und Eingabemasken. Textsyntax nur für ganz Hartgesottene. 31
Popcorn-Fabrik Prozessdaten: OPC UA 32
Popcorn-Fabrik User-Interface-Gestaltung für das iphone, hier: Hauptmenü 33
Popcorn-Fabrik User-Interface-Gestaltung für das iphone, hier: Befüllungsanlage 34
Popcorn-Fabrik Die fertige App nativ auf dem iphone und als HTML5 im Webbrowser 35
Unternehmerische Herausforderungen 36
Muss es denn wirklich nativ sein? Mindestens drei Wege führen auf s iphone. Native Web Hybrid 37
Modell-zu-*-Transformationen Wie wir Herr über die Plattformvielfalt wurden. 38
Codequalität Durchgängige Tests und Continuous Integration Agile Software-Entwicklung mit Scrum Automatisierte Tests sind sinnvoll Aber: Schmerzen sind vorprogrammiert Erfolgsrezept Team Sichtbarkeit! Mitsprache! Jeder muss mitmachen! 39
Zu guter Letzt 40
Das richtige Produkt richtig entwickeln Raus auf die Straße! Annahme 1. Prototyp 2. Minimal Viable Product 3. Product Test Anpassen 41
Wer will mitmachen? und mitsprechen!!! Vielfältige und abwechslungsreiche Aufgaben Kreatives Umfeld Mitgestaltung und Querdenken erwünscht! 42