Zum Inhalt springen
Tech-Blog

PUT/GET bei optimierten Datenbausteinen einer Siemens S7

Ihre S7-1200 oder S7-1500 liefert per PUT/GET keine Werte? Meist liegt das an optimierten Datenbausteinen. Wir zeigen Ihnen zwei Wege, wie Sie trotzdem an Ihre Daten kommen.

Zur Inhaltsübersicht

Warum PUT/GET optimierte Datenbausteine nicht liest

PUT/GET greift über die absolute Adresse auf den Speicher der Steuerung zu, also über Datenbaustein, Byte und Bit. Bei einem optimierten Datenbaustein legt die Steuerung die Variablen selbst ab, eine feste Adresse gibt es nicht. Deshalb kann ein PUT/GET-Client optimierte Datenbausteine weder lesen noch beschreiben.

Für den Datenaustausch mit einer S7-1200 oder S7-1500 haben Sie deshalb zwei Möglichkeiten:

PUT/GET: Die Daten liegen in nicht optimierten Datenbausteinen, und PUT/GET ist in der Steuerung freigegeben. Sie brauchen keine zusätzliche Lizenz.

OPC UA: Die Steuerung stellt ihre Daten über ihren OPC-UA-Server bereit. Optimierte Datenbausteine bleiben, wie sie sind. Dafür brauchen Sie eine OPC-UA-Laufzeitlizenz von Siemens.

Dialog „Neue SPS erstellen“ in der DataSuite mit den Verbindungstypen S7 - Put/Get, S7 - OPC UA und OPC UA
Die DataSuite verbindet sich je Steuerung über PUT/GET oder OPC UA

Welcher Weg in welcher Situation besser passt, vergleichen wir im Artikel SPS-PC-Datenaustausch ohne OPC-Server.

Weg 1: PUT/GET mit nicht optimierten Datenbausteinen

Sie brauchen eine S7-1200 oder S7-1500 mit Ethernet-Schnittstelle (Profinet), das TIA Portal und die DataSuite ab Version 3.

Datenbaustein für den Datenaustausch anlegen

Bewährt hat sich ein eigener, nicht optimierter Datenbaustein, über den nur die DataSuite Daten austauscht. Ihre bestehenden optimierten Datenbausteine bleiben dann unverändert, und das übrige SPS-Programm muss nicht angepasst werden.

So schalten Sie die Optimierung eines Datenbausteins ab:

  1. Klicken Sie im TIA Portal unter „Programmbausteine“ mit der rechten Maustaste auf den Datenbaustein und wählen Sie „Eigenschaften“.
  2. Deaktivieren Sie unter „Attribute“ die Option „Optimierter Bausteinzugriff“.
  3. Übersetzen Sie das Projekt und laden Sie es in die Steuerung.

Stellen Sie einen bestehenden Datenbaustein um, ändern sich die Adressen seiner Variablen. Prüfen Sie dann alle Programmteile, die auf ihn zugreifen.

PUT/GET in der Steuerung freigeben

Bei der S7-1500 und bei der S7-1200 ab Firmware V4.0 ist PUT/GET ab Werk gesperrt.

  1. Öffnen Sie die Gerätekonfiguration der Steuerung.
  2. Wählen Sie in den Eigenschaften den Bereich „Schutz & Security“.
  3. Stellen Sie die Zugriffsstufe auf „Vollzugriff“.
  4. Aktivieren Sie unter „Verbindungsmechanismen“ die Option „Zugriff über PUT/GET-Kommunikation durch entfernten Partner erlauben“.
  5. Laden Sie die Konfiguration in die Steuerung.

DataSuite mit der Steuerung verbinden

  1. Klicken Sie in der DataSuite unter „Steuerungen“ auf „Neue SPS erstellen“ und wählen Sie den Verbindungstyp „S7 - Put/Get“.
  2. Tragen Sie die IP-Adresse der Steuerung ein. Rack und Slot sind bei der S7-1200 und S7-1500 in der Regel 0 und 1.
  3. Prüfen Sie mit „Verbindung testen“, ob die Steuerung antwortet.

Die Variablen übernehmen Sie am einfachsten aus dem TIA Portal: Exportieren Sie den Datenbaustein dort als Quelldatei und importieren Sie diese in der DataSuite. Einzelne Variablen können Sie auch von Hand anlegen.

Jetzt kostenlos beraten lassen

In einem Videocall oder einem Telefonat mit einem unserer Experten werden Ihre Fragen beantwortet. Konkrete Anforderungen und Projekte können direkt besprochen werden.

Die Terminbuchung wird mit Microsoft Bookings durchgeführt, es gilt die Datenschutzerklärung von Microsoft.

Markus Bläser

Weg 2: Optimierte Datenbausteine per OPC UA

Mit OPC UA lesen und schreiben Sie optimierte Datenbausteine direkt über den Variablennamen. Die Verbindung ist verschlüsselt, und die Steuerung verlangt eine Anmeldung. Sie brauchen eine S7-1500 oder eine S7-1200 mit OPC-UA-Server, eine passende OPC-UA-Laufzeitlizenz von Siemens, das TIA Portal und die DataSuite ab Version 3. Im Netz muss der Port 4840 zwischen PC und Steuerung offen sein.

OPC-UA-Server in der Steuerung aktivieren

  1. Öffnen Sie im TIA Portal die Gerätekonfiguration der Steuerung und wählen Sie in den Eigenschaften „OPC UA“.
  2. Aktivieren Sie unter „Server“ die Option „OPC UA-Server aktivieren“. Der Standard-Port ist 4840.
  3. Richten Sie unter „Security“ mindestens die Anmeldung mit Benutzername und Passwort ein. Wir empfehlen zusätzlich eine verschlüsselte Verbindung.
  4. Wählen Sie unter „Runtime-Lizenzen“ die erworbene OPC-UA-Lizenz.
  5. Laden Sie die Konfiguration in die Steuerung.
TIA Portal, Eigenschaften einer CPU 1511-1 PN: OPC UA ausgewählt, Option „OPC UA-Server aktivieren“ gesetzt, Server-Adresse opc.tcp://192.168.2.100:4840
OPC-UA-Server einer S7-1500 im TIA Portal aktivieren

Damit die DataSuite eine Variable sieht, muss sie im Datenbaustein als „Erreichbar aus HMI/OPC UA“ markiert sein. Das ist bei neuen Variablen die Voreinstellung. Bei der S7-1200 legen Sie zusätzlich eine Server-Schnittstelle an und ziehen die gewünschten Variablen hinein. Mehr dazu lesen Sie im Artikel OPC-UA-Schnittstelle mit einem Windows-Client nutzen.

DataSuite verbinden und Datenbausteine importieren

  1. Klicken Sie unter „Steuerungen“ auf „Neue SPS erstellen“ und wählen Sie „S7 - OPC UA“.
  2. Tragen Sie die IP-Adresse und den Port der Steuerung ein.
  3. Wählen Sie die Sicherheitsrichtlinie passend zur Einstellung in der Steuerung und geben Sie Benutzername und Passwort ein.
  4. Testen Sie die Verbindung und speichern Sie.
  5. Wählen Sie bei den Datenbausteinen „Datenbausteine importieren“ und markieren Sie die gewünschten Bausteine. Die DataSuite liest sie samt Variablen direkt aus der Steuerung.
Dialog „Neuen Datenbaustein anlegen“ der DataSuite mit den Optionen „Datenbausteine importieren“ und „Objekte importieren“
Datenbausteine über OPC UA direkt aus der Steuerung importieren

Kommen später Variablen in der Steuerung hinzu, importieren Sie den Datenbaustein einfach erneut.

Welcher Weg passt, hängt auch von Ihrer IT-Landschaft ab. Möchten Sie Maschinendaten zuverlässig in die IT bringen, über einzelne Steuerungen hinaus? Dabei unterstützt Sie [MB] Software und Systeme.

Daten in Excel oder eine SQL-Datenbank schreiben

Ist die Verbindung eingerichtet, arbeiten Sie mit den Variablen gleich, egal ob sie über PUT/GET oder OPC UA kommen. Was mit den Daten passiert, legen Sie in der DataSuite mit einem Trigger fest: Er reagiert auf eine Bedingung, zum Beispiel alle 10 Sekunden oder auf ein Bit in der Steuerung, und führt dann seine Aktionen aus.

Daten aus der Steuerung in Excel speichern

  1. Legen Sie unter „Exceldateien“ eine neue Datei an oder verwenden Sie eine Vorlage. Pfad und Dateiname dürfen Variablen enthalten, etwa das Datum.
  2. Wählen Sie, ob eine vorhandene Datei überschrieben, fortgesetzt oder eine neue Datei mit fortlaufender Nummer angelegt wird.
  3. Erstellen Sie einen Trigger mit der Aktion „Datensatz schreiben“, wählen Sie Datei und Tabellenblatt und ordnen Sie den Spalten die Variablen zu.
Trigger-Aktion „Datensatz schreiben“ in der DataSuite: XLSX-Datei, zeilenweise ab Zeile 10, Spalten A bis F mit Datum und Variablen
Aktion „Datensatz schreiben“: Jede Ausführung schreibt eine Zeile in die Excel-Datei

Wie Sie die Datei mit Kopfzeilen, Logo und Formeln vorbereiten, zeigt der Artikel Excel-Vorlagen formatieren und nutzen. Microsoft Excel muss dafür nicht installiert sein.

Werte in die Steuerung schreiben

Der umgekehrte Weg funktioniert genauso: Ein Trigger liest Werte aus einer Excel-Datei oder Datenbank und schreibt sie mit der Aktion „Variable schreiben“ in den Datenbaustein, etwa Rezepturen oder Auftragsdaten. Bei PUT/GET muss die Zielvariable in einem nicht optimierten Datenbaustein liegen.

SQL-Datenbank statt Excel

Sollen die Daten in eine Datenbank, legen Sie unter „Datenbanken“ eine Verbindung zu Microsoft SQL Server, MySQL, MariaDB oder PostgreSQL an. Ein Trigger schreibt die Werte dann per Insert in eine Tabelle oder liest sie per Select zurück in die Steuerung. Eine Anleitung finden Sie im Artikel SPS an Datenbank anbinden in 5 Minuten.

Fehlersuche

Keine Verbindung zur Steuerung

  • Antwortet die Steuerung auf einen Ping an ihre IP-Adresse?
  • PUT/GET: Ist PUT/GET freigegeben, die Zugriffsstufe auf „Vollzugriff“ gestellt und sind Rack und Slot richtig?
  • OPC UA: Ist der Server aktiviert und die Lizenz ausgewählt? Passen Sicherheitsrichtlinie, Benutzer und Passwort? Ist Port 4840 offen?

Werte kommen nicht an

  • PUT/GET: Ist der Datenbaustein wirklich nicht optimiert, und ist er nach der Änderung in die Steuerung geladen?
  • OPC UA: Ist die Variable als „Erreichbar aus HMI/OPC UA“ markiert und der Datenbaustein nach Änderungen neu importiert?
  • Zeigt die Variablenansicht der DataSuite aktuelle Werte? Ist die Bedingung des Triggers erfüllt?

Kommen Sie nicht weiter, hilft Ihnen unser Support-Team kostenlos:
Telefon: +49 2742 72927 80
E-Mail: support@mb-datasuite.com

Sie können die DataSuite kostenlos testen. Das Handbuch mit ausführlichen Anleitungen ist im Download enthalten.

Fazit

Optimierte Datenbausteine lassen sich nicht per PUT/GET lesen. Ohne OPC-UA-Lizenz legen Sie einen eigenen, nicht optimierten Datenbaustein für den Datenaustausch an und geben PUT/GET in der Steuerung frei. Mit OPC UA bleiben die Datenbausteine optimiert, und die Verbindung ist verschlüsselt. In der DataSuite nutzen Sie beide Wege nebeneinander und schreiben die Daten in Excel-Dateien oder SQL-Datenbanken.

Jetzt selbst testen

30 Tage lang alle Funktionen kostenlos testen. Sie erhalten eine E-Mail mit Download-Link zum sofortigen Testen.

Monitor mit dem Hinweis „Download DataSuite 3“