Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Hallo,
und vielen Dank das du dir noch die Mühe gemacht hast es zu verbessern.
Leider habe ich mit deinem VI den Fehlercode 63, also das ich nicht Verbinden kann. Habe dann einen anderen Port genommen, aber den Localhost mit der IP stehen lassen. Verbindung funktioniert, jedoch gibt es egal welcher Port genommen wird , wieder den Fehler des TCP-Lesen VI (Error 56).
Meine Firewall habe ich ausgestellt.
Ist es möglich, dass Labview die Berechtigung benötigt Daten von anderen Geräten zu beziehen?
Wenn ich den Datenfluss mit Wireshark beobachte, sehe ich das Anfragen über den Port rausgeschickt werden und etwas zurückkommt.
die Verbindung über den localhost kann ja nur funktionieren, wenn sich die Gegenstelle - also in deinem Fall die Serverapplikation - auch auf deinem PC befindet.
Womit hast du denn die Gegenstelle nachgebildet?
Es muss erst ein Server dasein, der auf der IP horcht, erst dann kannst du dich mit deiner Client-Appl, verbinden und dann solltest du vom Server aus auch Daten senden können bzw. diese im Client empfangen.
Von Berechtigungen, die LabView braucht ist mir nichts bekannt.
Ich habe es bei mir übrigens mit dem Port 2345 probiert. Das hat funktioniert.
Gruß, Marko
19.08.2015, 14:23 (Dieser Beitrag wurde zuletzt bearbeitet: 19.08.2015 14:23 von Banetta.)
Hallo Trinitatis,
die Verbindung über den localhost funktioniert und ich kann auch Daten empfangen.
Jedoch besteht weiterhin das Problem Daten von der SPS zu empfangen.
Da das VI mit einer Serverapplication über den localhost funktioniert, wird es wohl an der Datenübermittlung zwischen dem Client-PC und SPS liegen.
Die Verbindung wird wie gesagt zwar erstellt, jedoch kommen keine Daten rein.
Kannst du denn mal probieren, den Server (also die SPS) über eine andere Applikation nachzubilden, um die Kommunikation von einem anderen PC zu deinem Client-PC hinzubekommen, so dass du nicht über die localhost-Verbindung gehst sondern tatsächlich eine TCP-Kommunikation aufbaust?
Ansonsten müsstest du dich mal an den SPS-Verantwortlichen wenden, (falls du das nicht selbst bist )
Hi,
kurzes Update zur Verbindung.
Es funktioniert soweit fast alles wie es soll. Es lag an den Konfigurationen der SPS. Allerdings wurde aus der zuerst gedachten TCP-Verbindung eine ModBus-Verbindung, da so einzelne Ausgänge der SPS direkt abgefragt werden können.
Ein Problem besteht jedoch noch. Und zwar wird nach einem Neustart der SPS oder teilweise auch nach einer bestimmten Zeit beim Ausführen des VI´s keine Verbindung mehr aufgebaut.
Zuerst dachte ich, dass der Port über den der ModBus der SPS sendet (502) noch von dem LabVIEW PC blockiert wird. Jedoch kann ich dies ausschließen, da dieser nicht von anderen Programmen blockiert wird (mit der Software CurrPorts überprüft). Auch nach einem Neustart des PC´s besteht das Problem weiterhin.
Wenn ich dann aber ein neues Projekt erstelle, einen neuen I/O Server mit ModBus erstelle und die Bindungsvariablen in das neue Projekt einfüge, steht die Verbindung wieder. Anschließend muss ich die Bindungsvariablen dann aus dem neuen Projekt kopieren und in das alte einfügen. Es funktioniert dann wieder bis zum nächsten Neustart der SPS oder Verbindungsabbruch.
Bin für jeden Vorschlag dankbar.
Gruß Banetta
01.09.2015, 14:01 (Dieser Beitrag wurde zuletzt bearbeitet: 01.09.2015 14:05 von jg.)
Bei Modbus-Master mache ich einen großen Bogen um das DSC-Toolkit und verwende lieber diese (wenn auch alte) Library: http://www.ni.com/example/29756/en/
Läuft bei Modbus-TCP wirklich gut!
Gruß, Jens
EDIT: Was soll der Rube-Goldberg: TRUE or FALSE OR i=1, da kommt immer TRUE heraus.
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Danke für deine Antwort. Werde ich mit gleich anschauen.
Das von dir angesprochene Beispiel ist momentan nur ein Test. Die beiden Bool-Werte simulieren momentan noch zwei Frequenzumrichter. Wenn einer der beiden True ist wird das restliche VI durchlaufen und eine Messung genommen. Wenn False wird die Zeit gewartet und dann eine Messung genommen. Sprich wenn die FU´s im Betrieb sind, sind die Messperioden kürzer. Die Zeitwerte sind aus Simulationszwecken noch so niedrig gewählt.