Zitat:So ein String-Anzeigelement ist doch auch nur nötig, um zusätzlich den String zu überwachen den ich raus schick. Nur beim Hyper-Terminal unabdingbar weil ich ja sehen will was ich mache!? Oder lieg ich damit total daneben?
Nein, das stimmt schon. Sonst tippst du irgendwas ein und hast nacher keine Ahnung mehr, was du geschrieben hast. In LV musst du dir eben überlegen, ob du so eine Anzeige haben möchtest oder nicht.
Im Hyperterminal ist der einzige Termination Character, den du einstellen kannst ein Zeilenvorschub. Das ist identisch mit dem Standard-Zeichen 'n' in LV.
Du musst jetzt nur mehr prüfen, ob das in HyperTerm eingeschaltet ist oder nicht, und in LV dann genauso machen.
Ooh Mann,
es lag bloß an der Groß- und Kleinschreibung von dem String. Das hab ich die ganze Zeit einfach übersehen.
Zumindestens hab ich jetzt erfolgreich den Microcontroller angesprochen und eine LED am Ausgang angemacht.
Dabei ist noch aufgefallen das nur ein String gesendet wird, wenn ich in den Run-Modus übergehe, also erst wenn ich den Run-Button gedrückt habe, und dann nie wieder.
Danach kann ich nur Strings empfangen. Die interval-mäßige Abfrage kann ich doch so gar nicht realisieren, oder? Hängt das auch mit dem Application Builder zusammen? Gibt es andere Möglichkeiten?
Ich habe das C-Programm, was auf dem Controller laufen soll, nur teilweise 'draufgespielt'. So das ich wenigstens eine einfache Kommunikation herstellen konnte.
Um mit LV einen String zu empfangen hatte ich ja schon mal mit dem Hyperterminal den passenden String gesendet. Dabei waren die Fehlermeldungen aufgetreten die du mir erklärt hast.
Jetzt ist die Frage ob ich die auch umgehen kann. So das dann, und nur dann, der String weitergereicht wird zu dem Scan-From-String-Baustein, wenn der richtige String vorliegt(z.B. Ai1
. Sonst macht der Format String wieder eine Fehlermeldung.
Zitat:Dabei ist noch aufgefallen das nur ein String gesendet wird, wenn ich in den Run-Modus übergehe, also erst wenn ich den Run-Button gedrückt habe, und dann nie wieder.
Danach kann ich nur Strings empfangen. Die interval-mäßige Abfrage kann ich doch so gar nicht realisieren, oder? Hängt das auch mit dem Application Builder zusammen? Gibt es andere Möglichkeiten?
Wenn du das ganze in einer Schleife machst, sollte es eigentlich funktionieren. Dann kannst du nach dem Empfang zB eine bestimmte Zeit warten, bis die Schleife erneut durchlaufen wird (also wieder Sendevorgang, anschließend Empfangsvorgang)
Zitat:Jetzt ist die Frage ob ich die auch umgehen kann. So das dann, und nur dann, der String weitergereicht wird zu dem Scan-From-String-Baustein, wenn der richtige String vorliegt(z.B. Ai1. Sonst macht der Format String wieder eine Fehlermeldung.
Ja kannst du. Du musst einfach auf Gültigkeit überprüfen, und gehst mit dem Ergebnis in eine Case-Struktur. Und dort wertest du den String dementsprechend aus.
Danke für die schnelle Antwort.
Könntest du mir vieleicht verraten mit welchen Bausteinen genau ich das machen kann?
Ich such mir da immer einen Wolf, und find doch nicht das richtige.
Wäre echt klasse!
Schleife: while-schleife
Zeitverzögerung: wait ms (solltest du auf jeden fall in eine Schleife geben (zB 10ms) damit das Ding weniger Ressourcen braucht)
Edit: wenn du sowieso länger warten musst, reicht eine Zeitverzögerung (zB 10sec oder so?)
String-Vergleich kommt auf die Verwendung an, wenn du nach genau einem bestimmten String suchst zB mit Vergleichsoperator = (equal), sonst gibt es bei den Stringfunktionen zB Teilstring suchen.
Mit dem Ergebnis (boolean) in eine Case-Struktur, und dort je nach Case (True/False) auswerten.
Lg Stefan