Panel zur Definition der Peripherieadressen des IEC-Treibers
Das in der Abbildung dargestellte Panel erlaubt die Parametrierung einer Peripherieadresse für den IEC- Treiber.
Die Adresse ("Referenzstring") kann dabei entweder direkt in "Referenz" eingeben werden, oder mit Hilfe der Spin-Buttons der einzelnen Komponenten erstellt werden. Folgende Zusammensetzungen können dabei entstehen:
-
Art.Common Address. Information Object Address
-
Art:Quality. Common Address. Information Object Address
-
Verbindungsname-Art.Common Address.Information Object Address
-
Verbindungsname-Art:Quality.Common Address.Information Object Address
Quality gibt es also nur, wenn im String ein Doppelpunkt ":" vorkommt, sonst ist sie 0.
-
Treibernummer
Nummer des zugehörigen Managers der den IEC startet (z.B. -num 4).
-
Verbindungsname (optional)
In der Combobox werden alle Verbindungsnamen angeboten, welche einen Datenpunkt vom Typ _IecConnection besitzen.
Das Verhalten wird durch die Richtung bestimmt, in die Werte der Datenpunktelemente verschickt werden: Ausgang - die Daten werden nur über die Verbindung übertragen, deren Name explizit eingegeben wurde. Eingang - Die Daten werden auf den Datenpunktelementen nur dann abgebildet, wenn ein Telegramm : über die in der Adresse angegebene Verbindung empfangen wird.
-
Art (Telegrammtyp)
Die Art wird bei der Auswahl des Telegrammtyp in der Combobox "Text" automatisch gesetzt. Es ist die Nummer des Telegramms, wie sie in der IEC-Norm beschrieben ist. z.B. 1 für Einzelmeldung ohne Zeitmarke oder 137 für 16 Einzelmeldungen (siehe Kompatibilität).
Für IEC kann kein Low-Level (Alt/Neuvergleich) parametriert werden. Die Parametrierung ist nicht erforderlich da bei IEC in der Regel nur Änderungen übertragen werden.
Es gibt 3 Möglichkeiten Systemtelegramme auszulösen:
-
Anlegen einer entsprechenden Peripherieadresse und setzen des zugehörigen DPs.
-
Über den _Iec Datenpunkt (siehe Kapitel Interne Datenpunkte des IEC Treibers)
-
Über _IecConnection Datenpunkt (siehe Kapitel Interne Datenpunkte des IEC Treibers)
Es ist nicht möglich, in Befehlsrichtung 2 Peripherieadressen zu definieren, die sich nur in der Telegrammart unterscheiden. Die Peripherieadresse enthält zwar die Art, aber Peripherieadressen, die sich nur in der Telegrammart unterscheiden, werden als "idente" Peripherieadressen gewertet. Als Ausnahme sind hier Systemtelegramme (100 - 107) zu nennen, wo die Telegrammart mitberücksichtigt wird.
-
Text (Telegrammtyp): hier wählen Sie die Art (den Telegrammtyp) aus.
-
Quality Information
Dieser Eintrag ist optional, per Default wird als Quality 0 verschickt. Der Eintrag ist eine Zahl zwischen 0 und 255, welche Werte sinnvoll ist, hängt vom Telegrammformat ab (siehe Details zum IEC Treiber). Der Eintrag ist nur für die Richtung Ausgang (Befehlsrichtung) parametrierbar. Für die Richtung Eingang kann die Quality Information über Config-Einträge auf WinCC OA Userbits oder mittels Subindex auf DPEs abgebildet werden. Wie Sie die Quality Information verwenden können, und wie Sie diese Bits auf WinCC OA Userbits abbilden (mappen) können erfahren Sie im Kapitel Qualitätskennung.
Die Quality kann nur am DPE mit Subindex 0 parametriert werden! Qualities parametriert auf höheren Subindizes werden ignoriert.
-
Adresstyp
Mit dieser Checkbox können Sie den Wert der Übertragungsursache (=COT) auf ein DPE abbilden. Hierzu gehen Sie wie folgt vor: Parametrieren Sie eine IEC Peripherieadresse auf ein DPE (auf diesem DPE wird die Checkbox im Parametrierpanel nicht aktiviert). Auf einem zweiten DPE parametrieren Sie die gleiche Adresse und aktivieren zusätzlich die Checkbox für die Übertragung der COT. Diese Parametrierung für die Abbildung der Übertragungsursache gilt für eine Eingangsadresse genauso wie für eine Ausgangsadresse. Wird nun ein Wert in Empfangsrichtung an das Leitsystem geschickt, so ist auf dem einen DPE der spezifische Wert für diese Adresse ersichtlich und auf dem anderen DPE wird der Wert der COT abgebildet.
Beachten Sie, dass bei Parametrierung einer Ausgangsadresse mit COT, der Wert der COT zuerst durch Klick auf "Übernehmen" im Parametrierpanel gespeichert werden muss (Wert wird im Treiber gespeichert). Erst dann kann der Befehl am zweiten DPE an die Peripherie mit der spezifischen COT geschickt werden. Nach einem Neustart des Treibers muss der Wert erneut gesetzt werden, sonst wird der Defaultwert der Übertragungsursache verwendet! Der beste Weg in einem Script ist das gleichzeitige Setzen des COT DPE und des Wert DPE mit einem dpSet(), wo das Setzen des COT DPE als Erstes erfolgt. Das führt dazu, dass es nur eine Message vom Event-Manager zum Treiber gibt.
-
Common Address, Information Object Address
Systemtechnische Notation der Adresse (HB = High Byte, LB = Low Byte, MB = Medium Byte). Common Address ist die Adresse der ASDU (application service data unit, Dienstdateneinheit = Datenpaket). Information Object Address ist die Adresse des Informationsobjekts (siehe Details zum IEC Treiber).
Aus einer IEC-Adresse (nach Norm) können die Region und die Komponente für die WinCC OA IEC-Adresse wie folgt ermittelt werden: Die IEC-Adresse in WinCC OA hat das folgende Format: "Type. Common Address. Information Object Address" - Type ist der IEC-Telegrammtyp - Common Address (HB.LB (HB = High Byte, LB = Low Byte): das sind die Parameter für "common address of the ASDU" (application service data unit = data package) . - Information Object Address (=IOA) (HB = High Byte, LB = Low Byte, MB = Medium Byte)) Die Gemeinsame Adresse der ASDU ist per Default 2 Byte groß. Um aus der gemeinsamen Adresse der ASDU (=Region, Komponente) die Region (=High Byte) und die Komponente (Low Byte) zu bekommen gehen sie wie folgt vor: 1- Gemeinsame Adresse der ASDU muss in eine Hexadezimal-Zahl umgewandelt werden. 2- Die Komponente ist dann das unterste Byte (Low Byte) in dieser Hexadezimal-Zahl 3- Die Region ist dann das oberste Byte (high Byte) in dieser Hexadezimal-Zahl 4- Die Komponente und Region müssen in eine Dezimalzahl umgewandelt werden. Zum Beispiel: Gemeinsame Adresse der ASDU 270 --> als Hexadezimal-Zahl ist 10E --> HB = 1 und LB = 0E --> HB (Region) = 1 und LB (Komponente) = 14.
Die Common Address und Information Object Address können auch linear eingegeben werden.
Subindizes
-
Subindex wird weitgehend im IEC Treiber genutzt, um auf Daten in Telegrammen zuzugreifen. Die Details für jedes Telegramm sind auf der Seite Details zum IEC Treiber näher erläutert. Für private SSI Telegramme gilt das gleiche "Mapping" für die Telegramme (Art 135-141, 160) wie für den SSI Treiber, das heißt, die gleiche Verwendung des Subindex und die gleichen DP-Typen. Die Stellzeit beim Befehl 160 (= Einzelbefehl mit Ausgabezeit) wird in der Qualitätskennung angegeben. Im Gegensatz zum SSI-Treiber ist diese nicht ein Index in einer Tabelle, sondern muss direkt so angegeben werden, wie sie im Telegramm auftauchen soll.
-
Bits
Die Länge des Bitstrings. Muss nur bei den Telegrammtypen ("Text") "Bitstring von 32 bit" und "Bitstring von 32 bit mit Zeitmarke" angegeben werden. Bei einer Bitstring-Transformation und Subindex 40 wird der Wert des "Bits“ Feldes ignoriert und immer alle 32 Bits abgebildet.
-
Richtung
Über die Radiobox Übertragungsrichtung wird eingestellt, ob Werte eines Datenpunktelements in Befehlsrichtung (Ausgang) oder Melderichtung (Eingang) verschickt werden. In Befehlsrichtung wird zusätzlich noch zwischen Gruppen- und Einzelanmeldung unterschieden. Bei Gruppenanmeldung werden immer die Werte aller Elemente (Subindizes) einer Peripherieadresse (also gleiche Region, Komponente, Baugruppe, Wert und Subadresse) verschickt, bei Einzelanmeldung hingegen für das nur das betreffende Datenpunktelement (Subindex). Abgesehen von einigen Spezialfällen für private Typen, muss Gruppenanmeldung ausgewählt werden, um korrekte Telegramme zu senden.
-
Adresse aktiv
Die Option Adresse aktiv ist angeklickt. Die Adresse wird vom Treiber verwendet (sieheReferenztabellen).Eine inaktive Adresse 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 Fernwirkanlage geschickt bzw. von der Fernwirkanlage empfangen werden.
Besonderheiten
Die Systemtelegramme 100-107 können auf normale Datenpunktelemente mit Peripherieadresse abgebildet (gemappt) werden. In diesem Fall wird die Information Object Address (HB und MB) auf 0 und die Information Object Address (LB) auf die Typnummer (100-107) gesetzt. Im Telegramm ist das LB der Information Object Address zwar auch 0, aber um verschiedene Systemtelegramme mit gleicher Common Address unterscheiden zu können, wird intern im Treiber das LB "gefälscht" und auf den Telegrammtyp gesetzt. Somit muss für den Eingang das LB der IOA auf die Typnummer in der Peripherieadresse gesetzt werden. Für den Ausgang kann entweder 0 oder die Typnummer spezifiziert werden.
Beispiel
100.Common Address.0.0.100
Common Address geht wie üblich von 0-255.
Für folgende Telegrammarten funktioniert die Zuordnung von Eingangsadressen nur, wenn die Information Object Adress auf 0.0.<Telegrammtyp> gesetzt wird:
C_IC_NA_1, C_CI_NA_1, C_CS_NA_1, C_TS_NA_1, C_RP_NA_1, C_CD_NA_1, C_TS_TA_1