Navigation:  SPS > Referenz SPS > Datentypen >

POINTER

Vorherige SeiteKapitelübersichtNächste Seite

 

1.) Pointer sind 4 Bytes groß und werden verwendet, um auf Bits im E-, A-, M- oder D-Bereich zu zeigen. In ihm werden keine Prozessdaten gespeichert, sondern eine Adresse innerhalb der SPS. Das interne Format ist schwer zu lesen, aber wenn Sie die P# - Notation verwenden, lässt sich unmittelbar erkennen, auf welche Speicherstelle der Pointer zeigt:


P#5.7

zeigt auf das Bit 5.7 irgendeines Datenbereiches


P#E 4.5

zeigt auf das Bit E 4.5


P#A 3.1

zeigt auf das Bit A 3.1


P#M 12.0

zeigt auf das Bit M 12.0


P#D 3.2

diese Notation ist nicht erlaubt, auf Datenbits muss man anders zugreifen.

 

Ein Verwendungsbeispiel:

 L P#6.8

 T MD 10

 ....

 ....

 U E[MD10]

 

 

2.) Der Datentyp POINTER im Deklarationsteil von FB/FC ist 6 Bytes groß, da hierbei auch evtl. noch eine DB-Nr gespeichert wird.

 

Intern wird im HSB eines Pointers zunächst gespeichert, auf welchen Datenbereich er zeigt:

E

81h

// Eingangsbereich

A

82h

// Ausgangsbereich

M

83h

// Merkerbereich

D

84h

// Global-DB

ID

85h

// Instanz-DB

L

86h

// Lokaldaten

FX

87h

// Parameterbereich einer Funktion (vorherige Lokaldaten)

 

In den nächsten 24 Bits kommt dann die Byte-Adresse, aber um 3 - Bits nach links verschoben. In den 3 Bits, die dadurch auf der rechten Seite frei werden, wird schließlich die Bit-Nr. gespeichert.

 

Zusammengesezte Datentypen werden als DB-Zeiger an Funktionen übergeben.
 
CALL "RotationControl" (struct_motor_data := "db_motor_data".struct_motor_4)
 
Der Zugriff auf die Datenelemente innerhalb der Funktion erfolgt so.
 
// DB-Register einstellen.
 L P##struct_motor_data
 LAR1
 L W[AR1, P#0.0]
 T #i_db_number
 AUF DB [#i_db_number]
// Bereichsinternen Zeiger auf die zu verarbeitende Datenstruktur in das
// Adressregister 1 laden.
 L D[AR1, P#2.0]
 LAR1
 
Nun kann auf die Elemente der Datenstruktur zugegriffen werden.
 
z.B.
 
 L W[AR1, P#2.0]
 

So können große Datenmengen in Datenbausteinen zusammengefasst werden. Dies erleichtert die
Konfiguration von Kommunikationsbausteinen, und die weitere Verarbeitung der Daten.
z.B. OPC-Server, Visualisierungen, Netzwerkübertragungen, Datenbanken u.s.w.
 

 

Siehe auch:

Datentypen

 

STEP®7 ist eingetragenes Warenzeichen der Siemens AG.