|
Beschreibung Mit dem Schlüsselwort "AT" können Sie eine deklarierte Variable mit einer weiteren Deklaration überlagern, wenn Sie z.B. auf die einzelnen Bits einer Variablen vom Datentyp Word mit einem Array of Bool zugreifen wollen. Die Bearbeitungszeit bei dieser Programmierung ist wesentlich kürzer, als mit der Datentypkonvertierung bei den früheren STEP 7 Versionen. Beachten Sie dabei auch die folgenden Einschränkungen:
- Die Variablen können in S7-1200 überlagert werden, wenn die Baugruppen der S7-1200 mit der Firmwareversion 2.0 (oder höher) ausgerüstet sind.
- Bei den Baugruppen der S7-300/400 ist das Überlagern von Variablen nur in S7-SCL möglich.
- Sie benötigen mindestens STEP 7 V11.0+SP1+Update 2 (oder höher).
- Das Überlagern von Variablen ist nur in der Schnittstelle von Codebausteinen mit Standardzugriff möglich.
- Eine Änderung des Bausteinattributes "optimierter Bausteinzugriff" ist nach der Neuerstellung des Bausteines nicht mehr möglich.
- Variablen aus allen Codebausteinarten und allen Deklarationsabschnitten (Input, Output, InOut, Static, Temp) können überlagert werden.
- Überlagernde Variablen müssen gleich oder kleiner sein als die überlagerte Variable und dürfen wie jede andere Variable im Baustein verwendet werden.
- Variablen vom Datentyp VARIANT können nicht überlagert werden.

Bild 01
Die Überlagerung der Variablen programmieren Sie in der Bausteinschnittstelle einer Funktion oder eines Funktionsbausteins. Nachstehende Tabelle enthält die Vorgehensweise, wie Sie die Variablen deklarieren:
| Nr. |
Vorgehensweise |
| 1 |
Tragen Sie im Temp-Bereich der Deklarationstabelle erst die Variable ein, die Sie mit einem neuen Datentyp überlagern möchten.
- Zum Beispiel: Name: "t_word", Datentyp: "Word".
|
| 2 |
Markieren Sie die Zeile mit der zu überlagernden Variablen und klicken Sie auf die rechte Maustaste. |
| 3 |
Wählen Sie aus dem Kontextmenü "Zeile hinzufügen". Die überlagernde Variable müssen Sie in der Zeile direkt unterhalb der zu überlagernden Variablen deklarieren. |
| 4 |
Geben Sie in der hinzugefügten Zeile einen Namen der Variablen ein.
|
| 5 |
Tragen Sie in der Spalte "Datentyp" zunächst nur den Buchstaben "A" ein und warten Sie, bis das Fenster mit der Auswahl der möglichen Datentypen erscheint. |
| 6 |
Wählen Sie aus der Klappbox das Schlüsselwort "AT" und klicken Sie anschließend in die Spalte "Name". Neben dem Namen der Variablen (z.B. "t_bool") erscheint auch im selben Feld das Schlüsselwort mit der zu überlagernden Variable.
- In diesem Beispiel: AT "t_word".
|
| 7 |
Klicken Sie wieder in das Feld "Datentyp" und geben Sie die Deklaration für das Array ein.
- Zum Beispiel: "Array[0..15] of Bool".
Damit ist die Überlagerung der Variablen vollständig deklariert und Sie können Ihr Programm im Editor eingeben.

Bild 02
|
Bei einigen Anwendungen kann es in STEP 7 erforderlich sein, mehrere Signale zu einem Steuerwort zu gruppieren, oder die einzelnen Signale aus einem Steuerwort wieder herauszulösen. Der beigefügte Download "STEP7_V11_AT_KeyWord.zip" enthält ein STEP 7 V11 Programm, mit dem Sie Signale (Variablen vom Datentyp "Bool") zu einer Variablen vom Datentyp "Word" gruppieren und wieder herauslösen können. Die folgenden Bausteine sind im STEP 7 Programm enthalten:
Beschreibung der Funktion "FC_Bool_to_Word_AT"
Mit der Funktion "FC_Bool_to_Word_AT" können Sie bis zu 16 Bit zu einem Wort gruppieren. Die einzelnen Eingangsvariablen vom Datentyp Bool werden der temporären Array-Variablen "t_bool" zugewiesen und mit dem Schlüsselwort "AT" der Variablen "t_word" überlagert. Anschließend wird der Inhalt der temporären Variablen "t_word" zur Ausgangsvariablen "SaveWord" transferiert.

Bild 03
Beschreibung der Funktion "FC_Word_to_Bool_AT"
Mit der Funktion "FC_Word_to_Bool_AT" können Sie aus einer Variablen vom Datentyp "Word" bis zu 16 Signale (Variablen vom Datentyp "Bool") herauslösen. Der Inhalt der Eingangsvariablen "I_Word" wird in die temporäre Variable "t_word" transferiert und mit dem Schlüsselwort "AT" der deklarierten Variablen "t_bool" überlagert. Anschließend werden die einzelnen Bits der Array-Variablen "t_bool" den Ausgangsvariablen vom Datentyp Bool zugewiesen.

Bild 04
Im OB1 "Main" werden diese beiden Funktionen aufgerufen und parametriert.
Download
Kopieren Sie die Datei "STEP7_V11_AT_KeyWord.zip" in ein separates Verzeichnis und starten Sie die Datei anschließend per Doppelklick. Das STEP 7 TIA Portal V11 Projekt wird jetzt automatisch mit allen dazugehörigen Unterverzeichnissen entpackt. Anschließend können Sie das entpackte Projekt mit STEP 7 TIA Portal V11 öffnen und bearbeiten.
STEP7_V11_AT_KeyWord.zip ( 2962 KB )
Erstellumgebung
Der Download in diesem FAQ ist mit dem Totally Integrated Automation Portal V11 SP1 erstellt worden.
|