Definition der Peripherieadresse

In diesem Kapitel wird die Definition von symbolischen Adressen (nur für S7-300/400 Geräte!) und von S7-Protokollspezifischen Adressen beschrieben. Klicken Sie auf den Adressen-Config eines Datenpunktelements, selektieren Sie den Treiber-Typ NATIVE SIMATIC S7 aus der Combobox und klicken Sie auf Parametrieren... In dem geöffneten Panel kann die Peripherieadresse des S7-Treibers mit Hilfe der verschiedenen Komponenten konfiguriert werden.

Abbildung: Definition einer S7-Peripherieadresse

Referenz

Zeigt die definierte Peripherieadresse an. Die Adresse kann entweder manuell eingetippt oder über die nachfolgend beschriebenen Komponenten definiert werden. Der Referenzstring besteht aus dem Verbindungsnamen der für ein bestimmtes Gerät definiert wurde und der über die Combobox S7 Adresstyp definierten Adresse.

Syntax - S7 Generell

<Connection name>.<S7 specific address>

Syntax - S7 Symbolische Adresse

<Connection name>.$<Symbolic address>

Syntax - S7 SINUMERIK

<Connection name>./<SINUMERIK BTSS (BedienTerminalSchnittStelle) address>
z.B. Sinu1./Nck/State/nckAliveAndWell

Der Wert im Referenz-Feld wird automatisch überprüft.

Treibernummer

Muss mit der Nummer des S7-Treibers, der dem Gerät zugeordnet ist, übereinstimmen.

Verbindungsname

Selektieren Sie die parametrierte Verbindung aus der Combobox. Die Kommunikation erfolgt über diesen Verbindungsnamen. Die Peripheriegeräte zu denen der S7-Treiber eine Verbindung aufbaut, werden über das S7-Parametrierpanel erstellt (siehe Parametrierung des S7-Treibers). Die weitere Konfiguration der Adresse ist abhängig vom Modus, der für die ausgewählte Verbindung eingestellt wurde.

S7 Adresstyp

Definieren Sie hier die Adresse, die dem Datenpunktelement beim Peripheriegerät zugewiesen wird. Hierbei stehen zwei verschiedene Möglichkeiten zur Verfügung:

  • S7-Protokollspezifische Adressen: Wählen Sie den gewünschten Adresstyp und definieren Sie mit Hilfe der eingeblendeten Spinbuttons die x-, y- oder z-Komponenten der Adresse. Der Referenzstring setzt sich dann aus dem Verbindungsnamen und der hier parametrierten Adresse zusammen.

  • Symbolische Adressen (nur bei S7-300 und S7-400 Geräten): Wählen Sie "Symbolische Adresse" als Adresstyp, öffnen Sie per Klick auf die eingeblendete "..."-Schaltfläche den Symbol-Editor und wählen Sie die symbolische Bezeichnung (siehe auch Symbolische Adressen für mehr Informationen).

Trans.Art

Mit dieser Combobox wird der Transformationstyp definiert. Der Transformationstyp ist eine Interpretation der Daten, die auf dem Peripheriegerät gelesen wurden. Die Transformationsart muss mit dem durch die Adresse festgelegten S7 Adresstyp übereinstimmen (werden z.B. 4 Bytes von der SPS gelesen, muss die Art der Transformation float oder int32 sein). Bei Definition der Adresse über die Combobox und Spin-Buttons wird automatisch die richtige Art der Transformation selektiert.

Durch Auswahl vom Typ default bestimmt der Treiber die Transformationsart abhängig vom Wert im Referenz-Feld. Für symbolische Adressen wird das Mapping im entsprechenden Datenpunkt vom Typ _S7_Symbolics automatisch überprüft.

Für das Lesen/Schreiben eines Strings können entweder symbolische Adressen oder Byte-Adressen aus der Tabelle (siehe mögliche S7-Datentypen) verwendet werden. Beim Schreiben eines Strings wird nur die Anzahl der Bytes entsprechend der String-Länge inklusive des Null-Bytes am Ende, geschrieben. Wenn die Transformationsart "string" beim Pollen eines Eingangs verwendet wird, kann die Länge des Strings als Anzahl von Bytes eingestellt werden, z.B. DB100.DBB10:100 pollt 100 Bytes ab der Adresse DB100.DBB10. Beachten Sie, dass die Eingabe nur für die Transformationsart "string" möglich ist.

Anmerkung: Im S7 String werden die ersten beiden Bytes für die Längeninformation verwendet. Für die tatsächliche String-Länge müssen diese zwei Bytes daher von der eingestellten Byte-Anzahl (beim Beispiel oben 100) abgezogen werden. Damit die beiden Bytes mit den Längeninformation übersprungen werden, müssen Sie bei der Parametrierung einer String-Adresse folgendermaßen vorgehen: In der PLC ist beispielsweise ein Byte-Array mit der Startadresse DB100.DBB10 angelegt. Im Referenz-Feld muss als Adresse daher DB100.DBB12 parametriert werden.
Anmerkung: Bei Verwendung des Config-Eintrags useStringLengthInfo = "Y" kann die tatsächliche Adresse definiert werden (in diesem Beispiel DB100.DBB10), da die ersten beiden Bytes automatisch weggeschnitten werden.

Wenn Sie auf OK oder Übernehmen klicken, wird überprüft, ob die Transformationsart mit dem durch das Referenz-Feld festgelegten S7 Adresstyp übereinstimmt.

Die möglichen S7-Datentypen und die Art der Transformation in WinCC OA finden Sie in der Tabelle am Ende dieser Seite.

Anmerkung:
  • Beim Schreiben eines Werts vom Typ TIME muss der Referenzstring auf das erste Byte des Zielbausteins zeigen!
  • Wenn symbolische Adressen verwendet werden, stellen Sie sicher, dass die Art der Transformation richtig und nicht auf "default" gesetzt ist!
  • Für S7 1200 Modelle muss die Transformationsart "DTL" (date time long) anstelle der Transformationsart "dateTime" verwendet werden!

Low level-Vergleich

Diese Option kann nur selektiert werden, wenn die Richtung auf Eingang oder Ein/Aus gesetzt wurde. Wenn diese Option selektiert ist, sendet der Treiber nur dann Daten, wenn sich der Wert der SPS geändert hat. Der Vergleich basiert auf Rohdaten ohne Konvertierung. In einem Low-Level-Vergleich werden die einzelnen Bits von Byte Blöcken mit alten Werten verglichen und wenn sich ein Bit ändert, wird der Wert in WinCC OA aktualisiert.

Richtung

Definiert, ob mit diesem Datenpunktelement Werte gesendet (Ausgang) oder empfangen (Eingang) werden können. Wird Ein/Aus gewählt, können Werte sowohl gesendet als auch empfangen werden.

Anmerkung: Wenn die Werte eines Datenpunktelements in beide Richtungen gesendet werden (Ein/Aus), dann darf dieses Datenpunktelement dem Knoten Struct (Struktur von Werten) nicht direkt untergeordnet sein.

Empfangsmodus

Der Empfangsmodus für den Eingang kann Spontan TSPP, Polling,Einzelabfrage oder Polling bei Verwendung sein. Spontan TSPP kann nur verwendet werden, wenn S7 -TSPP für die entsprechende Verbindung im S7-Parametrierpanel gewählt wurde.

Pollgruppe

Über die Schaltfläche "Pollgruppe" können Pollgruppen erstellt und parametriert werden. Bereits vorhandene Pollgruppen können über diese Schaltfläche editiert, aktiviert und deaktiviert werden. Verwenden Sie die Combobox, um eine Pollgruppe auszuwählen.

Adresse aktiv

Wenn die Adresse aktiv-Checkbox selektiert wird, wird die Adresse im Treiber angelegt (siehe Referenztabellen). Für eine inaktive Adresse können die Attribute gesetzt und abgefragt werden, für den Treiber existiert diese Adresse jedoch nicht. Das bedeutet, dass mit diesem Datenpunktelement keine Werte an die SPS gesendet oder von der SPS empfangen werden können

Mögliche WinCC OA DPE-Typen

Die folgenden WinCC OA DPE-Typen können bei der Definition der Peripherieadressen für den S7-Treiber verwendet werden:

  • char, uint, int, float, bool, bit32, string, time, blob, S5Time, TimeOfDay

  • dyn_char, dyn_uint, dyn_int, dyn_float, dyn_bool, dyn_bit32

Mögliche S7 Datentypen

Für S7-Geräte sind die folgenden Datentypen mit folgenden Namen für die Adressen verfügbar:

S7-200 / S7-300 / S7-400 / S7-1200 Adresse (entspricht der Adresse im PARA-Panel) Typ der Umrechnung WinCC OA Transformationstyp
My.z read / write bits boolean
DBx.DBXy.z read / write bits boolean
Ey.z / Iy.z read input bits boolean
Ay.z / Qy.z read / write output bits boolean
MBy read / write bytes byte
DBx.DBBy read / write bytes byte
EBy / IBy read input bytes byte
ABy / QBy read / write output bytes byte
MWy read / write words int 16, uint16, S5Time
DBx.DBWy read / write words int 16, uint16, S5Time
EWy / IWy read input words int 16, uint16, S5Time
AWy / QWy read / write output words int 16, uint16, S5Time
MDy read / write double words int 32, uint32, Int32WithQuality, UInt32WithQuality, TimeOfDay
DBx.DBDy read / write double words int 32, uint32, Int32WithQuality, UInt32WithQuality,TimeOfDay
EDy / IDy read input double words int 32, uint32, Int32WithQuality, UInt32WithQuality,TimeOfDay
ADy / QDy read / write output double words int 32, uint32, Int32WithQuality, UInt32WithQuality,TimeOfDay
MDyF read / write floating point float, FloatWithQuality
DBx.DBDyF read / write floating point float, FloatWithQuality
Tn read / write timers uint 16, S5Time
Zn read / write counters uint 16
MBx and DBx.DBy transformation of date and time.

byte, dateTime,

Anmerkung: Bei S7-1200 muss DTL verwendet werden
Bx.DBW, EW, MW, AW bitString
S7-1500 Adresse (entspricht der Adresse im PARA-Panel) Typ der Umrechnung WinCC OA Transformationstyp
DBx.DBBy read / write bytes byte
DBx.DBWy read / write words int 16, uint16, S5Time
DBx.DBDy read / write double words int 32, uint32, Int32WithQuality, UInt32WithQuality, TimeOfDay
DBx.DBDyF read / write floating point float, FloatWithQuality
DBx.DBy transformation of date and time. byte, dateTime,
VORSICHT:

Die folgenden dynamischen Typen können für Input TSPP-Daten verwendet werden: dyn char, dyn unsigned, dyn int, dyn float, dyn bool

Wenn ein TSPP-Block empfangen wurde und ein dyn-DPE mit einer Adresse am Anfang oder in diesem Block parametriert wurde, werden alle Daten beginnend von der Adresse auf ein dyn-DPE abgebildet. Für die dyn bool-Adresse muss die Adresse mit einer Bit-Nummer 0 definiert werden.

Anmerkung: Beim Schreiben eines Werts vom Typ TIME muss der Referenzstring auf das erste Byte des Zielbausteins zeigen!
Anmerkung: Für die Buchstaben E bzw. A (Eingang bzw. Ausgang) in den Adressen-Variablen können auch I bzw. Q verwendet werden.

Variablenspeicher bei S7-LOGO

Bei S7-LOGO-Geräten werden (analoge) Eingänge, Ausgänge und Merker je nach Gerätetyp (0BA7 und 0BA8) auf Adressen des Variablenspeichers (VM) gemappt. Bei der WinCC OA Kommunikation wird der Inhalt des Variablenspeichers wird auf den Datenbaustein DB1 abgebildet.

  • Eingänge (I), Ausgänge (Q) und Merker (M) können entweder direkt oder über die VM-Adresse des Datenbausteins DB1 angesprochen werden. Soll beispielsweise auf den Digitaleingang I5 eines LOGO!0BA7-Geräts zugegriffen werden, kann daher im PARA entweder die Adresse I0.4 oder DB1.DBX923.4 definiert werden.

  • Analoge Eingänge (AI), Ausgänge (AQ) und Merker (AM) können nicht direkt angesprochen werden. In diesem Fall muss die VM-Adresse verwendet werden. Soll beispielsweise auf Analogmerker AM1 eines LOGO!0BA7-Geräts zugegriffen werden, muss im PARA die Adresse DB1.DBW952 angegeben werden.

Die folgenden Mappingtabellen zeigen die entsprechenden VM-Zuordnungen.

Tabelle 1. LOGO!0BA8 Mappingtabelle
Block type from VM address to VM address Range WinCC OA
I 1024 1031 8 Bytes I1 = I0.0 or DB1.DBX1024.0
AI 1032 1062 32 Bytes AI1 = DB1.DBW1032
Q 1064 1071 8 Bytes Q1 = Q0.0 or DB1.DBX1064.0
AQ 1072 1102 32 Bytes AQ1 = DB1.DBW1072
M 1104 1117 14 Bytes M1 = M0.0 or DB1.DBX1024.0
AM 1118 1244 128 Bytes AM1 = DB1.DBW1118
NI 1246 1261 16 Bytes NI1 = DB1.DBX1246
NAI 1262 1388 128 Bytes NAI1 = DB1.DBW1262
NQ 1390 1405 16 Bytes NQ1 = DB1.DBX1390
NAQ 1406 1468 64 Bytes NAQ1 = DB1.DBW1406
Tabelle 2. LOGO!0BA7 Mappingtabelle
Block type from VM address to VM address Range WinCC OA
I V923.0 V925.7 3 Bytes I1 = I0.0 or DB1.DBX923.0
AI VW926 VW940 16 Bytes AI1 = DB1.DBW926
Q V942.0 V943.7 2 Bytes Q1 = Q0.0 or DB1.DBX942.0
AQ VW944 VW946 4 Bytes AQ1 = DB1.DBW944
M V948.0 V951.2 4 Bytes M1 =M0.0 or DB1.DBX948.0
AM VW952 VW982 32 Bytes AM1 = DB1.DBW952