Forum: PC-Programmierung Messdaten synchronisieren, Gerätesimulation


von Hannes, der kann es (Gast)


Lesenswert?

Gleich zwei Fragen in einer:

Ein paar Messgeräte sind an einen Steuer-PC angeschlossen, deren Daten 
kommen teilweise auf Abruf, teils zyklisch an.

Jetzt brauche ich eine Strategie, diese Messwerte zusammenzuführen - die 
Messungen liegen z.B. 1 sek auseinander. Das System ist zwar relativ 
träge, trotzdem stellt sich die Frage, ob man evtl. Interpolieren 
sollte, oder ob dann noch größerer Blödsinn rauskommt. (Wie kann LabVIEW 
das machen?)

Die zweite Frage betrifft die Simulation dieser Geräte, die leider zur 
Entwicklung nicht zur Verfügung stehen. Die Frage ist, ob lieber im 
Steuerprogramm die Klasse zur Kommunikation mit den Geräten durch eine 
ersetzt wird, die das Gerät emuliert, oder ob ein Simulator hinter einer 
virtuellen Schnittstelle werkeln sollte. Das Ergebnis sollte dasselbe 
sein, aber gibt es prinzipielle Vor/Nachteile der beiden Lösungen?

Danke schonmal, ich verbleibe gespannt,

Hannes

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

je weniger du simulierst, desto weniger Überraschungen erlebst du bei 
der Inbetriebnahme. Eine nur simulierte Datenübetragung ist nahe am 
Selbstmord. Endgültiges weisst du sowieso erst, wenn alles real 
zusammengeschaltet ist. Ich würde mich im Interesse meiner Nerven und 
meines guten Rufs mit so wenig Unwägbarkeiten wie nur möglich auf die 
Reise zum Kunden machen.

Grundsätzlich würde ich erstmal alle Daten so speichern wie sie 
einlaufen, interpretieren usw. kann man sie später. Vorausgesetzt 
natürlich, es steht ausreichend Platz zur Verfügung. So kann man 
notfalls immer wieder auf die unverfälschten Messdaten zurückgreifen. 
Wenn du z.B. zur Intervallanpassung an Messwerte im 10 sec Abstand 
andere mit 1 sec Abstand zu je 10 Werten mittelst, so sind die 1 
sekündigen Werte für immer verloren. Sowas würde ich nie tun.

Gruss Reinhard

von Karl H. (kbuchegg)


Lesenswert?

Und wenn du schon simulieren musst, dann trenne die Simulation so weit 
wie nur irgendwie möglich von deiner Applikation ab. Du läufst sonst 
Gefahr, dass du dir zb. Zeitabhängigkeiten einhandelst bzw. diese in 
deine Entwicklung unabsichtlich nicht einfliessen, weil sie bei dir im 
Test nicht aufgetreten sind. Ein externes Gerät kümmert es einen 
feuchten Kehrricht, ob dein Programm noch ein paar µs brauchen würde, um 
die letzte Eingabe zu verarbeiten. In deiner Simulation tritt aber 
dieser Fall unter Umständen gar nie auf, weil die Datengenerierfunktion 
nicht früher aufgerufen wird als die vorhergehenden Daten verarbeitet 
sind.

von Hannes, der kann es (Gast)


Lesenswert?

Danke. Das leuchtet ein, ich werde alles hinter der Schnittstelle 
emulieren.

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
Noch kein Account? Hier anmelden.