Auswahl des passenden SDK |
|
Übersicht Welches SDK / Toolkit zu wählen ist, hängt im Wesentlichen vom Zielgerät ab. Das Betriebsystem hat keinen großen Einfluss auf die Auswahl, da unsere SDKs / Toolkits generell plattformunabhängig sind, allerdings gibt es Betriebssysteme, die typischerweise für bestimmte Gerätegruppen verwendet werden. Die Grafik zeigt nur eine allgemeine Orientierung, domit deckt beispielsweise unser ANSI C SDK den Bereich vom Kleinstgerät bis hin zu Mainframes ab und unser C++ SDK kann genauso gut auf Embedded Geräten verwendet werden. ![]() Wann verwende ich das .Net SDK? Wenn Sie planen ausschließlich MS Windows zu unterstützen und wenn die Zielplattform ein PC mit entsprechendem RAM Speicherausbau ist, dann ist .Net eine gute Wahl. Speziell wenn Sie hauptsächlich .Net Experten aber keine C++ Entwickler haben, ist .Net die richtige Wahl für Sie. Beachten Sie: Die entstehende Applikation wird nicht so performant sein wie die entsprechende C++ Alternative und Sie werden einen deutlich höheren Ressourcenbedarf haben. Falls Sie später entscheiden, dass Sie mit Ihrem Produkt auch andere Betriebssysteme oder Embedded Geräte unterstützen wollen, können Sie den .NET Code in aller Regel nicht wiederverwenden. Sie müssten dann Ihre Implementierung nochmals von Vorne beginnen. Eine Entscheidung für .NET beinhaltet die Entscheidung an MS Windows gebunden zu sein. Das .NET SDK benötigt .Net Framework >= 3.5 + SP1. Es funktioniert weder mit älteren Versionen noch funktioniert es mit dem derzeitigen .NET Compact Framework und ebenso wenig mit .Net Mono. Windows und .Net läuft derzeit nur auf x86 Architekturen. Wann verwende ich das C++ SDK? Falls Sie planen verschiedenste Betriebssysteme zu unterstützen oder wenn Sie maximale Performance benötigen, ist das C++ SDK die richtige Wahl. Speziell wenn Sie C++ Entwickler haben, macht es meist keinen Sinn eine andere Technologie wie .Net oder JAVA einzusetzen, denn gerade C++ Entwickler implementieren schneller in C++ als mit jeder anderen Technologie. "Rapid Application Development" ist eine Frage von guten Bibliotheken aber nicht eine Frage der verwendeten Programmiersprache. Das C++ SDK arbeitet multi-threaded um auch moderne Multi-Core CPUs nutzen zu können und es kann für 32bit und 64bit CPUs übersetzt werden. Der SDK Code läuft derzeit auf x86 und ARM aber er kann einfach auf andere Architekturen portiert werden. Beachten Sie: Selbst wenn Sie zunächst nur ein Betriebssystem wie Windows unterstützen wollen, können Sie später problemlos auch andere Betriebssystem unterstützen. Die einzige Einschränkung ist das Erfordernis eines C++ Compilers. Einige Embedded Systeme erlauben kein multi-threading oder haben keinen C++ Compiler. In diesen Fällen ist die einzige Lösung das ANSI C SDK zu verwenden. Wann verwende ich das ANSI C SDK? Wenn Sie planen ein Produkt für ein Embedded Gerät zu entwickeln oder Sie wollen einfach nur die größt mögliche Portabilität in Ihrem Code sicherstellen dann sollten Sie das ANSI C SDK verwenden. Das ANSI C SDK arbeitet asynchron und single-threaded. Somit wird kein multi-threading benötigt. ANSI C Compiler sind für nahezu alle Betriebssysteme und CPU Architekturen verfügbar. Die ANSI C Variante des SDK läuft auf x86, ARM, MIPS using Linux, vxWorks, QNX, Euros, TenASys INtime, WinCE, Windows XP. Unified Automation unterstützt aktiv Linux und Windows auf x86. Andere Portierungen sind über unseren Entwicklungspartner ascolab GmbH erhältlich. Beachten Sie: Das ANSI C SDK hat die geringsten Anforderungen bezüglich Code Size, RAM Größe und CPU Leistung, aber es profitiert nicht direkt von multi-core CPUs wie den neueren ARM CPUs, solange es nut in einem Task/Thread läuft. Dies kann ein Nachteil sein, ist aber oftmals dennoch ein gewolltes Feature. Speziell auf Enbedded Geräten, auf denen OPC-UA Kommunikation nur ein kleiner Teil einer viel größeren Applikation ist, kann das Gerät eine CPU Core explizit für den Main-Task (z.B. SPS Programm) verwenden und auf den anderen CPU Core können andere Tasks wie beispielsweise der OPC UA server laufen. Wann verwende ich das JAVA SDK? Falls Sie mit Ihrer Applikation verschiedene Plattformen unterstützen wollen, aber Performance keine Hauptanforderung ist, kommt das Java SDK in die engere Wahl. Der größte Vorteil ist dass Sie Ihre Applikation nicht für jede Plattform neu kompilieren müssen. Die Java Anwendung wird auf jeder Plattform laufen, die das entsprechend benötigte JRE (JAVA Runtime Environment) bietet. Wir bieten ein Java SDK von unserem Entwicklungspartner Prosys an. |