Ich habe ein spezielles Messgerät für Sicherheitstechnik mit Autoüberwachung und möchte über dessen USER-Zugang Daten herausziehen. Zur Verfügung steht ein serielles Interface mit USB, welches über einen Treiber sichtbar ist. Mit einem Terminalprogramm kann Ich schon an die Werte dran. Ich möchte jetzt aber eine Art Schleife haben, die permanent Daten ausliest und übersichtlich darstellt. Ich habe mir hier im Forum verschiedene Projekte angesehen, die sowas ähnliches können sollen, komme aber nicht weiter. Diese Programme haben zwar Grafiken und einen IDE, sie erwarten aber die Daten in einem speziellen Format, welches das Gerät nicht bringt. Das Gerät hat vielmehr ein virtuelles RAM-Interface, welches nach dem Modus "Schreibe Daten auf Adresse X" oder "Lese Daten von Adresse X". Man müsste also ein Programm haben, welches permanent Daten an das Gerät sendet, damit die Lesebefehle entsprechend funktionieren und auch Daten kommen. Dann müsste man die Daten zuordnen können. Es braucht also einen Filter. Gibt es das oder kann man Programme so konfigurieren? Die Befehle wären in etwa so: Selektiere RAM-Seite 1 (Schreibe auf "1" auf Seitenpointer) 0F "Schreibe" 00 "auf Pointeradresse" 01 "Seite 1" Lese von RAM-Seite 1 die ersten 4 Adressen FF "Lese" 00 "ADR 0" FF 01 FF 02 FF 03 Jedesmal, wenn man so einen Lesebefehl gesetzt hat, dann kommt das Byte von der Adresse angeflogen. Das müsste dann einem Anzeigegerät, z.B. einem Analoggerät zugeordnet werden. Womit geht das am Einfachsten? Ich weiss, dass man das z.B. mit Labview hinbekommen könnte, aber Ich bin kein Labview-Experte, habe auch keine Lizenz und möchte ein Stand Alone Programm, das ohne irgendwelche Libs oder so läuft. Idee?
Nochmal zur Erklärung: Das Gerät ist käuflich zu erwerben, von einem Zulieferer in mittleren Stückzahlen im Markt. Die firmware des Gerätes und damit das Protokoll kann Ich nicht änderen. Ich müsste von insgesamt 3 RAM-Seiten, etwa insgesamt 30 Daten zu je 8 Bit lesen, jeweils zwei davon zu 16 Bit-Werten zusammenfassen und dann auf 15 Instrumenten darstellen. Loop-speed as much as possible, also geschätzt 200 Bytes je Zyklus, vielleicht 3x die Sekunde. Es werden Ströme und Spannungen überwacht, intern verarbeitet und gefiltert und auf den RAM-Seiten zur Verfügung gestellt. Den Rest brauche Ich nicht. Gibt es so etwas wie ein freies Labview? Oder ein einfaches framework in C, womit Ich eine solche Schleife programmieren kann?
Man kann sich ja ein passendes Programm selbst schreiben. Eigentlich kein großer Akt, sollte mit so ziemlich jedem Framework funktionieren. Ich würde es vermutlich mit Qt machen.
Mit C# bekommt man das auch einfach hin. Wahrscheinlich sogar mit Matlab/Octave.
Das geht auch "fast ohne Programmiersprache": einfach mit bash und den üblichen Basishilfsmittel welche ohnehin da sind. Naja, vllt. nicht die grafischen Zeigerinstrumente, aber Werteverläufe mit gnuplot.
Ich täte ein Beispielprogramm von Visual Studio nehmen. Da gibt es einiges für Consolen-Anwendungen. Eine einfache GUI bekommt auch auch noch irgendwie hin. Die Frage ist, wer die Daten am Ende verarbeiten soll. Bei Auswertung mit Excel kann man sie auch mit VBA einlesen. Dann wäre noch LabView zu nennen. M.E. das Paradeprogramm für diese Anwendung.
Mirko schrieb: > Ich möchte jetzt aber eine Art Schleife haben, die permanent Daten > ausliest und übersichtlich darstellt. Unser Student macht sowas in Excel. Da ist so ein BASIC-Interpreter eingebaut, mit dem man die serielle Schnittstelle (egal ob COM oder virtuell FTDI) ansprechen kann. So kann man Kommandos schicken, Daten abholen, in die Tabelle eintragen und graphisch darstellen. Damit läuft z.B. unser Agilent Thermoscanner ohne das gigabyte-schwere VISA-Geraffel. Such mal nach "Excel VBA", oder nach jemandem der sich damit auskennt.
Was spricht gegen GNU-Octave? Steuerung Serielles Interface Inkludiert. Auch MATLAB kann das.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.