Stringverarbeitung

Dieser Bereich dient dem Austausch über geplante oder bereits realisierte Projekte - von Anwender zu Anwender.
Binni
Beiträge: 11
Registriert: Samstag 18. Mai 2024, 14:39

Stringverarbeitung

Beitrag von Binni » Mittwoch 4. Dezember 2024, 18:01

Hallo erstmal...,
kann mir jemand eine Tipp geben bei folgendem Problem:
Über die RS232 Schnittstelle lese ich String's die eine 16 Bit Binärzahl beinhalten.
z.Bspl: "32 " = Binär 5te Stelle, " 256" = Binär 9te Stelle, "32768" = Binär 16te Stelle.
mit 16 LED's soll der eingelesene String Binär angezeigt werden.
Vielen Dank im voraus:
Binni

funkybaer
Beiträge: 504
Registriert: Mittwoch 22. Oktober 2008, 08:51
Wohnort: Kitzingen

Re: Stringverarbeitung

Beitrag von funkybaer » Donnerstag 5. Dezember 2024, 10:59

Hallo Binni

Beide Strings in Analog werte umsetzen
Dann Addieren entsprechend
Anschliesend den AD wandler ran

fertisch

gruß

funkybaer
Beiträge: 504
Registriert: Mittwoch 22. Oktober 2008, 08:51
Wohnort: Kitzingen

Re: Stringverarbeitung

Beitrag von funkybaer » Samstag 7. Dezember 2024, 15:24

Aha - auch mal wieder Jemand der nicht mal ne Rückantwort gibt :?:

Spart man sich die nächste Unterstützung ..............

Binni
Beiträge: 11
Registriert: Samstag 18. Mai 2024, 14:39

Re: Stringverarbeitung

Beitrag von Binni » Samstag 7. Dezember 2024, 16:14

Hallo funkybaer,
versuche seit gestern eine Antwort mit Versuchsprojekt zu schicken
nach dem Entwurf speichern.. ist alles weg.
Antworten tu ich grundsätzlich immer !
Der Tipp mit dem AD Wandler war gut. Was Du aber mit " beide Strings in Analogwerte wandeln..." gemeint hast habe ich nicht verstanden.
Da es mit dem Hochladen von Dateianhängen ( .prj )bei mir nicht klappt hier mein Versuch: Stringbaustein mit Taste takten. Ausgang auf AD Wandler
16 Bit Eingang und zur Kontrolle ein $Display . Grenzwerte AD Wandler: min 0 max 32768. Ausgänge AD Wandler 16 LED's.
Über USB werden von einem MEGA 2560 die Strings "1", "2",-------"16384","32768" bei jedem Takt eingelesen.
Test: Takt 1: Anzeige nichts, LED1 dunkel. Takt 2 : Anzeige 1, LED2 leuchtet. Takt 16: Anzeige 16384, LED16 leuchtet. Takt 17: Anzeige 32768,
alle LED's leuchten.
Problem: die erste LED bleibt dunkel, die 16 leuchtet bei 16384 statt bei 32768. Beim 17 Takt leuchten alle.
Stell ich die AD Wandlerauflösung auf 15 Bit funktioniert es, aber nur bis LED 15.
Was kann man nun tun?


MfG
Binni

funkybaer
Beiträge: 504
Registriert: Mittwoch 22. Oktober 2008, 08:51
Wohnort: Kitzingen

Re: Stringverarbeitung

Beitrag von funkybaer » Samstag 7. Dezember 2024, 23:48

Hallo

String aufteilen in Low String und High String ( richtige Stelle eintragen )

analog Werte umsetzen

High String Hochrechnen ( X 256)

Addieren

AD Wandler ran

fertig



16bit.jpg
16bit.jpg (41.57 KiB) 33266 mal betrachtet

funkybaer
Beiträge: 504
Registriert: Mittwoch 22. Oktober 2008, 08:51
Wohnort: Kitzingen

Re: Stringverarbeitung

Beitrag von funkybaer » Samstag 7. Dezember 2024, 23:52

Also ich sende die ersten 8 Bit Low - dann die nächsten 8 Bit high
Da string zeichen ja nur 8 Bit haben

Oder verwechselst du da was ?

funkybaer
Beiträge: 504
Registriert: Mittwoch 22. Oktober 2008, 08:51
Wohnort: Kitzingen

Re: Stringverarbeitung

Beitrag von funkybaer » Sonntag 8. Dezember 2024, 00:01

So sollte es eigentlich ausschauen
Dateianhänge
15ad.jpg
15ad.jpg (63.71 KiB) 33265 mal betrachtet

Binni
Beiträge: 11
Registriert: Samstag 18. Mai 2024, 14:39

Re: Stringverarbeitung

Beitrag von Binni » Sonntag 8. Dezember 2024, 11:28

Guten Morgen funkybaer,
ich wollte Dich ja nicht die ganze Nacht mit meinem Problem beschäftigen,aber Danke!!
Hab keine große Erfahrung mitPLE, versuch mich durchzubeißen aber wenns hakt dann bin ich für jede Hilfe dankbar.
Auf Deine Schaltung währe ich nie gekommen! Ich probiers gleich aus und gebe Bescheid.
MfG
Binni

funkybaer
Beiträge: 504
Registriert: Mittwoch 22. Oktober 2008, 08:51
Wohnort: Kitzingen

Re: Stringverarbeitung

Beitrag von funkybaer » Sonntag 8. Dezember 2024, 11:31

Hallo

wenns hilft passt es ja

So kannste Senden was Du willst

Gruß

Binni
Beiträge: 11
Registriert: Samstag 18. Mai 2024, 14:39

Re: Stringverarbeitung

Beitrag von Binni » Sonntag 8. Dezember 2024, 22:16

Hallo Funkybaer,
hab eben einen Roman zu der Schaltung verfasst.
Auf absenden gedrückt und ...Er ist verschwunden.
Kurzum :ich habs nicht hinbekommen.
Ich verfass morgen nochmal den Roman und schick in per POST :oops:
MfG
Binni

funkybaer
Beiträge: 504
Registriert: Mittwoch 22. Oktober 2008, 08:51
Wohnort: Kitzingen

Re: Stringverarbeitung

Beitrag von funkybaer » Montag 9. Dezember 2024, 12:28

Hallo Bini

Erst mal : Ein wenig mehr Info wäre gut . Von Was wird gesendet? - wie ist das komplette Protokoll ? Start und Ende Kondition?

Ist wie "was auf nem Blatt lesen und nicht wissen was ".....

Wenn du Strings empfängst besteht der String aus Variablen - Wert 0 - 256.

Du solltest Dir das erst mal mit z.B. Hterm anschauen . DAnn siehste ja was da kommt .
Also Werte wie 32xxx gibts da dann nicht - dann musste das anders machen . aber ein Wert 32xxx besteht ja aus 2 Byte - und die kannste ja entsprechend zusammensetzen ( siehe Beispiel)

Im Anhang mal eine Sendung mit Hterm empfangen.

Also Anfragen wie du gemacht hast können keinen vernünftigen Erfolg geben.

Gruß gerhard
hterm.jpg
hterm.jpg (191.57 KiB) 33195 mal betrachtet

Binni
Beiträge: 11
Registriert: Samstag 18. Mai 2024, 14:39

Re: Stringverarbeitung

Beitrag von Binni » Mittwoch 11. Dezember 2024, 00:23

Hallo funkybaer,
du hast Recht String ist nicht so mein Fall !
Das Projekt: Kabelprüfgerät mit 16 Adern. Mit dem Mega setz ich einen Ausgang, dann werden 16 Eingänge nacheinander abgeklappert und erkannt, welcher oder mehrere davon Highsignal haben. Dann wird der nächste Ausgang gesetzt und wieder die 16 Eingänge abgefragt, bis alle 16 Aus und Eingänge abgearbeitet sind. Nach jeder Abfrage der 16 Eingänge wird ein String gesendet. Zum Testen sende ich folgende Strings:
1, 2 , 4, 8 ,16 , 32 , 64, 128, 256, 512, 1024, 2048, 4096, 8192,16384, und 32768. So sehen die auch im HTERM aus.
Jede dieser Zahlen steht für eine Binärstelle. 1= 1 Stelle, 2 = 2 Stelle, 4 = 3 Stelle, 8 = 4 Stelle,16 = 5 Stelle bis 32768 als 16 Stelle.
Mit den 16 Ausgängen des AD Wandlers werden dann 16 Duo LEDs angesteuert welche die Spalten einer Matrix mit 256 LEDs bilden.
Die oben gemessenen Strings werden mit Strings der vorhandenen Kabeldaten verglichen und mit einem weiteren AD Wandler auf die Zeilen LEDs
Geschaltet. So wird in der Matrix erkannt,welche Leitung von A nach B liegt und optisch angezeigt.
Wie gesagt die Strings direkt auf den AD Wandler hat genau das angezeigt was ich wollte. Allerdings siehe Beitrag vom 7.12.24
MfG
Binni

funkybaer
Beiträge: 504
Registriert: Mittwoch 22. Oktober 2008, 08:51
Wohnort: Kitzingen

Re: Stringverarbeitung

Beitrag von funkybaer » Mittwoch 11. Dezember 2024, 19:33

Hi Binni

Vl solltest du dann statt Com String empfangen Com Zahl empfangen machen ?

Also wenn schon Controller dann verwende ich nur Strings - kannst du doch im Controller schön trennen .

Gruß

Norman256256
Beiträge: 28
Registriert: Mittwoch 28. Dezember 2022, 10:31

Re: Stringverarbeitung

Beitrag von Norman256256 » Donnerstag 12. Dezember 2024, 14:41

Hi,
String zerlegen, so daß nur noch der Zahlencode im String vorhanden ist. Dann String in Zahl (integer) konvertieren. Anschließend mit dem DLL Makro dekodieren. Das Makro kann über den Einstellungen-Dialog konfiguriert werden.

THX
String2bin.zip
(322.4 KiB) 1421-mal heruntergeladen

funkybaer
Beiträge: 504
Registriert: Mittwoch 22. Oktober 2008, 08:51
Wohnort: Kitzingen

Re: Stringverarbeitung

Beitrag von funkybaer » Donnerstag 12. Dezember 2024, 19:16

Hallo Norman

Leider wird von antivirus ein virus in deiner Zip Datei angezeigt.

Leider so nicht herunter zu laden .

Gruß Gerhard

Norman256256
Beiträge: 28
Registriert: Mittwoch 28. Dezember 2022, 10:31

Re: Stringverarbeitung

Beitrag von Norman256256 » Freitag 13. Dezember 2024, 08:29

Nochmal neu gezippt. Kaspersky meckert nicht.
String2bin.zip
(329.14 KiB) 1585-mal heruntergeladen

funkybaer
Beiträge: 504
Registriert: Mittwoch 22. Oktober 2008, 08:51
Wohnort: Kitzingen

Re: Stringverarbeitung

Beitrag von funkybaer » Freitag 13. Dezember 2024, 11:56

Hallo Norman

Ist ja nix anderes wie der AD Wandler bei dem ich vorher den passenden String auswähle.

Für Binni wäre es ja nur sinnvoll wenn man da auch Word und DBWord anwählen kann - nicht nur das entsprechende Byte.

Gruß

Binni
Beiträge: 11
Registriert: Samstag 18. Mai 2024, 14:39

Re: Stringverarbeitung

Beitrag von Binni » Freitag 13. Dezember 2024, 14:39

Hallo zusammen, habe Dank eurer Hilfe einen Teilerfolg erzielt. Siehe Anhang.
Die Umsetzung läuft , egal mit String oder Zahl lesen.
MfG
Binni
Bin_Led_2.prj
String in LED
(12.88 KiB) 907-mal heruntergeladen

funkybaer
Beiträge: 504
Registriert: Mittwoch 22. Oktober 2008, 08:51
Wohnort: Kitzingen

Re: Stringverarbeitung

Beitrag von funkybaer » Freitag 13. Dezember 2024, 17:18

Hi Binni

Wie funktioniert den das ? mit einem String direkt in den AD - Also analog Wert ?

DA gehört auf jedenfall ein String zu Analog Baustein rein

Binni
Beiträge: 11
Registriert: Samstag 18. Mai 2024, 14:39

Re: Stringverarbeitung

Beitrag von Binni » Freitag 13. Dezember 2024, 17:56

Hallo Funkybaer,
frag mich nicht warum? , aber so funktionierts. Der Zählerbaustein sorgt dafür, das die " 32768 " = 16 Stelle auch einzel angezeigt wird und nicht alle 16 LED aufleuchten und somit gelöscht werden.
Ist es normal, das beim AD Wandler bei dem Wert 32768 alle Ausgänge auf High gehen?
MfG
Binni

Antworten

Zurück zu „PROFILAB Kundenprojekte und Aufgabenstellungen“