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

Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 24

Thread: RT Advanced und Drittanbietersoftware greifen auf SPS Daten zu - plötzlich n.m. mögli

  1. #11
    Join Date
    22.11.2006
    Location
    CH
    Posts
    4,237
    Danke
    940
    Erhielt 820 Danke für 614 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    welchen port nutzt ihr denn? Könntet ihr testweise auf was unverfängliches jenseits der 4000 wechseln? Also sowohl ein wie auch ausgehenden ports.

    Ihr habt da nicht zufällig noch irgendwelche geräteserver eingebunden (Serialports oder usb ports)?

  2. #12
    ADS_0x1 is online now Erfahrener Benutzer
    Themenstarter
    Join Date
    02.11.2015
    Location
    Aachen
    Posts
    186
    Danke
    28
    Erhielt 26 Danke für 23 Beiträge

    Default

    Quote Originally Posted by vollmi View Post
    welchen port nutzt ihr denn? Könntet ihr testweise auf was unverfängliches jenseits der 4000 wechseln? Also sowohl ein wie auch ausgehenden ports.

    Ihr habt da nicht zufällig noch irgendwelche geräteserver eingebunden (Serialports oder usb ports)?
    Die Software kommuniziert via ISO-On-TCP mit Remote und lokalen TSAPs - das passiert über ein- und denselben Port (102). Bei Siemens steht folgendes dazu:
    RFC1006 102 TCP RFC 1006 mit dem Titel "ISO Transport Service on top of the TCP" (ISO-on-TCP) ist eine Protokoll-Erweiterung für das TCP-Protokoll und erlaubt eine zuverlässige Verbindung zwischen zwei Systemen.
    RFC 1006 wird für folgende Standardverbindungen im SIMATIC Umfeld verwendet.


    • STEP 7 Fernprogrammierung über LAN
    • ISO-on-TCP Verbindungen
    • S7-Verbindungen über Industrial Ethernet

    Hinweis

    • Der Port 102 ist standardmäßig in Routern und Firewalls gesperrt.
    • Weitere Informationen zum Dienst RFC1006 finden Sie im Beitrag 15048962.


    Firewall ist in Ordnung. Wie bereits geschrieben haben wir durch debuggen des "alten" .net Programms die Information erhalten, dass - sobald WinCC RT advanced läuft - die .net App nicht mehr auf den Port zugreifen kann, da dieser bereits von WinCC benutzt wird.
    Das ist vollkommen logisch und macht auch Sinn.... aber warum hat der Kram dann vorher funktioniert?

  3. #13
    Join Date
    29.03.2004
    Posts
    6,651
    Danke
    162
    Erhielt 2,026 Danke für 1,439 Beiträge

    Default

    Wenn diese PC-Anwendung die Verbindung aktiv zur SPS aufbaut, dann kann ihr es egal sein ob der Port 102 schon von jemand anderen verwendet wird.
    Also entweder ist diese PC-Anwendung Server auf Port 102 und die SPS baut aktiv die Verbindung zum PC auf, oder diese Anwendung ist Client, lässt sich aber den eigenen Port nicht vom Betriebssystem zuweisen sondern möchte fix den TCP Port 102 verwenden. Das wird aber üblicherweise nie so gemacht, weil es wie hier zu sehen ist auf einem Betriebssystem immer zu Problemen führt.

    Dass es irgendwann mal funktioniert hat, könnte daran liegen, dass diese Anwendung vor dem Siemens Dienst der den Port 102 verwendet gestartet wird. Wenn dann der Siemens Dienst startet, dann kann dieser den Port 102 nicht mehr verwenden, was aber nicht weiter stört. Ich habe bei Nettoplcsim das gleiche Problem mit dem Dienst, dort schnappe ich mir in dieser Weise dem Siemens-Dienst den Port 102 weg. Vor ein paar Jahren konnte dieser Dienst ohne weitere Auswirkungen beendet werden. Siemens hat aber aus welchem Grund auch immer, immer mehr Funktionen an diesen Dienst gehängt, sodass viele Dinge nicht mehr funktionieren wenn dieser beendet wird.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  4. #14
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    13,881
    Danke
    1,127
    Erhielt 4,109 Danke für 3,314 Beiträge

    Default

    Könnte es sein, daß die Fremdsoftware gar keine ISO-On-TCP-Verbindung macht, sondern eine S7-Verbindung? Zum Port 102 kann man meines Wissens keine eigene ISO-On-TCP-Verbindung machen, zum Port 102 muß imho alles S7-Protokoll sein.
    Verwendet die Fremdsoftware eine Bibliothek eines dritten Anbieters, wie z.B. Snap7 oder Libnodave?
    Zu welchem Port, zu welcher Verbindungsressource bzw. TSAP will die Fremdsoftware die Verbindung aufbauen?
    Gibt es bei der S7-1500 evtl. Begrenzungen der Anzahl (ggf. nicht projektierter) einseitiger S7-Verbindungen zum TSAP 03.xx?
    Ist PUT/GET in der S7-1500 freigegeben?

    Hat irgendjemand (z.B. beim Zufügen des PN-Device in der Gerätekonfig) TIA-Updates eingespielt und/oder das TIA-Projekt zu einer anderen TIA-Version hochgerüstet/migriert und/oder die Firmware-Version der CPU geändert?

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #15
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    13,881
    Danke
    1,127
    Erhielt 4,109 Danke für 3,314 Beiträge

    Default

    Quote Originally Posted by ADS_0x1 View Post
    Was wir festgestellt haben, als wir das Dritt-Programm debugged haben: Wenn bereits eine Verbindung zwischen Panel und SPS besteht (und somit auch der Service gestartet ist), dann steigt das Drittprogramm mit der exception "Port already in use by another program" oder sinngemäß soetwas....
    Das scheint tatsächlich darauf hinzuweisen, daß das Problem nicht die S7-1500 ist, sondern daß das Drittprogramm den Port 102 des PC als eigenen/Absender-Port verwenden will - und das wäre tatsächlich ein Fehler des Drittprogramms, wenn es kein Dienst/Server für eingehende Verbindungen mit S7-Protokoll ist, weil das nur funktioniert, solange auf dem PC-Port 102 kein (Siemens-)Dienst läuft (wie Thomas schon schrieb). Falls tatsächlich ein fixer Absender-Port für die Verbindung nötig ist, dann muß das Drittprogramm (und ggf. das SPS-Programm der S7-1500) auf einen anderen freien Port des PC umgestellt werden.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #16
    Join Date
    29.03.2004
    Posts
    6,651
    Danke
    162
    Erhielt 2,026 Danke für 1,439 Beiträge

    Default

    Es gibt ja auch noch die S7-SAPI-Schnittstelle über die eine PC-Anwendung die Siemens Schnittstelle S7Online und die Funktionen zum Variablen lesen und schreiben aus der S7SAPI verwendet um mit einer S7 zu kommunizieren, oder eine Anwendung die libnodave als Protokolltreiber verwendet könnte ebenso S7online verwenden. Dagegen spricht aber die Fehlermeldung der Anwendung bezügl. belegten Ports.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  7. #17
    ADS_0x1 is online now Erfahrener Benutzer
    Themenstarter
    Join Date
    02.11.2015
    Location
    Aachen
    Posts
    186
    Danke
    28
    Erhielt 26 Danke für 23 Beiträge

    Default

    Hallo Thomas und Harald,

    danke erst einmal. Meine Antwort geht in die Richtung von euch beiden, daher hier mal zusammengefast:

    Ich hab jetzt nochmal mit unserem IT-Hochsprachen-Menschen geschaut:
    Das .net Programm startet einen Socketserver auf dem Port 102 und zerlegt die empfangenen Bytes nach einem Schema, dabei wird lokale und remote TSAP ausgewertet.
    Es scheint so, als wenn es selbst entwickelt ist, da keine Bibliothek eingebunden und auf keine dll verwiesen wird. Intern wird lediglich das Sockethandling der .net Umgebung genutzt.

    Hier bin ich auch überzeugt, dass das Ganze funktioniert, denn wenn der S7DOS Helper Service nicht läuft, dann funktioniert die Verbindung und TIA zeigt mir in der Verbindungsdiangose auch an, dass erfolgreich die ISO on TCP Verbindung besteht (vgl. Post 6 in diesem Beitrag, das Icon ist grün). Der aktive Part kommt hierbei von der SPS, hier die Bilder aus dem TIA Portal:


    sadfgaw4ertg2q3.pngfdesawfgqw3t1.png


    Auf dem PC war im Autostart ein Skript angelegt, dass semantisch folgendes gemacht hat:
    • Drittsoftware starten
    • 30 s Pause
    • Service Starten (S7DOS Helper Service)
    • 90 s Pause
    • WinCC Runtime advanced starten


    Latine loqui non iam possum...

  8. #18
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    13,881
    Danke
    1,127
    Erhielt 4,109 Danke für 3,314 Beiträge

    Default

    Könntest Du auch ein Bild der "Adressdetails" der projektierten Verbindung zeigen?
    (Von den 2 letzten Bildern ist lediglich informativ, daß die SPS der aktive Partner ist, und das es tatsächlich eine ISO-on-TCP-Verbindung ist.)
    Sollte beim Partner der Port 102 projektiert sein, dann ist das der Fehler der Drittapplikation. Auf dem selben Port können nicht 2 (einander fremde) Dienste gleichzeitig auf Verbindungen warten. Und Siemens wird ganz sicher nicht für irgendeinen Drittanbieter den Port 102 freigeben...

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  9. #19
    Join Date
    29.03.2004
    Posts
    6,651
    Danke
    162
    Erhielt 2,026 Danke für 1,439 Beiträge

    Default

    Quote Originally Posted by ADS_0x1 View Post
    Auf dem PC war im Autostart ein Skript angelegt, dass semantisch folgendes gemacht hat:
    • Drittsoftware starten
    • 30 s Pause
    • Service Starten (S7DOS Helper Service)
    • 90 s Pause
    • WinCC Runtime advanced starten
    Das würde sogar funktionieren, dazu müsste aber der S7DOS Dienst in den Starteinstellungen von Auto auf Deaktiviert umgestellt werden.
    Oder du musst in diesen Ablauf einen 1. Schritt zu Beginn einfügen, der den S7DOS Dienst beendet.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  10. #20
    ADS_0x1 is online now Erfahrener Benutzer
    Themenstarter
    Join Date
    02.11.2015
    Location
    Aachen
    Posts
    186
    Danke
    28
    Erhielt 26 Danke für 23 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by Thomas_v2.1 View Post
    Das würde sogar funktionieren, dazu müsste aber der S7DOS Dienst in den Starteinstellungen von Auto auf Deaktiviert umgestellt werden.
    Oder du musst in diesen Ablauf einen 1. Schritt zu Beginn einfügen, der den S7DOS Dienst beendet.
    Das haben wir versucht manuell nachzustellen, sprich: Wenn wir den Service auf dem Rechner beenden und dann die Drittapplikation starten, dann läuft das Ganze. Starten wir danach irgendwann den Service und die WinCC Runtime, dann verliert die Drittanbierter-App die Verbindung (die SPS auch...). -> Sollte doch das von dir erwähnte Vorgehen wiederspiegeln?

    @Harald: Ich kämpfe gerade damit das Projekt auf meinem Rechner zu öffnen, ich hab leider kein TIA v13 mehr drauf... sobald das funktioniert mache ich noch einen Screenshot, ansonsten - morgen.

    Viele Grüße!

Similar Threads

  1. TIA Zwei Projekte greifen auf ein HMI
    By Outrider in forum HMI
    Replies: 16
    Last Post: 16.10.2017, 13:47
  2. Replies: 2
    Last Post: 22.08.2016, 12:45
  3. Mehrere Prozesse greifen auf der selben Datei zu
    By lawkan in forum CODESYS und IEC61131
    Replies: 4
    Last Post: 24.10.2014, 16:24
  4. Replies: 1
    Last Post: 03.09.2013, 09:20
  5. Replies: 2
    Last Post: 10.04.2009, 14:10

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •