Herunterladen Inhalt Inhalt Diese Seite drucken

Ermittlung Von Offsetadressen Auf Datenbaustein-Strukturen - Siemens SINUMERIK 840D sl Funktionshandbuch

Vorschau ausblenden Andere Handbücher für SINUMERIK 840D sl:
Inhaltsverzeichnis

Werbung

P3: PLC-Grundprogramm für SINUMERIK 840D sl
14.19 Hinweise zur Programmierung in STEP 7
Normalerweise wird hier die Nutzlänge des zugewiesenen Strings durch den STEP 7-Compiler
abgelegt. Ab dem 3. Byte sind die Zeichen abgelegt (1 Byte pro Zeichen).
Eine Zuweisung von STRING-Parametern an Bausteine des Grundprogramms erfolgt generell
über den Datentyp POINTER bzw. ANY. Die Zuweisung soll generell über symbolische
Programmierung erfolgen. Hierbei ist der Datenbaustein, in dem sich der zu parametrierende
String befindet, in die Symbolliste aufzunehmen. Anschließend ist die Zuweisung an den
Grundprogramm-Baustein mit symbolischen Namen des Datenbausteins, anschließenden
Punkt und symbolischen Namen der STRING-Variable durchzuführen.
14.19.5

Ermittlung von Offsetadressen auf Datenbaustein-Strukturen

Funktion
Eine weitere häufig vorkommende Aufgabe ist die symbolische Ermittlung einer Offsetadresse
innerhalb eines strukturierten DBs. In diesem DB liegt z. B. an beliebiger Stelle ein ARRAY
oder eine STRUKTUR. Man möchte, nachdem das Adressregister symbolisch mit der
Anfangsadresse geladen wurde, über ein Adressregister auf einzelne Elemente des ARRAY
oder der STRUKTUR zugreifen. Ein Weg wie man das Adressregister symbolisch laden kann,
führt über einen FC, der als Eingangsparameter einen Pointer hat. Diesem Eingangsparameter
des FC wird nun im Programm symbolisch die Adresse des ARRAY oder der STRUKTUR
zugewiesen. Der Programmcode im FC ermittelt nun die Offsetadresse aus dem
Eingangsparameter und übergibt die Offsetadresse im Adressregister (AR1) an die rufende
Funktion. Somit ist auch bei indirekten Zugriffen eine Symbolische Adressierung möglich.
Beispiel
FUNCTION FC99: VOID
VAR_INPUT
END_VAR
BEGIN
NETWORK
TITLE =
L
LAR1 ;
L
LAR1 ;
END_FUNCTION
1146
Addr : POINTER ;
P##Addr;
D [AR1,P#2.0];
//Zeigt auf Variable
//Pointer holen von Addr
//Offsetteil des Pointers der Variable
Funktionshandbuch, 05/2017, A5E40870716
Grundfunktionen

Werbung

Inhaltsverzeichnis
loading

Diese Anleitung auch für:

Sinumerik 828dSinumerik 840de sl

Inhaltsverzeichnis