![]() |
Leeres String löschen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Leeres String löschen (/Thread-Leeres-String-loeschen) |
RE: Leeres String löschen - jg - 12.06.2014 10:48 Schön, dass dein VI jetzt auch Default Werte enthält. ![]() Da sieht man gleich, dass der String nicht leer ist sondern ein 0x0D Byte enthält: [attachment=49998] Mögliche Lösungen: - Du änderst das VI von Lucki ab und suchst nach Strings "0x0D". - Du entfernst prinzipiell solche Zeichen am Anfang und Ende per "Trim Whitespace". [attachment=49999] - oder, oder, oder, ... Gruß, Jens RE: Leeres String löschen - Amina - 12.06.2014 11:10 Genau das ist die Lösung Jens danke dir. noch eine Frage, vielleicht habt ihr eine Idee. Ich lese die Werte als String von einem Sensor aus, und die Werte enthalten ein paar Werte (Strings z.B. [#1A, #11b100 und ]), die ich nicht brauche. diese Stringwerte filtere ich mit der Funktion STRING SUCHEN UND ERSETZEN. Hat jemand eine Idee wie man das am besten programmieren kann. Liebe Grüße Bouguessaa RE: Leeres String löschen - Amina - 13.06.2014 01:17 Hi Jens ich hab das Programm probiert und die ungewünschte Strings werden leider nicht entfernt. ich bekomme die Strings Elementweise von VISA Lesen und versuche ich die ungewünschte Strings mit dem Programm (im Anhang) zu löschen aber funktioniert nicht mit einzelnen Stringelemente. Hat jemand eine Idee Gruß Amina B. RE: Leeres String löschen - Y-P - 13.06.2014 06:38 So geht's (mit Deinem Bsp.-String von oben). [attachment=50011] Gruß Markus RE: Leeres String löschen - jg - 13.06.2014 08:25 @Amina: Dein letztes VI funktioniert doch. String 0x202020 wird nicht weitergegeben. Du solltest dein Problem mal genauer erklären, im gesamten Kontext. - Erst willst du leere Strings aus einem Array entfernen. - Dann stellt sich heraus, die sind gar nicht leer sondern enthalten noch ein 0x0D Byte. - Jetzt kommst du mit einem Bsp-String 0x202020. Was denn nun??? @Markus: Dein VI ist die Umsetzung meines Screenshots aus Beitrag #4. Nicht viel Neues... ![]() Gruß, Jens RE: Leeres String löschen - Amina - 13.06.2014 11:37 Hi Jens und Markus danke für eure Hilfe jetzt zu meinem Programm, ich steuere einen kleinen Linear Schrittmotor und lese die Schritten mit dem Encoder aus. Mit state machine will ich den Motor z.B 20 mm vorne und dann wieder zurück, das klappt alles wunderbar. Es tritt aber das Problem, dass die Encoder Werte auf Null Springen wenn der Motor die Drehrichtung ändert. ich häng mal mein kompletten Programm mit SubVIs. Eine Frage, soll der SubVi aus wenn ich den Befehl Drehrichtung ändere? muss immer so bei Seriellen Schnittstellen sein?? Controller von Nanotec SMCI33-1 Schrittmotor L2818. ich hoffe, dass ich mein Problem gut beschrieben habe. Liee Grüße Amina Sorry ich meinte hier SubVI EncoderPosition Eine Frage, soll der SubVi aus wenn ich den Befehl Drehrichtung ändere? muss immer so bei Seriellen Schnittstellen sein?? RE: Leeres String löschen - Amina - 16.06.2014 03:21 keine hat eine Idee?? LG Amina RE: Leeres String löschen - jg - 16.06.2014 09:15 Was erwartest du für ein Ergebnis, wenn du einen leeren String in eine Zahl wandelst? Weitere Kritikpunkte: - LabVIEW Style Guide empfiehlt das 4-2-2-4 Connector Pane Pattern bei SubVIs - In einigen SubVIs hängst du anstatt nur CR ein CR + LF an deinen Sendestring. Wie reagiert darauf die Steuerung? - Quittiert deine Steuerung nicht Kommandos (also z.B. wenn du die Beschleunigung setzt)? Falls doch, dann solltest du die Antworten auch auslesen. - Wieso wertest du in "Steuerung Abfrage" immer die Antwort vom vorherigen Aufruf des SubVIs aus. - Was willst du mit dem "Auswertungs-Konstrukt" in "Encoder Position neu" erreichen? Alles doppelt gemoppelt, String wird über ein kompliziertes FOR-Loop Konstrukt nur dann weitergegeben, wenn er I1 enthält. I1 wird aber zur Sicherheit (?) 2x entfernt... ![]() - Wieso ist das Enum für deine State-Machine keine Typ-Definition? Wenn du mal einen neuen Fall brauchst oder deine Tipp-Fehler beseitigen willst (rechts straten), musst du alle Enums von Hand ersetzen. Gruß, Jens RE: Leeres String löschen - dali4u - 16.06.2014 09:20 Warum löscht Du nicht alle LF, CR, SP aus Deinem String bevor Du den Messdaten auswertest? So bleiben alle relevanten Messdaten bestehen und überflüssige Stringanteile fallen weg. RE: Leeres String löschen - Amina - 16.06.2014 10:27 Danke Jens und dali4u für eunre Hilfe, ich versuch gleich eure Kritikpunkten zu bearbeiten. - LabVIEW Style Guide empfiehlt das 4-2-2-4 Pattern bei SubVIs hier habe ich nicht verstanden was du damit meinst Jens Liebe Grüße Amina |