08.02.2007, 22:15
Hallo
ich habe da mal eine Frage:
ich benutze LabVIEW um von Sensoren Daten einzulesen und zu verarbeiten .. soweit so gut ...
Momentan läuft das ganze projekt so ab das ich ein Hintergrund VI starte welches bis zu 12 serielle Ports am PC einliest und die Daten in eine Globale Variable packt ...
Ein anderes Vi(ein Testprogramm von vielen) holt sich die Daten dann dort raus und stellt z.B. das ganze mit nem graphen dar und berechnet einiges...
das hintergrund VI arbeitet unabhängig vom den restlichen Vi damit es immer daten sammelt damit nix verloren geht und es nicht auf irgenwas warten muss ...
gespeichert werden aber immer nur die letzten 5 sekunden ...
zur Info: die Sensor Elektronik sendet alle 10ms nen datenpacket .. bzw mit 115200 bps und darin verpackt alle 10ms nen neuer datenstring.
Wenn der Datenstring empfangen wurde wird er zerlegt in 4 verschiedene waveforms +einiges anderes und in die globale variable gespeichert ...
und das ein COM Port nach dem anderen ....
Bei so ca 4-6 belegten Ports allerdings wird das ganze extrem langsam und bei 12 fast nicht mehr bedienbar ... von einem sich bewegenden graphen mal ganz abgesehn ...
hat jemand evtl eine idee wie ich das ganze performanter gestalten kann ?
1. globale variable weglassen .. ok... aber wie transportiere ich die Daten vom Einlese VI zum Verarbeitungs und Anzeige VI ?
ach ja ich benutze LV 7.1
ich hoffe ich hab das einigermaßen verständlich nieder geschrieben ... ich kanns leider nicht alles hochladen .. is bissi umfangreich ...
gruss toaran
ich habe da mal eine Frage:
ich benutze LabVIEW um von Sensoren Daten einzulesen und zu verarbeiten .. soweit so gut ...
Momentan läuft das ganze projekt so ab das ich ein Hintergrund VI starte welches bis zu 12 serielle Ports am PC einliest und die Daten in eine Globale Variable packt ...
Ein anderes Vi(ein Testprogramm von vielen) holt sich die Daten dann dort raus und stellt z.B. das ganze mit nem graphen dar und berechnet einiges...
das hintergrund VI arbeitet unabhängig vom den restlichen Vi damit es immer daten sammelt damit nix verloren geht und es nicht auf irgenwas warten muss ...
gespeichert werden aber immer nur die letzten 5 sekunden ...
zur Info: die Sensor Elektronik sendet alle 10ms nen datenpacket .. bzw mit 115200 bps und darin verpackt alle 10ms nen neuer datenstring.
Wenn der Datenstring empfangen wurde wird er zerlegt in 4 verschiedene waveforms +einiges anderes und in die globale variable gespeichert ...
und das ein COM Port nach dem anderen ....
Bei so ca 4-6 belegten Ports allerdings wird das ganze extrem langsam und bei 12 fast nicht mehr bedienbar ... von einem sich bewegenden graphen mal ganz abgesehn ...
hat jemand evtl eine idee wie ich das ganze performanter gestalten kann ?
1. globale variable weglassen .. ok... aber wie transportiere ich die Daten vom Einlese VI zum Verarbeitungs und Anzeige VI ?
ach ja ich benutze LV 7.1
ich hoffe ich hab das einigermaßen verständlich nieder geschrieben ... ich kanns leider nicht alles hochladen .. is bissi umfangreich ...
gruss toaran