Device PLCSIM Advanced

Im folgenden Beispiel wird eine Anlage erstellt und zum Test eines SPS-Programms für eine S7-1500 von Siemens verwendet. Dabei soll das SPS-Programm von einer Instanz in PLCSIM Advanced von Siemens bearbeitet werden.

Hinweis: Das PLCSIM Advanced ist nicht das integrierte PLCSIM des TIA-Portals. PLCSIM Advanced bietet erweiterte Simulationsmöglichkeiten von SPS-Programmen für die S7-1500. Die Software PLCSIM Advanced muss zusätzlich zum TIA-Portal erworben werden. Infos zu PLCSIM Advanced: https://support.industry.siemens.com/cs/document/109739660/simatic-s7-plcsim-advanced%3A-co-simulation-via-api?dti=0&lc=de-WW

PLC-Lab unterstützt ab der Version 1.5.3.0 das Device PLCSIM Advanced. Dabei muss die PLCSIM Advanced Version 2.0 SP1 oder höher zum Einsatz kommen.

Im ersten Schritt wird das Control Panel von PLCSIM Advanced gestartet.

Nun ist der Name einer Instanz anzugeben, im Beispiel wird "Instanz1" als Bezeichnung verwendet.

Über den Button "Start" wird die Instanz gestartet. Kurz darauf ist die Instanz sichtbar.

Die Instanz entspricht einer CPU. Diese kann momentan nicht auf Run geschaltet werden, da diese noch nicht konfiguriert ist. Dies soll im nächsten Schritt mit Hilfe des TIA-Portals erledigt werrden.

Nach dem Start des TIA-Portals wird ein neues Projekt erstellt.

Danach ist das Gerät zu konfigurieren.

Innerhalb der SPS-Familie S7-1500 wird für das Beispiel eine S7-1513 selektiert. Welche CPU dabei selektiert wird ist unerheblich. Es muss eine S7-1500 mit einer Version >= V1.8 sein, damit diese von PLCSIM Advanced simuliert werden kann. Welche CPUs genau unterstützt werden, kann dem Handbuch bzw. der Hilfe von PLCSIM Advanced entnommen werden.

Im TIA wird zur Projektansicht gewechselt und die Gerätekonfiguration der Station aufgerufen.

Dieser Eintrag findet sich innerhalb der Task-Card "Projektnavigation". Über einen Doppelklick wird die Station mit den Baugruppen sichtbar, momentan ist dabei nur die CPU zu sehen. Im Beispiel sollen die Eingänge E0.0 bis E1.7 sowie A0.0 bis A1.7 als Baugruppen konfiguriert werden. Somit wird eine DI16 und eine DQ16 aus dem Baugruppenkatalog in das Rack der SPS eingefügt. Die Anfangsadresse der Module wird jeweils auf 0 eingestellt.

Es ist darauf zu achten, dass für die in PLC-Lab verwendeten Eingänge und Ausgänge entsprechende Eingangs- und Ausgangsmodule in der Hardwarekonfiguration der S7-1500 vorhanden sein müssen. Anderenfalls werden diese von PLCSIM Advanced nicht korrekt mit dem Prozessabbild synchronisiert.

Nach diesen Aktionen hat die SPS folgendes Aussehen:

Bevor nun mit dem Erstellen des SPS-Programms begonnen wird, muss im TIA-Projekt die Simulierbarkeit der Bausteine eingestellt werden.

Ohne die Einstellung der Simulierbarkeit der Bausteine im TIA-Projekt, kann das SPS-Programm nicht in PLCSIM Advanced simuliert werden.

Dazu wird innerhalb der Task-Card "Projektnavigation" das Kontextmenü des Projekts und dort dessen Eigenschaften aufgerufen.

Als Folge ist der Dialog mit den Eigenschaften des Projekts zu sehen. Im Register "Schutz" befindet sich die notwendige Einstellung.

Nach Selektion kann der Dialog über OK bestätigt werden.

Das SPS-Programm benötigt nur drei Operanden, diese werden in der Variablentabelle mit Symbolen versehen.

Das eigentliche SPS-Programm wird im OB1 programmiert und hat folgendes Aussehen.

Es besteht aus einem S/R-Glied. Am S-Eingang wird der E0.0 "Start" angegeben, am R-Eingang der negierte E0.1 "Stop". Der Speicher wird dem A0.0 "LampeStart" zugeordnet.

Damit ist die Konfiguration und das SPS-Programm fertiggestellt. Die Hardware und Software kann übersetzt und in die Instanz von PLCSIM Advanced übertragen werden. Dazu wird im Kontextmenü der Station der Punkt "Übersetzen->Hardware und Software" ausgeführt.

Anschließend ist im Kontextmenü der Menüpunkt "Laden in Gerät->Hardware und Software" zu selektieren.

Daraufhin ist zunächst der Dialog "Vorschau Laden" ...

... und anschließend der Dialog "Ergebnisse des Ladevorgangs" zu sehen.

Bei Letzterem ist das Starten der Baugruppe einzustellen.

Nach diesen Aktionen hat sich die Anzeige der Instanz auf dem Control Panel von PLCSIM Advanced geändert. Die CPU wird nun im Betriebszustand RUN angezeigt.

Nach dem Start von PLC-Lab wird ein neues Projekt selektiert.

Im ersten Schritt wird ein neues Device vom Typ "PLCSIM Advanced" erzeugt. Dazu wird innerhalb der Symbol-Tabelle der Button "Ein neues Device erzeugen" betätigt.

Auf dem erscheinenden Dialog wird als Device-Typ "PLCSIM Advanced" selektiert. Als Name für das Device soll im Beispiel "Advanced01" angegeben werden. Diese Bezeichnung ist frei wählbar.

Über OK wird der Dialog bestätigt. Daraufhin ist der Dialog "Einstellungen PLCSIM Advanced" zu sehen. Hier ist der Name der anzusprechenden PLCSIM Advanced Instanz anzugeben. Im Beispiel hat die Instanz den Namen "Instanz1", dieser kann auf dem Control Panel von PLCSIM Advanced abgelesen werden. Wird der Name nicht korrekt angegeben, dann kommt keine Verbindung zustande. Nachfolgend der für das Beispiel ausgefüllte Dialog.

Auch dieser kann über OK bestätigt werden.

Nun sind die Operanden und Symbole in die Symboltabelle einzutragen. Die Symbole könnten auch aus der TIA Variablentabelle importiert werden (im XML-Format), die drei für das Beispiel benötigten Operanden sollen allerdings händisch angelegt werden.

Wichtig dabei ist, dass die Operanden dem Device "Advanced01" zugeordnet werden. Deshalb ist dieses Device in der Auswahl der Devices zu selektieren.

Wurde dies erledigt, dann kann der erste Operand in die Tabelle eingefügt werden. Dazu wird die Einfüge-Schaltfläche innerhalb der Symboltabelle betätigt.

Als Folge ist der erste Operand mit der Adresse I0.0 in der Symboltabelle vorhanden. Der Operand hat ein Standardsymbol, welches in "Start" abzuändern ist.

Über die Tab-Taste gelangt man in die Zeile des Operanden. Hier ist die Adresse I0.0 angegeben, was für Input 0.0 steht, also dem Eingang 0.0. Man kann nun die Adresse in E0.0 abändern, wenn die deutsche Syntax zu verwenden ist. Oder man belässt die Angabe. Als Kommentar wird "Start-Taster" eingetragen.

Mit Hilfe der Einfüge-Schaltfläche können nun die weiteren beiden Operanden eingefügt und deren Symbole angegeben werden. Beim Eintrag für die Lampe ist der Operand in A0.0 bzw. Q0.0 abzuändern. Nachfolgend die komplett ausgefüllte Symbol-Tabelle.

Im nächsten Schritt werden die beiden Taster und die Lampe für das Beispiel platziert. Begonnen wird mit dem Start-Taster. In der Rubrik "Schalter->Schalter ohne Leuchteinsatz" wird ein grüner Schalter selektiert.

Danach bewegt man die Maus an die Stelle innerhalb der Zeichenfläche, an welcher der Schalter zu platzieren ist. Der Mauszeiger hat dabei die Form eines Kreuzes angenommen. Bei Betätigung der linken Maustaste kann das Schalter-Objekt auf der Zeichenfläche aufgezogen werden. Lässt man die Maustaste los, dann ist der Vorgang abgeschlossen.

Nachdem der Schalter platziert wurde, sind dessen Eigenschaften innerhalb der Tabelle mit den Eigenschaften der Objekte zu sehen. Im Beispiel soll zunächst der Operand angegeben werden, mit dem das Schalter-Objekt verbunden ist. Dieser wird also beim Betätigen des Schalters beeinflusst. Für die Angabe des Operanden stehen mehrere Möglichkeiten zur Verfügung:

Erste Variante "Autovervollständigung": Bei der ersten Variante wird in der Zelle für den Operanden zunächst der Device-Name gefolgt von einem Punkt angegeben, im Beispiel also "Advanced01.". Anschließend wird die Tastenkombination [STRG] + [Leerzeichen] betätigt. Als Folge werden alle Symbole dieses Devices in einer Liste angezeigt. Man wählt das gewünschte Symbol mit Hilfe der Cursortasten (Up bzw. Down) aus und bestätigt dies mit der Return-Taste. Das selektierte Symbol wird dann als Operand eingetragen. Nachfolgend sind diese Schritte zu sehen:

Zweite Variante "Drag-and-Drop": Bei der zweiten Variante wird die Zeile des Operanden in der Symboltabelle selektiert und dann per Drag-and-Drop auf der Beschreibung der Operanden-Eigenschaft oder dem Editor der Eigenschaft fallen gelassen.

Dritte Variante "Drag-and-Drop" auf das Schalter-Objekt: Nun zur dritten Variante. Bei dieser wird ebenfalls der Operand aus der Symboltabelle selektiert und dann per Drag-and-Drop entnommen. Allerdings ist das Ziel der Schalter selbst. Dies bedeutet, der Operand wird direkt über dem Objekt fallen gelassen. Bei Schalter-Objekten wird der so eingefügte Operand automatisch als der Operand eingefügt, der vom Schalter beeinflusst wird.

Der Vorteil der beiden Varianten 2 und 3 besteht auch darin, dass automatisch das Symbol des Operanden für die Beschriftung des Schalter-Objekts verwendet wird.

Wurde eine der Varianten ausgeführt, dann ist der Schalter mit dem Symbol "Start" und somit dem E0.0 verbunden. Jetzt muss das Schalter-Objekt noch als Taster definiert werden. Des Weiteren soll als Text "Start" mit einer Schrittgröße "12" im Schalter-Objekt erscheinen. Nachfolgend sind die dazu notwendigen Eigenschaften dargestellt:

Nun zum zweiten benötigten Schalter-Objekt. Dieser soll aus einer Kopie des ersten Schalters entstehen. Dazu wird der erste Schalter selektiert und anschließend die Tasten [STRG] + [D] betätigt. Als Folge wird eine Kopie des selektierten Schalters neben dem Quell-Objekt platziert.

Damit die Eigenschaften des neuen Schalters in der Tabelle erscheinen, wird auf eine freie Stelle im Zeichenfenster geklickt und danach der neue Schalter mit der Maus selektiert. Nun sind dessen Eigenschaften zu sehen und können verändert werden.

Im ersten Schritt ist der Operand des Schalters anzupassen. Da dieser der Taster "Stop" sein soll. Dies soll mit Hilfe der oben beschriebenen dritten Variante erfolgen. Es wird somit der Operand mit dem Symbol "Stop" in der Symbol-Tabelle per Drag-and-Drop über dem Schalter-Objekt fallen gelassen.

Bei dieser Aktion wird auch die Beschriftung mit verändert, da ja das Symbol des neuen Operanden als Beschriftung des Schalter-Objekts übernommen wird. Somit ist in den Eigenschaften des Schalter-Objekts nur noch der Charakter des Schalters als Öffner einzustellen.

Zuletzt wird ein Lampen-Objekt benötigt um den Zustand "Start" zu signalisieren. Dazu wird in der Auswahl der Objekte innerhalb der Rubrik "Lampen->Leuchtmelder" ein grüner Leuchtmelder ausgewählt.

Danach kann die Lampe auf der Zeichenfläche aufgezogen werden.

Im nächsten Schritt wird dann der Operand mit dem Symbol "Lampe" dem Objekt zugewiesen. Auch hier wird dies per Drag-and-Drop auf dem Objekt ausgeführt.

Damit ist der Operand als Lampen-Operanden eingetragen. Die Beschriftung der Lampe kann entfernt werden.

Somit wird im Objekt kein Text mehr angezeigt.

Nach diesen Aktionen hat die Zeichenfläche folgendes Aussehen:

Das PLC-Lab Projekt ist somit komplett.

Da PLCSIM Advanced mit der Instanz und der Konfiguration bereits gestartet ist, kann in PLC-Lab ebenfalls die Simulation gestartet werden. Dazu wird die folgende Schaltfläche in PLC-Lab betätigt:

Daraufhin versucht PLC-Lab die Verbindung zu PLCSIM Advanced aufzubauen. Wurde die Verbindung hergestellt, dann wechselt die Anzeige im unteren Bereich von PLC-Lab wie folgt:

Nun kann man zum TIA wechseln und das Beobachten des OB1 einschalten, dazu wird der nachfolgend dargestellte Maus-Button betätigt:

Anschließend wechselt die Anzeige des OB1 und es werden die Statusdaten des Bausteins angezeigt. Man kann nun die Taster in PLC-Lab umschalten und die Auswirkungen im OB1 beobachten.

Es ist zu erkennen, dass bei Betätigung des Tasters "Start" der Ausgang A0.0 auf den Status '1' gesetzt wird und als Folge die Lampe leuchtet. Bei Betätigung des "Stop"-Tasters wird der A0.0 rückgesetzt und die Lampe wird wieder dunkel.

Im Beispiel wurde gezeigt, wie in PLC-Lab eine virtuelle Anlage zum Test eines SPS-Programms erstellt werden kann, welches in PLCSIM Advanced bearbeitet wird. Im Beispiel wurde die Verbindung zu einer Instanz mit der Bezeichnung "Instanz1" aufgebaut. Diese Bezeichnung der Instanz wird beim Anlegen des PLCSIM Advanced Device in PLC-Lab innerhalb der Eigenschaften angegeben.

Diese Bezeichnung ist jederzeit veränderbar, indem man das Device selektiert und die Schaltfläche "Einstellungen des Devices verändern" betätigt.

Auf dem erscheinenden Dialog "Einstellungen PLCSIM Advanced" kann dann der Instanz-Name neu angegeben werden.

Soll eine weitere Instanz von PLCSIM Advanced im gleichen Projekt angesprochen werden, dann wird ein weiteres Device vom Typ PLCSIM Advanced erzeugt und der entsprechende Instanz-Name angegeben. In der Symboltabelle kann man daraufhin Operanden für dieses neue Device erzeugen und den Objekten zuweisen.