Hallo,
ich hab wieder mal ein paar Fragen
.
Ich muss von 8 Messkarten mehrere Sensoren einlesen und geb auch Signale aus. Nun hatte ich vor das ganze Sequenziell zu Programmieren (find ich übersichtlicher), sodass zuerst von Messkarte 1 alles abgearbeitet wird, dann von Messkarte 2 usw. Hat das vom zeitlichen Ablauf etwaige Nachteile gegenüber wenn ich dass ganze parallel Programmiere oder ist das ziemlich egal, nur dass ich bei Sequenziell eine vorgabe angeb was abgearbeitet wird und bei der parallelen Programmierung ist es zufällig. Ich geh bei der Vermutung davon aus, dass der Computer die Befehle schneller abarbeitet als dass die Messkarten die Daten erfassen.
Außerdem bräuchte ich nen Tipp, wie ich die zeitliche Messung am besten vornehme, sodass beim 1. lesen des Messpunktes auch die Zeit startet (dieser Punkt also 0 Sekunden ist). Mach ich das über einen Zeitstempel oder über Timer Wert. Bin für jeden Tipp zu haben
.
Grüße
Christian
(14.05.2011 14:45 )Golan schrieb: [ -> ]Hallo,
ich hab wieder mal ein paar Fragen .
Ich muss von 8 Messkarten mehrere Sensoren einlesen und geb auch Signale aus. Nun hatte ich vor das ganze Sequenziell zu Programmieren (find ich übersichtlicher), sodass zuerst von Messkarte 1 alles abgearbeitet wird, dann von Messkarte 2 usw. Hat das vom zeitlichen Ablauf etwaige Nachteile gegenüber wenn ich dass ganze parallel Programmiere oder ist das ziemlich egal, nur dass ich bei Sequenziell eine vorgabe angeb was abgearbeitet wird und bei der parallelen Programmierung ist es zufällig. Ich geh bei der Vermutung davon aus, dass der Computer die Befehle schneller abarbeitet als dass die Messkarten die Daten erfassen.
Mit der erzwungenen Sequenzierung verbaust du dir den Vorteil des Multithreading, sprich die Aufteilung der Programmlast auf mehrere Kerne. Solange die Reihenfolge nicht explizit eine Rolle spielt würde ich definitiv auf eine Sequenzierung verzichten.
Außerdem bräuchte ich nen Tipp, wie ich die zeitliche Messung am besten vornehme, sodass beim 1. lesen des Messpunktes auch die Zeit startet (dieser Punkt also 0 Sekunden ist). Mach ich das über einen Zeitstempel oder über Timer Wert. Bin für jeden Tipp zu haben .
Kommt drauf an, was du haben willst. Wenn du einen Zeitstempel mit Datum und Zeit haben wirst verwendest du die entsprechende Funktion. Schau dir doch einfach die Timing-Palette an und such dir die Funktion aus, die am ehesten deinen Anforderungen entspricht.
Grüße
Christian
Hoffe das ganze hilft dir weiter
Gruss Marc
Hallo,
danke für die Antwort.
Das heisst aber dass es bei einem Kern egal wäre (bin mir grad nicht sicher aber das Programm dürfte später auf einem Rechner mit nur einem Kern laufen).
Es sollen später Zeit-Temperatur Kennlinien usw. entstehen und deshalb bräuchte ich die Zeit, bei der die jeweiligen Messpunkte erfasst worden sind (wobei der 1. Punkt dann bei 0 sekunden wär der 2. dann z.B. bei 1 ms).
Grüße
Christian
Dass für jeden Sensor eine eigene Messkarte benutzt wird ist schon mal seltsam und somit erklärungsbesdürftig. Praktisch jede Messkarte hat doch 16 analoge Eingangs-Kanäle oder mehr. Was ist denn der Grund für so eine Konfiguration und wie sieht diese genau aus?
Ich arbeite mit einem cDAQ-9178 an dem eben 8 Messkarten hängen (für Thermoelemente, Digitale Ein- und Ausgänge, Spannungen, Brückenschaltungen usw). Ich weiss noch nicht die genaue Anzahl an Sensoren und Geräten die ich über die digitalen I/O ansteuern muss aber es sind schon einige, wobei z.B. bei den Thermosensoren nur zum Anzeigen erfasst werden und nicht zum weiter verarbeiten.
(16.05.2011 08:34 )Golan schrieb: [ -> ]Ich arbeite mit einem cDAQ-9178 an dem eben 8 Messkarten hängen (für Thermoelemente, Digitale Ein- und Ausgänge, Spannungen, Brückenschaltungen usw). Ich weiss noch nicht die genaue Anzahl an Sensoren und Geräten die ich über die digitalen I/O ansteuern muss aber es sind schon einige, wobei z.B. bei den Thermosensoren nur zum Anzeigen erfasst werden und nicht zum weiter verarbeiten.
Willst du mit den 8 Messkarten gleichzeitig messen? Oder je nachdem, was der Benutzer ausgewählt hat?
gleichzeitig, was mich derzeit vor einige Probleme stellt
Zum einen kann der cDAQ nur 4 Analoge Tasks gleichzeitig, weswegen ich 2 immer wieder abwechselnd starten und beenden muss in der while schleife, zudem nutze ich (wie in
diesem Threat beschrieben) einen Kraftsensor, der mir einige Probleme bei den Samples bereitet, ich hab schon überlegt, ob ich den Kraftsensor nicht in einer eigenen while Schleife setze die parallel zur anderen läuft bei dem der Rest gemessen wird, jedoch ist dies auch kaum möglich.
Grüße Christian