API
Das API von WinCC OA (Application Programming Interface) bietet eine Reihe von Funktionen, die es ermöglichen, dieses Prozessleitsystem um spezielle Manager zu erweitern. Unter einem Manager ist dabei ein Programm zu verstehen, das über ein von WinCC OA definiertes Protokoll mit dem System kommuniziert.
Zur Nutzung dieser Funktionen, wählen Sie bei der Installation die Option "API". In diesem Fall wird im Installationsverzeichnis automatisch ein Ordner namens "api" angelegt.
API Dokumentation
Eine Dokumentation der API Funktionen finden Sie in Ihrem Installationsverzeichnis
unter <wincc_oa_path>/api/docu.
Die Dokumentation steht nur zur Verfügung, wenn die API Option während des WinCC OA Setups gewählt wurde.
Klassen, Include-Dateien
Um den Umgang mit der großen Anzahl der in WinCC OA vorhandenen C++ Klassen zu erleichtern, sind alle Include-Dateien direkt nach dem Klassennamen - mit angehängter Extension ".hxx" - benannt. Eine Klasse mit dem Namen "ManagerIdentifier" etwa ist in der Datei "ManagerIdentifier.hxx" zu finden. Im eigenen Code ist also pro verwendeter Klasse die entsprechende Include-Datei mit der #include-Direktive zu inkludieren.
Viele Klassen können auch ohne explizites #include verwendet werden, da z.B. von Manager.hxx bereits viele weitere Dateien inkludiert werden.
Event- und Data-Manager
Der zentrale Manager von WinCC OA ist der Event-Manager, welcher die Kommunikationsdrehscheibe des Leitsystems darstellt. Sobald ein Manager seinen Hochlauf beendet hat, tauscht er im Normalfall nur noch mit dem Event-Manager Nachrichten aus.
Der zweite wichtige Manager ist der Data-Manager, der für die gesamte Datenverwaltung zuständig ist. Beim Programmstart baut jeder Manager eine Verbindung zum Data-Manager auf, um von ihm Initialisierungsdaten zu erhalten. Nach erfolgter Initialisierung wird eine Verbindung zum Event-Manager aufgebaut (ausgenommen davon ist natürlich der Event-Manager selbst). Die Verbindungen zu Daten- und Event-Manager bleiben bis zur Beendigung des Managers bestehen.
Ein Verbindungsaufbau zu Data- bzw. Event-Manager ist nur dann möglich, wenn noch keine Verbindung von einem Manager mit demselben Manager-Identifier besteht. Darauf ist insbesondere bei API-Managern zu achten, die alle denselben Manager-Typ haben, und sich nur in ihrer Manager-Nummer unterscheiden.
Sie müssen selbst entwickelte Manager, welche von einer bestimmten WinCC OA Version stammen, bei Verwendung einer neueren Version IMMER neu kompilieren (das gilt auch für Branchversionen!).
Messages
Die Manager kommunizieren untereinander mit Hilfe von Messages. WinCC OA definiert einen festen Satz von Messages, welche für die Kommunikation eingesetzt werden.
Ein Großteil der API-Funktionen dient dem Generieren und Versenden von Messages. Diese werden von den Managern mit Hilfe der Funktion doReceive() empfangen, die auf alle ankommenden Messages angewendet wird.
FunctionVar Headerdatei
Die FunctionVar.hxx
Headerdatei ist in WinCC OA
verfügbar. Es ist zu beachten das innerhalb dieser Datei auch Qt Headerdatein
referenziert werden, welche nicht Teil des WinCC OA APIs sind.
Aus diesem Grund ist unbedingt die Installation der Qt Entwicklungsumgebung
erforderlich.