Sie sind auf Seite 1von 7

NetToPLCsim S7online Version

V 0.9.4

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 entfllt 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:


Verbindung von mehrere Clients mglich (max. 100)
Beschrnkung der zu lesenden/schreibenden Datenbereiche entfllt (Timer, Counter und
Eingnge knnen jetzt gelesen werden)
Direkte Untersttzung von mehreren Plcsim-Instanzen aus einem Programm heraus
Speichermglichkeit der Konfiguration in einer Ini-Datei
Verbesserter Datendurchsatz zu Plcsim im Vergleich zur S7ProSim-Schnittstelle
Mehr Funktionen mglich wie CPU Stop/Run, lesen von diversen SZL-Listen (Verhalten bzw.
Inhalt ist jedoch anders als bei einer 'realen' CPU)

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.

Der Dienst SIMATIC IEPG Helper


Eine Step7-Installation bringt einen Dienst SIMATIC IEPG Helper mit, welcher den fr die S7-
Kommunikation notwendigen Port 102 belegt. Darum muss dieser Dienst vor dem Test mit
NetToPLCsim beendet werden. Damit die Funktionalitt von Step7 spter nicht eingeschrnkt ist,
sollte dieser Dienst nach dem Test wieder gestartet werden.

Die neue Version von NetToPLCsim prft 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:

Fr 32-Bit Step7

Stop IEPGhelper.bat:
net stop s7oiehsx

Start IEPGhelper.bat:

Thomas Wiens (th.wiens@gmx.de), 25.07.2014


net start s7oiehsx

Fr 64-Bit Step7

Stop IEPGhelper.bat:
net stop s7oiehsx64

Start IEPGhelper.bat:
net start s7oiehsx64

Hinweis
Fr den Zugriff auf die Windows Dienst-Steuerung mssen 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: 192.168.1.10

PLCSIM
(IP 192.168.1.101) NetToPLCsim

S7-Protokoll IsoOnTcp LAN-Schnittstelle


S7online (192.168.1.10)

Abbildung 1: 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 fr 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 Schaltflche
neben dem Eingabefeld geklickt (), wird eine Auswahlliste mit den verfgbaren Netzwerk-
IP-Adressen erstellt, welche mit Doppelklick oder ber OK in das Eingabefeld bernommen
werden knnen.
8) Im Feld Plcsim IP Address die IP-Adresse der CPU eingeben. Wird auf die Schaltflche
neben dem Eingabefeld geklickt (), wird eine Auswahlliste mit den erreichbaren PLCSIM-
CPUs und deren IP-Adressen erstellt, welche mit Doppelklick oder ber OK in das
Eingabefeld bernommen werden knnen.
9) Eingaben der Station mit OK besttigen
10) ber Start all werden alle in der Liste aufgefhrten Server gestartet

Thomas Wiens (th.wiens@gmx.de), 25.07.2014


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 fr eine neue Station:

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 fr den optionalen TSAP check relevant
(evtl. ist ber eine korrekte Einstellung eine Verbindung zum TIA-Portal Plcsim fr die
1200/1500er Steuerungen mglich, ist aber noch nicht zuverlssig 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 (fr
Experten: es wird dann eine Verbindung ber die eingestellte Rack/Slot Kombination und
auf den Verbindungsressourcen 1=PG, 2=OP, oder 3=Step7Basic angenommen)

Thomas Wiens (th.wiens@gmx.de), 25.07.2014


Simulation mehrerer Plcsim-Instanzen
PLCSIM1
(IP 192.168.1.101)

LAN-Schnittstelle
1. IP-Adresse
(192.168.1.10)

PLCSIM2
(IP 192.168.1.102) NetToPLCsim

LAN-Schnittstelle
2. IP-Adresse
(192.168.1.11)

PLCSIM3
(IP 192.168.1.103)

LAN-Schnittstelle
3. IP-Adresse
(192.168.1.12)

Abbildung 2: Schema Simulation mit drei Plcsim-CPUs

Um gleichzeitig mehrere PLCSIM-Simulationen ber das Netzwerk erreichbar zu machen, werden


fr jede Simulation eine eigene IP-Adresse bentigt. Entweder man hat in dem PC entsprechend
viele Netzwerkkarten (was eher unwahrscheinlich ist), oder man fgt der einen Netzwerkkarte eine
oder mehrere weitere IP-Adressen hinzu.
In den obigen Bildern ist das Hinzufgen von weiteren IP-Adressen unter Windows 7 gezeigt. Unter
Windows XP sind die Mens aber weitestgehend identisch.

Abbildung 3: Hinzufgen einer weiteren IP-Adresse (Windows 7)

Thomas Wiens (th.wiens@gmx.de), 25.07.2014


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

Die weiteren PLCSIM Instanzen knnen nach Start der ersten PLCSIM Instanz aus dem SIMATIC-
Manager aus dem PLCSIM Programm heraus gestartet werden (Menpunkt 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
erhlt.

Das grundstzliche Anlegen der Stationsdaten in NetToPLCsim erfolgt genauso wie oben fr eine
Station beschrieben. Es werden dann entsprechend zustzliche Stationen mit den zugehrigen IP-
Adressen fr PLCSIM und die Netzwerkkarte angelegt.

Fr das oben gezeigte Schema wre dann folgende Konfiguration notwendig:

Abbildung 4: 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 verfgbar. Es kann fr jede Station ein eigenes
Monitoring-Fenster geffnet werden. In dem Fenster werden nur Telegramme fr den blichen
Datenaustausch zwischen Leitsystemen und der SPS aufgeschlsselt (Read/Write-Requests).
Um sich weitere Details des Datenaustausches anzusehen, bietet sich die Verwendung von
Wireshark in Verbindung mit meiner Plugin-dll fr die S7-Kommunikation an.
http://sourceforge.net/projects/s7commwireshark

Hinweis
Durch das aktivierte Monitoring wird der Datenaustausch erheblich verlangsamt.

Thomas Wiens (th.wiens@gmx.de), 25.07.2014


Abbildung 5: Nettoplcsim Protokollmonitor

Kommandozeilenparameter
Folgende Kommandozeilenparameter sind verfgbar:

-f=konfigurationsdatei.ini Ldt automatisch die angegebene Datei


-s=Option Verhalten zur berprfung und Autostop des IEPG-Helper Dienstes.
Optionen:
YES=Automatisch stoppen, NO=Nicht stoppen, ASK=abfragen
-autostart Ist eine Konfigurationsdatei angegeben, werden automatisch die
Server fr die aktivierten Stationen gestartet

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

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

Thomas Wiens (th.wiens@gmx.de), 25.07.2014


Versionslog
0.9.0
Erste Version welche die S7online-Schnittstelle verwendet

0.9.1
Optionales Monitoring des Datenaustausches (Anzeige von Lese- und Schreibbefehlen mit
den entsprechenden Datenbereichen) hinzugefgt

0.9.2
Fehlerbehebung: Gelegentliches hngenbleiben der S7online-Schnittstelle bei Daten mit
bestimmten PDU-Gren behoben
Abfrage des auf dem System vorhandenen IEPG-Helper Dienstnamens, damit dieser auch
unter Windows 32 oder 64 Bit gestartet / gestoppt werden kann
Kommandozeilenparameter hinzugefgt, Drag&Drop einer Konfigurationsdatei auf die
NettoPLCsim.exe mglich

0.9.3
Funktionserweiterung / temporre Fehlerbehebung: Eine Client Anfrage mit SZL-ID 0x0131
Index 3 wird nicht an Plcsim durchgeleitet sondern von Nettoplcsim selber beantwortet. In
der Antwort wird dem Client mitgeteilt dass Nettoplcsim keine zyklischen Lesedienste
beherrscht. Dieser sollte dann auf die normalen Variablendienste zurckschalten. Die
Verwendung von zyklischen Lesediensten fhrte in vorigen Versionen dazu, dass die Client
Verbindung fters abgebrochen wurde, bzw. die S7online-Schnittstelle gelegentlich nicht
mehr benutzbar blieb. Der eigentliche Fehler liegt in einer zur Zeit noch nicht korrekten
Anwendung der S7online-Schnittstelle von Nettoplcsim, da Plcsim an sich diese Funktion
untersttzt.
Vereinfachung der Bedienbarkeit: Wird eine neue Station hinzugefgt, wird jetzt ein
automatischer Name vergeben der bei Bedarf angepasst werden kann.

0.9.4
Antwort beim Verbindungsaufbau dass nur ein Telegramm zur Zeit bearbeitet werden kann
(MaxAmQCalling/MaxAmQCalled)
Einstellmglichkeit fr Rack/Slot Kombination, dadurch sollte evtl. mit der Kombination 0/1
mit TIA-Portal funktionsfhig sein (ab TIA V13)
Optional aktivierbarer TSAP check: Bei aktivierter Option werden nur Verbindungen der
Rack/Slot Kombination zugehrigen TSAPs angenommen, mit den Verbindungsressourcen
1, 2 oder 3 (PG, OP, S7basic)
Protokoll-Monitor: SZL Anfragen (Index und ID) werden aufgeschlsselt

Thomas Wiens (th.wiens@gmx.de), 25.07.2014