Zerlegung String
Zerlegung String
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?
Die momentane Anwendung kann nur den grünen Teil zerlegen.
Vieleicht kann mir jemand auch einen Tip geben, wie ich den String aufteilen muss
Gruß Thomas
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?
Die momentane Anwendung kann nur den grünen Teil zerlegen.
Vieleicht kann mir jemand auch einen Tip geben, wie ich den String aufteilen muss
Gruß Thomas
Re: Zerlegung String
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
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
Re: Zerlegung String
Hi,
wie soll denn der zerlegte String aussehen ?
Wir brauchen mehr Details !
Gruß MM
wie soll denn der zerlegte String aussehen ?
Wir brauchen mehr Details !
Gruß MM
Re: Zerlegung String
Vielleicht so etwa:
- Dateianhänge
-
- String_handlers.png (52.43 KiB) 9747 mal betrachtet
++++++
Gruss/regards IKT
Gruss/regards IKT
Re: Zerlegung String
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
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) 182-mal heruntergeladen
Re: Zerlegung String
Ist doch im Bild beschrieben: Leer-Zeichen (engl. space), als Trenner ...Marmelot hat geschrieben:Mir fehlt der Ansatz, wie ich die ( Part ) Module konfigurieren muss.
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
Gruss/regards IKT
Re: Zerlegung String
Vielen Dank, ich bin gerade dabei es zu testen.
Gruß Thomas
Gruß Thomas
Re: Zerlegung String
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).
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
Gruss/regards IKT
Re: Zerlegung String
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
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 (29.19 KiB) 9698 mal betrachtet
-
- Auschnitt Terminal mit Messmodul.PNG (46.65 KiB) 9700 mal betrachtet
-
- String zerlegen.PNG (24.54 KiB) 9697 mal betrachtet
Re: Zerlegung String
Bis zum kleinen z läuft die Anwendung. Mit dem Messmodul spinnt sie dann.
Re: Zerlegung String
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 ...
Bei der zweiten dann, zuerst ein Part (der CR/LF oder CRLF auswertet und splittet), danach wie gehabt ...
++++++
Gruss/regards IKT
Gruss/regards IKT
Re: Zerlegung String
Danke, ich habe jetzt zwar nicht viel verstanden, aber ich werde es mal testen.
Gruß Thomas
Gruß Thomas
Re: Zerlegung String
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
Gruss/regards IKT
Re: Zerlegung String
jetzt verstehe ich fast nichts mehr...
- Dateianhänge
-
- HEX Darstellung.PNG (7.34 KiB) 9685 mal betrachtet
Re: Zerlegung String
Bin ich auf dem richtigen Weg?
- Dateianhänge
-
- Zerlegung.PNG (14.22 KiB) 9677 mal betrachtet
Re: Zerlegung String
Ist doch klar: Terminal-HEX (rechts, unterste Linie) 0D 0A 11
Also: CRLF (Wagenrücklauf, Zeilenwechsel [gemäss: https://dict.leo.org])
1 x Eingang / 2 x Ausgang ...
Also: CRLF (Wagenrücklauf, Zeilenwechsel [gemäss: https://dict.leo.org])
Nee, muss anderst herum geschaltet werden:Bin ich auf dem richtigen Weg?
1 x Eingang / 2 x Ausgang ...
++++++
Gruss/regards IKT
Gruss/regards IKT
Re: Zerlegung String
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
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
Re: Zerlegung String
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.
Dann könnte mit dem "T" am Anfang des 1. Strings der MUX umgeschaltet werden.
Re: Zerlegung String
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
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 (31.97 KiB) 9631 mal betrachtet
Re: Zerlegung String
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 (6.45 KiB) 9628 mal betrachtet