Probleme mit USB Schnittstellen von GPIO18 und LRB

Antworten
Guard-X
Beiträge: 4
Registriert: Montag 16. Februar 2015, 20:08

Probleme mit USB Schnittstellen von GPIO18 und LRB

Beitrag von Guard-X » Dienstag 17. Februar 2015, 21:05

Hallo,

da dies mein erster Beitrag ist, kurz was über meine Person und mein Profilab-Projekt.

Ich beschäftige mich seit dem Jahr 1995 mit dem Thema Elektronik und IT, beruflich sowie privat.

Vor 3-4 Jahren habe ich ein "echtes" SmartHome gebaut. "Smart" heisst bei mir nicht "ich habe eine App auf dem Smartphone mit dem ich das Licht ein- und ausschalten oder die Temparatur in einem Raum höher und niedriger stellen kann" - nein, für mich gibt es so gut wie keine Lichtschalter und die Temperatur und Luftfeuchtigkeit regelt sich im ganzen Haus von selbst.

Das Haus wird Mikrocontroller -gesteuert und -geregelt ("Teil" - Bussystem). Profilab setze ich dabei als primäre Visu ein, sowie als "Gateway" zwischen verschiedenen Protokollen. Profilab läuft in einer virtuellen Umgebung (WIN 7) und wird auf UP Android Tablets an markanten Stellen im Haus dargestellt, verschickt interessante Statusmeldungen per Mail und spricht sogar wenn es Bauteilen oder Bewohnern einmal schlecht geht ;-)



Jetzt zu meinen eigentlichen Problemen:

Aufgrund einiger notwendiger Updates musste ich mich leider von meiner heißgeliebten Hygrosens 8IN-8REL trennen, die ich als "Middleware" zum sicheren Schalten von einigen wichtigen Dingen verwendet habe (z.B. Hauptwasserversorgung, Netzfreischaltung usw.).

Dafür eingebaut habe ich ein GPIO18 (Eingänge) sowie zwei LRB.

Leider kommt es bei diesen 3 Karten zu komischen Phänomenen.

Kurz und knapp:

GPIO18 (Anschluss an aktivem USB-Hub, interne Versorgung)
Installiert und COM31 zugewiesen - nach 3 oder 4 OS Neustarts sucht sich die Karte den nächsten freien COM Port, in diesem Fall COM8. COM31 ist trotzdem noch belegt, lässt sich aber manuell wieder zuweisen. Weiterhin unterbricht die Verbindung zu Profilab wenn dort innerhalb des Programms zwei externe Programme, in diesem Fall Batchdateien, gestartet werden ("Pause", rote LED geht für zwei bis drei Sekunden aus). Danach läuft alles weiter.

Frage: Wie lässt sich der COM Port festsetzen und wie lassen sich die Verbindungsaussetzer bzw. das "pausieren" verhindern.


LRBs (Anschluss an aktivem USB-Hub, interne Versorgung)
Erste LRB installiert, erhält somit ID0. Zweite LRB installiert, erhält ID1. Programm angepasst, läuft. OS neugestartet, IDs verwechselt. OS erneut neugestartet, alles wieder richtig (scheinbar gilt hier das Motto "Wer zuerst kommt, ..."). Die Programmsteuerung hat dann natürlich ein Poblem, es werden die falschen Relais geschaltet.

Frage: Was könnte die Ursache sein, bzw. wie lassen sich die IDs dauerhaft festsetzen?


Generelle Probleme mit der Umgebung (Hard- und Software, VM) kann ich ausschließen, denn:

Vellemann K8061 (USB) - keine Probleme
Labjack U12 (USB) - keine Probleme
Diverse andere Geräte per Netzwerk, Seriell, USB usw. - keine Probleme



Grüße und einen schönen Abend noch...

Guard-X

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Probleme mit USB Schnittstellen von GPIO18 und LRB

Beitrag von IKT » Mittwoch 18. Februar 2015, 13:30

Guard-X hat geschrieben:... wie lassen sich die Verbindungsaussetzer bzw. das "pausieren" verhindern.
Dies kann mit ShellExecute (anstelle von Execute) erreicht werden, da die Einstellung WS [Parameter: nShowCmd, integer (Ganzzahl)] vorgibt, ob das aktuelle Fenster 'aktiv' bleibt oder 'nicht aktiv', d.h. der neu gestartete 'Prozess' ist 'aktiv', bis er beendet ist und dann die Kontrolle an den 'aufrufenden 'Prozess' zurückgibt (default = 10, dies führt zu den Unterbrechungen in der Ausführung). Optionen sind auf MSDN (siehe Link unten) im Detail beschrieben (US-Englisch). Versuche WS = 8, zuerst ...

LINK:
https://msdn.microsoft.com/en-us/librar ... 85%29.aspx
++++++
Gruss/regards IKT

Guard-X
Beiträge: 4
Registriert: Montag 16. Februar 2015, 20:08

Re: Probleme mit USB Schnittstellen von GPIO18 und LRB

Beitrag von Guard-X » Freitag 20. Februar 2015, 23:21

Hallo IKT,

danke für den Hinweis und die verschiedenen Möglichkeiten, gebracht hat es allerdings nichts.

Sobald das Bauteil ShellExecute ausgeführt wird (egal mit welchem Flag, getestet WS = 8 und alle minimierten Versionen), unterbricht die Verbindung zur GPIO18 (rote LED aus). Das passiert übrigens auch, wenn man das Bauteil "Email senden" verwendet!

Dies Problem lässt sich sehr leicht mit einem Taster an einem als Eingang konfigurierten Port des GPIO18 nachstellen.
Der Eingang aktiviert die E-Mail oder ShellExecute und schon geht in die rote LED für einige Sekunden aus.

Kann das jemand bestätigen? Ist das ein generelles Problem im Programmablauf von Profilab oder gibt es andere Lösungsvorschläge?

Grüße

Guard-X

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Probleme mit USB Schnittstellen von GPIO18 und LRB

Beitrag von IKT » Samstag 21. Februar 2015, 13:45

Hallo Guard-X

dies scheint mir eher ein HW Problem zu sein, da wohl auf HW Puffer verzichtet wurde (aus Kostengründen?). Selbst auf uralt UART's waren ein paar Bytes HW Puffer implementiert.
Da diese meist auch nicht genügten, musste meist der Programmierer des Treibers (oder in der Applikation selber) noch zusätzlichen SW Puffer Speicher zur Verfügung stellen, um genau diese Probleme zu verhindern (Kommunikations-Aussetzer).
Unter Single Tasking OS (zum Beispiel DOS) war das Problem einfacher in den Griff zu bekommen, als in einem Preemptiven Multi Tasking OS (Windows / OS/2 / Linux etc.). Da in diesem Falle das zus. Starten eines Prozesses einiges an Messaging (hinter den Kulissen) auslöst.

Das Bauteil RTS/DTR (ready to send/data terminal ready) hilft da manchmal, eine Art Fluss-Steuerung, zu ermöglichen. Davon abgesehen gehen mir die Ideen aus ...
++++++
Gruss/regards IKT

Guard-X
Beiträge: 4
Registriert: Montag 16. Februar 2015, 20:08

Re: Probleme mit USB Schnittstellen von GPIO18 und LRB

Beitrag von Guard-X » Sonntag 22. Februar 2015, 19:12

OK. Also scheinbar ein Problem, welches ich selbst nicht lösen kann.

Was sagt abacom dazu?

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Probleme mit USB Schnittstellen von GPIO18 und LRB

Beitrag von abacom » Montag 23. Februar 2015, 09:13

Wir können leider auch nicht sagen wie Windows die Rechenleistung an Treiber, Anwendungen und andere Prozesse verteilt.
ABACOM support

Antworten

Zurück zu „Geräte: ABACOM“