Device S7-1200 von Siemens

PLC-Lab kann über Ethernet mit einer realen S7-1200 von Siemens verbunden werden. Die Netzwerkkarte des PCs mit PLC-Lab wird dabei mit der Profinet-Schnittstelle der S7-1200 verbunden. Die virtuelle Anlage von PLC-Lab kann somit einer realen CPU aufgeprägt werden. Das SPS-Programm befindet sich dabei in der realen CPU und diese kann parallel auch mit dem TIA-Portal verbunden sein. Somit ist es beispielsweise möglich, (noch) fehlende Anlagenteile durch die virtuelle Anlage von PLC-Lab zu ersetzen und trotzdem einen Test des gesamten SPS-Programms durchzuführen.

Damit PLC-Lab mit einer S7-1200 ab Firmware-Version 4.X oder höher zusammenarbeiten kann, sind folgende Hardwarekonfigurationseinstellungen in der CPU vorzunehmen. Bei älteren CPUs sind die Einstellungen nicht notwendig, bzw. nicht vorhanden.

Stellen Sie sicher, dass entweder Vollzugriff (kein Schutz) oder HMI-Zugriff ausgewählt ist. Zusätzlich muss die Option Zugriff über PUT/GET-Kommunikation ... erlauben selektiert sein.

Wichtig ist, dass diese Einstellungen auch in die CPU übertragen wurden, denn erst dann sind diese auch wirksam.

Soll eine virtuelle Anlage in PLC-Lab mit Operanden einer realen S7-1200 verbunden werden, dann ist im ersten Schritte ein neues Device innerhalb von PLC-Lab zu erzeugen. Dazu wird ein Anlagenprojekt in PLC-Lab geöffnet (oder ein neues erzeugt) und anschließend in der Symboltabelle die nachfolgend dargestellte Schaltfläche betätigt.

Als Folge erscheint ein Dialog, auf dem als Device-Typ eine S7-1200 zu selektieren und eine Bezeichnung für das Device anzugeben ist.

Im Beispiel wurde die Bezeichnung "S7-1200-214" angegeben. Der Button "OK" bestätigt die Eingabe und bringt den nächsten Dialog zur Ansicht. Auf diesem ist die IP-Adresse der anzusprechenden S7-1200-CPU anzugeben. Des Weiteren wird die Netzwerkkarte des PCs selektiert, welche die Verbindung zur CPU herstellt, also mit dieser verbunden ist.

Im Beispiel hat die anzusprechende CPU die IP-Adresse "192.168.1.194". Auch die Einstellungen dieses Dialogs werden über OK bestätigt.

In der Symboltabelle kann man nun das neue Device selektieren und Symbole mit Operanden des Device anlegen. In der folgenden Darstellung werden drei Operanden für das Device erzeugt.

Es handelt sich dabei um zwei Eingänge und einen Ausgang. Die Eingänge haben die Adressen E0.0 und E0.1 bzw. I0.0 und I0.1 bei englischer Syntax. Der Ausgang hat die Adresse A0.0 bzw. Q0.0. Es ist unerheblich, ob die deutsche oder englische Syntax für die Operanden verwendet wird.

Die beiden Eingänge sollen mit Hilfe von Tastern innerhalb von PLC-Lab verändert werden. Der Ausgang wird mit einem Lampen-Objekt verknüpft um dessen Status zu erkennen. Zunächst wird der "Steuerung Ein"-Taster platziert, mit dem Operanden verknüpft und eingestellt.

Die vorgenommenen Einstellungen des Tasters sind im folgenden Bild nochmals zu sehen:

Im nächsten Schritt wird der "Steuerung Aus"-Taster und die Lampe platziert. Beim Aus-Taster ist zu beachten, dass dieser als Öffner einzustellen ist.

Der zweite Taster wurde als Kopie des ersten erzeugt. Dabei wurde der erste Taster selektiert und danach die Tastenkombination [STRG] + [D] betätigt.

Damit ist die virtuelle Anlage des Beispiels komplett.

Für das Beispiel wird eine CPU-1214 verwendet. Diese besitzt 14 digitale Eingänge und 10 digitale Ausgänge. Die Eingänge belegen die Adressen E0.0 bis E1.7, die Ausgänge die Adressen A0.0 bis A1.7.

Im Beispiel werden die beiden Eingänge E0.0 und E0.1 über PLC-Lab beschrieben. Diese beiden Eingänge sind auch real vorhanden. Dies bedeutet, dass der Status der realen Eingänge dominant ist. Eine Beeinflussung der beiden Eingänge in PLC-Lab über die beiden Taster hat keine Auswirkungen. Um dies zu ändern, muss die Aktualisierung des Prozessabbildes für diese Eingänge (bzw. des Moduls zu welchem diese gehören) abgeschaltet werden. Dies ist in der Hardwarekonfiguration des Moduls möglich. Im folgende Bild wurde die Einstellung vorgenommen.

Damit überschreibt der Status des Moduls nicht mehr den Status, welcher von PLC-Lab geschrieben wird. Nachdem die Einstellung vorgenommen wurde, muss die neue Konfiguration in die CPU übertragen werden, damit sie wirksam ist.
Nach dem Programmtest mit PLC-Lab kann man die Einstellung wieder rückgängig machen.

Tipp: Weitere Möglichkeiten bei der Verwendung von real vorhandenen Eingängen in PLC-Lab werden weiter unten bei der Beschreibung von Eingangs-Operanden benannt.

Das SPS-Programm zum Beispiel besteht lediglich aus einem SR-Block und befindet sich im Netzwerk 1 des OB1. Das Programm wird mit dem TIA-Portal von Siemens erstellt.

Über den E0.0 an welchem der Ein-Taster angeschlossen ist, wird der A0.0 gesetzt. Der E0.1 ("Aus-Taster") wird am R-Eingang angebracht. Dabei ist zusätzlich eine Negation zu platzieren, da der Taster "Steuerung Aus" als Öffner ausgelegt ist und somit im Ruhezustand den Status '1' liefert. Nachdem der OB1 in die S7-1200 übetragen und diese in RUN geschaltet wurde, wird das Beobachten des OB1 über die folgende Schaltfläche eingeschaltet:

Im nächsten Schritt wird zu PLC-Lab gewechselt und die Simulation gestartet. Dazu wird die RUN-Schaltfläche betätigt.

Nach wenigen Sekunden wird in PLC-Lab angezeigt, dass die Verbindung zur S7-1200 aufgebaut ist.

Damit kann der Test des SPS-Programms beginnen.

Beim Test des SPS-Programms wird der OB1 im TIA-Portal von Siemens beobachtet und die virtuelle Anlage von PLC-Lab bedient.

PLC-Lab kann sich mit einer realen S7-1200 verbinden und die virtuelle Anlage auf die CPU aufprägen. Parallel kann man über das TIA-Portal die SPS-Bausteine beobachten und so das SPS-Programm testen. Es ist also ein SPS-Programmtest möglich, ohne dass die Sensoren und Aktoren an die Module der SPS angeschlossen sind. Fortschaltbedingungen bzw. weiteres Anlageverhalten kann komfortabel über PLC-Lab bereitgestellt werden.

Eingänge können sowohl gelesen als auch beschrieben werden. Sind die Eingänge nicht real (also in Form von Modulen) vorhanden, dann ist der von PLC-Lab geschriebene Wert im Eingang gültig. Werden Eingänge beschrieben und sind diese auch physikalisch in der SPS vorhanden, dann überschreibt der reale Eingang immer den Status von PLC-Lab. Der reale Eingang ist also immer dominant.

Die erste Möglichkeit dieses Problem zu lösen besteht darin, die Aktualisierung des Prozessabbildes des Eingangsmoduls für die Dauer der Simulation abzuschalten. Nachfolgend ist eine solche Einstellung zu sehen:

Die zweite Möglichkeit ist, die Adresse des realen Eingangsmoduls für die Dauer der Simulation auf eine ungenutzte Eingangsadresse zu setzen.

Beispiel: Die Eingänge E10.0 bis E10.7 sollen über PLC-Lab beeinflusst werden. Das Eingangs-Modul wird in der Hardwarekonfiguration auf die ungenutzte Eingangsbyteadresse 50 gesetzt. Nach der Simulation wird für das Eingangs-Modul wieder die Adresse 10 eingestellt.

Es ist zu beachten, dass Änderungen in der Hardwarekonfiguration erst nach dem Übertragen in die CPU wirksam werden.

Wenn beide Möglichkeiten nicht in Betracht kommen, dann sollte PLC-Lab anstatt der Eingänge beispielsweise Daten innerhalb eines Datenbausteins (dieser darf nicht optimiert sein) oder ungenutzte Merker beeinflussen. Diese können dann zu Beginn des OB1 den Status der Eingänge überschreiben.

Beispiel: Im folgenden Beispiel beeinflusst PLC-Lab die Merkerbits M10.0 bis M10.7 also das MB10. Diese Merkerbits sollen die Eingänge E0.0 bis E0.7 überschreiben, welche real in der SPS vorhanden sind. Aus diesem Grund wird im Netzwerk 1 des OB1 über einen MOVE-Block das MB10 in das EB0 kopiert und somit der Status der Bits E0.0 bis E0.7 mit den Bits M10.0 bis M10.7 überschrieben.

Nach dem Programmtest mit PLC-Lab entfernt man einfach das Netzwerk 1 im OB1 und somit werden wieder die realen Statusinformationen aus den Eingängen verwendet.

Deutsche Syntax:

  • Bits: E10.3, E21.5
  • Bytes: EB10, EB120
  • Worte: EW10, EW20, EW34
  • Doppelworte: ED12, ED44

Englische Syntax:

  • Bits: I10.3, I21.5
  • Bytes: IB10, IB120
  • Worte: IW10, IW20, IW34
  • Doppelworte: ID12, ID44

Innerhalb der Objekte ist immer auch das Device zum Operanden mit anzugeben.

Beispiel: Es soll das Eingangsbyte 34 im Device mit der Bezeichnung "S71200-Station-3" als Operand in einem Objekt von PLC-Lab angesprochen werden.

Lösung: Als Operand ist die Angabe "S71200-Station-3.EB34" oder "S71200-Station-3.IB34" notwendig.

Tipp: Die in einer Anlage zu verwendenden Operanden sollten zunächst in der Symboltabelle mit einem Symbol versehen werden. Danach kann dann das Symbol anstatt dem Operanden in den Objekten verwendet werden. Dies hat den Vorteil, dass das Symbol per Drag-and-Drop aus der Symboltabelle eingefügt werden kann. Oder aber man nutzt die Autovervollständigung (IntelliSense) innerhalb des Editors für die Operanden.

Ausgänge können in PLC-Lab sowohl gelesen als auch beschrieben werden. Im Normalfall werden diese gelesen, d.h. der Wert der Ausgänge wird dazu verwendet, die virtuelle Anlage in PLC-Lab zu steuern. Werden Ausgänge von PLC-Lab geschrieben, so hat dies nur Auswirkungen auf die SPS, wenn der Ausgang nicht vom SPS-Programm überschrieben wird. Dies bedeutet, wird ein Ausgang im SPS-Programm beschrieben, dann überschreibt das SPS-Programm den von PLC-Lab geschriebenen Status.

Wird eine Ausgang von PLC-Lab schreibend beeinflusst, sollte dieser nicht auch noch vom SPS-Programm beschrieben werden.

Deutsche Syntax:

  • Bits: A10.3, A21.5
  • Bytes: AB10, AB120
  • Worte: AW10, AW20, AW34
  • Doppelworte: AD12, AD44

Englische Syntax:

  • Bits: Q10.3, Q21.5
  • Bytes: QB10, QB120
  • Worte: QW10, QW20, QW34
  • Doppelworte: QD12, QD44

Innerhalb der Objekte ist immer auch das Device zum Operanden mit anzugeben.

Beispiel: Es soll das Ausgangsbyte 34 im Device mit der Bezeichnung "S71200-Station-3" als Operand in einem Objekt von PLC-Lab angesprochen werden.

Lösung: Als Operand ist die Angabe "S71200-Station-3.AB34" oder "S71200-Station-3.QB34" notwendig.

Tipp: Die in einer Anlage zu verwendenden Operanden sollten zunächst in der Symboltabelle mit einem Symbol versehen werden. Danach kann dann das Symbol anstatt dem Operanden in den Objekten verwendet werden. Dies hat den Vorteil, dass das Symbol per Drag-and-Drop aus der Symboltabelle eingefügt werden kann. Oder aber man nutzt die Autovervollständigung (IntelliSense) innerhalb des Editors für die Operanden.

Merker können in PLC-Lab sowohl gelesen als auch beschrieben werden.

Wird ein Merker von PLC-Lab schreibend beeinflusst, sollte dieser nicht auch noch vom SPS-Programm beschrieben werden.

Deutsche und englische Syntax:

  • Bits: M10.3, M21.5
  • Bytes: MB10, MB120
  • Worte: MW10, MW20, MW34
  • Doppelworte: MD12, MD44

Innerhalb der Objekte ist immer auch das Device zum Operanden mit anzugeben.

Beispiel: Es soll das Merkerbyte 34 im Device mit der Bezeichnung "S71200-Station-3" als Operand in einem Objekt von PLC-Lab angesprochen werden.

Lösung: Als Operand ist die Angabe "S71200-Station-3.MB34" notwendig.

Tipp: Die in einer Anlage zu verwendenden Operanden sollten zunächst in der Symboltabelle mit einem Symbol versehen werden. Danach kann dann das Symbol anstatt dem Operanden in den Objekten verwendet werden. Dies hat den Vorteil, dass das Symbol per Drag-and-Drop aus der Symboltabelle eingefügt werden kann. Oder aber man nutzt die Autovervollständigung (IntelliSense) innerhalb des Editors für die Operanden.

PLC-Lab kann sowohl lesend als auch schreibend auf die Daten von DBs zugreifen.

Dabei darf es sich nicht um optimierte DBs handeln!

Wird ein DB-Datum von PLC-Lab schreibend beeinflusst, sollte dieses nicht auch noch vom SPS-Programm beschrieben werden.

Deutsche und englische Syntax:

  • Bits: DB2.DBX10.3, DB5.DBX21.5
  • Bytes: DB2.DBB10, DB33.DBB120
  • Worte: DB2.DBW10, DB33.DBW20, DB1.DBW34
  • Doppelworte: DB2.DBD10, DB1.DBD44

Innerhalb der Objekte ist immer auch das Device zum Operanden mit anzugeben.

Beispiel: Es soll das Datenbyte 34 des DB12 im Device mit der Bezeichnung "S71200-Station-3" als Operand in einem Objekt von PLC-Lab angesprochen werden.

Lösung: Als Operand ist die Angabe "S71200-Station-3.DB12.DB34" notwendig.

Tipp: Die in einer Anlage zu verwendenden Operanden sollten zunächst in der Symboltabelle mit einem Symbol versehen werden. Danach kann dann das Symbol anstatt dem Operanden in den Objekten verwendet werden. Dies hat den Vorteil, dass das Symbol per Drag-and-Drop aus der Symboltabelle eingefügt werden kann. Oder aber man nutzt die Autovervollständigung (IntelliSense) innerhalb des Editors für die Operanden.