PLCSim Netzwerkerweiterung "NetToPLCSim"

Beiträge
9.189
Reaktionspunkte
2.934
Zuviel Werbung?
-> Hier kostenlos registrieren
Wer immer schonmal gerne seine Leitsysteme im Büro testen wollte kennt sicher das Problem:
Der Chef zahlt keine Test-SPS, und PLCSim nimmt über Netzwerk (TCP/IP) keine Verbindungen an.

Darum habe ich mir mit Hilfe des S7ProSim COM-Objektes und Teilen aus libnodave dieses Schnittstellenprogramm geschrieben, mit dem Datenbereiche aus PLCSim über Netzwerk gelesen/geschrieben werden können.

Das S7ProSim-Objekt unterstützt folgende Speicherbereiche:
# Datenbausteine (lesen und schreiben)
# Merker (lesen und schreiben)
# Ausgänge (nur lesen)
# Eingänge (nur schreiben)

Hinweis: Das Programm funktioniert erst ab PLCSim Version 5.4!

Das Projekt habe ich bei Sourceforge hochgeladen:

http://nettoplcsim.sourceforge.net/

bzw.

http://sourceforge.net/projects/nettoplcsim/

Ich hoffe es kann noch jemand gebrauchen.

Über Kritiken und Anregungen würde ich mich freuen, da die PC-Programmierung nicht gerade zu meinem Hauptgeschäft gehört ;-)

Gruß
Thomas
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke !
Ich werde es bei Gelegenheit mal testen und ein Feedback geben.

Funktionieren tut es auf jedenfall ;)


Hinweis: Das Programm funktioniert erst ab PLCSim Version 5.4!

Guter Hinweis :ROFLMAO:
Das liegt allerdings nicht an "NetToPLCSIM", sondern an der Schnittstelle von Prosim, denn diese konnte in den Vorgänger versionen noch nicht wirklich viel.
(Speziell in meinem Fall war es PLCSIM V5.2)
 
Das liegt allerdings nicht an "NetToPLCSIM", sondern an der Schnittstelle von Prosim, denn diese konnte in den Vorgänger versionen noch nicht wirklich viel.
(Speziell in meinem Fall war es PLCSIM V5.2)

Ah, ich dachte du hattest Version 5.3.

Ich habe nochmal auf der Siemens Seite nach Infos zu den Servicepacks geschaut.
Dort steht zu Service Pack 1 für PLCSim 5.4:
Siemens schrieb:
Ab S7-PLCSIM V5.4 verwendet das PROSIM-Interface ausschließlich das COM-Objekt und ist z. B. mit Microsoft Visual Studio C++ V6.0 und in Microsoft Visual C++ .NET programmierbar.

Es könnte also sein dass es wirklich erst mit SP 1 funktioniert.
 
Verbindung mit WinCC

Hallo Thomas,

finde dein :TOOL: der Beschreibung nach sehr interssant und habe mir es gleich einmal runtergeladen.
Ich möchte es zusammen mit WinCC V6.2 nutzen einem Serverpaar nutzen, allerdings habe ich Problem mit der Verbindung.:confused:

Server1:
PLCSim läuft hier
NetToPlCSim hat verbindung zu PLCSim
WinCC ist direkt über Simatic S7 Protocol suite\TCP/IP
Unit: PLCSIM(RFC 1006) verbunden
Server2:
Soll nun über TCP/IP mit PLCSim auf Server1 kommunizieren.
Was muss ich nun einstellen damit es funktioniert?
(NetToPLCSim auf Server1 zeigt in der Statuszeile "Client: Not connected")
Muss ich hier weiterhin die IP der CPU oder die von Server1 eintragen und welche Unit muss ich nutzen?
hoffe du kannst mir helfen.
DANKE!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Server2:
Soll nun über TCP/IP mit PLCSim auf Server1 kommunizieren.
Was muss ich nun einstellen damit es funktioniert?
(NetToPLCSim auf Server1 zeigt in der Statuszeile "Client: Not connected")
Muss ich hier weiterhin die IP der CPU oder die von Server1 eintragen und welche Unit muss ich nutzen?

Hallo,
es ist so, dass der Rechner auf dem PLCSim läuft die IP-Adresse deiner SPS besitzen sollte.
Also hast du in deinem WinCC eine S7-Station mit z.B. 192.168.1.100 angelegt, dann müsstest du deinem PLCSim-Rechner diese IP-Adresse vergeben. WinCC baut dann eine Verbindung zu 192.168.1.100 auf und NetToPLCSim nimmt diese Anfrage an. Im Statusfeld "Client" würde dann die IP-Adresse vom WinCC-Rechner stehen.

Von zwei Rechnern kann man jedoch nicht gleichzeitig auf NetToPLCSim zugreifen, da es nur eine Verbindung zur Zeit annimmt.

Aber du schriebst ja dass du den anderen WinCC-Rechner direkt mit PLCSim koppelst, darum sollte das nicht stören.

Gruß
 
PlcSim

Hallo zusammen,
ich habe mir das Paket auch heruntergeladen.
Danke!
Ich nutze PlcSim auch sehr viel.
Kann mir evt. jemand erklären
wie ich diese Erweiterung nutze bzw. installiere.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kann mir evt. jemand erklären
wie ich diese Erweiterung nutze bzw. installiere.

Hallo,
da gibt es nichts zu installieren.
Wenn du das Paket auf deiner Festplatte entpackt hast, hast du dort einen Ordner /bin.
Dort befindet sich die NetToPLCSim.exe. Dies ist das eigentliche Programm. Im Programm gibt es ja nur zwei Buttons: Start/Stop. Mit Start wird die Verbindung zu PLCSim hergestellt (wenn es denn läuft) und das Programm lauscht daraufhin auf Port 102.

Anzumerken ist noch dass ein Dienst SIMATIC IEPG Help Service von Step 7 diesen Port belegen könnte. Diese muss dann entweder temporär gestoppt oder ganz deaktiviert werden. Dazu auch mal in die Datei liesmich.html reinschauen.

Du kannst das Programm an jede andere Stelle auf deiner Festplatte kopieren, es müssen nur die Interop.S7PROSIMLib.dll und noDaveServer.dll im gleichen Verzeichnis wie die exe vorhanden sein.

In den anderen Ordnern sind die Quellcodes vorhanden.

Ich muss mal sehen wie das bei anderen Projekten gehandhabt wird. Evtl. mache ich da nochmal ein Binärpaket und ein Sourcen-Paket.
 
Zuletzt bearbeitet:
Hallo Thomas,
bei mir kommt die Meldung:
Client: No connected
Server 1: PlcSim V5.4 SP2
Server 2: WinCCflex 2007 Runtime

Hast Du evt. ein kleines Beispielprojekt für mich?

Würde mich sehr interessieren.
 
Hallo Thomas,
bei mir kommt die Meldung:
Client: No connected
Server 1: PlcSim V5.4 SP2
Server 2: WinCCflex 2007 Runtime

Hast Du evt. ein kleines Beispielprojekt für mich?

Würde mich sehr interessieren.

Also ein Beispielprojekt würde dir nicht viel bringen.

Das einizige worauf du achten musst ist dass deine Netzwerkeinstellungen passen. So wie ich es oben auch schon erklärt habe:

Angenommen du hast bei deinem WinCC flexible Projekt für die SPS-Station die IP-Adresse 192.168.1.100 eingetragen, dann musst dein PLCSim-Rechner (bei dir "Server 1") genau diese IP-Adresse bekommen.
Subnetzmaske und Gateway natürlich auch, sodass beide überhaupt miteinander kommunizieren können.

Du muss dir vorstellen dass der PLCSim-Rechner deine spätere SPS mit Netzwerkschnittstelle darstellt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Thomas v2.1
herzlichen Glückwunsch zu diesem tollen Tool.:TOOL:
Wir bereiten zur Zeit einen Umbau von einer AEG Steuerung auf S7 vor, einschließlich WinCC 6.2 Dieses Programm ermöglicht es uns die gesamte Anlage nacheinander durchzutesten.
1000 "Danke Button"
 
Hallo zusammen,
ich bekomme leider keine Verbindung.
Wenn alles auf einem Rechner läuft, dann funktioniert es.
Auf Recher 1 (IP:192.168.2.100) läuft Step4V.5.4 mit PlcSimV.5.4SP2 und nettoplcsim, aur Rechner 2 (IP:192.168.2.106) WinCCflex 2007 Runtime.
Starte ich dann die Runtime kommt als Meldung:
(Verbindung abgebaut:
Verbindung_1, Station 192.168.2.100, Baugruppenträger 0, Platz 2).
Hat evt. jemand ein Tipp?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Auf Recher 1 (IP:192.168.2.100) läuft Step4V.5.4 mit PlcSimV.5.4SP2 und nettoplcsim, aur Rechner 2 (IP:192.168.2.106) WinCCflex 2007 Runtime.
Starte ich dann die Runtime kommt als Meldung:
(Verbindung abgebaut:
Verbindung_1, Station 192.168.2.100, Baugruppenträger 0, Platz 2).
Hat evt. jemand ein Tipp?

Hast du vielleicht eine Firewall (die von Windows oder von einem anderen "Security"-Programm) aktiv?
Wenn ja, dann diese entweder beim Testen ausschalten oder den Port 102 in der Firewall freigeben.

Wenn du das überprüft hast, mal eine Eingabeaufforderung öffnen und dort:
Code:
C:\>telnet 192.168.2.100 102
eingeben und prüfen ob Telnet sich mit nettoplcsim verbinden kann.
 
Hallo Thomas,
bei einem Rechner klappt die Verbindung mit
C:\>telnet 192.168.2.106 102 bei dem anderen nicht
C:\>telnet 192.168.2.100 102
Es konnte keine Verbindung mit dem Host hergestellt werden, auf Port 102
Ich weiß aber nicht, wer Port 102 schon belegt.
(Simatic IEPG Help Service ist es nicht)
Habe mir das Programm TCPView besorgt, kann darin aber nicht erkennen wer den Port blockiert.
Firewall ist keine aktiv.
 
Servus Herbert1,

du kannst auch mit Betriebssystembefehlen herausfinden, welches Programm welchen Port belegt. Durch Eingabe von netstat -ano erhältst du die PID-Nummer des Prozesses, welcher einen bestimmten Port belegt (siehe Bildschirmkopie, 1. Zeile in der Eingabeaufforderung -> PID 760 für Port 102). Im Task Manager musst du die Spalte für die PIDs einblenden und dann sollte das zugehörige Programm auszumachen sein.


Mit Zenon habe ich inzwischen auch die Verbindung mit zwei Unterschiedlichen Rechnern erfolgreich getestet.

An dieser Stelle noch einmal ein Lob für den Ersteller des Programms (Thomas_v2.1), für die gute Arbeit und die Wahl der Lizensierung (Open Source).

Thomas
 

Anhänge

  • capture_04032009_090732.jpg
    capture_04032009_090732.jpg
    91,4 KB · Aufrufe: 273
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus Herbert1,

du kannst auch mit Betriebssystembefehlen herausfinden, welches Programm welchen Port belegt. Durch Eingabe von netstat -ano erhältst du die PID-Nummer des Prozesses, welcher einen bestimmten Port belegt (siehe Bildschirmkopie, 1. Zeile in der Eingabeaufforderung -> PID 760 für Port 102). Im Task Manager musst du die Spalte für die PIDs einblenden und dann sollte das zugehörige Programm auszumachen sein.


Mit Zenon habe ich inzwischen auch die Verbindung mit zwei Unterschiedlichen Rechnern erfolgreich getestet.

An dieser Stelle noch einmal ein Lob für den Ersteller des Programms (Thomas_v2.1), für die gute Arbeit und die Wahl der Lizensierung (Open Source).

Thomas


I need to know how to connect the client, I am using the opc server KepServerEx
 
I need to know how to connect the client, I am using the opc server KepServerEx

Remind that NetToPLCSim works only if your Kepserver uses S7-communication over TCP/IP.

You have to set the IP-address of your PC (on which PLCSim is running)
to the IP-address your real PLC will have (and the IP you have configured in your Kepware OPC server).

Then start NetToPLCSim on your PLCSim-PC and hit the Start-Button.
If all is OK you will see:
"Starte Server...
...gestartet"
in the textbox.
The statusbar will show "PLCSIM: Verbunden".

If you have a firewall on your pc, make sure you open port 102 for incoming connections.

Then your OPC-server will be able to connect to PLCSim.

Thomas
 
Remind that NetToPLCSim works only if your Kepserver uses S7-communication over TCP/IP.

You have to set the IP-address of your PC (on which PLCSim is running)
to the IP-address your real PLC will have (and the IP you have configured in your Kepware OPC server).

Then start NetToPLCSim on your PLCSim-PC and hit the Start-Button.
If all is OK you will see:
"Starte Server...
...gestartet"
in the textbox.
The statusbar will show "PLCSIM: Verbunden".

If you have a firewall on your pc, make sure you open port 102 for incoming connections.

Then your OPC-server will be able to connect to PLCSim.

Thomas

It works very nice, Thanks.
 
Zurück
Oben