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.
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.
- 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.
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, |
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.
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.
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 |
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 |