Deklaration der Variablen
In diesem Kapitel werden Sie das vorherige SPS Programm an die Beckhoff Busklemmen anschließen. Dies geschieht mit dem TwinCAT System Manager. Dort werden alle Ein-/Ausgabeanschaltungen verwaltet, adressiert und den Ein- und Ausgangsdaten zugeordnet. Jeder E/A-Kanal ist mit einem logischen Namen ansprechbar. Der TwinCAT System Manager verwaltet mehrere Feldbusse an einem gemeinsamen Prozessabbild.
Hardware erforderlich
Dazu ist es erforderlich, dass Sie die erforderliche Hardware, d.h. das Demokit von Beckhoff für den Lightbus FC2001 besitzen. Das Demokit enthält die PC Interfacekarte für den I/O-Lightbus (FC2001), den Buskoppler BK 2000, diverse Busklemmen, 2 Lichtwellenleiter und Informations- bzw. Dokumentationsmaterial.
Ohne Hardware können Sie dieses Kapitel überspringen und zu den Applikationsbeispielen übergehen.
Variablendeklaration
Der Speicherort (Adresse) von Variablen wird vom System intern verwaltet. Der Programmierer braucht sich nicht um die Speicherverwaltung zu kümmern. Innerhalb der SPS-Programme wird mit symbolischen Variablennamen gearbeitet. Dadurch wird verhindert, dass Seiteneffekte (Überschneidungen) bei der Verwendung von Variablen auftreten können. Um auf die Ein-/Ausgabeebene zuzugreifen, ist es notwendig, dass der Programmierer einzelnen Variablen eine feste Adresse zuweisen kann. Dieses wird durch das Schlüsselwort 'AT' erreicht, welches bei der Variablendeklaration mit angegeben werden muss. Hinter dem Schlüsselwort 'AT' stehen mehre Parameter, die Auskunft über Datenort (Ein-/Ausgabe oder Merkerbereich) und Datenbreite (BIT, BYTE, WORD oder DWORD) geben. Die Variablendeklaration für das obige Beispiel hat folgenden Aufbau:
VAR_Global
engine AT %QX0.0: BOOL;
deviceup AT %QX0.1: BOOL;
devicedown AT %QX0.1: BOOL;
timerup: TON;
timerdown: TON;
steps: BYTE;
count: UINT := 0;
devspeed: TIME := t#10ms;
devtimer: TP;
timerup: TON;
switch: BOOL;
END_VAR
Dabei bedeutet:
| Datenart | Datenbreite | Bedeutung |
---|---|---|---|
% |
|
| Einleitendes Zeichen |
| I |
| Eingang |
| Q |
| Ausgang |
| M |
| Merker |
|
| X | Bit (1Bit) |
|
| B | Byte (8 Bit) |
|
| W | Wort (16 Bit) |
|
| D | Doppelwort (32 Bit) |
Die Ziffern hinter der Datenbreite geben die Adresse der Variable an. Für Bitvariablen muss die Adresse im Format x.y angegeben werden, für Byte, Wort und Doppelwort einfach x. Die Ein- und Ausgänge befinden sich in unterschiedlichen Speicherbereichen und können daher die gleiche Adresse enthalten.