RS-422 Schnittstelle mit Thread abfragen?

Alles rund um die Programmierung mit Qt
bassjupp2oo8
Beiträge: 47
Registriert: 17. Juli 2008 09:45

RS-422 Schnittstelle mit Thread abfragen?

Beitrag von bassjupp2oo8 »

Hallo!
In meinem Programm wird eine Oberfläche angezeigt und parallel muss eine Rs 422 Schnittstelle auf neue Nachrichten überprüft werden.
Sollte man die Schnittstellen-Abfrage separat in einem Thread machen?
Kenne mich damit noch nicht aus!

Auch habe ich noch keine Vorstellung davon, wie ich die Schnittstelle abfragen soll. In den Qt Beispielen gibts ja nur TCP... und so.
Oder kennt jemand ein geeignetes Beispiel zum luschern???
:?:
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

Beitrag von CaptnChaos »

für RS232 gibts QExtSerialPort. Das auslesen ist platformabhängig. So sachen implementiert man immer in einem seperaten thread, sonst friert der GUI-Thread ein und das ist nicht schön.
bassjupp2oo8
Beiträge: 47
Registriert: 17. Juli 2008 09:45

Beitrag von bassjupp2oo8 »

also die Hilfe (Qt Assistant) QT 4.0 kennt kein QExtSerialPort... ???!!!
bassjupp2oo8
Beiträge: 47
Registriert: 17. Juli 2008 09:45

Beitrag von bassjupp2oo8 »

okay, aber Google :lol:
Inwieweit sind RS 422 und RS 232 denn da vergleichbar?
bassjupp2oo8
Beiträge: 47
Registriert: 17. Juli 2008 09:45

Beitrag von bassjupp2oo8 »

Ich mein, die differenzielle Übertraugung und so ist doch für das Programm an sich nicht relevant, oder?

Wie teile ich dem Computer aber mit, dass er an COM 1 auslesen soll (zB) ?
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

Beitrag von CaptnChaos »

warum genau muss es rs422 sein? was ahst du denn vor?
RS232 ist unsymmetrisch. RS422 ist symmetrisch und kann höhere Datenraten als RS232. Sonst erfüllen beide den gleichen Zweck.
bassjupp2oo8
Beiträge: 47
Registriert: 17. Juli 2008 09:45

Beitrag von bassjupp2oo8 »

...weil es so gefordert ist (muss ich RS 422 nehmen)
und die Nachrichten, die dort ankommen, kommen auch recht schnell / oft dort an. (bis zu 50 Hz = 20 ms)
Darum! 8)

UNd wie spreche ich nun COM1 an???
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

Beitrag von CaptnChaos »

Welches System?
bassjupp2oo8
Beiträge: 47
Registriert: 17. Juli 2008 09:45

Beitrag von bassjupp2oo8 »

Hm, eigentlich nutze ich nun Qt damit das Programm auf Windows und Linux laufen kann später.
Ist das etwa unterschiedlich bei beiden?

Sorry, wenn ich mich etwas doof anstelle, aber ich bin echt noch ziemliche Anfängerin!
Bin fleißig in Büchern und Hilfen am Lesen, aber das dauert eben auch seine Zeit...
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

Beitrag von CaptnChaos »

aha, anfängerin :wink: .
Der Schnittstellenzugriff ist auf jedem System anders.
konkrete Codebeispiele für rs422 habe ich aber noch nirgendwo gefunden. ich weiss das es umsetzer gibt, solche kleine kisten in die du mit einem rs232 signal reingehst und die dir dann ein rs422 oder rs485 signal ausgeben. das würde die sache programmtechnnisch ungemein vereinfachen.
bassjupp2oo8
Beiträge: 47
Registriert: 17. Juli 2008 09:45

Beitrag von bassjupp2oo8 »

Ja, ich weiß was du für einen Umsetzer meinst. Vielleicht ist das in dem System möglich, da für die RS 422 Schnittstelle eh eine eigene kleine Platine gebaut werden muss. Dann könnte man auch auf Rs 232 gehen.
Wenn´s denn leichter sein soll... ?!

Aber ich glaub kaum, dass ich die Erste bin, die eine RS 422 Schn.st. abfragen will. Warum gibt´s da bloß keine Bibliotheken für?

Beim Borland Builder gab es für RS232 zB eine "DCB-Struktur" ("The DCB structure defines the control setting for a serial communications device.")
Mit der war / ist das wohl relativ einfach zu bauen.

Gibt´s denn gar nichts ähnliches???
bassjupp2oo8
Beiträge: 47
Registriert: 17. Juli 2008 09:45

Beitrag von bassjupp2oo8 »

Warum wird hier das Abosthrop (schreibt man das so?) nicht richtig dargestellt???
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

Beitrag von CaptnChaos »

Wie gesagt für rs232 gibts QExtSerialPort. Wenn du das mit einem Umsetzer machen möchtest kann ich dir dafür auch eine klasse geben, die in einem Thread sendet und empfängt.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Kein Rechner hat eine RS485/RS422-Schnittstelle. Also hast du dir eine separate Karte in den Rechner eingebaut. Für diese Karte gibt es Treiber, Doku und Bibliotheken und im Idealfall C++-Beispiele. Dort must du suchen, nicht bei Qt...
bassjupp2oo8
Beiträge: 47
Registriert: 17. Juli 2008 09:45

Beitrag von bassjupp2oo8 »

Letztendlich wird es kein "richtiger" PC sein, auf dem da laufen soll, sondern auf einem extra Board, das an einer Platine angeschlossen ist.

Aber danke für den Tipp, dass ich mal direkt bei C++ Programmierung gucken soll!

Aber ich könnte doch so einen Umsetzer nehmen, an die RS 232 vom PC anschließen, um von dort aus "Test-Messages" an ein System mit RS 422 Schnittstelle zu senden, oder? (das Programm dann natürlich für RS232!)
Antworten