Zerlegung String

Marmelot
Beiträge: 31
Registriert: Samstag 9. Dezember 2017, 10:39

Zerlegung String

Beitrag von Marmelot » Montag 11. Dezember 2017, 14:05

Hallo,

ich bin seit ein paar Wochen Anwender von ProfiLab, und versuche mich am zerlegen einer Zeichenkette (String). Es gibt da bereits eine kompilierte Anwendung, wovon ich aber das Projekt nicht habe.
Gibt es die Möglichkeit des auslesens der Schaltung auch ohne Projektdatei?
Zeichenkette.JPG
Zeichenkette.JPG (50.1 KiB) 9681 mal betrachtet
Die momentane Anwendung kann nur den grünen Teil zerlegen.

12.JPG
12.JPG (45.85 KiB) 9681 mal betrachtet
Vieleicht kann mir jemand auch einen Tip geben, wie ich den String aufteilen muss


Gruß Thomas

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Zerlegung String

Beitrag von Mike D » Dienstag 12. Dezember 2017, 09:36

Moin,
wenn die Anzahl der Ausgänge nicht reicht, kann man $Part anders kaskadieren, den Eingang des 2. $Part an den letzten Ausgang des ersten, da wird nämlich der komplette Rest des Strings ausgegeben.
Es währe hilfreich, den Beispielstring nicht als Foto sondern als Text zur Verfügung zu Stellen und wir kennen die Einstellungen der $Parts im 2. Bild nicht.
Mike

tmm
Beiträge: 392
Registriert: Montag 23. Februar 2009, 06:38

Re: Zerlegung String

Beitrag von tmm » Dienstag 12. Dezember 2017, 10:16

Hi,

wie soll denn der zerlegte String aussehen ?

Wir brauchen mehr Details !

Gruß MM

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Zerlegung String

Beitrag von IKT » Dienstag 12. Dezember 2017, 20:05

Vielleicht so etwa:
Dateianhänge
String_handlers.png
String_handlers.png (52.43 KiB) 9611 mal betrachtet
++++++
Gruss/regards IKT

Marmelot
Beiträge: 31
Registriert: Samstag 9. Dezember 2017, 10:39

Re: Zerlegung String

Beitrag von Marmelot » Mittwoch 13. Dezember 2017, 15:32

Hallo,

vielen Dank für eure Antworten. Ich werde es mal etwas präzisieren. Standard ist ein Modul, was mir am Com Port die Werte T bis Z liefert. Im Bild grün dargestellt. Schliesse ich einen Fühler mehr an, kommt SP noch mit rüber. Dann gibt es ein CAN erweiterungsmodul, das wiederum die Zeichenkette um 4 Werte erweitert. Das wären dann W, X, Y, und Z. EIn weiteres Modul gibt fügt die Werte a bis h in die zweite Zeile der Zeichenkette. Mir fehlt der Ansatz, wie ich die ( Part ) Module konfigurieren muss.
Ich habe mal eine Prj. angehangen. Vieleicht sieht man es da besser.

Gruß Thomas
Dateianhänge
Testt.prj
(43.18 KiB) 180-mal heruntergeladen

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Zerlegung String

Beitrag von IKT » Mittwoch 13. Dezember 2017, 16:32

Marmelot hat geschrieben:Mir fehlt der Ansatz, wie ich die ( Part ) Module konfigurieren muss.
Ist doch im Bild beschrieben: Leer-Zeichen (engl. space), als Trenner ...
Die Part-Bausteine müssen kaskadiert werden (auch wie im Bild).
Letzter Ausgang = Eingang (nächstes Modul, in Kaskade, soviele Ausgänge, wie man will/braucht).
++++++
Gruss/regards IKT

Marmelot
Beiträge: 31
Registriert: Samstag 9. Dezember 2017, 10:39

Re: Zerlegung String

Beitrag von Marmelot » Mittwoch 13. Dezember 2017, 16:34

Vielen Dank, ich bin gerade dabei es zu testen.

Gruß Thomas

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Zerlegung String

Beitrag von IKT » Mittwoch 13. Dezember 2017, 16:50

Noch eine Bemerkung:
es sind viele Formel-Universal Bausteine vorhanden, diese sollte man tunlichst vermeiden, da sie extrem langsam sind (hoher Ressourcen Verbrauch). Es ist besser, wenn man dieselbe Formel mehrfach braucht, diese als Makro (mit den einfachen Math.-Bausteinen gebaut), zu implementieren.
Das so erstellte Makro kann dann mehrfach 'eingebaut' werden (wie jeder andere, schon vorhandene, Baustein).
++++++
Gruss/regards IKT

Marmelot
Beiträge: 31
Registriert: Samstag 9. Dezember 2017, 10:39

Re: Zerlegung String

Beitrag von Marmelot » Mittwoch 13. Dezember 2017, 17:47

Hallo IKT,

ich habe jetzt die Änderung versucht. Erst war ich sehr positiv überrascht, doch dann lief es wieder nicht. Noch eine Bemerkung, bei der einfachen Anwendung ist die Zeichenkette einzeilig. Mit Messmodul wird sie zweizeilig. Ich habe zwei Bilder angefügt, wie sie am Terminelprogramm zu sehen sind.

Bezüglich deiner Anmerkung, muss ich zustimmen. Diese Anwendung ist nicht von mir. Ist vor fast 10 Jahren mal entstanden und sehr Prozessorlastig. Ich bin dran das ganze etwas zu verbessern.

Gruß Thomas
Dateianhänge
Auschnitt Terminal mit Drehzahlmodul.PNG
Auschnitt Terminal mit Drehzahlmodul.PNG (29.19 KiB) 9562 mal betrachtet
Auschnitt Terminal mit Messmodul.PNG
Auschnitt Terminal mit Messmodul.PNG (46.65 KiB) 9564 mal betrachtet
String zerlegen.PNG
String zerlegen.PNG (24.54 KiB) 9561 mal betrachtet

Marmelot
Beiträge: 31
Registriert: Samstag 9. Dezember 2017, 10:39

Re: Zerlegung String

Beitrag von Marmelot » Mittwoch 13. Dezember 2017, 17:49

Bis zum kleinen z läuft die Anwendung. Mit dem Messmodul spinnt sie dann.

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Zerlegung String

Beitrag von IKT » Mittwoch 13. Dezember 2017, 18:04

Na ja, dann muss Umgeschaltet werden, von der einen, zu einer zweiten Auswertungs-Routine (z.B. $Mux).
Bei der zweiten dann, zuerst ein Part (der CR/LF oder CRLF auswertet und splittet), danach wie gehabt ...
++++++
Gruss/regards IKT

Marmelot
Beiträge: 31
Registriert: Samstag 9. Dezember 2017, 10:39

Re: Zerlegung String

Beitrag von Marmelot » Mittwoch 13. Dezember 2017, 18:11

Danke, ich habe jetzt zwar nicht viel verstanden, aber ich werde es mal testen.

Gruß Thomas

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Zerlegung String

Beitrag von IKT » Mittwoch 13. Dezember 2017, 18:22

Terminal mal von ASCII auf HEX umschalten, um herauszufinden, welche(s) Zeichen, den Zeilenumbruch veranlasst: 0D, [14dec] (CR), 0A [10dec] (LF) oder 0D0A (CRLF).
++++++
Gruss/regards IKT

Marmelot
Beiträge: 31
Registriert: Samstag 9. Dezember 2017, 10:39

Re: Zerlegung String

Beitrag von Marmelot » Mittwoch 13. Dezember 2017, 18:31

:?: jetzt verstehe ich fast nichts mehr...
Dateianhänge
HEX Darstellung.PNG
HEX Darstellung.PNG (7.34 KiB) 9549 mal betrachtet

Marmelot
Beiträge: 31
Registriert: Samstag 9. Dezember 2017, 10:39

Re: Zerlegung String

Beitrag von Marmelot » Mittwoch 13. Dezember 2017, 19:02

Bin ich auf dem richtigen Weg?
Dateianhänge
Zerlegung.PNG
Zerlegung.PNG (14.22 KiB) 9541 mal betrachtet

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Zerlegung String

Beitrag von IKT » Mittwoch 13. Dezember 2017, 19:10

Ist doch klar: Terminal-HEX (rechts, unterste Linie) 0D 0A 11
Also: CRLF (Wagenrücklauf, Zeilenwechsel [gemäss: https://dict.leo.org])
Bin ich auf dem richtigen Weg?
Nee, muss anderst herum geschaltet werden:
1 x Eingang / 2 x Ausgang ...
++++++
Gruss/regards IKT

tmm
Beiträge: 392
Registriert: Montag 23. Februar 2009, 06:38

Re: Zerlegung String

Beitrag von tmm » Mittwoch 13. Dezember 2017, 20:51

Hi,
du könntest auch CRLF mit dem Replace-Baustein durch ein Leerzeichen ersetzen (vor dem Part-Baustein), dann ist dein String "am Stück" und kann (fast egal wie lang er dann ist) dann einfach zerlegt werden.

Gruß MM

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Zerlegung String

Beitrag von Mike D » Donnerstag 14. Dezember 2017, 09:39

wird das CR LF nicht vom COM rausgefiltert und er gibt abwechsend beide Strings aus?
Dann könnte mit dem "T" am Anfang des 1. Strings der MUX umgeschaltet werden.

Marmelot
Beiträge: 31
Registriert: Samstag 9. Dezember 2017, 10:39

Re: Zerlegung String

Beitrag von Marmelot » Donnerstag 14. Dezember 2017, 10:07

Danke für eure Anregungen und Ideen. Ich muss dazu sagen, das ich mich erst seit zwei Wochen mit ProfiLab beschäftige. Deshalb verstehe ich auch manches nicht gleich auf Anhieb.

Mike, du meinst ich sollte das am COM einstellen? Ich habe mal ein Bild von der Einstellung des COM angefügt.

Gruß Thomas
Dateianhänge
Com Port.PNG
Com Port.PNG (31.97 KiB) 9495 mal betrachtet

Marmelot
Beiträge: 31
Registriert: Samstag 9. Dezember 2017, 10:39

Re: Zerlegung String

Beitrag von Marmelot » Donnerstag 14. Dezember 2017, 10:40

So, jetzt habe ich mich erstmal etwas belesen in Sachen "Wagenrücklauf". Wenn der String zweizeilig ist, habe ich in der HEX Ansicht zwei Wagenrückläufe. Jetzt dämmert es mir langsam. Also müsste ich den String nach dem ersten Wagenrücklauf teilen.
Dateianhänge
HEX zweizeilig.PNG
HEX zweizeilig.PNG (6.45 KiB) 9492 mal betrachtet

Antworten

Zurück zu „STRING-Verarbeitung“