Ausführliche Beschreibung
2.14 Programmiertipps mit STEP 7
2.14.5
Strings
Allgemeines
Der Datentyp STRING wird durch bestimmte Dienste des Grundprogramms benötigt. Aus
diesem Grund sollen ein paar zusätzliche Informationen zum Aufbau der Strings und dem
generellen Umgang bei Parameterzuweisungen beschrieben werden.
Aufbau des STRING
Ein Datum mit dem Datentyp STRING ist generell in einem Datenbaustein abgelegt
(definiert). Bei der Definition gibt es 2 Varianten:
1. Einer Variablen wird nur der Datentyp STRING zugewiesen. Hierbei generiert der STEP
2. Einer Variablen wird der Datentyp STRING mit einer Längenangabe in eckigen
Für eine Variable vom Datentyp STRING werden immer 2 Byte mehr abgelegt, als die
Definition ausweist. Hierbei ist in dem 1. Byte die Anzahl der maximal möglichen Zeichen
durch den STEP 7 -Compiler abgelegt. Im 2. Byte ist die Anzahl der genutzten Zeichen
enthalten. Normalerweise wird hier die Nutzlänge des zugewiesenen STRINGs durch den
STEP 7-Compiler abgelegt. Ab dem 3. Byte sind die Zeichen (1 Byte pro Zeichen) abgelegt.
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.
2.14.6
Ermittlung von Offsetadressen auf Datenbaustein-Strukturen
Allgemeines
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.
FUNCTION FC 99: VOID
VAR_INPUT
Addr : POINTER ;
2-252
7-Compiler eine Länge von 254 Zeichen.
Klammern zugewiesen (z.B. [32]). Hierbei generiert der STEP 7-Compiler eine String-
Länge entsprechend der Vorgabe.
Kommentar
//Zeigt auf Variable
Grundfunktionen: PLC-Grundprogramm solution line (P3 sl)
Funktionshandbuch, 11/2006, 6FC5397-0BP10-2AA0