serielle Komunikation hängt - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA) +---- Thema: serielle Komunikation hängt (/Thread-serielle-Komunikation-haengt) Seiten: 1 2 |
serielle Komunikation hängt - stevenhiker - 01.05.2009 11:14 Hallo liebe LV-Gemeinde, ich stecke in einem Projekt zur Automatisierung eines Messvorgangs, bei dem eines der Geräte über Modbus-Protokoll zum Sprechen gebracht wird. Diese Komunikation hackt nicht immer, aber immer öfter. Hier ein paar Details: Der Treiber ist ein für meine Zwecke modfizierter ganz normaler NI-Modbus-Vi. Die Befehle werden über USB auf einen virtuellen COM-Port gegeben der von einem USB auf RS232 Konverter erzeugt wird. Es hat sich herausgestellt, dass die Wandlerchipart oder die Hersteller nicht der Grund für das Hängen sind. Nachdem Wandler bleibt es seriell und im Gerät drinnen wird das Signal noch Mal verwurstet. Diese Komunikation von Computer zu dem seriellen Gerät hält das ganze Program an (keine Eingaben mehr möglich) und erst!! nachdem man die Verbindung manuell durch Ziehen des Steckers unterbrochen und gleich wieder eingesteckt hat geht es mit einigen Informationsverlusten normal weiter. Die Frage, die sich mir stellt ist; Auf was wartet das Program. Steckt evtl. NI-VISA dahinter. Ich bedanke mich für hilfreiche Anworten. Viele Grüße Stefan serielle Komunikation hängt - ImExPorty - 01.05.2009 14:18 Hallo stevenhiker, sinnvolle Möglichkeiten hier wirklich effizient weiter zu kommen wären: -Bereitstellung deines VI's -Protokollierung der Schnittstellen -und natürlich Informationen wie es zu dem Erkenntnisgewinn Zitat:dass die Wandlerchipart oder die Hersteller nicht der Grund für das Hängen sindgekommen ist. serielle Komunikation hängt - eg - 01.05.2009 14:33 Ich bin mir fast sicher, dass NI VISA dahinter steckt. Die VIs können sich aufhängen im Falle, wenn die Gegenstelle dein Befehl nicht verstanden hat, du wartest aber auf eine Antwort. Checke alle deine Befehle, die du zum Gerät abschickst, versuche rauszufinden an welchen VIs es am meisten Probleme macht. serielle Komunikation hängt - jg - 01.05.2009 18:34 ' schrieb:Die Befehle werden über USB auf einen virtuellen COM-Port gegeben der von einem USB auf RS232 KonverterAlso gerade bei USB-RS232 Konvertern hat man (auch hier im Forum) schon öfters von Problemen gehört und gelesen. Von welchem Hersteller ist denn der Konverter? Gruß, Jens serielle Komunikation hängt - stevenhiker - 02.05.2009 08:43 Hallo Jens, der Konverterhersteller scheint, wie bereits gesagt nicht zu sein. Aufgetreten ist das Problem mit einem Digitus, aber auch nur bei einem Kunden sonst nicht. Andere Hersteller haben ähnliche Hänger hervorgerufen. Ich glaube auch, dass die NI-Visa dahinter steckt. @Imexporty: das mit dem Protokollieren der Schnittstelle ist vielleicht noch ein guter Weg zur Diagnose. Danke für Eure Hilfe. Stefan serielle Komunikation hängt - stevenhiker - 04.05.2009 18:11 Hi, ich bin mit dem Problem doch keinen Schritt weiter. Anbei noch der Code wo es 'scheinbar' zu hängen scheint. Zusätzlich noch die Info. Auf allen Rechnern, die mit einer herkömmlichen Grafikkarte oder Bildauflösung (1024x768) ausgestattet sind scheint der Fehler nicht aufzutreten. Bei Rechnern mit sehr hohem Auflösungsvermögen wohl. Kann es sein, dass die Grafikkarte, Treiber mit dem LabVIEW probleme hat. Es ist schon höchst merkwürdig was da passiert. Dies ist nur ein verzweifelter Versuch, irgendeine Systematik in das Problem reinzukriegen. @imexporty: was sind geeignete Programme, um den USB Kom.-verkehr abzuhörchen. Danke für die Hilfe Stefan serielle Komunikation hängt - ImExPorty - 04.05.2009 18:52 Hallo stevenhiker, da gibt's einige es kommt halt darauf an...was gefällt, was/wie aufgezeichnet wird ... (Kosten, Schnittstellen)... viel Erfolg serielle Komunikation hängt - rolfk - 05.05.2009 16:33 Grundsätzlich wäre the NI Spy sicher schon mal ein guter Start. Damit kannst Du alle Aufrufe des VISA APIs und die dabei übergebenen/zurückgegebenen Parameter protokollieren. Vielleicht hilft das schon. Ansonsten gibt es noch den PortMon von Sysinternals der das Ganze auf Widnows API Ebene macht. Das könnte eventuel helfen um Hängern des entsprechenden Serialtreibers für den USB Adapter zumindest auf die Spur zu kommen. Rolf Kalbermatter serielle Komunikation hängt - stevenhiker - 08.05.2009 08:41 Hallo Rolf, danke... ich habe jetzt mal die Portkommunikation mitgeschnitten. Das Dateiende ist somit der Hänger. Vielleicht kennt sich da jemand ganz gut aus. Wie gesagt das Kom.Protokoll ist Modbus. Viele Grüße Stefan serielle Komunikation hängt - rolfk - 08.05.2009 10:31 Also Du scheinst den Port ja nach jedem Schreib/Lesevorgang abzuschliessen und wieder zu öffnen. Obwohl das eher nicht das eigentliche Problem sein wird ist das super ineffizient. Vom Log her scheint nichts besonderes zu passieren. Da wird ein Kommand geschickt um ein Register zu lesen aber Deine Software scheint das Resultat nie lesen zu wollen. Warum das so ist weiss ich nicht. Es könnte sein dass das Gerät aus irgendeinem Grund nicht mehr antwortet. Und der Treiber erst Daten lesen will wenn da etwas empfangen wurde. Oder Du hast ganz einfach einen Bug in Deine Applikationslogik eingebaut. Das passiert sogar Profis ab und zu. Was auch immer es ist Du wirst wohl oder übel ein kleines Testprogramm erzeugen müssen das das Problem reproduziert und hier mal uploaden. Und bitte nicht für jeden IO Klacks den Port jedesmal neu öffnen. Rolf Kalbermatter |