30.04.2008 11:39 | |
Beiträge: 5822 Bewertung: (411)
|
Hallo Eleu, Ich würde dass mal versuchen. Es ist zwar ein Beispiel für ISO Transport, aber für TCP ändert sich ja nur die Adressierung und anstelle des TSAP der Port. Die Netzwerkkarte muß auch nicht eine CP 1613 sein, sondern kann auch IE Allgemein sein, da mußt Du dann nur darauf achten das die IP Adresse die Du eingesellt hast unter Windows auch Deine IP Adresse in der Projektierung ist. Die S5 Seite kannst Du ganz weg lassen... Du hast ja eine fertige Station. Die Beschreibung ist aus der Version 6.4. Viele Grüße J_Bell DateianhangOPC Send-Receive.pdf (69 Downloads) |
30.04.2008 14:51 | |
Beigetreten: 06.03.2006 Letzter Bes: 16.04.2024 Beiträge: 369 Bewertung: (101) |
Ich habe meinen TCP-Client noch so programmiert, dass man die IP-Adresse und Port für den Server angeben kann. Die INI-Datei enthält diese Informationen. Sie sollte im selben Verzeichnis wie das Programm selbst liegen. Mein Field-PG kommuniziert damit mit der Simatic und eben hat die Simatic das erste Keep-Alive-Telegramm gesendet, welches der PC bestätigt hat. Telegramme vom Format STX Buchstaben CR LF werden dann im Anzeigefeld ausgegeben. Vielleicht hilft das erst mal weiter? Viele Grüße Thomas DateianhangDelphi_TCP_Client.zip (71 Downloads) |
05.05.2008 11:41 | |
Beigetreten: 01.08.2007 Letzter Bes: 29.01.2024 Beiträge: 1698 Bewertung: (84) |
Hallo Thomas, leider hat Dein Testclient auch den Fehler verursacht. (Siehe Anhang zip) Ich habe es auf dem IPC laufen lassen. Wireshark habe ich auch mitlaufen lassen (Siehe Anhang zip) Die keep alives vom Scanner, werden so wie ich es beobachtet habe, in wirshark erst mit dem Abbau der Verbindung angezeigt? Hallo J_Bell, ich habe es auf dem Field - PG so eingerichtet. Anscheinendsteht die Verbindung. Es ist mir jedoch noch nicht gelungen gesendete Daten vom Scannerin einem Item anzuzeigen. Wahrscheinlich habe ich den Item nicht richtig konfiguriert (Siehe Anhang zip) ? Kannst Du mirein paar Tipps geben ? Gruß Eleu DateianhangTest.zip (90 Downloads) |
05.05.2008 15:26 | |
Beigetreten: 01.08.2007 Letzter Bes: 29.01.2024 Beiträge: 1698 Bewertung: (84) |
Hallo Thomas, hallo J_Bell, ich weis nicht wieso, aber die Lösung von J_Bell scheint stabiler zu laufen. Nach längerer Standzeit konnte ich den Scanner triggern, der dann auch Pakete gesendet hat, dievom PC dann auch quittiert wurden (Siehe Dateianhang) Auch wurde einmal eingegenseitiges keep alive durchgeführt ? In dem von mirangelegten Item (Siemens -OPC-Scout) bekomme ichaber noch nichts angezeigt. Gruß Eleu DateianhangField_PG_wireshark.zip (132 Downloads) |
07.05.2008 13:32 | |
Beigetreten: 01.08.2007 Letzter Bes: 29.01.2024 Beiträge: 1698 Bewertung: (84) |
Hallo Thomas, hallo J_Bell, ich habe festgestellt, dass der Siemens Treiber nach 7200 Sek. von sich aus ein "keep alive" sendet. (Kann man in NetPro einstellen) Der Scanner quittiert es dann. Thomas, könntest Du den Testclient dahingehend umprogrammieren, dass er selber ein "keep alive" absetzt (So wie der Siemens Treiber)? Ich habe im Internet dazu folgendes gefunden: Es gibt hierfür eine Funktion der Windowssocket (SO_KEEPALIVE) Die Option ist SO_KEEPALIVE unter den SOL_SOCKET-Optionen. Code: bool keepalive = true;
setsockopt( mysocket, SOL_SOCKET, SO_KEEPALIVE, &keepalive, sizeof(bool) ); Siehe auch: http://msdn.microsoft.com/de-de/library/1s9cycf8.aspx Danach ist der Socket so umgestellt, daß er automatisch keepalives sendet und die Verbindung offenhält. Kannst Du das mal programmieren und mir dann den Testclient zurücksenden damit ich es ausprobieren kann ? Gruß Eleu |
Folgen Sie uns auf