RS232: Steuerleitungen nutzen

Hallo,

ich möchte auf einer seriellen Schnittstelle des PCs zusätzlich zwei Steuerleitungen nutzen, einfach als digitale Steuersignale.

Welche Leitungen auf Seite des PCs kann ich da wohl am besten nutzen? (Rx und Tx benötige ich für die normale Kommunikation, die fallen aus.)

Ich dachte da an RTS und DTR. Kann ich die vom PC aus ansteuern?

Was sind denn da die aktiven/inaktiven Pegel (damit ich keine Invertierung reinbaue)?

Hat da jemand Erfahrungen mit? Irgendwelche Tipps?

Grüße, Torsten.

Reply to
Torsten Mohr
Loading thread data ...

Torsten Mohr schrieb:

Selbstverfreilich.

Im Ruhezustand sind beide inaktiv (also -8..12V am Stecker). Aber wenn vorher ein Programm die Schnittstelle schonmal angesteuert hat, kann es sein, daß von daher noch andere Pegel anstehen (hängt wohl auch von den Treibern ab, meistens wird beim "Abmelden" der Schnittstelle wieder alles inaktiv gesetzt).

--
Dipl.-Ing. Tilmann Reh
http://www.autometer.de - Elektronik nach Maß.
Reply to
Tilmann Reh

Torsten Mohr schrieb:

Da liegst du schon mal ganz richtig.

Hat Tilmann schon beschrieben, wichtig ist es für deine Anwendung, was auch immer du damit steuern willst, dass du dich nicht darauf verlassen kannst, wie die Leitungen stehen, _bevor_ du dein Programm startest.

Nuja... Ich habe damit mal über grosse Entfernungen Geräte ein- und ausgeschaltet, hat prima funktioniert. Die Applikation lief (ach nee, läuft heute immer noch...) als Service und hat sich die Schnittstelle schon beim Starten des Rechners gegriffen, so dass andere Applikationen nicht stören können. Eklig ist allein das Verhalten von Windoofs, weil es an den seriellen Ports nach einer Maus sucht, sofern man das nicht explizit unterbindet. In welcher Sprache willst du das denn machen und was soll gesteuert werden? Für VC++ habe ich Code und eine Herz-Lungen-Maschine oder ein Kernkraftwerk würde ich so nicht steuern wollen...

Gruss, Jens

Reply to
Jens Carstens

Hallo Thorsten,

es gibt mehrere Serial.dll im Netz. Ich verwende die von elektor, liegt IMHO frei zum Download, auch der Artikel dazu. Müsste anno 2002 oder 3 gewesen sein, wahrscheinlich im September. 2001 oder 2 war beschrieben, wie man das mit den API macht.

Marte

Reply to
Marte Schwarz

Hi,

danke für eure Tipps.

Ich hab das heute mal gemacht und es funktioniert. Angesteuert mit Perl, mit dem Modul Win32::SerialPort.

Ich verwende es um einen Kontroller zu resetten, in den richtigen Modus zu schalten, ein Programm runterzuladen und dann mit einem Reset wieder zu Starten.

Grüße, Torsten.

Reply to
Torsten Mohr

Marte Schwarz schrieb:

Funktioniert die elektor-Variante bei Dir einwandfrei?

Gruß Andreas

Reply to
Andreas Fecht

"Torsten Mohr" schrieb im Newsbeitrag news:d94skn$6t9$ snipped-for-privacy@schleim.qwe.de...

Ja, schon erfolgreich verwendet

Das größte Problem ist, dass Du unter Windows nur von einer Anwendung auf die Datenleitung UND Rx/Tx zugreifen kannst. Habe hierzu unter VB auch mal ein kleines Testtool geschrieben.

Steffen

Reply to
Steffen Braun

Dann musst du eine "Zwischenschicht" programmieren, die virtuelle COM-Ports generiert, "hinten dran" aber immer der selbe Hardwareport hängt. Wenn die Kommunikation vom PC aus initiert wird ist das Ansprechen der Schnittstelle dann kein Problem, wer zuerst kommt, schreibt direkt, die anderen werden gepuffert. Nur wenn die Kommunikation von Außen angestoßen wird, steht man vor einem ähnlichen Problem, wie ein (Netzwerk-)Router: man muss einen default-Forward einrichten ... oder das Ganze in ein Protokoll kapseln, das den Zielport erkennen lässt. Aber so ein Projekt erreicht schnell die Dimensionen einer Diplomarbeit.

Frank

Reply to
Frank Esselbach

Hi Andreas,

Ja, sogar seit 2 Jahren störungsfrei im Dauerbetrieb eines industriellen MessPC ;-) Allerdings ist in der Doku ein Fehler, den man aber schnell erkennt, wenn man den Sourcecode gelesen hat. frag mich jetzt nicht mehr welchen, da müsste ich alte Sachen herauskramen.

Marte

Reply to
Marte Schwarz

Hallo Steffen,

Das ist falsch. Das geht einzelnd mit jedem Pin. Ausgänge lassen sich beliebig setzen und Eingänge beliebig Abfragen (der RI ist ein wenig anderst, aber das mag an der von mir verwendeten DLL liegen. Es geht aber auch mit API Bordmitteln. Die Serial.dll macht auch nichts anderes.

Marte

Reply to
Marte Schwarz

Dann ist es natürlich einfach und geht auch für RS/232 via solche USB-RS232 Boxen.

--
mfg Rolf Bombach
Reply to
Rolf Bombach

Sauber Programmiert (mit API oder geeigneter dll) geht das auch mit USB-RS232 Dongle, sofern dessen Teriber sich an die Regeln hält. Meine 3 Verschiedenen Tun es. Nur das Timing wird USB-bedingt schlechter als ein echter COM-Port.

Mart

Reply to
Marte Schwarz

Marte Schwarz schrieb:

Ich hab ziemlich lang rumprobiert, aber eine Sache nicht hinbekommen. Das Demoprogramm, welches bei elektor dabei ist, hat auch dieses Problem: Wenn ich z.B. die COM1 Schnittstelle (an der nichts angeschlossen ist!) mit 'open' öffne und gleich wieder mit 'close' beende, hängt das Programm. Nirgends ein Timeout. Hilft nur noch abwürgen. Ist das bei Dir auch so? Laut der Doku soll ja *genau das* nicht passieren, weil die Schnittstellenabfrage in einem extra Thread läuft.

Das elektor-Originalpaket gibt's übrigens hier:

formatting link

Gruß Andreas

Reply to
Andreas Fecht

Hi Andreas,

Das stürzt bei mir auch gnadenlos ab ;-)

Nee, da hatte ich nie Probleme, ich habe an diversten Rechnern (IPC-Board, mein Läptop mit diversn USB2COM und mein Desktop im Büro über COM2) immer wieder COMports geöffnet und auch wieder geschlossen (allerdings nie COM1).

genau. und wenn Du Dir da die serial.dpr anschaust, dann kann man auch ganz gut nachschauen, was darin gemacht wird. Nachdem ich das getan habe, konnte ich alles problemlos meistern, incl der Messages und co. War ne feine Sache. möglicherweise brauche ich diese DLL in en nächsten Wochen noch einmal, dann werde ich mir mein altes Projekt sicher noch einmal einspielen. Falls es immer noch klemmt, kann ich Dir dann vielleicht weiterhelfen.

Marte

Reply to
Marte Schwarz

Leider. Ich hab so eine Moxa 1240 (?) Kiste. An 20Hz Daten- aufnahme ist da nicht zu denken. Irgendwie kann sie 2 Datensätze einlesen, macht dann allerdings 1x Pause ;-). Sehr schwer zu debuggen. Ebenfalls sehr nervig: Die Kiste verträgt nur eine begrenzte Anzahl von Port OPEN/CLOSE Befehlen (16?). Dann verklemmt sie sich. Im Manual steht lakonisch, dass das halt passiere, jedoch absolut kein Problem wäre, man müsse die Kiste nur kurz aus- und wieder einstecken und dann käme der Reset automatisch. Debugging by Salespeople. Aber was willst du machen. Entgegen der Meinung moderner Informatiker ist RS232 nach wie vor ein weit verbreiteter Industriestandard. Zum Glück hat der Rechner noch 2 "echte" RS232 Anschlüsse, dort kann ich dann die "schnellen" Sachen dranhängen. Die "langsamen" kommen dann an diese USB-RS232 Kisten.

--
mfg Rolf Bombach
Reply to
Rolf Bombach

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.