Zerlegung String

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, 12:18

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.

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

Re: Zerlegung String

Beitrag von tmm » Donnerstag 14. Dezember 2017, 13:51

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 :roll: ) auch machen.
Nach den $Hold-Bausteinen könnte man die Teilstrings zu einem String addieren und danach wie schon vorher beschrieben zerlegen.

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, 14:49

warum erst zusammenführen um sie dann wieder zu trennen?

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

Re: Zerlegung String

Beitrag von IKT » Donnerstag 14. Dezember 2017, 15:00

Mike D hat geschrieben:warum erst zusammenführen um sie dann wieder zu trennen?
Naja, vielleicht, um eine konstante Ausgangsbasis zu schaffen, damit ein und dieselbe Zerlege-Routine eingesetzt werden kann?
++++++
Gruss/regards IKT

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, 15:22

so?
Dateianhänge
Zerlegung_Strings.prj
(5.21 KiB) 180-mal heruntergeladen

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

Re: Zerlegung String

Beitrag von tmm » Donnerstag 14. Dezember 2017, 15:34

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

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

Re: Zerlegung String

Beitrag von IKT » Donnerstag 14. Dezember 2017, 16:11

Mike D hat geschrieben:so?
Nee, da fehlt noch der $Add (hinter den beiden Hold's), dann die 'einfache', kaskadierte String-Zerlegung ...
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

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, 16:21

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.

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

Re: Zerlegung String

Beitrag von tmm » Donnerstag 14. Dezember 2017, 16:56

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 :roll:

Gruß MM

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

Re: Zerlegung String

Beitrag von Marmelot » Donnerstag 14. Dezember 2017, 16:58

Danke für die Vorgaben. Ich werde mich heute Abend mal drüber her machen und testen.

Gruß Thomas

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

Re: Zerlegung String

Beitrag von Marmelot » Donnerstag 14. Dezember 2017, 17:06

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

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

Re: Zerlegung String

Beitrag von Marmelot » Donnerstag 14. Dezember 2017, 21:16

So, ich habe das ganze etwas umgestrickt, aber irgendwo scheint noch ein Fehler zu sein :?:
Die Anwendung spinnt nach wie vor.
Dateianhänge
Neuer Entwurf.PNG
Neuer Entwurf.PNG (41.02 KiB) 8824 mal betrachtet

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

Re: Zerlegung String

Beitrag von tmm » Freitag 15. Dezember 2017, 05:14

Hi,
der $Multiplexer muss weg, dann sollte es funktionieren.

Gruß MM

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

Re: Zerlegung String

Beitrag von Marmelot » Freitag 15. Dezember 2017, 08:49

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

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

Re: Zerlegung String

Beitrag von Marmelot » Freitag 15. Dezember 2017, 09:14

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
String simuliert.PNG (56.34 KiB) 8808 mal betrachtet

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

Re: Zerlegung String

Beitrag von Mike D » Freitag 15. Dezember 2017, 10:26

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.

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

Re: Zerlegung String

Beitrag von Marmelot » Freitag 15. Dezember 2017, 11:40

Der $MUX war nicht angschlossen.
Dateianhänge
Test String.prj
(20.23 KiB) 167-mal heruntergeladen

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

Re: Zerlegung String

Beitrag von Mike D » Freitag 15. Dezember 2017, 12:44

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.
Dateianhänge
Test String.prj
(21.13 KiB) 156-mal heruntergeladen

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

Re: Zerlegung String

Beitrag von Mike D » Freitag 15. Dezember 2017, 12:50

UPS, das nächste Problem.
Die dll ist auf 40 Zeichen beschränkt, das dürfte zu kurz sein.

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

Re: Zerlegung String

Beitrag von Marmelot » Freitag 15. Dezember 2017, 13:10

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

Antworten

Zurück zu „STRING-Verarbeitung“