Inhalt

Allgemeines

Diese Version von NetToPlcsim verwendet im Gegensatz zu der 'alten' Version nicht mehr das S7ProSim-Objekt um mit Plcsim zu kommunizieren, sondern die sogenannte S7online-Schnittstelle. Dadurch entfällt das Zerlegen und Interpretieren des S7-Protokolls, da die Daten 1:1 von der Netzwerkschnittstelle an die S7online-Schnittstelle weitergeleitet werden. Die Daten aus der S7online-Schnittstelle werden von NetToPLCSim in das IsoOnTcp-Protokoll verpackt, bzw. bei Datenempfang entpackt.

Änderungen im Vergleich zur 'alten' Version:

Um diese Version zu verwenden, muss in der PLCSIM-Simulation zwingend eine Ethernet-Schnittstelle (CP oder PN-CPU) in der Hardware-Konfiguration vorhanden sein. NetToPLCsim dient dann als Vermittler zwischen der PLCSIM-Simulation und der realen Netzwerkschnittstelle.

Installation

Das heruntergeladene Zip-Archiv an beliebiger Stelle entpacken und die NetToPLCSim.exe starten. Eine Installationsroutine ist nicht vorhanden.

Zum Deinstallieren die Dateien wieder entfernen. Es werden keine zusätzlichen Dateien oder Registrierungseinträge erstellt.

Der Dienst „SIMATIC IEPG Helper“ („SIMATIC S7DOS Help Service“ seit V5.5 SP4)

Eine Step7-Installation bringt einen Dienst „SIMATIC IEPG Helper“ mit, welcher den für die S7- Kommunikation notwendigen Port 102 belegt. Darum muss dieser Dienst vor dem Test mit NetToPLCsim beendet werden. Damit die Funktionalität von Step7 später nicht eingeschränkt ist, sollte dieser Dienst nach dem Test wieder gestartet werden.

Die neue Version von NetToPLCsim prüft bei Start ob der Port 102 frei ist. Ist dieses nicht der Fall, kann optional aus dem Programm heraus der Dienst beendet werden. Wurde der Dienst aus dem Programm beendet, gibt es bei Beendigung eine Abfrage ob der Dienst neu gestartet werden soll.

Alternativ kann man den Dienst auch über zwei Batch-Dateien mit folgendem Inhalt stoppen oder starten:

Für 32-Bit Step7

Stop IEPGhelper.bat:
net stop s7oiehsx

Start IEPGhelper.bat:
net start s7oiehsx

Für 64-Bit Step7:

Stop IEPGhelper.bat:
net stop s7oiehsx64

Start IEPGhelper.bat:
net start s7oiehsx64

Hinweis
Für den Zugriff auf die Windows Dienst-Steuerung müssen Administratorrechte vorhanden sein. Unter Windows XP reicht es dazu aus, mit einem Benutzerkonto unter den entsprechenden Rechten angemeldet zu sein. Unter Windows 7 muss das Programm mit Administratorrechten gestartet werden.

Simulation einer Plcsim-Instanz

Beispielhaft soll folgende Konstellation eingestellt werden: S7-300 PN-CPU mit IP-Adresse: 192.168.1.101 LAN Schnittstelle mit IP-Adresse: 192.168.1.10

Schema Simulation mit einer Plcsim-CPU
  1. Starten von PLCSIM aus dem SIMATIC-Manager
  2. Zugangspunkt in PLCSIM auf 'PLCSIM(TCP/IP)' einstellen
  3. SPS Programm inklusive Systemdaten in PLCSIM laden
  4. NetToPLCsim starten
  5. In NetToPlCsim eine neue Station mit „Add“ anlegen
  6. Im Feld „Name“ einen eindeutigen Namen für diese Station angeben
  7. Im Feld „Network IP Address“ die IP-Adresse der Netzwerkschnittstelle eingeben über welche die Simulation erreichbar sein soll (hier 192.168.1.10). Wird auf die Schaltfläche neben dem Eingabefeld geklickt (…), wird eine Auswahlliste mit den verfügbaren Netzwerk- IP-Adressen erstellt, welche mit Doppelklick oder über OK in das Eingabefeld übernommen werden können.
  8. Im Feld „Plcsim IP Address“ die IP-Adresse der CPU eingeben. Wird auf die Schaltfläche neben dem Eingabefeld geklickt (…), wird eine Auswahlliste mit den erreichbaren PLCSIMCPUs und deren IP-Adressen erstellt, welche mit Doppelklick oder über OK in das Eingabefeld übernommen werden können.
  9. Eingaben der Station mit OK bestätigen
  10. über „Start all“ werden alle in der Liste aufgeführten Server gestartet

Ein Client wie z.B. eine Visualisierung kann daraufhin die SPS unter der IP-Adresse 192.168.1.10 erreichen.

Zum Beendigen der Simulation sollte im ersten Schritt NetToPLCsim beendet werden, im Zweiten dann das PLCSIM-Programm.

Einstellungen im Dialog für eine neue Station:

Nettoplcsim Station Konfigurationsdialog
  1. Eindeutiger Name
  2. IP-Adresse der Netzwerkschnittstelle auf der dieser Server erreichbar sein soll
  3. IP-Adresse der Plcsim-CPU
  4. Rack/Slot Position der CPU. Diese Einstellung ist nur für den optionalen TSAP check relevant (evtl. ist über eine korrekte Einstellung eine Verbindung zum TIA-Portal Plcsim für die 1200/1500er Steuerungen möglich, ist aber noch nicht zuverlässig getestet)
  5. Ist dieser Haken gesetzt, muss auf Clientseite die korrekte Rack/Slot Kombination eingestellt sein damit auf ISO-on-TCP-Ebene eine Verbindung zustandekommt (für Experten: es wird dann eine Verbindung über die eingestellte Rack/Slot Kombination und auf den Verbindungsressourcen 1=PG, 2=OP, oder 3=Step7Basic angenommen)

Simulation mehrerer Plcsim-Instanzen

Schema Simulation mit drei Plcsim-CPUs

Um gleichzeitig mehrere PLCSIM-Simulationen über das Netzwerk erreichbar zu machen, werden für jede Simulation eine eigene IP-Adresse benötigt. Entweder man hat in dem PC entsprechend viele Netzwerkkarten (was eher unwahrscheinlich ist), oder man fügt der einen Netzwerkkarte eine oder mehrere weitere IP-Adressen hinzu. In den obigen Bildern ist das Hinzufügen von weiteren IP-Adressen unter Windows 7 gezeigt. Unter Windows XP sind die Menüs aber weitestgehend identisch.

Windows IP adresse hinzufügen Schritt 1
Windows IP adresse hinzufügen Schritt 2
Windows IP adresse hinzufügen Schritt 3

Hinweis
Um Probleme mit dem Netzwerk zu vermeiden sollten nach dem Test die zusätzlichen IP-Adressen wieder entfernt werden.

Die weiteren PLCSIM Instanzen können nach Start der ersten PLCSIM Instanz aus dem SIMATICManager aus dem PLCSIM Programm heraus gestartet werden (Menüpunkt Simulation -> Zielsystem Neu). In die neue Simulation sollte dann direkt danach das SPS-Programm inkl. Systemdaten geladen werden, da erst danach die Simulation die korrekte 'virtuelle' IP-Adresse erhält.

Das grundsätzliche Anlegen der Stationsdaten in NetToPLCsim erfolgt genauso wie oben für eine Station beschrieben. Es werden dann entsprechend zusätzliche Stationen mit den zugehörigen IPAdressen für PLCSIM und die Netzwerkkarte angelegt.

Für das oben gezeigte Schema wäre dann folgende Konfiguration notwendig:

Konfiguration Nettoplcsim mit drei SPS

Monitoring des Datenaustausches

Bei gestarteten Servern ist im Kontextmenü (klick mit rechter Maustaste auf eine Station) der Stationsliste der Eintrag „Start monitoring“ verfügbar. Es kann für jede Station ein eigenes Monitoring-Fenster geöffnet werden. In dem Fenster werden nur Telegramme für den üblichen Datenaustausch zwischen Leitsystemen und der SPS aufgeschlüsselt (Read/Write-Requests). Um sich weitere Details des Datenaustausches anzusehen, bietet sich die Verwendung von Wireshark in Verbindung mit meiner Plugin-dll für die S7-Kommunikation an.

http://sourceforge.net/projects/s7commwireshark

Hinweis
Durch das aktivierte Monitoring wird der Datenaustausch erheblich verlangsamt.

Nettoplcsim Protokollmonitor

Kommandozeilenparameter

Folgende Kommandozeilenparameter sind verfügbar:

ArgumentDescription
-f=konfigurationsdatei.iniLädt automatisch die angegebene Datei
-s=OptionVerhalten zur überprüfung und Autostop des IEPG-Helper Dienstes.
Optionen:
YES=Automatisch stoppen, NO=Nicht stoppen, ASK=abfragen
-autostartIst eine Konfigurationsdatei angegeben, werden automatisch die Server für die aktivierten Stationen gestartet

Beispiel:

NetToPLCSim.exe -f=testconfig.ini -s=NO -autostart

Des Weiteren ist es möglich, eine ini-Datei per Drag&Drop auf die NetToPLCSim.exe zu ziehen. Dann wird automatisch NetToPLCsim mit dieser Konfigurationsdatei gestartet.

Besonderheit ab Step 7 V5.5 SP4 unter 64 Bit Windows

Ab dieser Version wurde der Dienst der Port 102 belegt geändert. Der Dienst nennt sich jetzt „SIMATIC S7DOS Help Service“ (vorher „IEPG Helper Service“)

In den Dienst wurden anscheinend mehrere Funktionen integriert, sodass wenn dieser nur beendet wird diverse Programmierfunktionen nicht mehr verfügbar sind.

Damit ein Betrieb von Nettoplcsim unter diesen Umständen trotzdem zu ermöglichen, wurde im Tools-Menü von Nettoplcsim ein neuer Punkt „Get Port 102“ hinzugefügt.

Soll Nettoplcsim under Step 7 V5.5 SPS und 64 Bit Windows verwendet werden, ist folgende Reihenfolge einzuhalten:

  1. Nachdem Windows gestartet wurde darf Step 7 nicht gestartet worden sein. Falls doch, muss der Rechner neu gestartet werden.
  2. Nettoplcsim mit Administratorrechten starten.
  3. Nettoplcsim den Dienst beenden lassen.
  4. Im Tools-Menü den Punkt „Get Port 102“ auswählen, dieses sollte mit Erfolg beendet worden sein.
  5. Den Simatic Manager starten.
  6. Plcsim starten, Stationsdaten und Programm in Plcsim hochladen.
  7. In Nettoplcsim die Verbindung zu Plcsim konfigurieren und den Server starten.
  8. Die Client Applikation kann nun benutzt werden.

Hinweis
Soll nach Beendigung der Tests mit Nettoplcsim an einer realen SPS programmiert werden, so sollte auf jeden Fall ein Neustart des Rechners durchgeführt werden!