Upload
lamdiep
View
242
Download
0
Embed Size (px)
Citation preview
CATIA V5 ProgrammierungMöglichkeiten und Grenzen von CATScript, VBS, VBA & CAA
Whitepaper der :em engineering methods AG
© 2013 :em engineering methods AG
Know-how für Ihre virtuelle Produktentwicklung.
2/8
CATIA V5 ProgrammierungMöglichkeiten und Grenzen von CATScript, VBS, VBA & CAA
© 2013 :em engineering methods AG
Know-how für Ihre virtuelle Produktentwicklung.
ÜberblickErfolgreiches Product Lifecycle Management ² (PLM) beruht auf der Integration von PLM Lösungen in vorhandene Prozesse und Systeme in Unternehmen, damit Produktinformationen über den gesamten Pro-duktlebenszyklus effizient verwaltet werden können. Die Integration bewirkt, dass zwischen unterschied-lichen Anwendungen ausgetauschte Daten seltener manuell konvertiert werden müssen, wodurch die Datenverarbeitung an Produktivität, Effizienz und Zuverlässigkeit gewinnt. Integrationsfähigkeit ist da-her die zentrale Anforderung an PLM-Applikationen, da sie die Grundlage für Interoperabilität zwischen Systemen und Prozessen darstellt.
Dassault Systèmes (DS) PLM-Lösung für die digitale Produktdefinition und -simulation ist CATIA V5 ³ . Als 3D-Konstruktionswerkzeug ermöglicht es Anwen-dern, Produktentwicklungen entsprechend ihren Branchenspezifischen Anforderungen durchzufüh-ren.Die Anforderung der Integrationsfähigkeit erfordert einerseits Offenheit von CATIA V5 für Programmie-rung und andererseits die Fähigkeit, Bestandteile wieder zu verwenden, um in unterschiedlichen Anwendungskontexten gleiches Verhalten oder Fähigkeiten zu erzielen.
Für die Entwicklung und Erweiterung wurde daher von DS die Component Application Architecture V5 (CAAV5) entwickelt. Mithilfe von CAAV5 und der zugehörigen Rapid Application Development Envi-ronment (RADE) können Entwickler Applikationen konzipieren, modellieren, implementieren, testen und sowohl Quellcode als auch Konfigurationen verwalten. CAAV5 unterstützt dazu C++ und JAVA auf den Betriebssystemen UNIX und Windows. Die CAA
C++ API bietet umfangreiche Funktionen für die An-passung von CATIA V5 und ENOVIA LCA V5. Die CAA JAVA-API richtet sich speziell an JAVA-Entwickler, die sich mit der Anpassung von ENOVIA Portal 3d befassen und wird daher im Folgenden nicht weiter betrachtet.
Ergänzend zur CAA C++ und JAVA-API bietet Dassault Systèmes mit CATScript, CATIA VBScript und CATIA-VBA die so genannte V5 Automation API speziell für die Programmierung von Makros an.
V5 Automation API – Programmieren mit CATScript, CATIA-VBScript & CATIA-VBAAuf der ersten und vergleichsweise einfachsten Stufe der Programmierung bietet CATIA V5 im Rahmen der V5 Automation API die Programmiersprachen CATScript, CATIA-VBScript und CATIA-VBA an. Die V5 Automation API stellt dem Entwickler eine Ob-jekthierarchie zum Zugriff auf die laufende CATIA V5 Session und deren Modelle zur Verfügung.
Die komplette API wird auf Windows Systemen zusätzlich über Microsofts (MS) Component Object Model (COM) Technologie allen COM-fähigen Programmiersprachen (wie z. B. MS C# und Python) zugänglich gemacht. Die Erstellung von Scripten wird im interaktiven CATIA V5 mit einfachen Editoren unterstützt, im Falle von VBA sogar mit einer kom-pletten Entwicklungsumgebung, wie sie auch von MS Office Produkten bekannt ist.
CATIA V5 hat sich als leistungsfähiges 3D-Konstruktionswerkzeug in vielen PLM-Prozessen etabliert. Gerade aber wenn es um die Integration in unternehmensspezifische Prozessketten geht, ist es meist unabdingbar Anpas-sungen vorzunehmen. Dies mündet häufig in Zusatzsoftware, die es erlaubt, Informationen der 3D-CAD Daten so aufzubereiten, sodass nachfolgende Prozessketten diese verarbeiten können. CATIA V5 bietet dazu vielfältige Alternativen zur Programmierung an. Die Möglichkeiten reichen von der frei verfügbaren V5 Automation API ¹ bis hin zur kostenpflichtigen CAAV5 API. Den Überblick zu gewinnen, die Vor- und Nachteile abzuwägen und dabei abzuschätzen, für welche konkrete Aufgabe sich welche API am Besten eignet, überfordert vielfach die Anwender. Dieser Artikel zeigt, basierend auf den Projekterfahrungen der :em AG als V5 Development Service Provider und CAAV5 Adopter, wie man Transparenz erzielen und Entscheidungskriterien bei der Auswahl definieren kann. Damit können Kosten und Nutzen einer Anpassungsprogrammierung optimal aufeinander abgestimmt werden.
¹ API: Application Programming
Interface, englisch für Program-
mierschnittstelle.
² PLM: Product Lifecycle
Management (Produktlebenszy-
klusmanagement) bezeichnet ein
IT-System, mit dem alle Daten, die
bei der Entstehung, Lagerhaltung
und dem Vertrieb eines Produkts
anfallen, einheitlich gespeichert,
verwaltet und abgerufen werden.
³ CATIA V5: Akronym für Com-
puter Aided Three-dimensional
Interactive Application.
3/8
CATIA V5 ProgrammierungMöglichkeiten und Grenzen von CATScript, VBS, VBA & CAA
© 2013 :em engineering methods AG
Know-how für Ihre virtuelle Produktentwicklung.
CATScript, CATIA-VBScriptCATScript ist die Grundlage zur Programmierung von Makros. Dassault Systèmes hat dazu eine Untermen-ge von MS VBScript um Objekte ⁴ und Methoden⁵ erweitert, um die Erzeugung und Manipulation von Geometrie zu ermöglichen.
CATScript ist eine Interpretersprache und wird in der Regel verwendet, um Automatisierungen in CATIA V5 vorzunehmen. Makros, die in CATScript geschrieben sind, können unter Windows und unter UNIX eingesetzt werden. Ergänzend zu CATScript unterstützt CATIA V5 auch CATIA VBScript. Dabei ist der Übergang von CATScript zu VBScript fließend, da VBScript das komplette MS-VBScript umfasst, d. h. es beinhaltet als Untermenge auch CATScript. Somit deckt VBScript die gleichen Einsatzgebiete wie CATScript ab.
CATIA-VBAEine weitere Möglichkeit der Programmierung von V5-Makros bietet CATIA-Visual-Basic-for-Applications (CATIA-VBA).
CATIA-VBA ist ebenfalls eine auf „Basic“ basierende Programmiersprache. Die Verwendung von CATIA-VBA bietet sich für die Erstellung komplexerer Appli-kationen an, die über ein Script-Niveau hinausgehen.
Hervorzuheben ist hier vor allem die Unterstüt-zung der Programmierung durch eine vollwertige Entwicklungsumgebung. Diese ermöglicht z. B. die Erstellung und Einbindung von grafischen Benutze-roberflächen in Form von Dialogen. Die schrittweise Analyse der Anwendung zur Laufzeit (Debugging) erleichtert die Fehlerfindung bei komplexeren Programmen erheblich. Des Weiteren wird eine höhere Produktivität bei der Erstellung des Codes durch das sog. IntelliSense ⁶ erreicht.
Wie Tabelle 1 zeigt, sind CATScript und VBScript plattformunabhängig und daher unter Windows und UNIX lauffähig. Im Gegensatz dazu kann CATIA-VBA ausschließlich unter Windows eingesetzt werden. Ein Anwender, der CATScript beherrscht, kann seine Kenntnisse leicht auf VBScript und CATIA-VBA ausweiten. Insbesondere sind die Grenzen zwischen CATScript und VBScript wegen der großen Schnitt-menge an Befehlen fließend. VBScript unterstützt nur zwei einfache, grafische Benutzerdialoge (“InputBox” und “MessageBox“). Anspruchsvollere Benutzerdialo-ge sind mit CATIA-VBA möglich, aber lediglich unter Windows lauffähig.Typische Einsatzgebiete der V5 Automation API sind die schnelle, effiziente Erstellung von Makros zur Automatisierung von Alltagstätigkeiten und die Entwicklung von Assistenten-Lösungen.
Tabelle 1: Vergleich CATScript, CATIA-VBScript
und CATIA-VBA
⁴ Ein Objekt ist ein Behälter, der
Informationen speichert. Diese
Information kann z. B. ein CATPart
aber auch eine
Linie oder Fläche sein.
⁵ Eine Methode ist eine Anwei-
sung, mit der ein Objekt erzeugt,
verändert oder seine Information
ausgelesen werden kann.
⁶ IntelliSense ist eine von MS
entwickelte Technologie, die im
Quelltexteditor Zusatzinforma-
tionen anzeigt, wie z. B. die Ei-
genschaften und Methoden eines
Objektes, dessen Name gerade
geschrieben wurde.
Sprache Dateiformat Beschreibung Anwendungsbereich
CATScript *.CATScript Reduziertes VBScriptInterpreter (WIN, UNIX)
Makros (WIN und UNIX),CATIA KnowledgeWare
CATIA-VBScript *.catvbs Vollständiges VBScriptInterpreter (WIN, UNIX)
Makros (WIN und UNIX),CATIA KnowledgeWare
CATIA-VBA *.catvba Visual Basic ApplicationCompiler (WIN)
Menü-/Dialog-gestützte Anwendungen (WIN)
4/8
CATIA V5 ProgrammierungMöglichkeiten und Grenzen von CATScript, VBS, VBA & CAA
© 2013 :em engineering methods AG
Know-how für Ihre virtuelle Produktentwicklung.
CATScript/VBScript besitzt nur rudimentäre Unterstützung für Objektorientierung; der Schwer-punkt liegt hier auf traditioneller, prozeduraler Programmierung.
CAAV5 – Programmieren mit C++Auf der zweiten Stufe der Programmierung un-terstützt CATIA V5 im Rahmen der CAAV5 API die Programmiersprache C++.
Die zugehörige RADE stellt dem Softwareentwickler auf Windows innerhalb der Entwicklungsumgebung von MS Visual Studio über Add-Ins eine umfang-reiche Tool-Sammlung zur zur Verfügung:
Tools zur Erstellung von CAAV5 Klassen, CATIA V5 Add-Ins, interaktiven Befehlen, Benutzeroberflä-chen, ...Hilfsmittel zum verteilten und parallelen Arbeiten bei großen Entwicklungsteams.Durchführung von Unit-Test.Unterstützung statische Code Überprüfungen.Zugriff auf die CAAV5 Enzyklopädie.Unterstützung von Remote-Kompilierung auf UNIX.
Die RADE ist dabei für alle DS Produktlinien (CATIA, ENOVIA und DELMIA) identisch.
Die typischen Einsatzgebiete der CAA C++ API sind:Entwicklung von CATIA V5 Add-Ins mit eigenen Werkzeugleisten, Befehlen und Benutzungsober-flächen.Automatische Prüfung von unternehmensspezi-fischen Regeln und Standards.Erweiterung des CATIA V5 Datenmodells um neue Featuretypen oder neue geometrische Objekte.Anreicherung bestehender CATIA V5 Featuretypen um zusätzliche Daten und Verhaltensweisen.Erstellung CAA V5 basierter Applikationen und Produkte in Form von Workbenches und Work-shops.Anbindung von externen Anschlusssystemen und Fremdapplikationen.Entwicklung von CATIA V5 Applikationen für den Batch-Betrieb.
Überblick über die V5 Automation APIVorteile der V5 Automation API:
Ein Makro-Rekorder zur Aufzeichnung von manu-ellen Aktionen/Abläufen ist in CATIA V5 integriert. In den Grundzügen ist VBScript den Sprachen Visual Basic (VB) und VBA ähnlich, so dass mit entspre-chenden Vorkenntnissen (z. B. aus der MS Office Programmierung) ein leichter Einstieg möglich ist.Die V5 Automation API verfügt über eine gute Unterstützung durch die Internet-Community.
Nachteile der V5 Automation API:Es ist nur ein Subset der in CAA enthaltenen Funk-tionsumfänge verfügbar, dadurch sind bestimmte Funktionalitäten nicht umsetzbar.Hochkomplexe Anwendungen sind mit V5 Auto-mation nur schwer realisierbar.Notwendige Programmierfähigkeiten:VB-Programmierer mit V5-WissenoderCATIA V5 Anwender mit VB-Kenntnissen
Entwicklungskosten:Mittel
Benötigte V5 Lizenzen:Für die V5 Automation API selbst wird keine spezielle Lizenz benötigt, da sie im CATIA V5 Kern integriert ist Für die Ausführung der jeweiligen V5 Automation API Aufrufe werden jedoch die Lizenzen für die in-teraktiven Produkte benötigt. Um z. B. Automation API Aufrufe für Part Design zu verwenden, muss eine Lizenz für CATIA V5 Part Design verfügbar sein.
Unterschiede zwischen CATScript/VBScript und CATIA-VBA
Das Debugging ist nur mit CATIA-VBA möglich.Der Funktionsumfang von CATScript/CATVBS ist gegenüber VBA reduziert.Gegenüber Visual Basic (VB) und CATIA-VBA kennt CATScript/CATVBS keine Typisierung der Daten, es gibt nur den Datentyp Variant, der in sich alle anderen Typen speichern kann.Bei CATScript/VBScript ist ein Schutz des eigenen Programm-Codes gegen Einsichtnahme nur in geringem Maße möglich.
•
•
•
•
•
•
•
•
•
•
••
•
•
•
•
•
••••
•
•
•
•
•
•
•
5/8
CATIA V5 ProgrammierungMöglichkeiten und Grenzen von CATScript, VBS, VBA & CAA
© 2013 :em engineering methods AG
Know-how für Ihre virtuelle Produktentwicklung.
CAA C++ APIVorteile der CAA C++ API:
Integration der RADE in MS Visual Studio.Es steht eine umfassende Anzahl von APIs zur Ver-fügung, welche nahezu alle Anwendungsbereiche von CATIA V5 abdecken.CAA C++ hat eine gemeinsame Code-Basis für WINDOWS und UNIX.CAA C++ bietet Performanz und Robustheit.Die objektorientierte Architektur von C++ ermög-licht wesentlich komplexere und umfangreichere Applikationen im Vergleich zur V5 Automation API.Die einfache Einbindung von externen C++ Schnittstellen anderer Anbieter sichert eine weit-gehende Integrationsfähigkeit.
Nachteile der CAA C++ API:Bei Eigenentwicklung sind die Lizenzkosten für CDV/CDC zu beachten.Es wird eine externe Entwicklungsumgebung/Compiler benötigt (MS Visual Studio).Die nahtlose Integration der CAA C++ Appli-kationen und Add-Ins in existierende CATIA V5 Infrastrukturen erfordert in der Regel einmalig erhöhte, administrative Aufwände.
Programmierfähigkeiten:C++/CAA V5 Entwickler (Spezialist) mit guten CATIA V5 Kenntnissen
Entwicklungskosten:Hoch
V5-Lizenzen:CDC ⁷ oder CDV ⁸ zur Erstellung und Kompilierung von Anwendungen und Add-Ins.CATIA V5 Lizenz für den entsprechenden Anwen-dungsbereich/Workbench.
Entscheidungskriterien V5 Automation vs. CAAV5Viele Wege führen nach Rom, aber manche sind besser gangbar als andere!
Mit V5 Automation und CAAV5 bietet Dassault Sy-stèmes eine Vielzahl möglicher APIs, abgestimmt auf unterschiedliche Zielsetzungen, geeignet für simple bis hochkomplexe Entwicklungen sowohl für Endan-wender als auch für Entwickler. Dabei den Überblick zu behalten, die Vor- und Nachteile der APIs abzuwä-gen und abzuschätzen, für welche konkrete Aufgabe sich nun welche API am Besten eignet, überfordert vielfach die Anwender.
Die folgenden Kriterien spiegeln die Erfahrungen der :em AG als V5 Development Service Provider und CAAV5 Adopter wieder und sollen als Entscheidungs-hilfen dienen.
⁷ CDC: CAA C++ Extended Deve-
lopment Configuration
⁸ CDV: CAA C++ Base Develop-
ment Configuration
••
•
••
•
•
•
•
•
•
•
•
6/8
CATIA V5 ProgrammierungMöglichkeiten und Grenzen von CATScript, VBS, VBA & CAA
© 2013 :em engineering methods AG
Know-how für Ihre virtuelle Produktentwicklung.
Mit Hilfe der folgenden Checkliste kann der Anwen-der durch einfaches Ankreuzen festhalten, welche Betriebssystemplattformen zu unterstützen sind, welche Anwendungskomplexität zu erwarten ist, ob eine Benutzerführung oder Benutzeroberfläche erforderlich ist, welches Budget für die Entwicklung zur Verfügung steht, welche Anwenderzahl zu erwar-ten ist und ob bestimmte Sicherheitsanforderungen eingehalten werden müssen.
Die anschließende Auswertung der Verteilung der Kreuze auf die jeweiligen Spalten zeigt in der Regel den Trend zu einer der drei Möglichkeiten (CATScript/VBScript, CATIA-VBA und CAAV5 C++) an und gibt gleichzeitig Hinweise auf mögliche Kompromisse die ggf. in Kauf genommen werden müssen.
Neben den Kriterien, die die Leistungsfähigkeit und Einsatzmöglichkeiten der APIs betreffen, spielt auch das vorhandene Qualifikationsprofil bei den Anwendern eine entscheidende Rolle. So können die Entwicklung neuer Datentypen mit Hilfe von so genannten UDFs sowie die Abbildung von Verhal-ten mit Hilfe von CATIA V5 KnowledgeWare von erfahrenen CATIA V5 Experten durchgeführt werden. Für die Automatisierung manueller Abläufe mit der CATIA V5 Automation API ist jedoch ein Program-mierer mit speziellen VB-Kenntnissen und CATIA V5 Basiskenntnissen notwendig. Anspruchsvolle Benutzungsoberflächen und kom-plexes Verhalten machen einen erfahrenen CAAV5 C++ Experten unabdingbar.
Tabelle 2 – Checkliste Leistungsfähigkeit und
Einsatzmöglichkeit
CATScript/ VBScript CATIA-VBA CAAV% C++
Plattformen UNIX und Windows Nur Windows UNIX und Windows
Anwendungs-komplexität
Überschauber Geringe bis mittlere Komplexität
Mittlere bis hohe Komplexität
Benutzerführung Keine/minimal Grafische Benutzer-oberflächen
Grafische Benutzer-oberflächen
Budget Klein Mittel Mittel bis groß
Anwenderzahl Einzelne Besucher Einzelne Besucher Bereichs-/unternehm-ensweiter Produkt-vertrieb
Sicherheitsanfor-derungen
Niedrig Niedrig bis mittel Hoch
7/8
CATIA V5 ProgrammierungMöglichkeiten und Grenzen von CATScript, VBS, VBA & CAA
© 2013 :em engineering methods AG
Know-how für Ihre virtuelle Produktentwicklung.
Bild 1 – Fähigkeiten und Ausbildung
FazitDie Vielfalt der Kriterien und Möglichkeiten, nach de-nen man V5 Automation und CAAV5 bewerten kann (von der Portabilität bis zur Gratis-Verfügbarkeit), zeigt, dass es keine eindeutig und allgemein „beste“ API geben kann. D. h. die Entscheidungskriterien sind in der Regel nicht hinreichend, um der einen oder der anderen Möglichkeit eindeutig oder gar generell den Vorzug zu geben. In der Realität sind immer Kompromisse nötig, deren Gewichtung vom individuellen Anwendungsfall und den jeweiligen Rahmenbedingungen abhängt.
Um dem Endanwender nach getroffener Entschei-dung qualifizierte CAAV5 Entwicklungsservices zu garantieren und unabhängigen Softwareanbietern die Möglichkeiten der CAA V5-Plattform für die Entwicklung und den Vertrieb von Anwendungen zu bieten, hat DS das V5 Development Service Provider
Programm sowie das CAAV5 Adopter Programm geschaffen.
:em AG – V5 Development Service Provider & CAAV5 AdopterDas V5 Development Service Provider Programm ist ein Netzwerk von Unternehmen, die über die nötigen Kompetenzen und Kenntnisse verfügen, um kundenspezifische Applikationen auf der Basis von CAA V5 zu entwickeln. Ziel ist die Lösung spezifischer Anforderungen von DS-Kunden hinsichtlich CAA V5-basierter Services, darunter:
Kundenspezifische AnwendungsentwicklungIndividuelle Auslegung von Anwendungen auf V5-BasisIntegration der V5 PLM-Lösungen von DS mit Drittlösungen
Know-HowSoftwareentwicklung
CAAV5API
CATIA V5Automation
API
Objekto-rientierte Program-
miersprache (c++, JAVA)
VisualBasic
CATIA V5 Experte
VB Program-mierer
C++/CAA Experte
CATIA V5Basics
CATIA V5Basics
CATIA V5Basics
CATIA V5Basics
UDF CATIA V5Knowledge
Ware
Know-HowSoftwareentwicklung
Know-HowKonstruktion
Ausbildung
••
•
8/8
CATIA V5 ProgrammierungMöglichkeiten und Grenzen von CATScript, VBS, VBA & CAA
© 2013 :em engineering methods AG
Know-how für Ihre virtuelle Produktentwicklung.
Als V5 Development Service Provider ist die :em AG als Anbieter in der Lage, dem Endanwender Services zur Verfügung zu stellen, die die CAA V5-Plattform unterstützen und die beim Kunden auch ohne eigene CAAV5-Umgebung zum Einsatz kom-men können. Die :em AG bietet als V5-Entwicklungs-partner Entwicklungsfähigkeiten und Know-how für die PLM-Lösungen von DS und trägt zur Bereitstel-lung von Lösungen bei, die die Anforderungen in der Fertigungsindustrie erfüllen.Um darüber hinaus möglichst umfassend Geschäfts-prozesse zu unterstützen, hat Dassault Systems zu-sätzlich das CAAV5 Adopter Programm für mehrwert-basierte Software-Entwicklungspartner ins Leben gerufen, die mit ihren eigenen CAAV5-Produkten die Lösungen von DS ergänzen und somit den Einsatz der V5-Plattform optimieren und Innovationen fördern.
So integriert z. B. die :em AG als CAAV5 Adopter die eigene :TBeditor Lösung in das CAD-Standardpro-dukt CATIA V5 und bietet so den Konstrukteuren eine Applikation für das effiziente Erstellen und Editieren von Zeichnungsköpfen an.
Erik Claassen, Stephan Kümpel
Herausgeber:
:em engineering methods AG
Rheinstraße 97
64295 Darmstadt
Telefon +49 (0) 6151 . 95 0 54 20
Telefax +49 (0) 6151 . 950 54 21
mail: [email protected]
www.em.ag
Sitz und Registergericht
Darmstadt, HRB 8644
USt.-IdNr: DE 224250979
StNr: 07 232 14948
Vorsitzender des Aufsichtsrates:
Benno Rösch, Betriebswirt (VWA)
Vorstand:
Dr. Erik Claassen
Christian Donges
Dr. Sven Kleiner
Dr. Marcus Krastel (Vors.)
Redaktion:
Dr. Marcus Krastel
Gestaltung/Layout/Grafik:
Eva Anhäuser
Warenzeichen:
Alle im Newsletter genannten Produkte, Namen oder Firmen-
namen sind Warenzeichen bzw. eingetragene Warenzeichen
der jeweiligen Eigentümer/ Hersteller. Aus dem Fehlen
der Markierung kann nicht geschlossen werden, dass eine
Bezeichnung ein freier Warenname ist.
Rechtliche Hinweise:
Die :em engineering methods AG übernimmt keinerlei
Gewähr für die Aktualität, Korrektheit, Vollständigkeit oder
Qualität der bereitgestellten Informationen. Der Newsletter
und alle in ihm enthaltenen Beiträge sind urheberrechtlich
geschützt. Eine auszugsweise Verwendung durch Entnahme
von Informationen aus dem Whitepaper ist untersagt. Der
Whitepaper darf weiteren Interessenten zur Verfügung
gestellt werden.
Urheber- und Verlagsrecht: Das Whitepaper und alle in ihm
veröffentlichten Beiträge und Abbildungen sind urherber-
rechtlich geschützt. Nachdrucke, Vervielfältigungen, Überset-
zungen, Mikroverfilmungen, Kopien, sowie Speicherung und
Verarbeitung in elektronischen Systemen, auch auszugs-
weise, bedürfen der ausdrücklichen schriftlichen Genehmi-
gung der :em engineering methods AG. Erfüllungsort und
Gerichtsstand ist Darmstadt.
Weitere Whitepaper finden Sie zum Download unterwww.em.ag