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:
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.
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.
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...;.
Ü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.
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.
- 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.
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.