Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: [?] Port 102 - durchpusten

  1. #1
    Registriert seit
    21.05.2004
    Beiträge
    418
    Danke
    31
    Erhielt 16 Danke für 8 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, vielleicht hat Jemand einen Tip.

    Es geht um eine Testumgebung - Alles auf einem Rechner.
    Win 8.1 mit Step7 V5.5 SP 4 und PlcSim ( JA - egal, es ist oben und es läuft und für Tests stabil genug)
    NetToPlcsim
    C# Prog mit Snap7.
    Firewall ist OFF
    Laut nettoplcsim = der Port102 OK

    Das Ganze läuft und kommuniziert, wenn die "SPS" auf einem XP oder W7 Rechner ist.

    Wenn die "SPS" auf dem W8.1 Rechner ist, kann ich die SPS Pingen, ein Connect mit/über Snap7 ist nicht möglich.
    Laut Wireshark hängt es am Port 102.

    Wählt man im nettoplcsim\Tools\StartIEPGhelper -> kommt eine Meldung dass der zugehörige Dienst nicht gestartet werden kann.
    Somit hat auch die Original DLL ein Port 102 Problem.

    Hat jemand eine Idee wie man den Port102 "durchpusten" kann?
    oder wie ich sinnvoll weiter forschen kann?

    Ich möchte nicht den Rechner auf Win7 umbauen.

    useful help welcome
    kurt
    Zitieren Zitieren [?] Port 102 - durchpusten  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.793
    Danke
    144
    Erhielt 1.706 Danke für 1.238 Beiträge

    Standard

    Unter Windows 7 musste Nettoplcsim mit Administratorrechten gestartet werden, damit der Dienst beendet werden kann. Du musst ihn auch beenden (stop) und nicht starten.
    Vlt. heißt der Dienst auch mittlerweile anders, da wurde kürzlich von Siemens dran rumgefummelt.

    Um herauszufinden wer den Port belegt, machst du unter einer Eingabeaufforderung folgendes:
    netstat -ao | find "102"

    Die Zahl ganz rechts ist die Prozess-id. Wie das Programm heißt findest du mit
    tasklist | find "die prozess id"

    heraus.
    Diesen kannst du dann hoffentlich mit net stop und dem Namen beenden.

  3. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    Kurt (24.02.2015)

  4. #3
    Kurt ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.05.2004
    Beiträge
    418
    Danke
    31
    Erhielt 16 Danke für 8 Beiträge

    Standard

    -> habe bei dieser Wunderforumssoftware gerade wieder mal den Text verloren, somit Kurzfeedback.

    Danke für den Tip!

    Ergebnis:
    netstat liefert bei 102 nur einen Zeilenvorschub.
    wird nettoplcsim gestartet,
    netstat liefert bei 102 einen Eintrag - es ist nettoplcsim, listen

    -> ich forsche noch etwas...

  5. #4
    Registriert seit
    16.03.2006
    Ort
    Franken
    Beiträge
    3.843
    Danke
    30
    Erhielt 942 Danke für 819 Beiträge

    Standard

    Windows 8.1 64bit oder 32bit?
    mal bei den Diensten schauen ob der "SIMATIC S7DOS Help Service" läuft (Das ist der neue Name für den Dienst )

  6. #5
    Kurt ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.05.2004
    Beiträge
    418
    Danke
    31
    Erhielt 16 Danke für 8 Beiträge

    Standard

    Danke Christoph: 64Bit - es ist nicht der HilfeService o7oiehsx64 - der Port ist frei.
    ----------
    Die Kommunikation mit einem Probierprogramm Client/Server funktioniert über Port 102.
    Das Probierprogramm verwendet einen TcpListener..

    -> nach 3 x korrigieren und viel forschen:
    Es muss ein Kompatibilitäsproblem auf der Clientseite sein.
    wenn ich mit dem ProbierClient auf NetToPlcSim verbinde, und etwas sende, wird die OnReceiveData in NetToPlcSim getriggert.

    Ich schaffe sowohl mit snap7 als auch mit den JFK Toolbox Elementen keine Verbindung.
    Socketfehler 10061 (du bist da, aber redest nix mit mir)
    OnReceiveData triggert nicht
    Wireshark errötet wenn ein Zugriff auf Port 102 kommt.

    Kurt
    ich werde das lassen.
    Geändert von Kurt (24.02.2015 um 14:01 Uhr) Grund: noch was ein/aufgefallen - klüger geworden

  7. #6
    Kurt ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.05.2004
    Beiträge
    418
    Danke
    31
    Erhielt 16 Danke für 8 Beiträge

    Standard

    Das Ergebnis:

    zum Test verwende ich nun S7.Net+ von Github, da es dabei um eine schlanke für mich überschaubare Lösung handelt.

    Es wird darin die Klasse System.Net.Sockets.Socket verwendet.
    Diese liefert beim Connect ebenso einen 10061 Fehler wie Snap7 und JFK Libno .

    Dies kann mit einer Holzhammermethode behoben werden.

    es wird ein TcpClient mit dem Endpoint SPS_IP und Port 102 erstellt und connected.
    client = new TcpClient();
    client.Connect(serverendpoint);
    das klappt

    Die alte Socketvariable _mSocket wird danach mit TcpClient.Client zugewiesen
    _mSocket = client.Client;
    der Rest des Progs bleibt (bis auf das abmelden/zerlegen bei ProgEnd)

    Wo ist der Unterschied?
    Im Debugger -variablenview- lässt sich kein Unterschied sehen.

    aber es funktioniert somit die Kommunikation zu NetToPlcSim,
    im Wireshark sieht es gut aus und im Monitor von N2PSim ebenso.

    jetzt werde ich noch ein wenig "rumprobieren".
    Aber befriedigend ist das nicht und Lösung auch keine.

    Kurt

    Ende:
    es funktioniert nach Grobtest anscheinend.
    Zumindest der Datenaustausch im Merkerbereich.
    Bei DB kommt für alle Elemente 0 (Wert) zurück - entweder mache ich was falsch oder die Soft hat ein Loch. Will ich jedoch nicht erforschen.
    Rausfliegen tut er nirgends und auf der S7online Seite sind Bytes belegt ebenso auf der Client Seite (receivepuffer).
    Die Kommunikation funktioniert sowohl lokal (alle progs isoliert auf einem Rechner im selben OS Win8.1/64) als auch wenn der Client über das Netz zugreift.

    etwas ratlos wie es weitergeht - werde das jedoch mal beenden und der Arbeit mit mehr Wirkleistung zuwenden.
    Geändert von Kurt (24.02.2015 um 16:44 Uhr) Grund: Ende eingefügt

  8. #7
    Registriert seit
    29.03.2004
    Beiträge
    5.793
    Danke
    144
    Erhielt 1.706 Danke für 1.238 Beiträge

    Standard

    Ich fasse mal zusammen was ich aus deiner Beschreibung entnehme:

    1) Du hast mit Nettoplcsim keine Probleme unter Windows XP oder Windows 7
    2) Du hast keine Probleme dich mit Snap7 zur Nettoplcsim aus 1) zu verbinden
    3) Nettoplcsim funktioniert unter Windows 8 nicht korrekt

    Dann muss also irgendwas unter Windows 8 anders sein. Ich habe kein Windows 8, und soweit ich weiß ist Step7 auch nicht dafür freigegeben. netstat zeigt laut deinen Angaben zumindest an dass der TCP-Server von Nettoplcsim läuft. Dann kann es nur an der S7online-Schnittstelle liegen. Die ist seit dem Siemens SP4? unter 64 Bit nicht mehr stabil verwendbar, ich habe noch nicht rausgefunden was dort intern geändert wurde. Mal abgesehen davon, dass ich die Schnittstelle wohl noch nie 100% korrekt bedient habe, weil alle Funktionen die von der SPS initiierte Telegramme verwenden noch nie funktioniert haben. Es gibt leider keine offizielle Doku zu der Schnittstelle.

    Die offizielle Schnittstelle zu Plcsim (S7ProSim) ist nur sehr eingeschränkt von der Funktion und auch schneckenlangsam. Kannst ja einfach mal testen ob diese unter Win8 noch funktioniert. Bei sourceforge kannst du dir auch die alte 0.7.2 herunterladen welche diese Schnittstelle verwendet.

  9. #8
    Kurt ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.05.2004
    Beiträge
    418
    Danke
    31
    Erhielt 16 Danke für 8 Beiträge

    Standard

    Hallo Thomas,

    ok - da habe ich wohl zu verdreht geschrieben.

    Es gibt kein Problem mit NetToPlcSim.
    Es ist ein Problem im Client beim Connect (egal was im Host als Ziel angesprochen wird)
    Für meine Versuche habe ich nur die Clientseite verändert.

    Das Problem entsteht
    wenn der Client ein Socket.connect verwendet und der Host/Server/Zielrechner ein Win8.1 (64) besitzt.
    es entsteht auch wenn man am Server einen Echoserver laufen lässt oder sonst was.
    wenn die ClientSoft mit der Klasse Socket einen connect versucht wird diese vom OS nicht reingelassen. (man kommt also garnicht bis zum Ziel)


    Gelöst werden kann das:
    wenn der Client (anstelle von Socket) die Klasse TcpClient für den Connect verwendet.

    Das Problem entsteht, wenn bei mir nicht eine Sondersituation vorliegt, mit allen Clients die Socket verwenden und auf einen Win8.1 Rechner zugreifen wollen.

  10. #9
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Versuch mal den FullMangedConnect von meiner Connection Library, da wird glaub auch ein TcpClient verwendet!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  11. #10
    Kurt ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.05.2004
    Beiträge
    418
    Danke
    31
    Erhielt 16 Danke für 8 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Jochen,

    wäre zwar interessant, aber...
    ... meine mühsam aufgebaute Testumgebung hat der Partitionierer vernichtet.
    Habe (bin dabei) die Kiste auf Win7 umgebaut und somit keinen Win8.x Rechner mehr zur Verfügung.

    kurt

Ähnliche Themen

  1. XV-102 mit Visu
    Von Mobi im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 02.08.2012, 13:17
  2. SFC 102 Parameter auslesen
    Von marsi im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 07.10.2011, 16:17
  3. Auswahlschaltung mit s5 102 U
    Von Mess&Regler im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 26.03.2007, 09:54
  4. BLD 102
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 11.10.2005, 11:21
  5. CPU 102
    Von waldy im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 12.11.2003, 09:10

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •