Panel OPC-Adresse

Als erster Schritt bei der Parametrierung einer OPC-Peripherieadresse ist aus der Liste der Treiber im Peripherieadresspanel OPCCLIENT als Treibertyp zu wählen.

Klicken Sie die Taste "Parametrieren ...", um dann zur Parametrierung der Peripherieadresse für das Datenpunktelement zu gelangen:

Abbildung 1. Panel zum Parametrieren des OPC-Treibers

Adresse aktiv

Die Option Adresse aktiv ist angeklickt: Die Adresse wird vom Treiber verwendet (siehe Referenztabellen). Eine inaktive existiert zwar, die Attribute können auch gesetzt und abgefragt werden, der Treiber verwendet diese aber nicht. Das heißt, es können für diesen DP keine Werte an die SPS geschickt bzw. von der SPS empfangen werden.

Server

Editierbar; Liste mit vorhandenen Servern. Hier wird der symbolische Name angezeigt, so wie er in der Config-Datei eingetragen wurde. Er ist als erster Teil der Peripherieadresse auszuwählen.

Gruppe

Editierbar; Liste mit den vorhandenen Gruppen. Durch Klicken auf den Button Gruppe editieren neben der Liste gelangt man zum Parametrierpanel der ausgewählten Gruppe (siehePanel OPC-Gruppe).

Item

Hier muss die fully qualified itemId eingegeben werden. Falls der Server Addressbrowsing unterstützt, sind in der Combobox nach Auswählen des Servernamens, die im Server zur Verfügung stehenden Items zu sehen.

Die Items werden nur beim ersten Aufschalten vom Server geholt, und später vom Datenpunkt. Die Liste kann durch betätigen des Buttons Get Item IDs aktualisiert (vom Server abgefragt) werden. Es öffnet sich ein Panel, in dem die Items in einem TreeView aufgebaut sind (siehe auch Panel OPC Server).

Aus den drei Einträgen unter Server, Gruppe und Item wird die Peripherieadresse zusammengestellt; als Trennzeichen wird "$" verwendet:

Server$Gruppe$Item

Die einzelnen Teile der Adresse dürfen jeweils nur 100 Zeichen lang sein. Das ist auch beim Anlegen der internen Datenpunkte für die Gruppen und die Server zu beachten. Die itemID darf ebenfalls nicht länger als 100 Zeichen sein. Das ist gegebenenfalls schon beim Parametrieren des Servers zu beachten.

Durch Anklicken des Buttons OK oder Übernehmen wird die Peripherieadresse auf den Datenpunkt parametriert.

Anmerkung: Die Felder Server, Gruppe und Item dürfen nicht leer sein, sonst erfolgt eine Fehlermeldung bei der Parametrierung der Peripherieadresse auf einem Datenpunktelement.

Trans. Art

Die Einstellung erlaubt es die verwendete Transformation an das Datenformat anzupassen, welches durch den Server benötigt wird. Unterhalb finden Sie ein Mapping der wählbaren Transformationen und den dazu passenden OPC-Server-VARIANT-Datentyp.

Name innerhalb der Liste Datentyp angefragt durch den OPC-Server
uchar VT_UI1
integer16 VT_I2
uinteger16 VT_UI2
integer32 VT_I4
uinteger32 VT_UI4
integer64 VT_I8
uinteger64 VT_UI8
float32 VT_R4
float64 VT_R8
boolean VT_BOOL
string VT_BSTR
time VT_DATE
bitstring VT_UI4

Wenn die Transformationsart "default" gewählt wurde, erfolgt eine automatische Konvertierung des Formates, abhängig vom Typ des Datenpunktelementes. In diesem Fall werden folgende Transformationen für die jeweiligen Datenpunktelementtypen verwendet:

Data Point Element Type Used conversion

DPELEMENT_CHAR

DPELEMENT_DYNCHAR

uchar

DPELEMENT_INT

DPELEMENT_DYNINT

integer32

DPELEMENT_UINT

DPELEMENT_DYNUINT

DPELEMENT_32BIT

DPELEMENT_DYN32BIT

uinteger32
DPELEMENT_LONG integer64

DPELEMENT_ULONG

DPELEMENT_DYNULONG

DPELEMENT_64BIT

DPELEMENT_DYN64BIT

uinteger64

DPELEMENT_FLOAT

DPELEMENT_DYNFLOAT

float64

DPELEMENT_BIT

DPELEMENT_DYNBIT

boolean

DPELEMENT_TEXT

DPELEMENT_DYNTEXT

string

DPELEMENT_TIME

DPELEMENT_DYNTIME

time

Bei der Verwendung von dyn_*-Datenpunktelementen wird ein Array des Datentyps des jeweiligen Mappings oberhalb für die Transformation verwendet.

Anmerkung:

Es muss ein Datentyp selektiert werden. Selektieren Sie entweder einen bestimmten Datentyp oder die Option "Default" da sonst die folgende Fehlermeldung erfolgt:

N/A, Fehlermeldung: got invalid Transformationtype for...;.

Einschränkung: Der Low Level Alt/Neu-Vergleich darf bei String-Transformationen und Arrays, die auf dyn... Variablen abgebildet werden, nicht aktiviert sein.

Übertragen von Bitstrings

Es ist möglich, ein OPC Item (Integer bzw. Uinteger) auf einzelne Bit-DPEs in WinCC OA aufzuspalten. Dazu ist es notwendig, bei jedem Bit-DPE eine Peripherieadresse mit Transformation "Bitstring" plus Subindex anzugeben. Der Subindex n steht dabei für das n-te Bit.

z.B. Für einzelne array_bool[num] num = 0...31 als Transformationsart bitstring mit verschiedenen Subindizes gewählt: 0,1,10,30,31 und auf Serverseite einen Integerwert verschickt: 0,1,1024,1025, 2^30 und 2^31 -> Bits auf Clientseite werden mit Wert und Zeit richtig gesetzt.

Anmerkung: Der hier gewählte Eintrag ist nicht ganz unabhängig vom Server, da der Server nicht jedes beliebige Format in jedes beliebige andere Format konvertieren kann. Im günstigsten Fall tritt ein Datenverlust ein (durch Runden oder Abschneiden der Nachkommastellen), im schlechtesten Fall kommen gar keine Daten an.

Richtung Ein/Aus

Gibt die Richtung an. Ist ein Item im OPC Server schreibbar, so ist es in WinCC OA als Aus (Einzel) parametriert. Ist es lesbar, so ist es als Ein (-gang) parametriert. Ist es lesbar und schreibbar so ist es als Ein/Aus (-gang) parametriert. Aus (Gruppe) kann für Transformationstyp "bitstring" selektiert werden und wird in UINT konvertiert.

Anmerkung: Beachten Sie dass Items nur einmal in einer Gruppe definiert sein dürfen!
  • Das Setzen der Richtung erfolgt mit der Übernehme des Servernamens automatisch. Die Combobox wird inaktiv.
  • Stellt der Server keine Information über die Items zur Verfügung, dann muss das Item eingetragen werden und die Richtung muss manuell gewählt werden.

Readback

Readback ist ein Feature, welches das IOTransitionTimeout kompatibel mit dem OPC Update-Mechanismus macht. Wenn eine I/O-Adresse geschrieben wird, wartet der Treiber auf einen Wert für diese Adresse von der Peripherie IOTransitionTimeout sekundenlang. Wenn es während der Zeit keinen neuen Wert gibt, geht der Treiber davon aus, dass das Schreiben nicht erfolgreich war.

OPC-Server wiederum antworten nicht direkt wenn es einen Wert gibt sondern erst nach Update-Rate von Millisekunden. Wenn das IOTransition-Timeout kleiner als das Update-Rate ist, gibt es keinen Callback und der Treiber geht davon aus, dass IOTransaction nicht erfolgreich war (obwohl IOTransaction erfolgreich gewesen wäre).

Um das zu verhindern, startet der OPC-Treiber die Lese-Operation gleich nach dem Schreiben um den Wert zurück von der Peripherie zu lesen (daher der Name "Readback"). Die Readback-Funktionalität kann jetzt ausgeschaltet werden indem man den Config-Eintrag ioReadBack = "no" in der [opc]-Sektion setzt. Default ist "yes".

Low Level Alt/Neu-Vergleich

Schaltet den Low Level-Vergleich des ComDrv ein oder aus. Im Gegensatz zur Totbandglättung der Gruppe, die sich auf alle Items der Gruppe bezieht, bezieht sich der Low Level-Vergleich auf das Datenpunktelement/das Item. Damit lässt sich zum Beispiel in einer Gruppe, die keine Totbandglättung vornimmt, ein oder mehrere Items doch noch glätten.

HINWEIS:

Sollen beim Low Level Alt/Neu-Vergleich bestimmte Userbits berücksichtigt werden (damit OPC Quality Änderungen berücksichtigt werden), müssen die entsprechenden "smoothBit" Config-Einträge gesetzt werden. z.B.:

smoothBit = "Userbit 1"
smoothBit = "Userbit 2"

Treibernummer

Hier erfolgt die Zuordnung zu einem Treiber. Die hier angegebene Nummer muss gleich der Kommandozeilenoption sein, mit dem der Treiber gestartet wurde.

Beispiel:

Wurde der Treiber, dem die Peripherieadresse zugeordnet werden soll, mit WCCOAopc –num 2 gestartet, muss hier 2 eingetragen werden.

OK

Mit diesem Button werden die Änderungen übernommen und das Panel geschlossen.

Abbrechen

Mit diesem Button werden die Änderungen verworfen und das Panel geschlossen.

Übernehmen

Mit diesem Button werden die Änderungen übernommen, das Panel wird aber nicht geschlossen.

Hilfe

Dieser Button öffnet die Online-Hilfe mit diesem Kapitel.