zur Weiterverarbeitung der Daten eines VC960-DMM würde ich gern selbige über die COM-Schnittstelle einlesen. Das einzige, was ich als Doku hierzu finde ist
Ein Verändern des Timeouts bringt auch nichts und ich erhalte nur die Meldung:
Zitat:
Warning: Unsuccessful read: The specified amount of data was not returned within the Timeout period.
Leider kapiere ich auch das Protokoll nur teilweise. Da das Gerät auf "Send" gestellt ist, gehe ich mal davon aus, dass ich nicht erst eine Anfrage schicken muss (abgesehen davon, dass für mich auch nicht ersichtlich ist, wie dieser Anfragestring lauten sollte). Ich vermute, dass die Schnittstelle noch nicht korrekt modifiziert ist. Auch über TeraTerm erhalte ich keine Daten.
Hat jemand einen Tipp für mich? Seitens des Verkäufers wurde mir mitgeteilt, dass es keine weitere Doku hierzu gibt.
ein *.pl-file, welches die Daten dekodiert. Leider verstehe ich es nicht. Kann mir am folgenden Beispiel jemand die Vorgehensweise erläutern, damit ich es in Matlab umsetzen kann?
Zitat:
# % of 4-20mA measurement
my @digit = map { tr/ac/ L/; $_; } @_[1,3,5,7,9];
my $value = "";
my $decimal_point = 3; # fixed point
my $negative = (($_[17] & 0x04) == 0x04 ? 1 : 0);
print STDERR "WARNING: negative percentage is impossible\n" if $negative;
$value = ($negative ? "-" : " ");
$value .= join('', @digit[0..$decimal_point-1]);
$value .= ".";
$value .= join('', @digit[$decimal_point..$#digit]);
Error using perl (line 80)
System error: Can't locate Device/SerialPort.pm in @INC (@INC contains: C:/Program Files
(x86)/MATLAB/R2012a/sys/perl/win32/site/lib C:/Program Files
(x86)/MATLAB/R2012a/sys/perl/win32/lib .) at receive.pl line 6.
BEGIN failed--compilation aborted at receive.pl line 6.
Command executed: perl receive.pl
Was bedeutet das? Findet er den Port nicht? Muss ich vielleicht neben dem Aufruf auch noch diverse Argumente übergeben?
Für Hinweise zur eleganteren Umsetzung bin ich jederzeit dankbar:
- das Zusammensetzen des Messwertes geht sicher besser, sicher auch mein Hin- und Herwandeln der Daten
- wie kann ich diese Funktion in Dauerschleife laufen lassen und durch einen Tastendruck (z. B. ESC) beenden?
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.