LabVIEWForum.de - 4-fach USB Seriell - App bzw. Win hängt sich auf

LabVIEWForum.de

Normale Version: 4-fach USB Seriell - App bzw. Win hängt sich auf
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Wie sind die den angeschlossen?
Alle USB-Ports OnBoard oder einem USB HUB oder ne extra PCI UsbKarte.

ich hatte auch mal probleme mit den Onboard USBPorts oder nem HUB der keine eigen Spannungsversorgung hatte.

Irgendwann sind mir da auch immer die Geräte Verschwunden. Wahrscheinlich weil die Versorgung der Geräte nicht mehr gereicht hat.

Mit ner Extra PCI-USB Karte klappts aber ohne Probleme.

Grüße
Achimedes
Hallo zusammen!

@ gottfried:
>>Abhilfe: einen anderen teureren (?) kaufen.
- Das ist ja bereits ein recht teurer USB Umsetzer, komplett im Metallgehäuse für Hutschiene. Mit Status LEDs für alle Kanäle, usw...

@ eg:
>> Oder auf Ethernet-Seriell umsteigen?
- Das ist eine gute Idee. Ich habe einen MOXA 4-fach Ethernet-Seriell Umsetzer sogar zu Hand. Dies werde ich sogleich testen.

@ Jens G:
>> Die Ports nacheinander bearbeiten?
Werde ich ebenfalls testen.

@ Achimedes:
>>Wie sind die den angeschlossen? Alle USB-Ports OnBoard oder einem USB HUB oder ne extra PCI UsbKarte.
- Der USB Umsetzer ist über 'ein' USB Kabel an den PC angeschlossen. Keine Hubs oder sonstiges


Ich werde nun mal die Sache mit dem Ethernet Umsetzer testen und alles bis Montag laufen lassen.

Info: Der eine Versuch, bei dem ich einen Sensor über COM1 auslese, läuft immer noch!!!

Gruß und Dank
Also das immer wieder öffnen, lesen und schliessen des Ports ist ziemlich sicher der grosse Bösewicht. Theoretisch sollte das der COM Port Treiber natürlich ohne Probleme beissen, in der Praxis tun sich gerade viele USB/RS-232 Server/Multiplexer damit aber ziemlich schwer.

Abhilfe ist nicht so schwer: Man macht eine sogenannte intelligente Action-Engine die die VISA Resource in einem Shiftregister hält (managed). Diese Action Engine hat drei oder vier "Methoden" die in einer Casestruktur innerhalb der Schlaufe implementiert sind und auf einem Control am subVI selektierbar sind.
"Open": schliesst eine eventuel noch offene Verbinding und öffnet eine neue mit dem angegebenen COM Port
"Write": schreibt Daten über die im Shiftregister gehaltenen Schnittstelle aus
"Read": liest Daten ein
"Close": schliesst die Schnittstelle

Solange beim Lesen und Schreiben kein Fehler auftritt, macht man nichts anderes als Kommunikation. Bei einem Fehler schliesst man den Port und öffnet ihn aufs Neue (dazu muss man natürlich auch den COM Port in einem Shiftregister speichern.)

Bei entsprechender korrekter Implementation kann man diese intelligente Action-Engine jederzeit mit der Open Methode aufrufen, wenn man den COM Port einstellen will. Und die Read/Write wo man kommunizieren will. Bei Fehlern wird der Port automatisch geschlossen und neu geöffnet und alles geht wie es soll. Bevor man die Applikation abschliesst, oder wenn man den Port freigeben will, schliesst man den Port explizit mit der Close Methode.
Was mir beim Lesen noch einfällt ist das Energiemanagement von Windoof.

Du kannst im Gerätemanager erlauben manche USB-Geräte automatisch auszuschalten, um Energie zu sparen.

Bei so einem Dauerläufer will man das ja eigentlich nicht.



Gruß SeBa
Nochmals hallo!

@ rolfk:

>> ... intelligente Action-Engine ...
Hört sich gut an. Danke für Idee und die ausführliche Anleitung.
Dies werde ich demnächst Umsetzen

@SeBa:

>> ... Energiemanagement von Windoof
Werde ich ckecken, danke!

Info:
Mein Dauertest mit dem COM 1 Port läuft immer noch und dies nun seit Tagen und mit über 300000 Lesezyklen.
Der Dauertest mit vier Sensoren und dem Ethernet-RS232 Umsetzer läuft ebanfalls seit Tagen mit über 100000 Lesezyklen.

So weit ...

Matthias
' schrieb:@ rolfk:
>> ... intelligente Action-Engine ...
Hört sich gut an. Danke für Idee und die ausführliche Anleitung.
Dies werde ich demnächst Umsetzen
Wenn Karin (das ist die Frau die mir im Navi sagt wie es lang geht), also wenn Karin einen Satz mit "Demnächst.." beginnt, dann ist das angekündigte Manöver immer noch ziemlich weit entfernt. Deshalb deute ich Deine Formulierung so, daß Du, bevor Du damit beginnst, erst mal einen langen Anlauf nehmen mußt. Mußt Du aber nicht, denn es geht auch zwei Nummern kleiner als Dir RolfK vorschlägt. Diesen Vorschlag kannst Du nehmen, wenn Du selbst ausreichend Profi bist.
Also: Einfach das Öffnen und Schließen des ComPorts aus der Haupt-Arbeitsschleife herausnehmen - fertig.
[attachment=26511]

Wenn ich noch einen Tip geben darf, der mir in einer ähnlichen Situation geholfen hat: Beim Chiphersteller des USB-Konverters (es gibt davon nur ca. 3) alle relevanten Dokumente zum Thema Datentransfer studieren. Welcher Hersteller ist es denn?

Gruß Ludwig
' schrieb:>> ... intelligente Action-Engine ...
Hört sich gut an. Danke für Idee und die ausführliche Anleitung.
Dies werde ich demnächst Umsetzen
Und was habe ich in Beitrag #4 vorgeschlagen? Im Prinzip genau das...
Gruß, Jens
' schrieb:Und was habe ich in Beitrag #4 vorgeschlagen? Im Prinzip genau das...
Gruß, Jens

Aber war dem OP zu unfexible weil man den Port nicht on the fly wechseln könne, wobei mir diese Forderung in diesem Setup nicht ganz logisch erscheint.
Vor einiger Zeit habe ich mit Seriell-USB-Adaptern folgendes Problem festgestellt:

VISA Open
Daten von der Gegenstelle senden (mehr als in den Buffer passt)
VISA Read
Adapter tot
Seiten: 1 2
Referenz-URLs