×
Siemens Industry Online Support
Siemens AG
Beitragstyp: FAQ Beitrags-ID: 57132240, Beitragsdatum: 17.05.2016
(23)
Bewerten

Wie programmieren Sie in STEP 7 (TIA Portal) die Überlagerung von Variablen mit dem Schlüsselwort "AT"?

  • Beitrag
  • Betrifft Produkt(e)
Mit dem Schlüsselwort "AT" können Sie für die S7-1200/S7-1500 eine deklarierte Variable mit einer weiteren Deklaration überlagern.

Anleitung
Die Überlagerung der Variablen programmieren Sie in der Bausteinschnittstelle einer Funktion oder eines Funktionsbausteins.

Um Variablen mit dem Schlüsselwort "AT" zu überlagern, benötigen Sie für die

  • S7-1200 mindestens STEP 7 (TIA Portal) V11.0+SP1+Update 2 (oder höher) und die Firmware V2.0 (oder höher),
  • S7-1500 mindestens STEP 7 (TIA Portal) V12 (oder höher).

Weitere Informationen finden Sie in der STEP 7 (TIA Portal) Onlinehilfe oder im Handbuch unter Variablen mit AT überlagern.

Nachfolgendes Beispiel zeigt Ihnen, wie Sie auf die einzelnen Bits einer Variablen vom Datentyp Word mit einem "Array of Bool" zugreifen können.

  1. Erzeugen Sie einen Funktionsbaustein.
    Das Überlagern von Variablen ist in folgenden Bausteinen möglich:

    - FC/FB mit Standardzugriff

    - FB mit optimiertem Bausteinzugriff für Variablen mit der Remanenzeinstellung "Im IDB setzen"

    Hinweis
    Bei allen neu erstellten Bausteinen der S7-1200/S7-1500 ist der optimierte Bausteinzugriff defaultmäßig eingestellt. Um den Standardzugriff für einen Baustein einzustellen, öffnen Sie die Bausteineigenschaften und deaktivieren Sie im Register "Attribute" die Funktion "Optimierter Bausteinzugriff".

    1. Öffnen Sie den Baustein und die Bausteinschnittstelle.
    2. Tragen Sie in der Deklarationstabelle erst die Variable ein, die Sie mit einem neuen Datentyp überlagern möchten. Zum Beispiel: Name: "statConveyor", Datentyp: "Word".
    3. Wählen Sie aus der Klappbox der Spalte "Remanenz" die Option "Im IDB setzen".
    4. Markieren Sie die Zeile mit der zu überlagernden Variablen und klicken Sie auf die rechte Maustaste.
    5. 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.
    6. Geben Sie in der hinzugefügten Zeile einen Namen der Variablen ein, z.B. "statMotors".
    7. 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. 
    8. 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. "statMotors") erscheint auch im selben Feld das Schlüsselwort mit der zu überlagernden Variable. In diesem Beispiel: AT "statConveyor".
       

      Bild 1
       
    9. Klicken Sie wieder in das Feld "Datentyp" und geben Sie die Deklaration für das Array ein, z.B. "Array[0..15] of Bool".

    Damit ist die Überlagerung der Variablen vollständig deklariert und Sie können Ihr Programm im Editor eingeben.

    Programmbeispiel
    Bei einigen Anwendungen ist es erforderlich, mehrere Signale zu einem Steuerwort zu gruppieren, oder die einzelnen Signale aus einem Steuerwort wieder herauszulösen.

    FB "BoolToWordAT"
    Mit dem FB "BoolToWordAT" können Sie bis zu 16 Bit zu einem Wort gruppieren. Die einzelnen Eingangsvariablen vom Datentyp Bool werden der statischen Array-Variablen "statMotors" zugewiesen und mit dem Schlüsselwort "AT" der Variablen "statConveyor" überlagert. Anschließend wird der Inhalt der statischen Variablen "statConveyor" zur Ausgangsvariablen "conveyor" transferiert.
     


    Bild 2
     
    FB "WordToBoolAT"
    Mit dem FB "WordToBoolAT können Sie aus einer Variablen vom Datentyp "Word" bis zu 16 Signale (Variablen vom Datentyp "Bool") herauslösen. Der Inhalt der Eingangsvariablen "conveyor" wird in die statische Variable "statConveyor" transferiert und mit dem Schlüsselwort "AT" der deklarierten Variablen "statMotors" überlagert. Anschließend werden die einzelnen Bits der Array-Variablen "statMotors" den Ausgangsvariablen vom Datentyp Bool zugewiesen.
     

    Bild 3

    Im OB1 "Main" werden diese beiden FBs aufgerufen und parametriert.

    Download
    Der Download enthält eine Bibliothek mit Bausteinen und Variablen.

    1. Ziehen Sie die Bausteine "BoolToWordAT", "BoolToWordAT_DB", "WordToBoolAT", "WordToBoolAT_DB", "DB" und "Main" per Drag&Drop in den Bausteinordner.
    2. Ziehen Sie die "Variables" in den Ordner "PLC-Variablen".

    Folgender Beitrag beschreibt, wie Sie eine Bibliothek in STEP 7 (TIA Portal) öffnen 37364723.

    Weiterführende Informationen
    Für eine noch bessere Performance bei der S7-1500 empfehlen wir Ihnen für das oben beschriebene Beispiel auch die Programmierung über die Slice-Zugriffe. Weitere Informationen zu den Slice-Zugriffen finden Sie unter der Beitrags-ID: 57374718.

    Erstellumgebung
    Downloads in diesem FAQ sind mit STEP 7 (TIA Portal) V13+SP1 und V15 erstellt worden.

    Securityhinweise
    Um technische Infrastruktur, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches IT Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts. Weitergehende Informationen über Cyber Security finden Sie unter
    https://www.siemens.com/cybersecurity#Ouraspiration.
    Unterstützung zur Statistik
    Mit dieser Funktion werden die IDs des Suchergebnisses nach gewünschter Anzahl ausgegeben (Format .txt)

    Liste generieren
    URL kopieren
    Diese Seite in neuem Design anzeigen
    mySupport Cockpit