Extbase Variable Dump
TYPO3\CMS\Extbase\Persistence\Generic\QueryResultprototypeobject (1 items)
   0 => Aritso\Art3jquery\Domain\Model\JQueryWidgetprototypepersistent entity (uid=26, pid=227)
      title => protected'Tabs Produktdetails' (19 chars)
      widgetType => protected1 (integer)
      cssClass => protected'' (0 chars)
      widgetOptions => protected'' (0 chars)
      jQueryWidgetElement => protectedTYPO3\CMS\Extbase\Persistence\Generic\LazyObjectStorageprototypeobject (4 items)
         000000000781e785000000007153c35c => Aritso\Art3jquery\Domain\Model\JQueryWidgetElementprototypepersistent entity (uid=93, pid=227)
            title => protected'Details' (7 chars)
            subtitle => protected'' (0 chars)
            useimagefortabs => protectedFALSE
            tabimageactive => protected'' (0 chars)
            tabimageinactive => protected'' (0 chars)
            cssClass => protected'' (0 chars)
            content => protectedTYPO3\CMS\Extbase\Persistence\Generic\LazyObjectStorageprototypeobject (3 items)
               000000000781e68b000000007153c35c => Aritso\Art3jquery\Domain\Model\Contentprototypepersistent entity (uid=1100, pid=227)
                  uid => protected1100 (integer)
                  pid => protected227 (integer)
                  sorting => protected1 (integer)
                  header => protected'Unterstützte OPC UA Services' (29 chars)
                  headerLink => protected'' (0 chars)
                  bodytext => protected'<ul><li>Discovery Service Set: FindServers, GetEndpoints</li><li>Secure Chan
                     nel Service Set: OpenSecureChannel, CloseSecureChannel</li><li>Session Servi
                     ce Set: CreateSession, ActivateSession, CloseSession</li><li>View Service Se
                     t: Browse, BrowseNext, TranslateBrowsePathToNodeIds, RegisterNodes, Unregist
                     erNodes</li><li>Attribute Service Set: Read, Write</li><li>Method Service Se
                     t: Call</li><li>MonitoredItem Service Set: CreateMonitoredItems, ModifyMonit
                     oredItems, DeleteMonitoredItems, SetMonitoringMode</li><li>Subscription Serv
                     ice Set: CreateSubscription, ModifySubscription, DeleteSubscription, SetPubl
                     ishingMode, Publish, Republish</li></ul>
' (648 chars) image => protected'0' (1 chars) imageLink => protectedNULL colPos => protected0 (integer) jqueryslick => protected0 (integer) l18nParent => protected1100 (integer) jquerywidgetelement => protected97 (integer) _localizedUid => protected1108 (integer)modified _languageUid => protected4 (integer)modified _versionedUid => protected1100 (integer)modified
000000000781e693000000007153c35c => Aritso\Art3jquery\Domain\Model\Contentprototypepersistent entity (uid=1101, pid=227) uid => protected1101 (integer) pid => protected227 (integer) sorting => protected2 (integer) header => protected'Produktvarianten' (16 chars) headerLink => protected'' (0 chars) bodytext => protected'<table class="showBorders"><tbody><tr><td>Versionen</td><td>Source Code</td>
                     </tr><tr><td>Lizenzvarianten</td><td><a title="Opens internal link in curren
                     t window" class="internal-link" href="t3://page?uid=180#344">Source Code Dev
                     eloper License (Single Seat)</a>, <a href="t3://page?uid=180#341" title="Ope
                     ns internal link in current window" class="internal-link">Evaluation License
                     </a></td></tr><tr><td>Zielplattformenn</td><td>Windows, Linux</td></tr><tr><
                     td>Entwicklung</td><td><a href="http://www.cmake.org/" title="Opens external
                      link in new window" class="external-link-new-window">CMake</a> plattformuna
                     bhängiges Buildsystem<br />(kann zur Generierung von Projekten für Visual
                     Studio, Eclipse, Makefiles … genutzt werden)</td></tr></tbody></table> <p
                     >Vollständige <a href="http://license.unified-automation.com/SLA/latest/" t
                     itle="External Link to Unified Autation’s Software License Agreement" clas
                     s="external-link-new-window">Lizenzbedingungen</a>.</p>
' (967 chars) image => protected'0' (1 chars) imageLink => protectedNULL colPos => protected0 (integer) jqueryslick => protected0 (integer) l18nParent => protected1101 (integer) jquerywidgetelement => protected97 (integer) _localizedUid => protected1109 (integer)modified _languageUid => protected4 (integer)modified _versionedUid => protected1101 (integer)modified
000000000781e694000000007153c35c => Aritso\Art3jquery\Domain\Model\Contentprototypepersistent entity (uid=1102, pid=227) uid => protected1102 (integer) pid => protected227 (integer) sorting => protected3 (integer) header => protected'Unterstützte Features and Profile' (34 chars) headerLink => protected'' (0 chars) bodytext => protected'<ul><li>Data Access</li><li>Events</li><li>Methods</li></ul> <p>Detailliert
                     ere Informationen finden Sie auf dem nächsten Tab.</p>
' (131 chars) image => protected'0' (1 chars) imageLink => protectedNULL colPos => protected0 (integer) jqueryslick => protected0 (integer) l18nParent => protected1102 (integer) jquerywidgetelement => protected97 (integer) _localizedUid => protected1110 (integer)modified _languageUid => protected4 (integer)modified _versionedUid => protected1102 (integer)modified
location => protectedNULL uid => protected93 (integer) _localizedUid => protected97 (integer)modified _languageUid => protected4 (integer)modified _versionedUid => protected93 (integer)modified pid => protected227 (integer)
000000000781e75e000000007153c35c => Aritso\Art3jquery\Domain\Model\JQueryWidgetElementprototypepersistent entity (uid=94, pid=227) title => protected'OPC UA Features and Profiles' (28 chars) subtitle => protected'' (0 chars) useimagefortabs => protectedFALSE tabimageactive => protected'' (0 chars) tabimageinactive => protected'' (0 chars) cssClass => protected'' (0 chars) content => protectedTYPO3\CMS\Extbase\Persistence\Generic\LazyObjectStorageprototypeobject (1 items) 000000000781e64e000000007153c35c => Aritso\Art3jquery\Domain\Model\Contentprototypepersistent entity (uid=1103, pid=227) uid => protected1103 (integer) pid => protected227 (integer) sorting => protected1 (integer) header => protected'' (0 chars) headerLink => protected'' (0 chars) bodytext => protected'<table class="showBorders"><tbody><tr><td>General</td><td> Nano Embedded Dev
                     ice Server Profile, Micro Embedded Device Server Profile</td></tr><tr><td>Da
                     ta Access</td><td>DataAccess Server Facet, ComplexType Server Facet</td></tr
                     ><tr><td>Events</td><td>unterstützt seit V1.2</td></tr><tr><td>Methods</td>
                     <td>Method Server Facet</td></tr><tr><td>Alarms &amp; Conditions</td><td>gep
                     lant</td></tr><tr><td>Historical Access</td><td>geplant</td></tr></tbody></t
                     able>
' (461 chars) image => protected'0' (1 chars) imageLink => protectedNULL colPos => protected0 (integer) jqueryslick => protected0 (integer) l18nParent => protected1103 (integer) jquerywidgetelement => protected98 (integer) _localizedUid => protected1111 (integer)modified _languageUid => protected4 (integer)modified _versionedUid => protected1103 (integer)modified
location => protectedNULL uid => protected94 (integer) _localizedUid => protected94 (integer)modified _languageUid => protected4 (integer)modified _versionedUid => protected94 (integer)modified pid => protected227 (integer)
000000000781e77e000000007153c35c => Aritso\Art3jquery\Domain\Model\JQueryWidgetElementprototypepersistent entity (uid=95, pid=227) title => protected'Lieferumfang' (12 chars) subtitle => protected'' (0 chars) useimagefortabs => protectedFALSE tabimageactive => protected'' (0 chars) tabimageinactive => protected'' (0 chars) cssClass => protected'' (0 chars) content => protectedTYPO3\CMS\Extbase\Persistence\Generic\LazyObjectStorageprototypeobject (1 items) 000000000781e66e000000007153c35c => Aritso\Art3jquery\Domain\Model\Contentprototypepersistent entity (uid=1104, pid=227) uid => protected1104 (integer) pid => protected227 (integer) sorting => protected1 (integer) header => protected'' (0 chars) headerLink => protected'' (0 chars) bodytext => protected'<ul><li>OPC UA Server SDK</li><li>Konverter von Informationsmodell-XML-Datei
                     en in Binärdateien</li><li>Konverter von Informationsmodell-XML-Dateien in
                     C-Code</li><li>IPC framework</li><li>Unit-Test-Framework</li><li>Unit-Test-P
                     aket zur Unterstützung der Portierung des SDKs</li><li>CMake Build-Dateien<
                     /li><li>API-Doklumentation, Beispiele und Anleitungen</li><li>15 Support Tic
                     kets</li><li>erstes Jahr Pflege</li><li>eine UaModeler Runtime-Lizenz</li></
                     ul>
' (459 chars) image => protected'0' (1 chars) imageLink => protectedNULL colPos => protected0 (integer) jqueryslick => protected0 (integer) l18nParent => protected1104 (integer) jquerywidgetelement => protected99 (integer) _localizedUid => protected1112 (integer)modified _languageUid => protected4 (integer)modified _versionedUid => protected1104 (integer)modified
location => protectedNULL uid => protected95 (integer) _localizedUid => protected99 (integer)modified _languageUid => protected4 (integer)modified _versionedUid => protected95 (integer)modified pid => protected227 (integer)
000000000781e767000000007153c35c => Aritso\Art3jquery\Domain\Model\JQueryWidgetElementprototypepersistent entity (uid=96, pid=227) title => protected'Verwandte Produkte und Dienstleistungen' (39 chars) subtitle => protected'' (0 chars) useimagefortabs => protectedFALSE tabimageactive => protected'' (0 chars) tabimageinactive => protected'' (0 chars) cssClass => protected'' (0 chars) content => protectedTYPO3\CMS\Extbase\Persistence\Generic\LazyObjectStorageprototypeobject (3 items) 000000000781e696000000007153c35c => Aritso\Art3jquery\Domain\Model\Contentprototypepersistent entity (uid=1105, pid=227) uid => protected1105 (integer) pid => protected227 (integer) sorting => protected1 (integer) header => protected'UaGateway' (9 chars) headerLink => protected'' (0 chars) bodytext => protected'<a class="internal-link" title="Opens internal link in current window" href=
                     "t3://page?uid=189">UaGateway</a> wurde entwickelt, um „klassische“ OPC-
                     Produkte in OPC-UA-Umgebungen zu integrieren. Die wichtigsten Features sind
                     die Verbindung von UA-Clients mit COM/DCOM-Servern (Wrapper), der Zugriff mi
                     t COM/DCOM-Clients auf UA-Server (Proxy) und das Tunneln von COM/DCOM über
                     eine sichere UA Verbindung. Weitergehende Informationen finden Sie auf der P
                     roduktseite zum <a class="internal-link" title="Opens internal link in curre
                     nt window" href="t3://page?uid=189">UaGateway</a>.
' (582 chars) image => protected'0' (1 chars) imageLink => protectedNULL colPos => protected0 (integer) jqueryslick => protected0 (integer) l18nParent => protected1105 (integer) jquerywidgetelement => protected100 (integer) _localizedUid => protected1113 (integer)modified _languageUid => protected4 (integer)modified _versionedUid => protected1105 (integer)modified
000000000781e699000000007153c35c => Aritso\Art3jquery\Domain\Model\Contentprototypepersistent entity (uid=1106, pid=227) uid => protected1106 (integer) pid => protected227 (integer) sorting => protected2 (integer) header => protected'OPC-UA-Schulungen' (17 chars) headerLink => protected'' (0 chars) bodytext => protected'Unified Automation veranstaltet Seminare, Workshops und Praxisschulungen um
                     Ihnen den Einstieg in OPC UA und unsere SDK-Produkte zu erleichtern. Weiterg
                     ehende Informationen finden Sie auf den folgenden Seiten: <ul><li><a class=
                     "internal-link" title="Opens internal link in current window" href="t3://pag
                     e?uid=149">Einführung in OPC UA</a></li><li><a class="internal-link" title=
                     "Opens internal link in current window" href="t3://page?uid=150">Entwicklung
                      von OPC UA Anwendungen<br /></a></li><li><a class="internal-link" title="Op
                     ens internal link in current window" href="t3://page?uid=154">Vollständiger
                      Terminplan und Anmeldung<br /></a></li></ul> Außerdem können Sie <a clas
                     s="internal-link" title="Opens internal link in current window" href="t3://p
                     age?uid=153">Vor-Ort-Schulungen</a> buchen, die wir an die Anforderungen ihr
                     er Firma anpassen.
' (854 chars) image => protected'0' (1 chars) imageLink => protectedNULL colPos => protected0 (integer) jqueryslick => protected0 (integer) l18nParent => protected1106 (integer) jquerywidgetelement => protected100 (integer) _localizedUid => protected1114 (integer)modified _languageUid => protected4 (integer)modified _versionedUid => protected1106 (integer)modified
000000000781e68e000000007153c35c => Aritso\Art3jquery\Domain\Model\Contentprototypepersistent entity (uid=1107, pid=227) uid => protected1107 (integer) pid => protected227 (integer) sorting => protected3 (integer) header => protected'OPC UA Buch' (11 chars) headerLink => protected'' (0 chars) bodytext => protected'<a class="external-link-new-window" title="Link to Amazon" href="http://www.
                     amazon.com/OPC-Unified-Architecture-Wolfgang-Mahnke/dp/3540688986/ref=sr_1_1
                     ?ie=UTF8&amp;s=books&amp;qid=1209506074&amp;sr=8-1"><img style="padding-righ
                     t: 10px; padding-bottom: 10px; float: left;" src="fileadmin/user_upload/imag
                     es/unified/uabook.jpg" data-htmlarea-file-uid="300" data-htmlarea-file-table
                     ="sys_file" height="115" width="77" alt="" /></a>Das Buch „OPC Unified Arc
                     hitecture“ wurde von Wolfgang Mahnke, Stefan-Helmut Leitner und Matthias D
                     amm geschrieben, einem der Referenten bei Schulungen von Unified Automation.
                      „Dieses Buch gibt Ihnen eine solide Grundlage um alles zu erfahren, was
                      Sie jemals über die Entwicklung von OPC-UA-basierten Weltklasse-Produkten
                     für die Interoperabilität zwischen verschiedenen Herstellern wissen wollte
                     n“, sagt Tom Burke, Präsident der OPC Foundation.
' (888 chars) image => protected'0' (1 chars) imageLink => protectedNULL colPos => protected0 (integer) jqueryslick => protected0 (integer) l18nParent => protected1107 (integer) jquerywidgetelement => protected100 (integer) _localizedUid => protected1115 (integer)modified _languageUid => protected4 (integer)modified _versionedUid => protected1107 (integer)modified
location => protectedNULL uid => protected96 (integer) _localizedUid => protected100 (integer)modified _languageUid => protected4 (integer)modified _versionedUid => protected96 (integer)modified pid => protected227 (integer)
uid => protected26 (integer) _localizedUid => protected27 (integer)modified _languageUid => protected4 (integer)modified _versionedUid => protected26 (integer)modified pid => protected227 (integer)
High Performance OPC UA Server SDK - Unified Automation

Download Testversion

Download einer zeitbeschränkten Testversion unserer SDKs.

High Performance OPC UA Server SDK

Mit diesem SDK wird OPC UA in kleinsten Geräten verwendbar und ist somit „IoT Ready“. Zusätzlich garantiert es beim Einsatz auf High-End-Servern bei der Bearbeitung von tausenden parallelen Verbindungen eine überragende Geschwindigkeit.

Mit einer von Grund auf neuen Softwarearchitektur und neuer Implementierung wurden alle diese Ziele erreicht. Selbstverständlich ist die neue Implementierung vollständig netzwerkkompatibel mit den originalen UA-Stacks der OPC Foundation.

Durchdachte Parallelität

Ein Problem vieler Netzwerkimplementierungen ist ein schlechtes multi-threaded Design. Zu viele Threads werden ohne ein klares Konzept erzeugt, was zu einer enormen Verschwendung von Ressourcen führt und auch schlechte Performance nach sich zieht, die u. a. durch Locking-Probleme, Threadwechsel und defragmentierte CPU-Caches verursacht wird. Einige Implementierungen erzeugen sogar einen Thread pro Verbindung, was im Hinblick auf Skalierbarkeit das schlechteste Design darstellt.
In unserem neuen SDK haben wir eine Gruppe von OPC-UA-Komponenten kreiert, die völlig unabhängig voneinander, parallel arbeiten können und somit auf Multi-Core-CPUs herausragende Geschwindigkeiten erzielen ohne sich gegenseitig auszubremsen. Zusätzlich erlaubt diese Architektur die einzelnen Komponenten aus einer single-threaded Hauptschleife anzutreiben und ist somit auch in kleinsten Mikrokontrollern lauffähig.

Sandboxing

Durch das Komponentendesign ist es möglich die einzelnen Komponenten, wie den Netzwerk-Encoder/Decoder ein einem eigenen Prozess laufen zu lassen. Dies kann nicht nur die Geschwindigkeit verbessern sondern ermöglicht auch die Verwendung von Sandbox-Mechanismen wie dem Linux Secure Computing Mode. Hierbei werden alle Betriebssystemaufrufe für diesen Prozess abgeschaltet. Im Falle eines Fehlers, der zu einem Exploit führen kann, wird der Prozess vom Betriebsystem terminiert, sobald ein Angreifer versucht Zugriff auf eine gesperrte Betriebssystemfunktion zu erhalten. Der Masterprozess erkennt dies und kann den terminierten Prozess anschließend wieder neu starten.

Asynchrone Netzwerk-API

Die neue OPC-UA-Implementierung basiert auf einer komplett asynchronen Netzwerk-API, die als Betriebsystem-Abstraktionsschicht dient. Durch unterschiedliche Netzwerk-Backends ist es möglich von modernen betriebssystemspezifischen APIs zu profitieren, wie POSIX AIO, Linux epoll, BSD kqueue oder Windows Completion Port APIs. Diese APIs leiden nicht unter den Skalierungsproblemen wie die eher altertümliche Berkeley Socket API und sind somit der Schlüssel zu hochperformanten Serveranwendungen. Durch die Verwendung dieser modernen APIs können die Anzahl der Kontextwechsel und der Kopieroperationen erheblich reduziert werden. Dies verbessert die Performance, vor allem wenn das System auf tausende Verbindungen skaliert.
Mit dieser neuen API wurde zusätzlich auch eine Lösung für die „Non-Blocking Domain Name Resolution“ geschaffen, die als eine der größten Designschwächen in heutigen Netzwerkimplementierungen angesehen wird.

Asynchrone Crypto- und PKI-APIs

Genauso wie Netzwerk APIs leiden heutige Crypto-Implementierungen an synchronen, blockierenden Implementierungen. Die neue OPC-UA-Implementierung ist komplett asynchron designt, um diese Probleme zu lösen. Zwei verschiedene Backends werden direkt unterstützt: OpenSSL und PolarSSL. Weitere Crypto-Backends werden in Zukunft folgen. Das Konzept erlaubt auch eine einfache Anbindung von hardwarebeschleunigter Kryptographie. Durch das asynchrone Design wird ein Encryption-Auftrag an den Hardwarechip delegiert und die OPC-UA-Kommunikation wird fortgesetzt. Später im Prozess wird das Ergebnis der Hardwareverschlüsselung gesendet, völlig asynchron selbst in einer single-threaded Umgebung.

Überragende Geschwindigkeit

Im Hinblick auf Geschwindigkeit und Durchsatz wurde als größter Engpass die Encoder/Decoder-Schicht des heutigen OPC UA C-Stacks identifiziert. Obwohl dieser immer noch deutlich schneller ist als die JAVA- und .NET/C#-basierten UA-Stacks der OPC Foundation, wird das volle Geschwindigkeitspotential nicht ausgeschöpft. Mit einem kompletten Redesign und einer Neuimplementierung konnte im Encoder-Prozess ein Performancegewinn um den Faktor 10 erreicht werden. Dies führt im Gesamtverhalten des OPC-UA-Protokolls, in Abhängigkeit vom Typ der transferierten Daten, zu einem Geschwindigkeitszuwachs um den Faktor 4 verglichen mit den heute schnellsten ANSI-C-basierten OPC-UA-Implementierungen.

Minimalster Speicherverbrauch

Während der gesamten Entwicklung wurde größter Wert auf minimalsten Speicherverbrauch gelegt, um die OPC-UA-Technologie auch in kleinsten embedded-Geräten verwenden zu können. Das modulare Konzept, konfigurierbare Memory-Pools und effiziente Implementierung machen das neue SDK perfekt für kleinste Geräte, Sensoren und auch für das Internet der Dinge. Auf einem ARM-basierten Demo-Board mit EUROS Echtzeitbetriebssystem konnte ein kompletter OPC-UA-Server in 300kByte umgesetzt werden, wobei hier das Betriebsystem bereits enthalten ist.
Mit einem neuen Konzept für einen tabellenbasierten OPC-UA-Adressraum können riesige Adressräume mit einem Bruchteil an Speicher integriert werden, der für heutige SDK benötigt werden würde. Das neue Konzept unterstützt auch die Ablage von "read-only" Informationen des UA-Adressraums im ROM, somit wird weiterer Speicher eingespart.

Softwarequalität

Um von Anfang an die höchstmöglichen Code-Qualität zu erreichen, wurde eine umfassende Testumgebung entwickelt. Mit diesem Toolset wird heute eine 98%ige Zeilenabdeckung und ein 95%ige Zweigabdeckung erreicht.

 

Details

Unterstützte OPC UA Services

  • Discovery Service Set: FindServers, GetEndpoints
  • Secure Channel Service Set: OpenSecureChannel, CloseSecureChannel
  • Session Service Set: CreateSession, ActivateSession, CloseSession
  • View Service Set: Browse, BrowseNext, TranslateBrowsePathToNodeIds, RegisterNodes, UnregisterNodes
  • Attribute Service Set: Read, Write
  • Method Service Set: Call
  • MonitoredItem Service Set: CreateMonitoredItems, ModifyMonitoredItems, DeleteMonitoredItems, SetMonitoringMode
  • Subscription Service Set: CreateSubscription, ModifySubscription, DeleteSubscription, SetPublishingMode, Publish, Republish

Produktvarianten

VersionenSource Code
LizenzvariantenSource Code Developer License (Single Seat), Evaluation License
ZielplattformennWindows, Linux
EntwicklungCMake plattformunabhängiges Buildsystem
(kann zur Generierung von Projekten für Visual Studio, Eclipse, Makefiles … genutzt werden)

Vollständige Lizenzbedingungen.

Unterstützte Features and Profile

  • Data Access
  • Events
  • Methods

Detailliertere Informationen finden Sie auf dem nächsten Tab.

OPC UA Features and Profiles

General Nano Embedded Device Server Profile, Micro Embedded Device Server Profile
Data AccessDataAccess Server Facet, ComplexType Server Facet
Eventsunterstützt seit V1.2
MethodsMethod Server Facet
Alarms & Conditionsgeplant
Historical Accessgeplant

Lieferumfang

  • OPC UA Server SDK
  • Konverter von Informationsmodell-XML-Dateien in Binärdateien
  • Konverter von Informationsmodell-XML-Dateien in C-Code
  • IPC framework
  • Unit-Test-Framework
  • Unit-Test-Paket zur Unterstützung der Portierung des SDKs
  • CMake Build-Dateien
  • API-Doklumentation, Beispiele und Anleitungen
  • 15 Support Tickets
  • erstes Jahr Pflege
  • eine UaModeler Runtime-Lizenz

Verwandte Produkte und Dienstleistungen

UaGateway

UaGateway wurde entwickelt, um „klassische“ OPC-Produkte in OPC-UA-Umgebungen zu integrieren. Die wichtigsten Features sind die Verbindung von UA-Clients mit COM/DCOM-Servern (Wrapper), der Zugriff mit COM/DCOM-Clients auf UA-Server (Proxy) und das Tunneln von COM/DCOM über eine sichere UA Verbindung. Weitergehende Informationen finden Sie auf der Produktseite zum UaGateway.

OPC-UA-Schulungen

Unified Automation veranstaltet Seminare, Workshops und Praxisschulungen um Ihnen den Einstieg in OPC UA und unsere SDK-Produkte zu erleichtern. Weitergehende Informationen finden Sie auf den folgenden Seiten:

Außerdem können Sie Vor-Ort-Schulungen buchen, die wir an die Anforderungen ihrer Firma anpassen.

OPC UA Buch

Das Buch „OPC Unified Architecture“ wurde von Wolfgang Mahnke, Stefan-Helmut Leitner und Matthias Damm geschrieben, einem der Referenten bei Schulungen von Unified Automation.

„Dieses Buch gibt Ihnen eine solide Grundlage um alles zu erfahren, was Sie jemals über die Entwicklung von OPC-UA-basierten Weltklasse-Produkten für die Interoperabilität zwischen verschiedenen Herstellern wissen wollten“, sagt Tom Burke, Präsident der OPC Foundation.