Meine Schleife bricht aus einem anderen Grund nicht ab. Die Abbruchbedigung wird von einer SubVi nicht ausgegeben.
Der Grund ist der folgende:
Meine Pumpe gibt ihren Status zurueck und der sieht wie folgt aus:
01 steht fuer die Pumpen-Nummer.
Die Zahl wird nun von verschiedenen Symbolen gefolgt:
Pumpe ist idle: 01: (: zeigt idle an)
Pumpe injiziert: 01> (> meint injiziert)
Pump ist gegen den limit switch gedonnert: 01* (* meint stalled)
Nur im Fall, wo das Zielvolumen erreicht wird, gibt sie zurueck: 01:T* (T* meint Target reached). Was der zusaetzliche Doppelpunkt da macht, erschliesst sich mir nicht. Macht das Sinn?
Der Hersteller faengt das nun mit einer match pattern function ab. Regular expression ist [<>:*T]. Aber im Falle von T* greift das nicht, weil dann : nur zurueckgegeben wird.
Meine Fragen sind jetzt:
1. Gibt es eine Moeglichkeit, einen Substring in [<>:*T] einzufuegen, der :T* lauten wuerde?
2. Oder muss ich das Problem ueber die Stringlaenge abfangen? Der String ist sonst drei Zeichen lang, im Target reached-Fall 5 Zeichen lang.
3. Ich versuche gerade mit [:T*] und [
] zu experimentieren, s dass reg exprression lautet: [<>[
]*[:T*]], aber das klappt leider nicht. Bei Target reached bekomme ich trotzdem noch den : ausgespuckt.
4. Ist die Adresse null, dann taucht nichts auf, also kein 00. Die Strings beginnen dann einfach nur mit >, :, T* oder *. Macht das Sinn seitens des Herstellers?
Ich haenge die VI auch mal an. LabVIEW 8.5
Vielen Dank fuers Anschauen.
Viele Gruesse blue