PLCSim Netzwerkerweiterung "NetToPLCSim"

Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen Thomas,<br><br>ja die SIMATIC IT Visualisierung fragt ständig informationen der PLCSim-Stationen ab.<br><br>Den Versuch erst die PLCSim-Station+NetToPLCSim zu starten und anschließend SIMATIC IT (Visu) funktioniert. Das Tool NetToPLCSim stürzt nicht mehr ab.<br>Nur für die Zukunft wäre dieser Weg zum Start der Simulationsumgebung nicht von Vorteil, da SIMATIC IT einen virtuellen Server aufbaut, was jedesmal zu einer lange Initialisierung führt.<br><br>Was mir gerade auch noch auffällt ist, dass die in der SIMATIC IT visualisierten Verbindungsüberprüfung nach kurzer Zeit eine unterbrochene Verbindung anzeigt. <img src="images/smilies/confused.png" border="0" alt="" title="verwirrt" smilieid="10" class="inlineimg"><br><br>Grüße

Gehts denn mit der von mir geänderten Version?
 
Guten Morgen Jochen,

auch bei deiner Version stürzt es ohne Einhaltung der von Thomas vorgeschlagenen Reihenfolge ab.

Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So, Test: Ich habe mir ein kleines Script geschrieben das in kürzesten Intervallen eine TCP-Verbindung zu nettoplcsim auf- und wieder abbaut.
Unter Windows 7 ist das kein Problem, unter Windows XP stürzt die aktuelle 0.9.1 bei mir aber gelegentlich auch ab. Kann daran liegen dass XP bei mir in einer VM läuft und weil dort alles etwas langsamer ist die Wahrscheinlichkeit größer ist dass der Socket während der Programmbearbeitung nach der Annahme schon wieder beendet wurde.

Das Problem liegt natürlich genau in dem Programmteil den ich von codeproject verwendet habe, von dem ich dachte dass er zuverlässig funktioniert.

Ich habe jetzt erstmal eine Abfrage eingebaut die abfängt wenn die Verbindung unmittelbar nach dem Aufbau wieder getrennt wird. Stürzt dann nicht mehr ab, allerdings bleiben unter XP die so geöffneten und getrennten Verbindungen halboffen bestehen. Nettoplcsim intern wird die Anzahl auf 100 begrenzt.
Unter Windows 7 (Prof.) ist das alles kein Problem, da kann ich problemlos in 20s 10.000 Verbindungen auf- und wieder abbauen ohne dass irgendwelche Reste bestehen bleiben.

Da muss ich erstmal nachforschen was zwischen den Betriebssystem-Versionen für Änderungen gemacht wurden.

@JFKjo
Wenn du mir eine PN mit einer Email-Adresse schickst, dann lasse ich dir die Version zum Testen zukommen.
 
Hallo Thomas,

danke für das tolle Programm.
Leider hab ich mein System nun auf 64bit umgestellt, und kann es nicht mehr so nutzen wie gewohnt.

Gibt es die "alte" Version evtl. für 64 bit?

Ich hatte auch damals mit der neuen Version das Problem, dass es eigentlich funktioniert, aber je nachdem welches Bild ich im WinCC geöffnet hab, ist die Kommunikation komplett abgebrochen.
Ich wollte immer mal genauer nachschauen was der Auslöser dazu war, aber da die alter Problem los funktionierte hab ich es noch nicht getan.

Vielen Dank und viele Grüße
Andreas
 
Läuft die alte denn nicht auf deinem 64 Bit PC? Da Step 7 auch auf dem 64 Bit Rechner ein 32 Bit Programm ist, sollts eigendlich laufen!
 
Danke, die Funktion funktioniert!

Ich hab jetzt nur noch ein kleines Problem, dass mir ständig diese Fehler auflaufen:
Code:
Item[6]  -  I21.0 BYTE 1 :BYTE[21] - Error
Item[7]  -  I80.0 BYTE 1 :BYTE[80] - Error

Ich habe zwei Variablen die direkt auf ein Eingangsbit zugreifen. (E21.6 und E80.1) gibts damit Probleme?

Welche Möglichkeit habe ich, herauszufinden, warum deine neue Version nicht funktioniert?
 
Hallo Thomas,

also die Version funktioniert soweit, dass die Fehler des ständigen Abstürzen behoben sind. Ich danke vielmals für deine Unterstützung.

Nun gibt es nur noch ein Kleinigkeit: Meine SimaticIT Visu findet nun leider nicht mehr alle Verbindungen bzw. baut nur noch zu 4 von geplanten 7 eine Verbindung auf. Auch mehrmaliges "Stop all" und "Start all" hat bis jetzt noch keine Lösung gebracht.

Würde dir eventuell noch etwas einfallen woran das liegen könnte? :confused:

Grüße JFKjo
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe zwei Variablen die direkt auf ein Eingangsbit zugreifen. (E21.6 und E80.1) gibts damit Probleme?
Ja, mit der alten Version gibt es die Beschränkungen dass Eingänge nur beschrieben und Ausgänge nur gelesen werden können. Auf S5-Timer und Zähler ist überhaupt kein Zugriff möglich.

Welche Möglichkeit habe ich, herauszufinden, warum deine neue Version nicht funktioniert?
Liegt wohl an 64 Bit Windows. Ich habe kein solches System und kann darum auch nichts testen.
 
Nun gibt es nur noch ein Kleinigkeit: Meine SimaticIT Visu findet nun leider nicht mehr alle Verbindungen bzw. baut nur noch zu 4 von geplanten 7 eine Verbindung auf. Auch mehrmaliges "Stop all" und "Start all" hat bis jetzt noch keine Lösung gebracht.

Würde dir eventuell noch etwas einfallen woran das liegen könnte? :confused:
Nicht wirklich. Sollen 7 Verbindungen zu ein und der selben Plcsim-Instanz hergestellt werden, oder hast du 7 Plcsim-Instanzen und dementsprechend 7 IP-Adressen auf deiner Netzwerkkarte konfiguriert?
Vielleicht kannst du mal mit Wireshark einen Mitschnitt der Netzwerkkommunikation machen, dann kann ich mal gucken was deine Visu da so treibt. Ich habe noch nicht rausgefunden was an den Netzwerkfunktionen bei Windows XP so großartig anders sein könnte als bei Windows 7.
Ich habe es unter Windows 7 mit 10 Plcsim Instanzen und mehreren Verbindungen pro Instanz getestet, wenn ich nur Variablendienste verwende hat da nie etwas gehakt.
 
Hallo Zuammen, hallo Thomas,

ein tolles Tool hast Du hier gebaut. Großartig.
Ich habe allerdings unter Windows 7 64bit Probleme.
Wenn ich in Deinem Tool oben im Menü auf Tools klicke, bekomme ich eine Fehlermeldung.
Bzw. ich kann den Dienst nicht um bzw. abschalten.
Unbehandelte Ausnahme in der Anwendung. Klicken Sie auf "Weiter" um den Fehler zu ignorieren und die Anwendung fortzusetzen. Wenn Sie auf "Beenden" klicken, wird die Anwendung sofort beendet.
Der Dienst s7oiehsx wurde auf dem Computer .gefunden.
Unter Details steht dann noch mehr.
So steht es da.
Als Version läuft von Dir V0.9.0

Unter Windows XP SP3 läuft alles ohne Probleme.
Als PLCSIM läuft die V5.4.

Eine Idee?
2safe4you
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, stand hier 2-3 Seiten vorher schonmal, liegt an 64 Bit Windows.
Ich habe das für 64 Bit noch nicht getestet und weiß nicht ob es funktioniert.
Zumindest der Dienst der Port 102 belegt heißt unter Win64 s7oiehsx64. Du kannst man probieren ob es funktioniert wenn du den Dienst vorher manuell beendest, und wenn nettoplcsim fragt ob es diesen Dienst beenden oder starten soll, dann auf "Nein" klicken.
 
Ja, den Dienst hatte ich schon deaktiviert.
Komisch ist auch das sich auch die Kopplungstools connecten.
Bzw. keinen Fehler bringen.

Wie kann ich denn mit einem kleinen Test der Schnittstelle Daten aus der PLCSIM entlocken, um zu sehen ob diese funktioniert?
 
Ja, den Dienst hatte ich schon deaktiviert.
Komisch ist auch das sich auch die Kopplungstools connecten.
Bzw. keinen Fehler bringen.

Wie kann ich denn mit einem kleinen Test der Schnittstelle Daten aus der PLCSIM entlocken, um zu sehen ob diese funktioniert?

Ich werds morgen mal auf meinem Win7 64Bit testen und schaun ob Ich dir helfen kann!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Unbehandelte Ausnahme in der Anwendung. Klicken Sie auf "Weiter" um den Fehler zu ignorieren und die Anwendung fortzusetzen. Wenn Sie auf "Beenden" klicken, wird die Anwendung sofort beendet.

Der Dienst s7oiehsx wurde nicht auf dem Computer .gefunden.


kann man den Port sonst noch irgendwie freischalten ?
 
kann man den Port sonst noch irgendwie freischalten ?

Dazu musst du erstmal wissen wer den Port belegt. Wenn Step 7 installiert ist, ist es eben zu 99,99% der Dienst s7oiehsx. Unter 64 Bit Installationen heißt der wohl s7oiehsx64. Manuell stoppen kann man den über die Diensteverwaltung, oder über die Eingabeaufforderung mit "net stop s7oiehsx64".

Du kannst auch über eine Eingabeaufforderung erstmal gucken wer den Port in Beschlag hat.
Dazu suchst du mit
C:\>netstat -ano | find "102"
die Nummer in der 5.Spalte in der Zeile in der in der zweiten Spalte eine IP:102 steht. Die Nummer dort ist die Prozess-ID des Prozesses welcher den Port belegt.

Bei mit sieht das so aus:
Code:
C:\>netstat -ano | find "102"
  TCP    0.0.0.0:[I]102[/I]            0.0.0.0:0              ABHÖREN         [I]2612[/I]
  TCP    0.0.0.0:10243          0.0.0.0:0              ABHÖREN         4
  TCP    [::]:10243             [::]:0                 ABHÖREN         4

Um zu der ID den Namen rauszufinden, gibst du ebenfalls auf der Eingabeaufforderung:
C:\>tasklist | find "nummer-aus-erster-Abfrage"
ein.
Für "nummer-aus-erster-Abfrage" trägst du die Prozess-ID aus der ersten Abfrage in Anführungszeichen ein.

Bei mir sieht das dann so aus:
Code:
C:\Users\Thomas>tasklist | find "2612"
s7oiehsx.exe                  2612 Services                   0        13.664 K
 
Thomas, Ich hab mal ne Prüfung für 32/64Bit Windows eingebaut. Vielleicht kannst du das ja übernehmen...
 

Anhänge

  • Nettoplcsim-S7o-v-0-9-1-src.zip
    251,1 KB · Aufrufe: 24
Zuviel Werbung?
-> Hier kostenlos registrieren
NetToPLCSim unter Java ansprechen.

Hallo Zuammen, hallo Thomas,
ein tolles Tool hast Du hier gebaut. Großartig und danke für deinen wertvollen Unterstützung
Ich habe eine oder mehrere Fragen zum NetToPLCSim Tool.
Ich habe in den letzten Woche eine modulare graphisch Oberfläche unter Java entwickelt.
Diese kommuniziert übers Ethernet mit einer IT-CP 314.

Nun wollte ich, dass diese graphische Oberfläche, mit einer virtuellen IT-CP kommuniziert.
Mir würde es langen wenn ich lediglich auf die Eingänge / Ausgänge zugreifen kann.

Wie muss mein Java Programm Daten senden z.B. Port, Methode, damit ich über die NettoplcSim auf dem vom PlcSim Simulierte IT-CP komme oder auf die Ein- Ausgänge komme ? ? ?

Danke für eure Mühen und Antworten.
 
Ich habe in den letzten Woche eine modulare graphisch Oberfläche unter Java entwickelt.
Diese kommuniziert übers Ethernet mit einer IT-CP 314.

Nun wollte ich, dass diese graphische Oberfläche, mit einer virtuellen IT-CP kommuniziert.
Mir würde es langen wenn ich lediglich auf die Eingänge / Ausgänge zugreifen kann.

Wie muss mein Java Programm Daten senden z.B. Port, Methode, damit ich über die NettoplcSim auf dem vom PlcSim Simulierte IT-CP komme oder auf die Ein- Ausgänge komme ?

Kommt drauf über welches Protokoll du mit dem CP kommunizierst. Wenn das S7-Kommunikation ist (über TCP Port 102), dann kann deine Java Anwendung auch mit nettoplcsim kommunizieren. Wenn du irgendwelche projektierten Verbindungen (AG-Send/Receive) verwendest, dann ist das mit nettoplcsim nicht möglich.
 
Zurück
Oben