460 likes | 812 Views
Einsatz von .NET in der Automatisierungstechnik . Die IndraWorks Engineeringsuite von Bosch Rexroth Wolfgang Hefner System Architect Microsoft Certified Solution Developer. 14.04.2005 Wuppertal. Engineering. Wartung. Versions- Verwaltung. Diagnose. Visualisierung. Projektierung.
E N D
Einsatz von .NET in der Automatisierungstechnik Die IndraWorks Engineeringsuite von Bosch Rexroth Wolfgang Hefner System Architect Microsoft Certified Solution Developer 14.04.2005 Wuppertal
Engineering Wartung Versions- Verwaltung Diagnose Visualisierung Projektierung Prozess IndraWorksTypisches Anwendungsszenario Bedienung
Betriebs- umgebung (IT people) Kommunikation Datenintegration Workflow Management Maschinen-. umgebungt (plant people) IndraWorksAnforderungen an die vertikale Integration Werksebene Fabrikebene Maschinenebene Feldebene
Agenda • Das Unternehmen Bosch Rexroth undIndraWorks als Inbetriebnahme- und Diagnoseworkbench von Automatisierungslösungen • Frameworkbasierte Produktentwicklung • „.NET in Practice“ • Entwicklungsprozess und Infrastruktur • ...und jetzt ? Achtung – ab hier wird’s technisch Zum Abschluß ein Blick in die Glaskugel
Frameworkbasierte Produktentwicklung Hochautomatisierte Entwicklungsumgebung Inkrementale, iterative Entwicklung Vorgehensmodell IndraWorks Vorgehensmodell
Frameworkbasierte ProduktentwicklungBisherige Ansätze • Ausgangsituation: Sammlung eigenständiger Werkzeuge (Anfang 1990er Jahre) • Kein durchgängiges UI-Konzept • Mehrfachentwicklung gleicher und ähnlicher Lösungen • Kaum Benutzerführung im Engineering-Prozess • Erster Product Line Approach 1996 (Mannesmann Rexroth) • Win32-basierte 4GL / ActiveX • Gemeinsamer UI-Rahmen und Kommunikationsplattform • Zweiter Product Line Approach ab 2002 • Zusammenführung der Produktlinien von Bosch Automation und Mannesmann Rexroth • Neues .NET-basiertes Framework • Erweitertes Produktportfolio • Neue strategische Ziele
Agenda • Das Unternehmen Bosch Rexroth undIndraWorks als Inbetriebnahme- und Diagnoseworkbench von Automatisierungslösungen • Frameworkbasierte Produktentwicklung • „.NET in Practice“ • Entwicklungsprozess und Infrastruktur • ...und jetzt ? Achtung – ab hier wird’s technisch Zum Abschluß ein Blick in die Glaskugel
Agenda • Das Unternehmen Bosch Rexroth undIndraWorks als Inbetriebnahme- und Diagnoseworkbench von Automatisierungslösungen • Frameworkbasierte Produktentwicklung • „.NET in Practice“ • Entwicklungsprozess und Infrastruktur • ...und jetzt ? Achtung – ab hier wird’s technisch Zum Abschluß ein Blick in die Glaskugel
Die Bosch Rexroth AG • Hundertprozentige Tochter der Robert Bosch GmbH • Zusammenschluss von Bosch Automationstechnik und Mannesmann Rexroth • Alle relevanten Technologien des Antreibens, Steuerns und Bewegens • Weltweite Präsenz • Für Industrie- und Fabrikautomation und mobile Anwendungen
Kraftfahrzeug- technik Gebrauchsgüter- und Gebäudetechnik Die Bosch Rexroth AG im Bosch Konzern Robert Bosch GmbH Industrietechnik Bosch Rexroth AG
Layout 3rd party Tools Rexroth Connectivity Services Maschinenausführung Presale Bemessung Konfiguration Rexroth Tools Stücklisten Konfiguration Engineering Parametrierung Programmierung Diagnose / Optimierung Aftersale Fernwartung, Service, R&M Der Engineering-Prozess Rexroth IndraWorks
Installierte Automatisierungstechnik Engineering und Wartung HMI Maschine HMI Abwickler Ethernet Steuerung Abwickler Steuerung Druckeinheit Steuerung Querschneider Beispiel: Zeitungsdruckmaschine Maschinenstruktur Abwickler Druckeinheit Querschneider
Simulation Navigation Bedienung Programmierung Visualisierung Integrierte Engineering-Suite Parametrierung Wartung Werkzeuge Add-Ons VirtuelleGeräte IndraWorksIntegration von Engineering-Tools
Frameworkbasierte Produktentwicklung Quality Attributes als Architekturtreiber • Verfügbarkeit • Fehlererkennung • Prävention • Modifizierbarkeit • Isolieren von Änderungen • Performance • Resourcenverbrauch • Resourcenmanagement • Sicherheit • Angriffe abwehren • Angriffe erkennen • Testbarkeit • Ein- und Ausgangsverhalten • Interne Systemzustände und Abläufe • Benutzerfreundlichkeit • Isoliertes UI (MVC, PAC) • User Initiative vs. System Initiative
Grafisches Framework Engineering Tool Engineering Tool OEM Tool Projektdaten- verwaltung Basiskomponenten / Common Tools Kommunikationsplattform Frameworkbasierte ProduktentwicklungÜbersicht Framework
Endanwender OEM OEM Rexroth Entwickler Frameworkbasierte ProduktentwicklungArchitekturschichten System 5 Layer Application Domain 4 Layer Abstraction IndraWorks Platform 3 Layer ( Application Framework ) Service 2 Layer Technology 1 Infrastructure Layer
Frameworkbasierte Produktentwicklung Integration von Anwendungen ins Framework • Integration von Engineering-Tools (Anwendungen) in Form von „Packages“ • Separat compilierbare Einheiten • Funktional zusammengehörige Programmteile • Inhalt eines Packages • Core-Assemblies • Satellite-Assemblies • Configuration Files • Data Files • Framework definiert Infrastruktur zur Querkommunikation zwischen Anwendungen • Zentraler Servicemanager im Framework • Anwendungen registrieren Services • Andere Anwendungen nutzen Services • Integrationschnittstellen des Frameworks sind Plug-In Schnittstellen • -> Plug-in Architektur
Application Consumer Common Tool Interface Basic Components Service Extension Point Project Data Communication Plug in Desktop Plug in Plug in Plug in Plug in Plug in Plug in Plug in Frameworkbasierte Produktentwicklung Plug - in Architektur
Frameworkbasierte Produktentwicklung Plug - in Architektur • Potenzial • Anwendungen können Framework-Funktionalität erweitern • Asynchrone Entwicklungszyklen bei Framework und Anwendungen • Jedoch • Anwendungen können bestehende Frameworkfunktionalität beeinträchtigen (Performance, Exceptions, Resourcen...) • Framework muß zwei Schnittstellen anbieten • Client API • Plug-In API • Framework und Anwendungen müssen die gleiche Technologie nutzen • Wichtige Merkmale von.NET („Mehrwert“ gegenüber Win32/COM) • Garbage Collection und sauberes Exception Handling • Reflection • Typsystem • Side-by-side execution
Agenda • Das Unternehmen Bosch Rexroth undIndraWorks als Inbetriebnahme- und Diagnoseworkbench von Automatisierungslösungen • Frameworkbasierte Produktentwicklung • „.NET in Practice“ • Entwicklungsprozess und Infrastruktur • ...und jetzt ? Achtung – ab hier wird’s technisch Zum Abschluß ein Blick in die Glaskugel
.NET in der Automatisierung ActiveX (COM) in der Automatisierung Verwendungsgrad heute 2 - 4 Jahre 3 - 6 Jahre „ .NET in Practice“.NET in der Automatisierung - Trend .NET ActiveX (COM)
Windows Systemplattform Komponenten- Technologie Entwicklungs- Umgebung Internet Serverstrategie Tools MFC OLE Visual C++ IIS Win32 API COM/COM+ Visual Basic ASP/ASP+ Microsoft .NET Framework Library Assembly Technologie VS.NET Enterprise Services Visual Basic Forms C++ MFC/ATL JScript / VBScript ASP • RAD • Composition • Inheritance • Performance • Type safety • HTML • Procedures Concepts „ .NET in Practice“ Die Erwartungshaltung beim Umstieg auf .NET
? WinFX .NET Win32 .NET Frage: • Sollen existierende Win32/COM-Anwendungen auf .NET migriert werden ? Win32 Win32 MS-DOS Win16 MS-DOS „ .NET in Practice“ .NET als „nächste Evolutionsstufe“ Technologie • Technologie entwickelt sich schneller als Rexroth Produktzyklen • Integration bestehender Komponenten MS-DOS 1990 1995 2000 2005 2010
„ .NET in Practice“ Einsatz von .NET Remoting und Webservices .NET Remoting • Performance • Events • State model Processor Processor Remote Server Client Client Processor .Net Remoting Remote Server Local Server Web Services Web Services • Transactions • Loose coupling • Security
Entwicklung Redaktionelle Bearbeitung Übersetzung- büro Andere Sprachen Deutsch und Englisch Deutsch oder Englisch de-de en-us en-us de-de Satellite Assemblies „ .NET in Practice“Übersetzungsprozess
„ .NET in Practice“ Migration nach .NET - Lessons learned • Existierende COM-Komponenten können 1:1 verwendet werden • Schrittweise Migration bestehender Anwendungen • .NET erhöht Entwicklungsgeschwindigkeit und Produktivität • z.B. Lines of Code • z.B. Garbage Collection • z.B. einheitliches Programmiermodell (keine „VB-Experten“ und „C++ - Experten“) • Wichtig ist: • Ein schlüssiges Migrationskonzept • Entwicklertraining zur Realisierung / Umsetzung des Mehrwerts • .NET-Kompatible Infrastruktur (WindowsXP, Visual Studio .NET) • Aber: • Endanwender sind nur sehr indirekt betroffen • Unmittelbare Vorteile „nur“ • für Entwickler • im Entwicklungsprozeß • .NET ist kein „Allheilmittel“
Agenda • Das Unternehmen Bosch Rexroth undIndraWorks als Inbetriebnahme- und Diagnoseworkbench von Automatisierungslösungen • Frameworkbasierte Produktentwicklung • „.NET in Practice“ • Entwicklungsprozess und Infrastruktur • ...und jetzt ? Achtung – ab hier wird’s technisch Zum Abschluß ein Blick in die Glaskugel
Product Line Development System Requirements << uses >> << builds >> Product Line Analysis Product Line Definition Product Development Domain Modelling Product Configuration Product Line Design Software Schema << builds >> Extensible Tools Product Architecture Infrastructure Architecture << uses >> Variable Assets Customized Tools Product Line Implementation Asset Provisioning Asset Packaging Product Development Fixed Assets Product EntwicklungsprozessIndraWorks Product Line Schema
EntwicklungsprozessEvolutionary Delivery Life Cycle Software Concept Preliminary Requirements Analysis Deliver Final Version Design of Architecture / System Core Develop a Version • Architecture is „ in the middle of things“ • Architecture is shaped by „architectural drivers“ • functional requirements • quality requirements • business requirements Incorporate Feedback Deliver the Version Ellicit Feedback
Applikations- komponenten Entwicklung Produkt A + Produkt A Framework Framework- entwicklung Produkt B + Applikations- Komponenten Entwicklung Produkt B EntwicklungsprozessZweistufige Organisation der Entwicklung
Germany Lohr Germany Dresden USA Chicago Russia Moscow Ireland Dublin India Bombay India Bangalore Germany Stuttgart Germany Erbach Germany St. Georgen Brazil Sao Paulo Bosch Standorte Zulieferer InfrastrukturIndraWorks Entwicklungsstandorte
Deliver Replicate Replicate Rebase • Ein Primary Repository • Zeitgesteuerte Replikation mit anderen Standorten • Keine Standleitung erforderlich Repository InfrastrukturIndraWorks Development Repositories
Agenda • Das Unternehmen Bosch Rexroth undIndraWorks als Inbetriebnahme- und Diagnoseworkbench von Automatisierungslösungen • Frameworkbasierte Produktentwicklung • „.NET in Practice“ • Entwicklungsprozess und Infrastruktur • ...und jetzt ? Achtung – ab hier wird’s technisch Zum Abschluß ein Blick in die Glaskugel
„Would you tell me, please, which way I ought to go from here?“, asked Alice. „That depends a good deal on where you want to get to“, said the Cat. „I don't much care where--“ said Alice „Then it doesn't matter which way you go“, said the Cat. „--so long as I get SOMEWHERE“, Alice added as an explanation. „Oh, you're sure to do that“, said the Cat, „if you only walk long enough“. - Lewis Carroll, Alice's Adventures In Wonderland
Domain Frameworks • „Klassische“ Frameworks arbeiten horizontal (Layers) • GUI Framework • Data Management Framework • Persistence Framework • Anwendungsentwicklung verläuft weitgehend vertikal • Koppeln von Frameworks durch Anwendung • Business Logik wird getrieben durch Anwendungen • Sehr hoher Aufwand bei der Integration (trotz gleicher Frameworks) • Potenzial: Domain-Frameworks („vertikale Frameworks“) • Platform based Abstraction • Domain Specific Languages • Business-Prozess getrieben durch Frameworks • Aspektorientierung • -> Software Factories
Framework Features: • Domänen- Metamodel • Patterns • Extension Points Anwendung Anwendung ruft ruft Library Framework Domain FrameworksPlatform Based Abstraction Anforderungen: • Unterstützung von Domänenmodellen • Gemeinsamkeiten • Berücksichtigung von Variabilitäten Geschäfts- modell Prozess High Level Konzepte Tools Produkt Framework
Software Factory Schemas • Domain Specific Languages OEM • Software Factory Schemas • Domain Specific Languages Domain FrameworksDomain Specific Languages
Komponenten Maschine A Entwicklung Maschine A + Maschine A IndraWorks Rexroth Maschine B + Komponenten Maschine B Entwicklung Maschine B Domain Frameworks Frameworksgetriebener Prozess beim OEM
Deliverables: • IndraWorks Services und Komponenten • DSL für Automatisierungs-lösungen • Templates für Entwicklungsprozesse Domain Frameworks Software Factories als „Produkt“ • Ähnliche Entwicklungsprozesse bei Rexroth und OEM • Software Product Line Approach bei Rexroth und OEM OEM
„Would you tell me, please, Service Heute: • Proprietäre Kommunikationsprotokolle • Notwendigkeit von Konvertern • Kontinuierliche Adaption von Komponenten • Kontinuierliche Adaption von Technologien Control Center HTTP DCOM HMI HMI Rexroth Protokolle Steuerung Feldbus-Protokolle
„Would you tell me, please,which way I ought to go from here?“ Service Heute: • Proprietäre Kommunikationsprotokolle • Notwendigkeit von Konvertern • Kontinuierliche Adaption von Komponenten • Kontinuierliche Adaption von Technologien Control Center UDDI Server HTTP HMI HMI „Automatisierung.NET“ • Einheitliches Kommunikations-protokoll und WebServices • Durchgängige vertikale Integration • Software Factories • DSLs • Aspektorientierung Steuerung Feldbus-Protokolle
Zusammenfassung • Die Automatisierungsindustrie befindet sich im ActiveX-Zeitalter • Einfluß „neuer“ Konzepte aus der Unternehmens-IT • Der Einsatz von .NET erhöht spürbar die Produktivität • In .NET 1.0/1.1 bisher keine revolutionären konzeptionellen Neuerungen • Frameworkbasierte Entwicklung, Iterativer Entwicklungsprozess und hochintegrierte Umgebung sind die Grundpfeiler einer erfolgreichen Enterprise-Lösung • Software Factories, Domain Specific Languages (und Aspektorientierung) bieten die Möglichkeit eines Quantensprungs in Produktivität und Durchgängigkeit
Vielen Dank ! Wolfgang Hefner Phone +49 (0) 93 52/40-44 74 mailto:wolfgang.hefner@boschrexroth.de www.boschrexroth.com