![]() |
|
AVR NET-IO ansteuern - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: Hardware (/Forum-Hardware) +--- Thema: AVR NET-IO ansteuern (/Thread-AVR-NET-IO-ansteuern) |
RE: AVR NET-IO ansteuern - johnywalker - 11.03.2012 14:54 Hallo LabView-Experten! Nach längerer Pause habe ich mich wieder einmal mit meinem kleinen Projektchen beschäftigt und folgendes Problem: Ich möchte in dem von Markus geschriebenem Beispielprogramm TCP_IP-Ansteuerung.vi die Abtastrate verändern. Ich gehe mal davon aus dass der Atmega des AVR-Moduls die Eingänge ständig abfragt und wir diese Werte dann über unsere TCP-Schnittstelle in das LabView laden. Wie kann ich nun die "Abtastfrequenz", also die Anzahl der Datensätze (oder die Anzahl der Lesezyklen), die wir vom AVR-Modul abfragen erhöhen? Ich habe den Verdacht dass das was mit den Timeout-Zeiten zu tun hat, andererseits will ich gerade an diesen nicht herumspielen. Ich hoffe ihr versteht was ich meine... Viele Grüße, Martin RE: AVR NET-IO ansteuern - johnywalker - 13.03.2012 20:19 Hat keiner ne Idee wie ich denn die Abtastfrequenz ändern kann? RE: AVR NET-IO ansteuern - jg - 13.03.2012 21:08 In der Doku zu den TCP-IP Kommandos gibt es nur einen Befehl zur Abfrage, nämlich 1x den aktuellen ADC-Wert abzuholen. Kein Speicher, kein FIFO, kein nichts, nur aktueller Wert, und das dann mit Software-Takt. Zwecks FIFO, dazu müsstest du den ATmega umprogrammieren, aber da bist du hier im LabVIEWforum an der falschen Stelle. Ich zumindest habe keine Ahnung, ob und wie das bei diesem Board geht. Gruß, Jens RE: AVR NET-IO ansteuern - johnywalker - 13.03.2012 23:15 Danke Jens. Software-Takt bedeutet somit abhängig von der CPU und dem Betriebssystem!? Dann muss ich wohl andere Wege finden... RE: AVR NET-IO ansteuern - jg - 14.03.2012 00:04 (13.03.2012 23:15 )johnywalker schrieb: Software-Takt bedeutet somit abhängig von der CPU und dem Betriebssystem!?Und in diesem Fall, wie schnell die Anfrage+Antwort per TCP/IP geht. Gruß, Jens RE: AVR NET-IO ansteuern - johnywalker - 14.03.2012 00:33 Alles Klar. Somit ist meine Frage beantwortet. Danke nochmals! Viele Grüße, Martin RE: AVR NET-IO ansteuern - johnywalker - 01.04.2013 20:29 (30.08.2011 12:00 )Y-P schrieb: Hier ein Bsp. wie ich über TCP/IP kommuniziere: Hallo Freunde, ich habe jetzt das Problem, dass ich mein Programm so umbauen muss, dass ich mehrere Kanäle abfragen/ansteuern muss. Das komplette Programm einfach zu kopieren kann ja nicht funktionieren, da man dadurch nur Kollisionen erzeugen würde. Jetzt würde ich mir halt ein Programm schreiben, welches zyklisch die Befehle ändert (GETADC, SETPORT, etc) und die reinkommenden Messwerte umswitcht. Da das ganze relativ aufwändig werden kann, habe ich nun die Frage, ob es da einen einfacheren Weg gibt oder ob LabView schon was implementiert hat? Viele Grüße, Martin RE: AVR NET-IO ansteuern - GerdW - 02.04.2013 08:40 Hallo Martin, LabVIEW bietet als Programmiersprache alle Möglichkeiten, dein Problem zu lösen. Da du es aber noch nicht einmal ordentlich formuliert hast, wird es wohl auch keine fertige Lösung geben... Ich würde folgendes vorschlagen: Du hast mehrere Kanäle, die du aber nur einzeln abfragen kannst. Die Werte willst du in einem Array (InitArray + Schieberegister) speichern. Also musst du einen Kanal abfragen und dessen Wert an den entsprechenden Index im Array eintragen (ReplaceArraySubset): Code: FOR i = 0 to N-1 KanäleRE: AVR NET-IO ansteuern - johnywalker - 02.04.2013 11:03 Hallo Gerd, ich habe gerade einmal versuchte diese Schleife in LabView aufzubauen, allerdings stoße ich damit schon wieder an meine Grenzen. Ist es möglich solchen Code direkt einzubinden? Ich habe bei Recherchen diesbezüglich hier im Forum nur gesehen, wie man Exe-Dateien einbinden kann?! Viele Grüße und besten Dank! Martin RE: AVR NET-IO ansteuern - jg - 02.04.2013 11:18 FOR-Schleife ist doch ganz einfach: [attachment=44170] Gruß, Jens P.S.: Für genauere Hilfestellung müssten wir einmal dein VI sehen. Und was du genau machen willst. Zitat: "welches zyklisch die Befehle ändert (GETADC, SETPORT, etc) und die reinkommenden Messwerte umswitcht". Das schreit nach eine State-Machine als Programm-Konzept. |