Automatische Erkennung von Com-port?

Antworten
joergimd
Beiträge: 2
Registriert: Samstag 22. September 2012, 17:46

Automatische Erkennung von Com-port?

Beitrag von joergimd » Donnerstag 11. Oktober 2012, 14:49

Hallo
Ich suche für ein Projekt eine Möglichkeit, die verteilte COM-Port Nummer automatisch zu erkennen und Profilab mit Hardware zu verbinden.


Genauer: USB IO-Karte HB628 wird angesteckt und erhält eine Com-Port nummer vom System. Wie kann ich diese Com-Portnummer selbstständig mittels Profilab expert auslesen und mit Karte verbinden?

tschau Joergimd

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

Re: Automatische Erkennung von Com-port?

Beitrag von abacom » Freitag 12. Oktober 2012, 08:23

Ich denke nicht, dass das möglich ist, aber vielleicht hat ja noch jemand eine Idee...
ABACOM support

KAKTUS
Beiträge: 651
Registriert: Samstag 18. Oktober 2008, 21:12

Re: Automatische Erkennung von Com-port?

Beitrag von KAKTUS » Freitag 12. Oktober 2012, 09:46

Es wären meines Erachtens folgende Voraussetzungen nötig:
  • 1. Man kann aus PLE im Run Modus automatisch den COM port ändern
    2. Deine Karte sendet einen bestimmte "Kennung" um dann in PLE zu prüfen ob der gewählte Com Port der richtige ist.
zu 1. Das ist derzeit nicht möglich
zu 2. Kann ich nicht beantworten. Alternativ kann man auch ein Kommando senden und die Antwort abfragen.
stachlige Grüße, Kaktus

joergimd
Beiträge: 2
Registriert: Samstag 22. September 2012, 17:46

Re: Automatische Erkennung von Com-port?

Beitrag von joergimd » Mittwoch 28. November 2012, 21:55

hallo nochmal.

karte sendet HB628 etwas weiter dann den (COM16)

die Systeminformation als txt-datei ausgelesen speziell für die Ports.

also habe ich eine txt-datei nur für die angeschlossenen COM-Ports.
Dieses als Commandline befehl erstellt.

jetzt brauche ich noch eine möglichkeit um aus der txt-datei diese benötigte Comport nummer herauszufiltern als Variable um diese Variable in die Profilab Konfigdatei einzusetzen.
danach dann erst profilab-start.

dann hat profilab automatisch gleich die richtige COM-Port Nr. ohne nachzuschauen und von Hand jedesmal neu einzutragen.

Ich bin nämlich dabei das Videostreamprogramm Adobe FlashMediaLiveEncoder mittels der HB628 für Internet online/offline und Stream Start/Stopp fernzubedienen.
Dieses mittels Batchdateien die von Profilab aus aufgerufen werden. Ergebnisse über 2 Duo-led mit lediglich 2 Ausgabeport-verbrauch und nachgeschalteten 7404 zum Signal wandeln. Digitalausgangsport =1 grün. =0 rot über 7404. So die Überlegung.

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

Re: Automatische Erkennung von Com-port?

Beitrag von abacom » Donnerstag 29. November 2012, 08:15

Um die Textdatei auszuwerten, kann man vielleicht mit der Komponente "Datei-Readline" etwas
sinnvolles herstellen.
ABACOM support

jmffo
Beiträge: 12
Registriert: Dienstag 3. September 2019, 11:28

Re: Automatische Erkennung von Com-port?

Beitrag von jmffo » Dienstag 10. September 2019, 18:27

Ein herzliches Hallo an alle,

zu diesem Thema habe ich eine Frage, obwohl der Beitrag schon recht betagt ist. In der Baugruppe "Com String empfangen" kann ich nur manuell die Ports auswählen. ist es möglich diese Auswahlliste automatisch abzufragen und bei Erkennen eines Ports die Verbindung herzustellen?

jmffo
Beiträge: 12
Registriert: Dienstag 3. September 2019, 11:28

Re: Automatische Erkennung von Com-port?

Beitrag von jmffo » Donnerstag 12. September 2019, 23:14

Hallo,
ich habe dieses Problem jetzt selbst gelöst und kann zunächst Port 1-15 automatisch einlesen bei bestehender Datenübermittlung. Über eine Kaskade lässt sich die Anzahl noch erweitern. Dazu habe ich einen StringMultiplexer (mit 15 Eingängen) und für jeden Port einen StringCom verwendet. Die Binärcodierung habe ich über Gatter und die Auswertung des aktiven Ports über den Busy-Ausgang vorgenommen.
Bei Interessen kann ich die Schaltung posten.

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

Re: Automatische Erkennung von Com-port?

Beitrag von abacom » Dienstag 17. September 2019, 12:16

Erlaubt ist was gefällt. Prinzipiell kann es aber Probleme machen alle verfügbaren Schnittstellen zu öffnen und probeweise zu befeuern. So habe ich den Ansatz jedenfalls verstanden. Wenn nur ein einzelnes Gerät dranhängt, könnte man das wohl vertreten.
ABACOM support

jmffo
Beiträge: 12
Registriert: Dienstag 3. September 2019, 11:28

Re: Automatische Erkennung von Com-port?

Beitrag von jmffo » Freitag 20. September 2019, 23:54

Kommt es dadurch zu zeitkritischen Konflikten oder worin liegt das Problem. Für mich ist es wichtig, auch die Grenzen des Möglichen kennenzulernen, da ich wie gesagt dabei bin mich einzuarbeiten.
Das Erkennen funktioniert schon zuverlässing. Ich habe nur das Problem, dass ich 9 Messwerte zur aus einem String mit 3x15 Blöcken mit StringCom auslese. Das Selektieren funktioniert auch nur das er teilweise manche Blöcke nicht erfasst und dann auch nicht anzeigt sowohl mit als auch ohne Erkennen der Ports. Ich kann mir vorstellen das sich da viele Fehlerquellen auftun, aber irgendwie muss ich mich ja herantasten.

KAKTUS
Beiträge: 651
Registriert: Samstag 18. Oktober 2008, 21:12

Re: Automatische Erkennung von Com-port?

Beitrag von KAKTUS » Samstag 21. September 2019, 10:32

Helfen kann man nur wenn man das projekt gesehen hat, am besten auch mal den Mitschrieb was da gesendet wird.
stachlige Grüße, Kaktus

jmffo
Beiträge: 12
Registriert: Dienstag 3. September 2019, 11:28

Re: Automatische Erkennung von Com-port?

Beitrag von jmffo » Samstag 21. September 2019, 21:47

Hallo Kaktus,

vielen Dank für die Antwort. Anbei habe ich das Projekt beigefügt.
Es geht um ein 3-Kanal-Umweltmessgerät, das Daten über die serielle Schnittstelle jede Sekunde sendet. Dabei handelt es sich um 3 Parameter (Sauerstoffgehalt (Ox), Leitfähigkeit(Co), pH-Wert). Die Daten von jedem Sensor werden in 15 Blöcken (";"-getrennt) in einem String gesendet. Dieser String sieht dann so aus:

Multi 3430; 10360049;2;07.08.2009 03:37:57;480,0;5S/cm;Cond;25,3;0C;Temp;;+++;C = 0,477 1/cm Tref25 nLF;TetraCon 925; 10020296;Multi 3430; 10360049;2;07.08.2009 03:37:57;8,33;mg/l;Ox;25,8;0C;Temp;AR;+++;SC-FDO 925 11280334 [/color]t90 = 30 s;FDO 925; 10161880;Multi 3430; 10360049;2;07.08.2009 03:37:57;7,914;;pH;25,8;0C;Temp;AR;+++;;SenTix 940; C173734036;

ROT: Beginn des Strings pro Sensor
GRÜN: Kennung für die 3 Parameter
BLAU: Messwerte und Seriennummern

"Multi" ist der Selektionsstring für ComString. die Formel ermittelt aus dem realen Sauerstoffwert in mg/l den relativen Sauerstoffwert in %.
Das Makro dient der Ermittlung des Comports. Wenn ich dieses Makro abschalte, dann werden die Werte besser erkannt, aber dann gibt es trotzdem noch Aussetzer.

Die Daten werden dann im Display und über DDE in eine Exceltabelle übertragen.

Gruß Jörg
Dateianhänge
Online11-12 red. Par. Formel DDE Makro.prj
(31.67 KiB) 202-mal heruntergeladen

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

Re: Automatische Erkennung von Com-port?

Beitrag von abacom » Montag 23. September 2019, 09:57

So aufgeschrieben sieht es vielleicht etwas freundlicher aus. Sind da vielleicht doch noch irgendwo Trennzeichen im Protokoll, die die Sache vereinfachen könnten?

Code: Alles auswählen

[size=8]
Multi 3430; 10360049;2;07.08.2009 03:37:57; 480,0;5S/cm;Cond;25,3; 0C; Temp;  ;+++;              C = 0,477 1/cm Tref25 nLF;TetraCon 925; 10020296;
Multi 3430; 10360049;2;07.08.2009 03:37:57;  8,33; mg/l;  Ox;25,8; 0C; Temp;AR;+++; SC-FDO 925 11280334 [/color]t90 = 30 s;FDO 925     ; 10161880;
Multi 3430; 10360049;2;07.08.2009 03:37:57; 7,914;     ;  pH;25,8; 0C; Temp;AR;+++;                                       ;SenTix 940  ; C173734036;
[/size]
Der Ansatz mit den Puffern aus obigem Projekt erschließt sich mir nicht. Auf das zeitgleiche Takten mehrerer Empfänger dürfte problematisch sein. Die "COM-Erkennung" ist ja vielleicht auch erstmal verzichtbar.

Da (vermutlich) immer die gleiche Anzahl an Feldern übertragen wird, würde ich es mit $PART versuchen. Das "GPS-DEMO.PRJ" aus den RS232-Beispielen könnte vielleicht helfen, wenn man darin das Trennzeichen und den Filterstring entsprechend anpasst.
ABACOM support

jmffo
Beiträge: 12
Registriert: Dienstag 3. September 2019, 11:28

Re: Automatische Erkennung von Com-port?

Beitrag von jmffo » Mittwoch 25. September 2019, 18:14

Die Buffer hatte ich für die Zwischenspeicherung des Messwertes vorgesehen. Das Beispiel "GPS-Demo" mit $Hold war natürlich viel eleganter. Die Zwischenspeicherung mit $Hold hatte den Vorteil, das es zu keinen Datenabbrüchen mehr beim Logging kam. Die Abfrage der Comports erfolgt nur in den ersten 2 Sekunden, wodurch ich dann keine Probleme mit dem Logging der Messwerte mehr habe.

Antworten

Zurück zu „Thema RS232“