PLCSim Netzwerkerweiterung "NetToPLCSim"

Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.
Ich bin neu an diesem Forum und auch mein Deutsch ist nicht so gut wie ich möchte. (Spanisch wäre besser :cool:)

Wir wollen ein S7-400 mit zwei CPU mit nettoplcsim simulieren. Haben wir eine S7-400 mit einer CPU gegen Intouch geprüft und es funktioniert OK. Habe ich auch nettoplcsim multinstance downloaden, damit wir zwei verschiedene PLCs benutzen können.

Aber wir haben nur eine IP Addresse in dem SPS mit zwei CPUs (nur ein ethernet Netzwerkkarte für die beiden CPUs) und ich bin nicht sicher, was sollte ich machen, damit alles funktioniert. (Ausserdem ob es möglich ist....) Die Idee wäre ein Intouch gegen ein S7-400 mit zwei CPUs, zu verbinden. (Für jede CPU muss man in Intouch ein verschiedenes Slot wählen) Ist es möglich? Wenn jeder CPU eine Ip Addresse hätte, gäbe es kein Problem, aber das ist ein weitere Fall.

Vielen Dank in Voraus aus Spanien.
 
Aber wir haben nur eine IP Addresse in dem SPS mit zwei CPUs (nur ein ethernet Netzwerkkarte für die beiden CPUs) und ich bin nicht sicher, was sollte ich machen, damit alles funktioniert. (Ausserdem ob es möglich ist....) Die Idee wäre ein Intouch gegen ein S7-400 mit zwei CPUs, zu verbinden. (Für jede CPU muss man in Intouch ein verschiedenes Slot wählen) Ist es möglich? Wenn jeder CPU eine Ip Addresse hätte, gäbe es kein Problem, aber das ist ein weitere Fall.

Hallo nach Spanien,
mit der Multiinstanz-Version funktioniert das indem du deiner Netzwerkschnittstelle weitere IP-Adressen zuweist.

Eine Schritt für Schritt Anleitung habe ich hier:
http://www.sps-forum.de/showpost.php?p=279277&postcount=102
verfasst.
Spanisch kann ich leider nicht, ich könnte dir höchstens auf englisch weiterhelfen.

Ich habe das schon mit Intouch und 6 Plcsim / Nettoplcsim Instanzen auf einem Rechner getestet, das ist kein Problem.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.
Ich bin neu an diesem Forum und auch mein Deutsch ist nicht so gut wie ich möchte. (Spanisch wäre besser :cool:)

Wir wollen ein S7-400 mit zwei CPU mit nettoplcsim simulieren. Haben wir eine S7-400 mit einer CPU gegen Intouch geprüft und es funktioniert OK. Habe ich auch nettoplcsim multinstance downloaden, damit wir zwei verschiedene PLCs benutzen können.

Aber wir haben nur eine IP Addresse in dem SPS mit zwei CPUs (nur ein ethernet Netzwerkkarte für die beiden CPUs) und ich bin nicht sicher, was sollte ich machen, damit alles funktioniert. (Ausserdem ob es möglich ist....) Die Idee wäre ein Intouch gegen ein S7-400 mit zwei CPUs, zu verbinden. (Für jede CPU muss man in Intouch ein verschiedenes Slot wählen) Ist es möglich? Wenn jeder CPU eine Ip Addresse hätte, gäbe es kein Problem, aber das ist ein weitere Fall.

Vielen Dank in Voraus aus Spanien.

Hallo nach Spanien!

Ich kann Dir ebenfalls nur auf Deutsch oder Englisch weiterhelfen. :!:
Wenn Du aber die Schritte wie von Thomas_v2.1 vorgeschlagen befolgst, dann müsste es sicher funktionieren.
siehe: http://www.sps-forum.de/showpost.php?p=279277&postcount=102
Auch ich simuliere im Schnitt mit 4 bis 6 CPU's!

Greetings
from Austria
 
Vielen dank für die Antworten. Und vielen Thomas für Deine Software. LibnoDave benutzen wir auch.
Ich habe kein problem wenn Ihr auf Deutsch schreibt, nur dass ich vielleicht Fähler machen könnte, wenn ich schreibe :s21:.

Dieses Beitrag hatte ich schon mal gelessen. Das ist wovon ich NetToPLCSim_Multiinstance downloaden habe. Tatsächlich haben wir (unter anderen) zwei SPSs getestet, zu dem gleichzeitig eine Verbindung mit einem HMI (Scada) haben.

Aber bis noch bin ich leider nicht fähig mit zwei CPUs von dem gleichen SPS, zu verbinden. Im gleichen Rack habe ich zwei S7-400 und nur eine Netzwerkkarte, die von beiden CPUs benutzt wird. Ich kann nicht die beiden CPUs gleichzeitig simulieren mit PLCSim. Muss ich wählen nur einen. Das ist im wirklichkeit mein Problem.
Kann ich zwei, drei.. CPUs von verschiedenen SPSs ohne Probleme simulieren (und natürlich NetToPLCSim benutzen) aber nicht zwei CPUs von dem gleichen SPS.

20.1.2011: Gestern habe ich mal nach Information versuchen... und endlich habe ich was gefunden. PLCSim kann leider nicht Multiprocessing (wie sagt man das auf Deutsch?) Unterstützen. (Vielleicht im Zukunft...)
 
Zuletzt bearbeitet:
Hallo nach Spanien,
mit der Multiinstanz-Version funktioniert das indem du deiner Netzwerkschnittstelle weitere IP-Adressen zuweist.

Eine Schritt für Schritt Anleitung habe ich hier:
http://www.sps-forum.de/showpost.php?p=279277&postcount=102
verfasst.
Spanisch kann ich leider nicht, ich könnte dir höchstens auf englisch weiterhelfen.

Ich habe das schon mit Intouch und 6 Plcsim / Nettoplcsim Instanzen auf einem Rechner getestet, das ist kein Problem.

I also use my WinCC with multiple instances of PLCSIM (even up to 8) and sometimes (approx. 1 time per 1 hour) i have "S7 block administrator error" - after this WinCC don't want to connect to any PLCSIM at all. And become to work only after Windows restart.
I tried to test different versions of Step7 and PLCSIM but no matter.

Maybe someone knows how to solve this?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
I also use my WinCC with multiple instances of PLCSIM (even up to 8) and sometimes (approx. 1 time per 1 hour) i have "S7 block administrator error" - after this WinCC don't want to connect to any PLCSIM at all. And become to work only after Windows restart.
I tried to test different versions of Step7 and PLCSIM but no matter.

Maybe someone knows how to solve this?

Could you briefly explain how your test-system is set up?
Are WinCC and Step7/Plcsim running on different machines, and on which machine does the error occur?
 
I run all 8 PLCSIM and WinCC on one PC using PLCSIM(TCP/IP) interface.
Each PLCSIM has its own IP.
Every PLCSIM is not just a "simple program". Some of them not finally checked and sometime have SystemFaults. Some of them even use TCP connections to other PLCSIMs and it works.
And from time to time I can get a problem described before when WinCC loose connections to PLCSIM untill reboot.
Beside this I use NetToPLSSim_Multi to connect to PLCSIM from the 3rd side, but I suggest that the problem is not in NetToPLCSim but in Siemens Software.
 
LabVIEW soll verbunden werden!

Moin moin zusammen!

Ich habe mir auch dieses Tool runtergeladen und bekomme schon den reinen Verbindungsaufbau hin.

In meiner Bachelorthesis stehe ich vor dem Problem, dass ich mit LabVIEW einen Prozess simulieren soll. Die SPS soll zu Simulationszwecken in PLCSim laufen und LabVIEW soll hierauf zugreifen und sich die Daten der Ausgänge abholen und entsprechend des Prozesses die Eingangsdaten zurückliefern.
Mein Problem ist nun, dass ich nicht weiß, wie ich überhaupt Daten aus PLCSim bzw. hier NetToPLCSim auslesen oder schreiben kann.
Den Verbindungsaufbau habe ich hinbekommen.. Beides ist verbunden.

Was muss ich nun an NetToPLCSim senden, damit es mir bestimmte Daten zurückliefert bzw. wie kann ich Variablen schreiben? Ich kenne mich auf dem Gebiet leider überhaupt nicht aus.:???:

Beste Grüße
Matthias
 
Zuviel Werbung?
-> Hier kostenlos registrieren
I run all 8 PLCSIM and WinCC on one PC using PLCSIM(TCP/IP) interface.
Each PLCSIM has its own IP.
Every PLCSIM is not just a "simple program". Some of them not finally checked and sometime have SystemFaults. Some of them even use TCP connections to other PLCSIMs and it works.
And from time to time I can get a problem described before when WinCC loose connections to PLCSIM untill reboot.
Beside this I use NetToPLSSim_Multi to connect to PLCSIM from the 3rd side, but I suggest that the problem is not in NetToPLCSim but in Siemens Software.

As far as I know, the "S7 block administrator error" is generated by process "s7otbxsx.exe", or if this process is not running.
I don't know why this process hangs up, and I hope it has nothing to do with nettoplcsim. Do you see any irregularities in windows task manager, e.g high memory usage?

You could try a quick fix: start s7otbxsx.exe manually (you find it in windows system32 folder). Maybe then you don't need to reboot windows to continue your simulation.
 
@Matthias (mathel):
Hab dir schon per Email geantwortet bevor ich hier gelesen habe. Wenn du zu deiner Labview Anbindung noch Fragen hast, kannst du evtl. auch einen eigenen Thread dazu aufmachen. Das Thema könnte auch noch andere interessieren.
 
As far as I know, the "S7 block administrator error" is generated by process "s7otbxsx.exe", or if this process is not running.
I don't know why this process hangs up, and I hope it has nothing to do with nettoplcsim. Do you see any irregularities in windows task manager, e.g high memory usage?

You could try a quick fix: start s7otbxsx.exe manually (you find it in windows system32 folder). Maybe then you don't need to reboot windows to continue your simulation.
That's right. I'v already tryed to restart S7otbxsx.exe manually but can't: I can kill process but if I then try to run it - shell execute doesn't work. Process xp utility shows that this S7otbxsx.exe called from CCRtsLoader.exe. Maybe there is another way to do that or maybe I do smth wrong?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hello.

Is it possible to connect somehow more than one client to NetToPLCSim?

I am trying to organize combined access to one PLCSim instance from SCADA and plant-modelling software.
 
14 Seiten später und doch nicht kapiert.

Ich muss zum 1. Mal eine Visu in Zenon 5.22 erstellen (sonst flex2008) und würde dies gerne mit PLCSIM testen.
Kann ich die Runtime und PLCSIM (5.4 SP3) auf einem PC betreiben?
Muss ich jeder Anwendung eine eigene IP geben?
Oder bin ich komplett auf dem Holzweg?
Danke,
Sir
 
Ich muss zum 1. Mal eine Visu in Zenon 5.22 erstellen (sonst flex2008) und würde dies gerne mit PLCSIM testen.
Kann ich die Runtime und PLCSIM (5.4 SP3) auf einem PC betreiben?
Muss ich jeder Anwendung eine eigene IP geben?
Oder bin ich komplett auf dem Holzweg?

Doch, klar geht das.
Bei Zenon muss du bei deiner SPS die IP-Adresse deiner Netzwerkkarte des PCs oder localhost (127.0.0.1) einstellen.

Auf den letzten Seiten ging es hauptsächlich um die Multiinstanz-Version, daher war das vielleicht etwas verwirrend ;-)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke.
Hier noch mal für alle die nicht so fit sind, so wie ich ;-)

Die IP vom eigenen PC in der HW-Config eintragen.

Im Zenon Editor ebenfalls eintragen bei:
Variablen >>> Treiber >>> S7 TCP-IP Treiber (siehe Bild)

PLCSIM startn >>> NetToPLCSim starten >>> Zenon Runtime starten und schon gehts.

zen_treiber.png
 
Zuletzt bearbeitet:
Hallo und Moin,

ich sitze hier im Moment und bekomme NetToPlcSim nicht richtig in's Laufen :-(

Ich möchte per LibNoDave auf eine 'PlcSim'- CPU zugreifen (Gleicher Rechner).
Unter XP/ SP3 funktioniert es wunderbar (IP- Adresse: 127.0.0.1).
Auf einem zweiten Rechner (Win7 /32Bit; Pro) verbindet zwar NetToPlcSim mit PlcSim, reagiert allerdings nicht auf Anfragen von LibNoDave (Mein Anwenderprogramm).

Sämtliche Einstellungen sind identisch. S7 hat den gleichen Versionsstand.
LocalHost ist auf Win7 in der 'Host' aktiviert (Wie bei XP- Rechner).
Firewall war schon komplett deaktiviert...

Hat jemand NetToPlcSim schon einmal in dieser Konfuguration unter Win7 am Laufen gehabt (127.0.0.1)?

Gruss Cliff
 
Ich möchte per LibNoDave auf eine 'PlcSim'- CPU zugreifen (Gleicher Rechner).
Unter XP/ SP3 funktioniert es wunderbar (IP- Adresse: 127.0.0.1).
Auf einem zweiten Rechner (Win7 /32Bit; Pro) verbindet zwar NetToPlcSim mit PlcSim, reagiert allerdings nicht auf Anfragen von LibNoDave (Mein Anwenderprogramm).

Hallo Cliff,
der Fehler liegt bei libnodave und nicht in nettoplcsim.

Und zwar hat sich ab Windows Vista bei den Sockets bezüglich Sicherheit etwas geändert.

Du musst bei libnodave (NICHT nettoplcsim!) in der openSocketw.c (libnodave 0.8.4.5) folgende Änderungen durchführen:
Code:
113c113
<     fd = socket(AF_INET, SOCK_STREAM, 6);
---
>     fd = socket(AF_INET, SOCK_STREAM, AF_UNSPEC);
131,133c131,133
<    if (bind(fd, (struct sockaddr *) & addr, addrlen)) {
<       LOG2(ThisModule "bind Socket error: %s \n", strerror(errno));
<     }
---
>    //if (bind(fd, (struct sockaddr *) & addr, addrlen)) {
>    //   LOG2(ThisModule "bind Socket error: %s \n", strerror(errno));
>    //}
Zeile 113 anpassen, Zeilen 131 bis 133 auskommentieren.

Ich weiß leider nicht was sich Zottel bei den einzelnen Stellen gedacht hat.
Der dritte Parameter mit Wert 6 (Protokoll AF_IPX) beim socket()-Aufruf wird seit Vista nicht mehr unterstützt, ich habe aber keine Ahnung warum hier überhaupt ursprünglich dieses Protokoll eingetragen war:
http://msdn.microsoft.com/en-us/library/ms740506(v=vs.85).aspx
Mit AF_UNSPEC sage ich Windows dass es mir egal ist ob IPv4 oder IPv6 benutzt wird.

Warum Zottel bei einem TCP-Client ein bind() aufruft weiß ich nicht, imho macht man das nur bei einem Server oder wenn ich bei einem Client meinen lokalen Port festlegen will. Und da schlagen dann die neuen Sicherheitsfunktionen zu.
http://blogs.msdn.com/b/wndp/archive/2005/08/03/anthony-jones.aspx
Ich habe den bind() Aufruf einfach auskommentiert, und dann funktioniert zumindest die testISO_TCP auch unter Windows 7 mit nettoplcsim und mit 127.0.0.1.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
@Thomas

Heißt das, dass keine Libnodave.dll aus dem im Netz zu ladenden Paket unter Vista und Win7 funktioniert?
Zottel pflegt doch libnodave eigentlich noch, du hast ihm das ja auch sicher schon geschrieben oder?
Denn ich nutze libnodave mit Delphi und da greife ich auf die fertige DLL zu.
 
Heißt das, dass keine Libnodave.dll aus dem im Netz zu ladenden Paket unter Vista und Win7 funktioniert?
Zottel pflegt doch libnodave eigentlich noch, du hast ihm das ja auch sicher schon geschrieben oder?
Denn ich nutze libnodave mit Delphi und da greife ich auf die fertige DLL zu.

Nein, das gilt nur wenn man auf seine eigene IP-Adresse zugreifen will. Also ein Zugriff von Windows 7 mit der aktuellen libnodave.dll auf eine SPS funktioniert weiterhin - keine Panik ;-)
 
Besten Dank für die Info!
Werde es Montag einmal testen.

Irgend wie habe ich das Gefühl das ich meinen XP- Rechner lieber mag ;-)

Gruss Cliff
 
Zurück
Oben