Verwendung des Siemens S7-Plugins

Das Siemens S7-Plugin ermöglicht Ihnen die Verbindung mit Siemens S7-Steuerungen über ein S7-Kommunikationsprotokoll (S7comm). Genauer gesagt, es nutzt die „PUT“ und „GET“ Funktionalität des S7comm Protokolls. Es basiert auf TCP/IP und arbeitet über eine Ethernet-Verbindung. Beispielsweise können Sie das Plugin verwenden, um eine Verbindung zu physikalischen SPS der Serien S7-300, S-400, S7-1200 oder S7-1500 oder zu simulierten S7-1500 mit S7-PLCSIM Advanced herzustellen.

Verbindungsadressen

Definieren Sie die IP-Adresse des SPS- oder Kommunikationsprozessormoduls. Es wird eine normale IPv4-Adresse verwendet. Die Verbindung wird immer über den TCP-Port 102 der SPS hergestellt.

Das Gehäuse und der Steckplatz beziehen sich auf die Position des SPS-CPU-Moduls in einer Rückwandplatine.

SPS-Typ

Gehäuse

Steckplatz

S7-300

0 2
S7-400 Nicht verfügbar Nicht verfügbar
S7-1200

0

0 oder 1
S7-1500 0 0 oder 1

Hinweise:

  • Die Werte sind für die SPS der Serie S7-400 nicht festgelegt. Weitere Informationen über die Bestimmung der Werte finden Sie im Sharp 7 Referenzhandbuch.

Konfigurieren des SPS-Projekts

Sie müssen zunächst die SPS so konfigurieren, dass der Lese- und Schreibzugriff über die S7comm-Schnittstelle möglich ist. Dies sind die dazu notwendigen Schritte:

  1. Konfigurieren Sie die Ethernet-Schnittstelle der SPS
  2. Definieren Sie die Schutz- und Sicherheitseinstellungen, um den Zugriff zu ermöglichen
    • Deaktivieren Sie die Sicherheitsmaßnahmen über die Einstellung der Zugriffsebene
    • Erlauben Sie PUT/GET-Kommunikation
  3. Deaktivieren Sie die Aktualisierung der physischen Eingabe (optional)

Konfigurieren Sie die Ethernet-Schnittstelle der SPS

Geben Sie die SPS-IP-Adresse und alle anderen Netzwerkeinstellungen für die TCP/IP-Kommunikation an.

Definieren Sie die Schutz- und Sicherheitseinstellungen, um den Zugriff zu ermöglichen

Deaktivieren Sie die Sicherheitsmaßnahmen über die Einstellung der Zugriffsebene, indem Sie „Kein Schutz“ auswählen.

Für SPS mit älterer Firmware-Version sieht es so aus:

Erlauben Sie PUT/GET-Kommunikation.

Deaktivieren Sie die Aktualisierung der physischen Eingabe (optional)

Das Eingangsprozessabbild kann von der Simulation aus beschrieben werden, um SPS-Eingänge zu emulieren. Die Aktualisierung aller physikalischen IOs im Eingangsprozessabbild muss jedoch deaktiviert werden, damit die von der Simulation erzeugten Werte nicht bei jedem SPS-IO-Zyklus überschrieben werden.

Importieren der SPS-Variablen-Tabelle

SPS-Variableninformationen müssen vom TIA-Portal in eine SDF- oder Excel-Datei exportiert und dann in das Siemens S7 Verbindungsplugin importiert werden. Variablentabellen im TIA-Portal (STEP7) werden verwendet, um IO (I, Q)-Adressen symbolische Namen zu geben und Variablen dem generischen Speicherplatz (M) zuzuweisen.

So importieren Sie eine Variablentabelle:

  1. Klicken Sie auf die Registerkarte Konnektivität, und wählen Sie dann im Bedienfenster Konnektivitätskonfiguration unter Siemens S7 Ihre SPS-Verbindung aus.
  2. Klicken Sie im Aufgabenfenster Eigenschaften auf die Schaltfläche SPS-Symbole aus Datei laden.
  3. Wählen Sie die zu importierende SDF- oder Excel-Datei aus.

Hinweise:

  • Geladene Variablen werden mit der Konnektivitätskonfiguration sowohl im Simulationslayout als auch beim Export der Konnektivitätskonfiguration als XML gespeichert.
  • Nach dem Import einer Variablentabelle müssen Sie möglicherweise den Serverstrukturbaum im Fenster Variablen hinzufügen neu laden, um die Variablen und ihre Änderungen zu sehen.
  • Wenn Sie eine Variablentabelle importieren, aktualisiert das Siemens S7-Plugin automatisch alle vorhandenen Variablenpaare auf der Grundlage der Variablennamen. Falls Variablenpaare aktualisiert wurden, wird dies als Meldung im Ausgabefenster angezeigt.
    • Die automatische Paarung nach Variablennamen ermöglicht es Ihnen, Änderungen an der Speicheradresse und dem Datentyp der Variablen vorzunehmen, ohne dass die Variablenpaare neu erstellt werden müssen.
    • Damit dies funktioniert, müssen die Variablennamen definiert und eindeutig sein. Wenn derselbe Variablenname mehr als einmal in den importierten Variablen auftaucht, werden Variablen mit diesem Namen nicht aktualisiert, und es wird eine Fehlermeldung im Ausgabefenster ausgegeben.

Unterstützte SPS-Speicherbereiche

Das S7comm-Protokoll erlaubt sowohl Lese- als auch Schreibzugriff auf die folgenden Speicherbereiche:

  • Eingangsprozessabbild („I“- oder „E“-Adresse)
  • Ausgangsprozessabbild („Q“- oder „A“-Adresse)
  • Speicher („M“-Adresse)

Hinweis: Normalerweise wird das Eingangsprozessabbild von physikalischen Eingängen bei jedem SPS-IO-Zyklus überschrieben. Sie können dies jedoch in der SPS-Konfiguration deaktivieren.

Einschränkungen

Bitte beachten Sie, dass es bei der Verwendung des S7comm-Protokolls gewisse praktische Einschränkungen gibt:

  • Es ist keine Suchfunktionalität verfügbar, um herauszufinden, welche Variablen in der SPS vorhanden sind. Diese Informationen müssen separat von der SPS-Programmiersoftware TIA Portal bezogen werden.
  • Sie können nicht überprüfen, ob eine bestimmte Variable in der SPS vorhanden ist. Das Protokoll erlaubt das Lesen und Beschreiben verschiedener SPS-Speicherbereiche, aber es gibt keine Möglichkeit zu erfahren, ob diese Speicherbereiche vom SPS-Programm wie erwartet verwendet werden.
  • Die Kommunikation ist nicht verschlüsselt, und es wird keine Passworteingabe unterstützt. Die Verbindung sollte nur innerhalb eines sicheren Netzwerks hergestellt werden.

Leistung

Im Allgemeinen sind die mit dem Siemens S7-Anschlussstecker erreichbare Reaktionszeit und der Datendurchsatz durch die SPS begrenzt. Allerdings ist z.B. bei der physikalischen S7-1200 die S7comm-Kommunikation immer noch deutlich schneller als der eingebaute OPC UA-Server.

Beachten Sie, dass die folgenden Faktoren die Leistung beeinträchtigen:

  • Die S7comm-Anforderungen werden zwischen den SPS-Programmzyklen bearbeitet. Wenn die SPS also ein umfangreiches Programm ausführt, das praktisch die gesamte CPU-Leistung beansprucht, kann die Kommunikation sehr langsam sein.
  • Die Größenbeschränkung der PDUs des S7comm-Protokolls ist recht restriktiv und beträgt nur 240 Byte beim S7-1200 und 480 Byte beim S7-1500. Dies begrenzt, wie viele Variablen mit einer einzigen Anfrage gelesen oder geschrieben werden können. Die Verarbeitung jeder Anfrage in der SPS hat eine mehr oder weniger konstante Mindestverzögerung, so dass die Anzahl der Anfragen eine große Rolle spielt.
  • Die Netzwerkinfrastruktur kann erhebliche Verzögerungsverzögerungen verursachen. Bevorzugen Sie nach Möglichkeit eine direkte Kabelverbindung zu einer physikalischen SPS. Das Ausführen einer simulierten SPS in einer virtuellen Maschine kann ebenfalls die Leistung beeinträchtigen.

Allgemeine Tipps für die beste Leistung

  • Vermeiden Sie die Bildung unnötiger Variablengruppen.
  • Halten Sie die bei der Kommunikation verwendete Netzwerkinfrastruktur so einfach wie möglich.
  • Erwägen Sie eine Erhöhung der SPS-Mindestzykluszeit, wenn die SPS-CPU-Last hoch ist.

Optimieren der Lesevorgänge aus SPS

Das S7comm-Protokoll unterstützt kein ereignisbasiertes Lesen von Werten aus der SPS (Subskriptionen), so dass eine zyklische Aktualisierung die einzige Möglichkeit ist. Das heißt, alle Variablen aus der SPS, die in einer Variablengruppe definiert sind, werden bei jedem Zyklus gelesen.

Das Siemens S7-Plugin optimiert das Lesen von Variablen aus der SPS automatisch, indem es Variablen mit benachbarten oder überlappenden Speicherbereichen gruppiert, die als Blöcke innerhalb der MultiRead-Anforderungen gelesen werden. Diese Optimierung hat einen großen Einfluss auf die Anzahl der Anforderungen, die zur Synchronisierung der Variablengruppe erforderlich sind, und damit auf die erreichbare Mindestverzögerung. Um diese Optimierung zu nutzen, beachten Sie die folgenden Regeln:

  • SPS-Variablen müssen im Speicher direkt nebeneinander liegen, ohne Zwischenraum oder Überlappung.
    • MW0 und MW2 sind Nachbarn (Bytes 0-1 und 2-3)
    • I0.7 und I1.0 sind Nachbarn (Bit 7 in Byte 0, Bit 0 in Byte 1)
    • I0.0 und I0.2 sind nicht benachbart (Bit 0 in Byte 0, Bit 2 in Byte 0)
    • IW0 und I1.2 überlappen sich (Bytes 0 und 1, Bit 2 in Byte 1)
    • I0.0 und M0.1 sind nicht benachbart (unterschiedliche Speicherbereiche I und M)
  • Definieren Sie Ihre Variablenpaare in der gleichen Variablengruppe (Server zu Simulation). Die Optimierung wird für jede Variablengruppe unabhängig durchgeführt.

Optimierung von Schreibvorgängen in die SPS

Tipps für bessere Schreibleistung:

  • Verwenden Sie den zyklischen Aktualisierungsmodus, so dass mehrere Variablen in einer einzigen MultiWrite-Anforderung eingeschrieben werden können. Stellen Sie ein angemessenes Aktualisierungsintervall ein.
  • Vermeiden Sie es, zu viele Variablen zu verbinden, die sich fast ständig ändern, wie z. B. Verbundwerte.
  • Ziehen Sie in Betracht, IO-Bits als vorzeichenlose ganze Zahlen statt einzelner Boolean-Werte zu schreiben. Dies kann die Leistung dramatisch verbessern, aber Sie benötigen ein Skript auf der VC-Seite, um die Boolean-Werte in Bits in eine ganze Zahl zu konvertieren.
    • Dazu ist es erforderlich, SPS-Variablen von vorzeichenlosen Integer-Typen (z.B. BYTE oder WORD) zu definieren und diese in der Simulation mit Ganzzahlen zu verbinden.
    • Die SPS-Variablen können sich im Speicher überlappen, so dass Sie auch weiterhin separate Variablen für jedes IO-Bit haben können.
    • Beachten Sie, dass VC-Ganzzahlen mit 32 Bit vorzeichenbehaftet sind, so dass Sie diese nicht verwenden können, um Werte von 32 Bit auf die SPS zu schreiben, sondern nur von 31 Bit. In der Praxis wäre es am besten, für jeweils 16 IO-Bits eine separate Variable zu verwenden.