Mit dem Übergang von “Classic” Step 7 zu TIA Portal und der Einführung von Optimierten Datenblöcken hat sich die Syntax für den Zugriff auf Teile der Variablen geändert.
Da optimierte DBs automatisch zuweisen, wo die Variable durch ihren Typ gespeichert wird (um die Speichernutzung zu optimieren), sind die Mittel zum Zugriff auf Teile der Variable mit direkter Adressierung nicht mehr verfügbar.
With the transition from „Classic“ Step 7 to TIA Portal and introduction of Optimized Data Blocks the syntax for accessing parts of variable has changed.
Since Optimised DBs automatically assign where variable is stored by their type (to optimize the memory usage) the means of accessing parts of variable with direct addressing are no longer available.
TIP! Sie können die DB-Optimierung für die Blöcke Ihrer Wahl deaktivieren. Dies ist hilfreich, wenn Sie aufgrund der Struktur Ihres Codes eine direkte Adressierung (aber kein Slicing) durchführen müssen.
Contents
1. Erforderliche TIA Portal-Version.
- STEP 7 (TIA Portal) V11+SP1+Upd 2 (or higher) for S7-1200 (firmware V2.0 and higher).
- STEP 7 (TIA Portal) V12 (or higher) for S7-1500.
2. Syntax des variablen Slicings

In Schritt 7 classic, um auf das 6. Bit der Variablen Tag_2 (Typ: Word, Adresse: DB4.DBW2) zuzugreifen, würden wir den Ausdruck verwenden: DB4.DBX2.5
Derzeit würden wir im TIA Portal die folgende Syntax verwenden: “Slicing”.Tag_2.%X5
Bitte beachten Sie, dass wir die Bytezahl weder im Ausdruck noch in der DB haben (erinnern Sie sich – nur in optimierten Blöcken) – stattdessen verwenden wir den Tag-Namen.
Symbolischer Bit-, Byte- und Wortzugriff in einer Variablen (Tag):

3. Beispiele für variables Slice
Hier finden Sie Beispiele, die sich auf in DB4 definierte Tags (“Slicing”) aus dem Bild in Punkt 2 oben beziehen.
In Byte:
- Zugriffs auf Bit in einem Byte:

In Word:
- Zugriff auf Bit in einem Word
- Zugriffs auf Byte in einem Word

Im Doppelwort:
- Zugriff auf Bit in einem DWord
- Zugriffs auf Byte in einem DWord
- Zugriffs auf Word in einem DWord

In Integer:
- Zugriff auf Bit in einem Int
- Zugriffs auf Byte in einem Int

In Lange Integer
- Zugriff auf Bit in einem LInt
- Zugriffs auf Byte in einem LInt
- Zugriffs auf Word in einem LInt

Hat Ihnen dieser Artikel gefallen?
Merken Sie daran, sich für den Newsletter anzumelden, um über neue Einträge informiert zu werden