Device S7-300/400 von Siemens oder kompatiblen (VIPA-SPEED7, VIPA-SLIO, usw.)

PLC-Lab kann über Ethernet, NetLink Pro und Simatic Net mit einer realen S7-300/400 von Siemens oder kompatiblen CPUs wie z.B. VIPA-SPEED7, VIPA-Slio usw. verbunden werden. 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 oder einer anderen S7-Programmiersoftware (Simatic-Manager, WinSPS-S7) 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.

Nachfolgend werden zunächst die Voraussetzung für die einzelnen Verbindungsarten benannt.

Verfügt die anzusprechende S7-300/400 über eine Ethernet bzw. Profinet-Schnittstelle, dann kann diese Schnittstelle für die Kommunikation von PLC-Lab mit der CPU verwendet werden. Die Verbindung wird dabei über ein Ethernetkabel von der Netzwerkkarte des PCs auf die CPU hergestellt. Verfügt die SPS über einen Ethernet-CP, dann ist auch über diesen die Kommunikation möglich.

Für diese Verbindungsart ist lediglich die IP-Adresse der anzusprechenden CPU bzw. des Ethernet-CPs und die im PC zu verwendende Netzwerkkarte einzustellen.

Die Adapter der NetLink Pro-Familie können auf die MPI- oder Profibusschnittstelle einer S7-300/400 aufgesteckt werden. Auf der PC-Seite werden diese mit der Netzwerkkarte des PCs verbunden. Es handelt sich also um Ethernet-nach-MPI bzw. Ethernet-nach-Profibus-Umsetzer.

Folgende Parameter sind bei der Verwendung eines NetLink Pro einzustellen:

Parameter Bedeutung
IP-Adresse Die IP-Adresse des anzusprechenden NetLink Pro
Netzwerk-Adapter Der Netzwerkadapter des PCs in welchen der NetLink Pro eingesteckt ist
PG-Adresse Die Bus-Adresse des NetLink Pro im MPI bzw. Profibus-DP-Netzwerk. Diese Adresse muss eindeutig sein. Die Standard-PG-Adresse ist 0
MPI/DP-Adresse CPU Die MPI bzw. Profibus-DP-Adresse der anzusprechenden CPU
Höchste MPI-Adresse Die Höchste im MPI/DP-Bus mögliche Adresse. Erlaubte Werte sind 15, 31, 63, 126
Baudrate MPI/DP Die im MPI- bzw- Profibus-DP eingestellte Baudrate. Diese wird normalerweise automatisch vom NetLink Pro ermittelt. Ist es in Ausnahmefällen notwendig, die automatische Baudratenerkennung abzuschalten, dann ist die in der Bus-Konfiguration verwendete Baudrate anzugeben. Bei MPI ist dies normalerweise 187.5kBaud
Baudrate automatisch ermitteln Wenn selektiert, dann versucht der NetLink Pro die Baudrate des MPI/DP-Netzwerks automatisch zu ermitteln (Standardeinstellung). Ist dies nicht möglich, dann wird die Option deselektiert und die Baudrate des Busses muss von Hand eingestellt werden.

Ist der Simatic-Manager oder das TIA-Portal auf dem PC installiert, dann kann auch die Verbindungsart Simatic-Net verwendet werden. In diesem Fall können z.B. die Siemens-USB-Adapter (CP5711, USB-MPI-Adapter) für die Kommunikation zum Einsatz kommen.

Einzig die MPI/DP-Adresse der anzusprechenden CPU ist in PLC-Lab anzugeben. Die weiteren Einstellungen sind über den mit "..." gekennzeichneten Button erreichbar. Bei Betätigung erscheint der Dialog "PG/PC-Schnittstelle einstellen" von Siemens. Hier ist dann der vorhandene Schnittstellenadapter und dessen Parameter einzustellen. So wie dies vom Simatic-Manager oder dem TIA-Portal her bekannt ist.

Soll eine virtuelle Anlage in PLC-Lab mit Operanden einer realen S7-300/400 verknüpft 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-300 oder S7-400 zu selektieren und eine Bezeichnung für das Device anzugeben ist. Im Beispiel wird eine S7-300 verwendet.

Im Beispiel wurde die Bezeichnung "314PNDP" angegeben. Der Button "OK" bestätigt die Eingabe und bringt den nächsten Dialog zur Ansicht. Da die verwendete CPU über eine Profinet-Schnittstelle verfügt, kann diese direkt mit der Netzwerkkarte des PCs verbunden werden. Somit muss man auf dem Dialog nur die IP-Adresse der CPU und die verwendete Netzwerkkarte angeben.

Im Beispiel hat die anzusprechende CPU die IP-Adresse "192.168.1.179". 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-314PN/DP verwendet. Diese besitzt 24 integrierte digitale Eingängen und 16 integrierte digitale Ausgänge. Die Eingänge wurden in der Hardwarekonfiguration auf die Adressen E0.0 bis E2.7, die Ausgänge die Adressen A0.0 bis A1.7 eingestellt.

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.

Es wird "TPA1" als Prozessabbild eingestellt. Dies bedeutet, das Aktualisieren des Prozessabbilds muss vom Programmierer selbst angestoßen werden. Wird dies nicht getan, dann werden das Prozessabbild der Eingänge 0.0 bis 2.7 nicht von den realen Eingängen überschrieben. Der von PLC-Lab geschriebene Status bleibt also erhalten. 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-300 ü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-300 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-300/400 verbinden und die virtuelle Anlage auf die CPU aufprägen. Parallel kann man über das TIA-Portal (oder Simatic-Manager, WinSPS-S7 V6, usw.) 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 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 "3152DP" als Operand in einem Objekt von PLC-Lab angesprochen werden.

Lösung: Als Operand ist die Angabe "3152DP.EB34" oder "3152DP.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 "3152DP" als Operand in einem Objekt von PLC-Lab angesprochen werden.

Lösung: Als Operand ist die Angabe "3152DP.AB34" oder "3152DP.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 "3152DP" als Operand in einem Objekt von PLC-Lab angesprochen werden.

Lösung: Als Operand ist die Angabe "3152DP.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.

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 "3152DP" als Operand in einem Objekt von PLC-Lab angesprochen werden.

Lösung: Als Operand ist die Angabe "3152DP.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.