Zerlegung String

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

Zerlegung String

Beitrag von Marmelot »

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) 29728 mal betrachtet
Die momentane Anwendung kann nur den grünen Teil zerlegen.

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


Gruß Thomas
Mike D
Beiträge: 529
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Zerlegung String

Beitrag von Mike D »

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 »

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 »

Vielleicht so etwa:
Dateianhänge
String_handlers.png
String_handlers.png (52.43 KiB) 29658 mal betrachtet
++++++
Gruss/regards IKT
Marmelot
Beiträge: 31
Registriert: Samstag 9. Dezember 2017, 10:39

Re: Zerlegung String

Beitrag von Marmelot »

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) 975-mal heruntergeladen
IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Zerlegung String

Beitrag von IKT »

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 »

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 »

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 »

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) 29609 mal betrachtet
Auschnitt Terminal mit Messmodul.PNG
Auschnitt Terminal mit Messmodul.PNG (46.65 KiB) 29611 mal betrachtet
String zerlegen.PNG
String zerlegen.PNG (24.54 KiB) 29608 mal betrachtet
Marmelot
Beiträge: 31
Registriert: Samstag 9. Dezember 2017, 10:39

Re: Zerlegung String

Beitrag von Marmelot »

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 »

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 »

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 »

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 »

:?: jetzt verstehe ich fast nichts mehr...
Dateianhänge
HEX Darstellung.PNG
HEX Darstellung.PNG (7.34 KiB) 29596 mal betrachtet
Marmelot
Beiträge: 31
Registriert: Samstag 9. Dezember 2017, 10:39

Re: Zerlegung String

Beitrag von Marmelot »

Bin ich auf dem richtigen Weg?
Dateianhänge
Zerlegung.PNG
Zerlegung.PNG (14.22 KiB) 29588 mal betrachtet
IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Zerlegung String

Beitrag von IKT »

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 »

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: 529
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Zerlegung String

Beitrag von Mike D »

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 »

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) 29542 mal betrachtet
Marmelot
Beiträge: 31
Registriert: Samstag 9. Dezember 2017, 10:39

Re: Zerlegung String

Beitrag von Marmelot »

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) 29539 mal betrachtet
Antworten

Zurück zu „STRING-Verarbeitung“