TCP/IP - passiv UND aktiv? - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: TCP/IP - passiv UND aktiv? (/Thread-TCP-IP-passiv-UND-aktiv) |
TCP/IP - passiv UND aktiv? - dragonos - 27.07.2007 07:43 Hi, ich stehe gerade vor folgendem "Problem". Die Kommunikation zwischen LabVIEW und einer SPS soll über TCP/IP ablaufen. Es ist ungewiss ob zuerst meine Anwendung oder die SPS läuft, d.h. ich sollte entweder auf die SPS verbinden oder die SPS auf mich. Ist es einfach möglich aktiv und passiv zugleich zu sein? (Beispiele über TCP/IP habe ich bereits angeschaut - jedoch sind hier nur aktiv ODER passiv beschrieben) Grüße, Alex TCP/IP - passiv UND aktiv? - eg - 27.07.2007 09:00 Ich vermute SPS soll der Server sein und dein Programm der Client. D.h. wenn dein Programm startet musst du versuchen die TCP-Verbindung zu öffnen und wenn es mal klappt, kannst du anfangen zu kommunizieren. eg TCP/IP - passiv UND aktiv? - dragonos - 27.07.2007 09:08 Folgende Info habe ich vom Entwickler der SPS: Ich soll sowohl Server als auch Client sein - je nachdem ob SPS bereits gestartet ist oder nicht. Eine kurze Zwischenlösung habe ich mir gebastelt - ich versuche auf die SPS zu verbinden - schlägt dies fehl starte ich einen Listener mit einem definierten Timeout und ermögliche so das verbinden auf mich. Nach meinem Kenntnisstand kann eine SPS ja nur Server oder Client sein - aber das ist nicht so mein Fachgebiet. TCP/IP - passiv UND aktiv? - eg - 27.07.2007 13:39 Zum Vertändnis: Ein Server (manchmal auch Slave genannt) führt Befehle des Clients aus, z.B. macht Messungen, Schaltet irgendwas und gibt die Antwort zurück. Ein Client macht keine Messungen, er schickt Befehle zum Server und wartet auf die Antwort. Was willst du denn mit deinem Programm als Server machen? Wirst du dann auf die Befehle von SPS warten und dann diese ausführen? Ich glaube nicht. Somit denke ich, dass SPS ein Server ist, egal ob gestartet oder nicht. Wenn gestartet, dann ist halt der Server da, wenn nicht gestartet, dann ist kein Server verfügbar. Du musst dann in deinem Programm versuchen die Verbindung zum Server aufzubauen. Wenn der Server noch nicht da ist, dann noch Mal versuchen u.s.w. bis der Server verfügbar ist (SPS gestartet ist). Wenn SPS schon gesartet wurde und dein Programm erst danach gestartet wird, dann wird doch der Verbindungsaufbau direkt beim ersten Mal klappen. Also egal ob SPS gestartet ist oder nicht, bleibt SPS Server und dein Programm Client. eg TCP/IP - passiv UND aktiv? - dragonos - 27.07.2007 15:37 ' schrieb:Somit denke ich, dass SPS ein Server ist, egal ob gestartet oder nicht. Wenn gestartet, dann ist halt der Server da, wenn nicht gestartet, dann ist kein Server verfügbar. Ich führe die Messungen durch. Die SPS sagt mir was ich zu tun habe und ich liefere das Ergebnis zurück. Es dreht sich darum wer den aktiven Part (verbinden) und wer den passiven Part (auf Verbindung warten) erledigt. TCP/IP - passiv UND aktiv? - eg - 27.07.2007 15:43 ' schrieb:Ich führe die Messungen durch. Die SPS kennt also deine IP-Adresse, die ist dort irgendwo eingetragen? eg TCP/IP - passiv UND aktiv? - dragonos - 27.07.2007 15:49 ' schrieb:Die SPS kennt also deine IP-Adresse, die ist dort irgendwo eingetragen? Bis jetzt noch nicht ;-) Bei der Inbetriebnahme treffen SPS und mein Programm aufeinander - die SPS wird dann meine IP kennen und ich die IP der SPS. Insofern wäre es ja egal wer mit wem verbindet - nur warum unbedingt beide Möglichkeiten vorgesehen sein sollen ist mir schleierhaft - und darauf hatte der SPS-Entwickler am Telefon auch keine Antwort (war halt immer so). Ich persönlich würde z.B. von meinem Programm eine Verbindung versuchen - schlägt sie fehl wird 1s gewartet und nochmal probiert ... . TCP/IP - passiv UND aktiv? - eg - 27.07.2007 15:52 ' schrieb:Bis jetzt noch nicht ;-) Ok, dann probiere folgendes. Gruss, eg |