Zerlegung String
Re: Zerlegung String
Nein, COM ist so eingestellt, das es durch das CR LF erkennt, dass eine Zeile zu Ende ist und gibt sie dann als String am Ausgang aus, ohne CR LF.
Am Ausgang erscheneinen also beide Strings abwechselnd.
Mit 2 $Hold könnte man diese beiden Strings jetzt einzeln speichern, als Trigger könnte man das "T" und "a" am Anfang der Strings benutzen. Hinter den $Holds kann dann jeweils $Part die einzelnen Werte rausfriemeln.
Am Ausgang erscheneinen also beide Strings abwechselnd.
Mit 2 $Hold könnte man diese beiden Strings jetzt einzeln speichern, als Trigger könnte man das "T" und "a" am Anfang der Strings benutzen. Hinter den $Holds kann dann jeweils $Part die einzelnen Werte rausfriemeln.
Re: Zerlegung String
Hallo,
so wie MikeD das beschrieben hat würde ich es (jetzt, nachdem ich auch gemerkt habe, dass ASCII 10 & 13 in dem String gar nicht mehr drin sind ) auch machen.
Nach den $Hold-Bausteinen könnte man die Teilstrings zu einem String addieren und danach wie schon vorher beschrieben zerlegen.
Gruß MM
so wie MikeD das beschrieben hat würde ich es (jetzt, nachdem ich auch gemerkt habe, dass ASCII 10 & 13 in dem String gar nicht mehr drin sind ) auch machen.
Nach den $Hold-Bausteinen könnte man die Teilstrings zu einem String addieren und danach wie schon vorher beschrieben zerlegen.
Gruß MM
Re: Zerlegung String
warum erst zusammenführen um sie dann wieder zu trennen?
Re: Zerlegung String
Naja, vielleicht, um eine konstante Ausgangsbasis zu schaffen, damit ein und dieselbe Zerlege-Routine eingesetzt werden kann?Mike D hat geschrieben:warum erst zusammenführen um sie dann wieder zu trennen?
++++++
Gruss/regards IKT
Gruss/regards IKT
Re: Zerlegung String
Hi,
ja, ich habe es lieber einheitlich, deshalb würde ich aus den "Teilstrings" zuerst einen einzigen String machen.
Jetzt muss nur noch der Inhalt vom $Hold geleert werden, bevor neu eingelesen wird - nicht, dass da "alte" und "neue" Teilstrings gemischt werden.
Gruß MM
ja, ich habe es lieber einheitlich, deshalb würde ich aus den "Teilstrings" zuerst einen einzigen String machen.
Jetzt muss nur noch der Inhalt vom $Hold geleert werden, bevor neu eingelesen wird - nicht, dass da "alte" und "neue" Teilstrings gemischt werden.
Gruß MM
Re: Zerlegung String
Nee, da fehlt noch der $Add (hinter den beiden Hold's), dann die 'einfache', kaskadierte String-Zerlegung ...Mike D hat geschrieben:so?
So wie tmm's Vorschlag.
Mögliche Alternative, für diese Ausgangslage, kann auch $Buffer sein? (da lesen/schreiben, unabhängig initiiert sind)
Zuletzt geändert von IKT am Donnerstag 14. Dezember 2017, 16:23, insgesamt 1-mal geändert.
++++++
Gruss/regards IKT
Gruss/regards IKT
Re: Zerlegung String
wenn man sie erst mit add zusammen hängt, und der Speicherfühlerwert ist nicht da, sind alle folgenden Werte um einen verschoben.
Spart man sich das add bleiben die Werte vom CAN Modul an den richtigen Plätzen.
Spart man sich das add bleiben die Werte vom CAN Modul an den richtigen Plätzen.
Re: Zerlegung String
Hallo,
wenn die die Möglichkeit besteht, dass "mittendrin" Werte fehlen könnten, dann würde ich die zerlegten Strings anhand der vorangestellten Buchstaben zuordnen und nicht anhand der gesendeten Position.
So wie ich die Ausgangsfrage verstehe gibt es "nur grün" , "grün und blau" oder "grün, blau und rot" aber nicht "grün und rot" oder "blau und rot" oder so
Gruß MM
wenn die die Möglichkeit besteht, dass "mittendrin" Werte fehlen könnten, dann würde ich die zerlegten Strings anhand der vorangestellten Buchstaben zuordnen und nicht anhand der gesendeten Position.
So wie ich die Ausgangsfrage verstehe gibt es "nur grün" , "grün und blau" oder "grün, blau und rot" aber nicht "grün und rot" oder "blau und rot" oder so
Gruß MM
Re: Zerlegung String
Danke für die Vorgaben. Ich werde mich heute Abend mal drüber her machen und testen.
Gruß Thomas
Gruß Thomas
Re: Zerlegung String
Die erste Zeile wird richtig zerlegt. Egal ob grün oder grün und blau. Danach kommt immer der Wagenrücklauf. Erst mit rot klemmt die Säge. Ich teste dann
Re: Zerlegung String
So, ich habe das ganze etwas umgestrickt, aber irgendwo scheint noch ein Fehler zu sein
Die Anwendung spinnt nach wie vor.
Die Anwendung spinnt nach wie vor.
- Dateianhänge
-
- Neuer Entwurf.PNG (41.02 KiB) 9260 mal betrachtet
Re: Zerlegung String
Hi,
der $Multiplexer muss weg, dann sollte es funktionieren.
Gruß MM
der $Multiplexer muss weg, dann sollte es funktionieren.
Gruß MM
Re: Zerlegung String
Guten Morgen,
ich habe den Multiplexer umgangen, doch es geht trotzdem nicht. Langsam bin ich am verzweifeln. $CONST5 habe ich auf T und $CONST6 auf a eingestellt. Kommt der String einzeilig geht es, wird er zweizeilig spinnt die Anwendung.
Gruß Thomas
ich habe den Multiplexer umgangen, doch es geht trotzdem nicht. Langsam bin ich am verzweifeln. $CONST5 habe ich auf T und $CONST6 auf a eingestellt. Kommt der String einzeilig geht es, wird er zweizeilig spinnt die Anwendung.
Gruß Thomas
Re: Zerlegung String
Jetzt habe ich den String erstmal simuliert, wie Mike in seinem Pjojekt. Was bei Ihm läuft, läuft bei nicht. Es leitet die erste Zeile auf §Part1 und $Part2, und dann die zweite Zeile auf beide
- Dateianhänge
-
- String simuliert.PNG (56.34 KiB) 9244 mal betrachtet
Re: Zerlegung String
zeig mal bitte was links von $mux2 ist, ich verstehe nicht wofür der da ist.
Und der erste String hat doch nur 14 Werte, dann kann aus Ausgang 15 nix mehr kommen und $Part3 ist da falsch.
Und der erste String hat doch nur 14 Werte, dann kann aus Ausgang 15 nix mehr kommen und $Part3 ist da falsch.
Re: Zerlegung String
Der $MUX war nicht angschlossen.
- Dateianhänge
-
- Test String.prj
- (20.23 KiB) 178-mal heruntergeladen
Re: Zerlegung String
das ist ein Timingproblem das in manchen PL Projekten vorkommt.
Da hilft z.B. die $Delay-dll von IKT.
http://forum.abacom-online.de/viewtopic.php?f=42&t=4069
vor den $Hold muss die dll eingefügt werden.
Da hilft z.B. die $Delay-dll von IKT.
http://forum.abacom-online.de/viewtopic.php?f=42&t=4069
vor den $Hold muss die dll eingefügt werden.
- Dateianhänge
-
- Test String.prj
- (21.13 KiB) 166-mal heruntergeladen
Re: Zerlegung String
UPS, das nächste Problem.
Die dll ist auf 40 Zeichen beschränkt, das dürfte zu kurz sein.
Die dll ist auf 40 Zeichen beschränkt, das dürfte zu kurz sein.
Re: Zerlegung String
Ein Timing Problem? Aber was ist denn bei test string.prj anders als bei zerlegung_strings.prj.?
Der String kommt aller 5 sekunden über den COM Port neu rein. Vieleicht hilft das.
Gruß Thomas
Der String kommt aller 5 sekunden über den COM Port neu rein. Vieleicht hilft das.
Gruß Thomas