![]() |
|
Die Bedeutung der Datenbank-Symbole entnehmen Sie bitte den Hinweisen auf der unteren Zeile des Fensters.
Tragen Sie in NAME[1] den Variablenbezeichner ein, der hier als Symbol für die anzugebende Hardwareadresse gilt.
Im Feld USAGE.[2] erstrecktt sich die Auswahl auf Constant, Address Input, Address Output, Address Memory (E.., A.., M.. bzw. %I.., %O.., %M..), Local Static und Local Temporary.
In das Feld ADDRESS geben Sie nur noch die Ziffernfolge für die Adresse ein! Falls erforderlich, die Byte-Bit-Trennung nicht vergessen. Nur in einem Projekt für STEP 7 werden auch die Präfixe wie z.B. E,A,MB,PEW akzeptiert.
Im Feld DATATYPE[3] wählen Sie den zutreffenden Typ. Übrigens muß dieser mit dem des Formalparameters übereinstimmen, wenn der Aktualparameter mit seiner Adresse bei der Instanzierung zugewiesen wird.
Bei Klick auf erfolgt die Übernahme der bei "NAME" eingetragenen Zeichenfolge einschließlich Datentyp, Adresse und "USAGE".
Zum Schluß nicht vergessen auf "OK" zu klicken!!
![]() |
|
Wichtiger Hinweis bei Änderungen
Das Änderungsprocedere ist nur in folgender Form möglich, weil Sie die zu ändernde Variable - einschließlich ihrer Eigenschaften - in dem Memberdialogfeld suchen müssen, wo diese Variable deklariert wurde.
Also NICHT unter NAME in der Variablentabelle suchen und ändern!! Sie erfahren aber, wenn die Variable markiert ist, mit rechtem Mausklick, wo sie deklariert ist.
Suchen Sie also im Memberdialogfeld und markieren die Variable. Grün unterlegt finden Sie die im Memberdialogfeld angeklickte Variable im Access Field, also der Variablentabelle. Nun können Sie alles ändern, auch den Namen und danach unbedingt auf klicken. Sie können den Erfolg oder Mißerfolg links im Memberdialogfeld sehen.
[1] Als Zeichen sind nur "A ... Z", "a ... z", "0 ... 9" und "_" erlaubt. Die Anzahl ist mit 64 begrenzt und kann sprachabhängig kleiner sein. Eine Wort-Trennung (Leerzeichen) ist nicht zugelassen. Das erste Zeichen muß ein Buchstabe oder höchstens ein Unterstrich sein.
Da "NAME" ein Identifikator ist, sind gleiche NAME auch gleich geschrieben, also mit gleicher Zeichenfolge. Daher sind Groß- und Kleinbuchstaben zu beachten!
[2] Variable Usage - Verwendung der Variablen bedeutet im einzelnen:
NotSpecified
Die Variable hat keine Festlegung.
Fehler beim Compilieren sind zu erwarten.Constant
Diese Verwendung kann sowohl Formal- als auch Aktualparameter betreffen.
Die (Symbol-)Variable ist eine Konstante, also kein Speicherplatz im Eingangs-, Ausgangs- oder Merkerbereich. Der Variablen werden nur feste Werte, gemeint sind Zahlen, zugewiesen.Input
Die Variable ist ein Formalparameter und wird ausschließlich als Eingang des Funktionsbausteins verwendet. Sie darf also nicht überschrieben werden, z.B. durch die Funktion Copy.Output
Die Variable ist ein Formalparameter und wird ausschließlich als Ausgang des Funktionsbausteines verwendet. Eine Verwendung als Eingang erfolgt nicht. Output-Variable erhalten im Rahmen der funktionellen Verknüpfung Werte eingetragen. Z.B. bei den Funktionen Copy, Arithmetik, Comparison (true / false) (Vergleich).Input/Output
Die damit gekennzeichneten Variablen sind Formalparameter und werden auch "Durchgangsvariable" genannt. Z.B. erfolgt die Übertragung einer Größe auf eine Variable (Copy-Funktion) zunächst als Ausgabe (Output) - diese Größe wird auf einen Ausgabespeicherplatz abgelegt -, danach aber als Input bei einem Vergleicher als Istwert verwendet.Local Static
1. Variable sind Formalparameter, die den Funktionsbaustein, den Typ(!), nicht von außen erreichen und nicht nach außen verlassen. Falls z.B. der soeben beschriebene Vergleicher nur innerhalb des Bausteins funktioniert. Speicherwerte bleiben dem Funktionsbaustein ständig erhalten.
2. Variable sind Aktualparameter, wenn sie in einem Programm oder einer Ressource deklariert werden. Z.B. Koppelvariable können so deklariert werden.Local Temporary
Zunächst gilt die Eigenschaft "Local", aber mit dem Aufruf eines anderen Funktionsbausteins oder Programms durch das Betriebssystem werden alle hier angelegten Speicherbereiche freigegeben. Geeignet für Vergleicherergebnisse.Address Input, Address Output, Address Memory
Eigenschaften gelten für Instanzen!!
Aber auch in Typen-PRAP können feste Adressen vorgegeben werden, wenn die Anzahl der formalen Variablen für eine Ziel-SPS beschränkt ist. Unikate erhalten ausschließlich feste Adressen.
Es handelt sich um Aktualparameter: Fest vorgegebene Hardware-Adressen (direkte Adressen) als Input oder Output der Steuereinrichtung. Liegt eine Adresse im Merkerbereich, muß sie als Address Memory hinterlegt werden.
[3] Die Eigenschaft "Datentyp" einer Variablen bestimmt die Codierung der zur Verfügung stehenden Bit, zur Darstellung bzw. Speicherung der Variablen.
Der Typ BOOL nutzt nur ein Bit, wobei die Adressierung von Hersteller zu Hersteller der SPS recht unterschiedlich ist.In SPAS wird nach dem Byte.Bit-Prinzip adressiert. Die Kennung E, A, M oder I, O, M am einfachsten nicht davorschreiben, da sie automatisch ergänzt wird.
Byte- und Word-Typen (BYTE, WORD, DWORD, LWORD)ebenso wie Unsigned-Typen (USINT, UINT, UDINT, ULINT) schöpfen den Wertebereich der 8, 16, 32 oder 64 Bit voll aus. Unsigned-Typen sind bei konventionellen SPS wie S5 oder S7 derzeit NICHT verwendbar!
Integer-Typen (SINT, INT, DINT, LINT)nutzen das höchste Bit (niedrigstes Bit ist Bit 0), also Bit 7, 15, 31 oder 63 als Vorzeichen-Kennung, wodurch sich der Wertebereich etwa halbiert.
TIME ist ein Datentyp identisch mit DINT, jedoch vordefiniert mit der Einheit Millisekunde. Damit sind folglich 2,1474 * (10 hoch 9)ms als Höchstwert erreichbar, das sind 2,1474*(10 hoch 6)s oder 35791,33min oder 596,522h.
Real-Typen (REAL), auch Gleitkomma-Zahlen genannt, haben 32 Bit gemäß der Internationalen Norm IEEE 754 (aus dem Jahr 1985), wobei das Bit 31 als Vorzeichen genutzt wird, die Bit 30 bis 23 dienen zur Darstellung des Exponenten e und die Bit 22 bis 0 der Mantisse. Damit sind die Werte
-3.402823E+38 ... -1.175495E-38,0,+1.175495E-38 ... +3.402823E+38
darstellbar.
Neben diesen Typen gibt es noch Funktions-Baustein-Typen:
TON, TIME - Zeitbausteine /TIMER mit Zeitwert
CTUD - Zählbausteine mit Zähler-Werten i.a. vom Typ INT
R_TRIG, F_TRIG und RF_TRIG - Flanken-Erkennung
und andere. Hierzu gehören PRAP-Typen, die mit ihrer IDENTIFICATION im Projekt eingebunden sind.
Die BCD-Typen (BCD) sind in der IEC 1131-3 nicht vorgesehen, 16 und 32 Bit groß und stellen nur Ziffern im Bereich 0 bis 9 auf Tetraten (4 Bit) dar. Sie werden wie Word-Typen behandelt und sollten nur für Ausgaben z.B. an Ziffernanzeigen benutzt werden, wobei INT_TO_BCD bzw. DINT_TO_BCD zur Verfügung gestellt werden.
Weiterhin können abgeleitete, strukurierte Datentypen eingesetzt werden: