25.08.2020, 12:07
Hallo zusammen
ich bin ziemlich unerfahren was Labview angeht. Ich arbeite gerade an meiner Bachelorarbeit und versuche eine Regelung für eine Solarthermieanlage zu erstellen. Ein Teil dieser Regelung besteht darin, den IST-Volumenstrom zu erfassen und diesen ggf. an den SOLL-Volumenstrom anzupassen. Dafür werden die Ausgabesignale eines Durchflussmessers benötigt. Dieser Sensor gibt ein Rechtecksignal aus.
Die Datenerfassung ist über eine Messkarte USB-1608GX-2AO und den dazugehörigen ULX-Bausteinen in Labview realisiert.
Für die Berechnung des Volumenstroms ist es notwendig, die Frequenz des Rechtecksignals zu ermitteln. Dafür wurde ein Counterbaustein eingepflegt, welcher die Steigungen der Kurve in einem bestimmten Messbereich zählt.
Bild im Anhang.
Prinzipiell kann man meine Überlegung auch ohne Array aufbauen. Das Problem dabei liegt aber in der Messzeit. Je größer die Messzeit ist, desto langsamer wird die Regelung. Sie wird um diese Zeitdauer gelähmt. Dabei ist eine große Messzeit aber Vorteilhaft, da somit die Periodendauer genauer bestimmt werden kann. (Das Rechtecksignal is nicht immer periodisch)
Jetzt zu dem Array.
Die Messwerte sollen in die Zeilen 0-6 geschrieben und aus diesen dann der Mittelwert gebildet werden.
Realisieren wollte ich das ganze mit einer For-Schleife nur fehlt mir hier irgendeine Idee wie man das Ganze in Labview begrenzen kann.
In Vba könnte das ganze so aussehen:
Sub test()
Dim Wert As Double, start As Double, ende As Double, mittelwert As Double, zeilennr As Double
start = 1
ende = 6
zeilennr = 1
'Do While "Stopp" = false
For i = start To ende
Cells(zeilennr, 1) = Int((5 * Rnd) + 1)
zeilennr = zeilennr + 1
Next i
mittelwert = Application.Average(Range(Cells(1, 1), Cells(6, 1)))
Cells(1, 3) = mittelwert
'Loop
End Sub
Ich kann es nur nicht auf Labview übertragen. Dafür fehlt mir etwas. Wenn der Index mit I verbunden ist werden unendlich viele Arrayzeilen geschrieben. Es sollen aber nur Die Zeilen 0-6 beschrieben werden.
Im Anhang ist die Regelung nochmal abgebildet.
Vielen Dank schonmal
Mit freundlichen Grüßen
ich bin ziemlich unerfahren was Labview angeht. Ich arbeite gerade an meiner Bachelorarbeit und versuche eine Regelung für eine Solarthermieanlage zu erstellen. Ein Teil dieser Regelung besteht darin, den IST-Volumenstrom zu erfassen und diesen ggf. an den SOLL-Volumenstrom anzupassen. Dafür werden die Ausgabesignale eines Durchflussmessers benötigt. Dieser Sensor gibt ein Rechtecksignal aus.
Die Datenerfassung ist über eine Messkarte USB-1608GX-2AO und den dazugehörigen ULX-Bausteinen in Labview realisiert.
Für die Berechnung des Volumenstroms ist es notwendig, die Frequenz des Rechtecksignals zu ermitteln. Dafür wurde ein Counterbaustein eingepflegt, welcher die Steigungen der Kurve in einem bestimmten Messbereich zählt.
Bild im Anhang.
Prinzipiell kann man meine Überlegung auch ohne Array aufbauen. Das Problem dabei liegt aber in der Messzeit. Je größer die Messzeit ist, desto langsamer wird die Regelung. Sie wird um diese Zeitdauer gelähmt. Dabei ist eine große Messzeit aber Vorteilhaft, da somit die Periodendauer genauer bestimmt werden kann. (Das Rechtecksignal is nicht immer periodisch)
Jetzt zu dem Array.
Die Messwerte sollen in die Zeilen 0-6 geschrieben und aus diesen dann der Mittelwert gebildet werden.
Realisieren wollte ich das ganze mit einer For-Schleife nur fehlt mir hier irgendeine Idee wie man das Ganze in Labview begrenzen kann.
In Vba könnte das ganze so aussehen:
Sub test()
Dim Wert As Double, start As Double, ende As Double, mittelwert As Double, zeilennr As Double
start = 1
ende = 6
zeilennr = 1
'Do While "Stopp" = false
For i = start To ende
Cells(zeilennr, 1) = Int((5 * Rnd) + 1)
zeilennr = zeilennr + 1
Next i
mittelwert = Application.Average(Range(Cells(1, 1), Cells(6, 1)))
Cells(1, 3) = mittelwert
'Loop
End Sub
Ich kann es nur nicht auf Labview übertragen. Dafür fehlt mir etwas. Wenn der Index mit I verbunden ist werden unendlich viele Arrayzeilen geschrieben. Es sollen aber nur Die Zeilen 0-6 beschrieben werden.
Im Anhang ist die Regelung nochmal abgebildet.
Vielen Dank schonmal
Mit freundlichen Grüßen