LabVIEWForum.de - AVR NET-IO ansteuern

LabVIEWForum.de

Normale Version: AVR NET-IO ansteuern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
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
Hat keiner ne Idee wie ich denn die Abtastfrequenz ändern kann?
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
Danke Jens.

Software-Takt bedeutet somit abhängig von der CPU und dem Betriebssystem!?
Dann muss ich wohl andere Wege finden...
(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
Alles Klar. Somit ist meine Frage beantwortet.
Danke nochmals!

Viele Grüße, Martin
(30.08.2011 12:00 )Y-P schrieb: [ -> ]Hier ein Bsp. wie ich über TCP/IP kommuniziere:


Gruß Markus

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
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äle
  GET Value(Kanal i)
  STORE value in Array(i)
NEXT i
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
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.
Seiten: 1 2 3 4
Referenz-URLs