Bausteintypen und Datenformate

Der Adressbereich der SPS besteht aus verschiedenen Bausteintypen wie etwa Datenbaustein und Eingang. Der Treiber unterstützt die Adressierung aller Bausteintypen. Im einzelnen sind dies:

  • Datenbaustein

  • Erweiterter Datenbaustein

  • Eingänge

  • Ausgänge

  • Merker

  • Peripherie

  • Erweiterte Peripherie

  • Zähler

  • Timer

  • Absolute Adressen

  • Systemadressen

Dabei ist zu beachten, dass es nur möglich ist, auf Datenbausteine, erweiterte Datenbausteine und absolute Adressen zu schreiben. Auf alle anderen Bausteintypen kann nur lesend zugegriffen werden.

Das Protokoll RK512 überträgt keine Information über den Datentyp. Um Daten zwischen dem auf der SPS verwendeten Datenformat und dem WinCC OA Format umrechnen zu können, muss eine Konvertierung vom Benutzer angegeben werden.

Tabelle: Vom Treiber unterstützte Datenformate.

Datenformat Bedeutung
Bitstrings Einzelne Bytes bzw. Wörter werden als Array von 8 bzw. 16 Bits interpretiert.
Byte 1 Byte Integer mit Vorzeichen
Wort 2 Byte Integer mit Vorzeichen
Doppelwort 4 Byte Integer mit Vorzeichen
Unsigned Byte 1 Byte Integer ohne Vorzeichen
Unsigned Wort 2 Byte Integer ohne Vorzeichen
Unsigned Doppelwort 4 Byte Integer ohne Vorzeichen
Float 4 Byte Fließkommazahl
BCD 16

2 Byte binär kodierte Dezimalzahl.

Der Wertebereich ist -999...999.

BCD 32

4 Byte binär kodierte Dezimalzahl.

Der Wertebereich ist -9999999...9999999

Siemens-KC Ein von Siemens verwendetes Zählerformat, das in etwa BCD 16 entspricht. Der Wertebereich ist 0...999
Siemens-KT Ein von Siemens verwendetes Timerformat, das in etwa BCD 16 entspricht, jedoch zusätzlich noch einen Exponenten enthält.

Datenbausteine, erweiterte Datenbausteine, Zähler, Timer, System- und absolute Adressen können nur Wortweise angesprochen werden. Nur für Datenbausteine und erweiterte Datenbausteine werden dennoch die Umrechnungen Byte und Unsigned Byte unterstützt, wobei ein Wort als ein Array von zwei Byte betrachtet wird. Das niederwertige Byte hat dann den Subindex 0 und das höherwertige Byte den Subindex 1. Für Zähler, Timer, System- und absoluten Adressen werden die Umrechnungen Byte und Unsigned Byte nicht unterstützt.

Die Adressierung der SPS erlaubt es nur, Worte bzw. Bytes zu lesen bzw. zu schreiben, nicht dagegen einzelne Bits. Daher faßt der Treiber ein Byte bzw. ein Wort als ein Array von 8 bzw. 16 Bits auf, wobei das niederwertigste Bit den Subindex 0 hat, das folgende den Subindex 1 usw. Es ist nicht möglich, einzelne Bits zu lesen bzw. zu schreiben, sondern es müssen immer alle zu einer Peripherieadresse gehörigen Datenpunkte gelesen bzw. geschrieben werden. Die Organisation in Bytes wird nur auf Bausteintypen verwendet, die auch byteweise angesprochen werden können.