Forum: PC-Programmierung Serieller Port zustand erkennen in C#


von DAVID B. (bastler-david)


Lesenswert?

Hallo
Wie kann ich erreichen das ich in mein Projekt ein 15pol COM Port 
auslesen kann.? (DTR und RTS sind belegt)

Ich möchte den zustand geschlossen und offen überwachen und in mein 
projekt angezeigt bekommen.
Würde wie folgt laufen ich schlisse TxD mit masse zusammen (über 10k 
widerstand) und der button im projekt springt von offen zu geschlossen 
um.

Wie könnte ich das anstellen ?

Als Programm nutze ich microsoft visual studio 10 und besitze minimale 
grundkenntnise.

DANKE

von Peter II (Gast)


Lesenswert?


von DAVID B. (bastler-david)


Lesenswert?

Wie gesagt DTR ist schon anderweitig belegt.

von Peter II (Gast)


Lesenswert?

DAVID ------ schrieb:
> Wie gesagt DTR ist schon anderweitig belegt.

oh, hatte ich so nicht verstanden.

welchen Pins hast du denn noch frei? Man kann nicht einfach jeden Pin 
per Software abfragen, wenn der Hardware es nicht unterstützt.

Sinnvoller ist es ein IO Modul mit USB anzuschließen.

von DAVID B. (bastler-david)


Lesenswert?

Alles ok kein problem und frei sind alle auser

DAVID ------ schrieb:
>(DTR und RTS sind belegt)

Ok mit welchen wäre es noch möglich auf usb kann ich nich umsteigen da 
mein projekt keine usb Ports unterstütz.

: Bearbeitet durch User
von Georg (Gast)


Lesenswert?

DAVID ------ schrieb:
> Wie kann ich erreichen das ich in mein Projekt ein 15pol COM Port
> auslesen kann

Wo gibt es sowas? PC-übliche COM-Ports hatten früher mal 25 Pole, heute 
nur noch 9. Also weiss kein Mensch ausser dir, was überhaupt an 
Anschlüssen vorhanden ist.

Und wenn USB nicht möglich ist, hast du wohl weder Windows noch Linux, 
also kann man zur Software auch nicht das geringste sagen.

Georg

von DAVID B. (bastler-david)


Lesenswert?

ach je ok MEIN Fehler tut mir leid ich meinte natürlich 9 polig.
und frei ist noch TxD CD RxD DSR CTS.
und doch ich habe win 7 64 bit aber USB Converter erkennt mein projekt 
nicht.
Habe schon paar versucht NUR PCI und onborad.
DANKE

: Bearbeitet durch User
von Peter II (Gast)


Lesenswert?

DAVID ------ schrieb:
> und doch ich habe win 7 64 bit aber USB Converter erkennt mein projekt
> nicht.
> Habe schon paar versucht NUR PCI und onborad.
> DANKE

wenn der USB-Converter als Serielle schnitte im System ist, kannst du 
ihn auch nutzen. Dann liegt der Fehler im code bei dir.

Und für ein USB-IO Modul gibt es auch (oft) passenden code für c#.

von DAVID B. (bastler-david)


Lesenswert?

ok DANKE mack ja alles sein aber ich habe mich jetzte schon auf ein weg 
festgelegt und würde gerne den rest auch noch hinbekommen.

ok eins nach dem andern mit welchen pins könnte ich eine Erkennung 
realisieren ?

von Peter II (Gast)


Lesenswert?

DAVID ------ schrieb:
> ok eins nach dem andern mit welchen pins könnte ich eine Erkennung
> realisieren ?

http://de.wikipedia.org/wiki/RS-232#Verkabelung_und_Stecker

alles was Eingang ist (außer RXT)

von DAVID B. (bastler-david)


Lesenswert?

Also könnte ich DSR und TxD verbinden ?

von Peter II (Gast)


Lesenswert?

DAVID ------ schrieb:
> Also könnte ich DSR und TxD verbinden ?

Theoretisch schon, muss man halt testen ob es so abfragbar ist. Dafür 
ist die Schnittstelle nicht vorgesehen.

von DAVID B. (bastler-david)


Lesenswert?

Hast du eine idee/ verschlag wie ich auf TxD zugreifen könnte ?
bei DTS zb habe ichs so gemacht:

 private System.IO.Ports.SerialPort theSerialPortD = new SerialPort();
        private void initSerialPort()
        {
            try
            {
                foreach (string s in SerialPort.GetPortNames())
                {
                    cbSerialPortA.Items.Add(s);

von Peter II (Gast)


Lesenswert?

DAVID ------ schrieb:
> Hast du eine idee/ verschlag wie ich auf TxD zugreifen könnte ?
> bei DTS zb habe ichs so gemacht:

der code hat nichts mit DTS zu tun?

TxD wird nicht gehen, das ist für Daten vorgesehen, das kann man (glaube 
ich) unter Windows nicht als Eingang nutzen. Es ist keine Signalleitung 
sondern eine Datenleitung.

von DAVID B. (bastler-david)


Lesenswert?

hmm ich sehe grade der kleine IT-6080 hat noch ein paralleleln Anschluss 
könnte ich den parallel genau so ansteuern wie den 9 poligen seriellen ?

von Peter II (Gast)


Lesenswert?

DAVID ------ schrieb:
> hmm ich sehe grade der kleine IT-6080 hat noch ein paralleleln Anschluss
> könnte ich den parallel genau so ansteuern wie den 9 poligen seriellen ?

ja unter Dos - Windows verhindert das aber. Dafür gibt es zwar ein paar 
hackst aber sinn macht das nicht.

gib es paar € für die richtige Hardware als noch mehr zeit zu 
verschwenden.

von Peter II (Gast)


Lesenswert?


von DAVID B. (bastler-david)


Lesenswert?

du meinst eine PCI karte mit noch mal 2 oder 4 seriellen ports wo ich 
dann (DTR und RTS nutzen kann ?

von Peter II (Gast)


Lesenswert?

DAVID ------ schrieb:
> du meinst eine PCI karte mit noch mal 2 oder 4 seriellen ports wo ich
> dann (DTR und RTS nutzen kann ?

nein, siehe letzte Link - dafür sind auch C# code Beispiele enthalten.

Solche karten kann man auch für Serial statt USB kaufen, aber das würde 
ich nicht mehr machen.

von DAVID B. (bastler-david)


Lesenswert?

Ok ich würde es aber gerne weiter so machen wenn ich noch eine PCI karte 
kaufen muss ok kann ich mit leben aber ich möchte die Schaltung zum 
erkennen zu dem andern mit auf bauen da ich extra platz auf der loch 
raster Platine dafür gelassen habe.

Ich muss nur wissen wie das erkennen überhaubt geht egal welche pins.
Könntes du mir dazu paar hilfe Stellungen geben ?

: Bearbeitet durch User
von Peter II (Gast)


Lesenswert?

DAVID ------ schrieb:
> Ich muss nur wissen wie das erkennen überhaubt geht egal welche pins.

RING ist doch ideal für die Erkennung, es signalisiert Anrufe.

Hier do doku zu abfragen:

https://msdn.microsoft.com/de-de/library/system.io.ports.serialpinchange(v=vs.110).aspx

von DAVID B. (bastler-david)


Lesenswert?

ok super DANKE aber wie kann ich es erreichen das die button den pin 
auch abfragen ?

Beim einsetzten von public enum SerialPinChange kahm immer hin schon mal 
keine fehler mal was neues :-)

von DAVID B. (bastler-david)


Lesenswert?

RI sieht mir aus als könnte ich die 12 volt direkt einspeisen ?

von DAVID B. (bastler-david)


Lesenswert?

Auf 
http://www.codeproject.com/Articles/678025/Serial-Comms-in-Csharp-for-Beginners 
habe ich ganz unten was gefunden mal sehen ob ich mir was zusammen 
basteln kann.
ich DANKE dir für eine hilfe schon mal sehr.

von Martin (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.