Massflowcontroller steuern und bei Bedarf Rampenfahren
Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
RE: Massflowcontroller steuern und bei Bedarf Rampenfahren
Hallo Gerd,
ok vielen Dank! Die Controller waren einfach von Bronkhorst sample.vi und in dem Programm waren die alle als Referenz angeschlossen.
Mein Programm spuckt jetzt zwar kein error: Invalid Refnum aus allerdings wenn ich da starte Messung drücke durchläuft das Programm nicht das zweite State. Die sollwertwe werden quasi nicht nicht ausgelesen. Ich versuche herauszufinden ob das an der falschen Umformung zwischen Setpoint( P(9) ) und FSetpoint ( P(206) ) liegt aber iergendwie wenn ich mit der Sonde gucke, sehe ich " not executed" egal ob unten ( unter dem State Maschine) DAQmx läuft oder nichts. Da ich zur Zeit kein Detektor an den AD/Wandler angeschlossen habe, wird einfach das Rauschen mit Hilfe von Wandler aufenommen aber das gibt es ständig blinken wodurch mein Controller verrückt spielen könnten. Kann so was der Fall sein?
Natürlich ist das Programm zur Zeit mega subobtimal. Z.B das mit dem Cluster und Zähler habe ich immer noch nicht hinbekommen oder mit Notifier/Queue/FGVs genauso aber mir würde erst mal reichen dass die State Maschine vernünftig läuft und über Labwiew aus die Controller gesteuert werden könen
RE: Massflowcontroller steuern und bei Bedarf Rampenfahren
Hallo noch Mal!
also die State Maschine läuft .
ich wollte fragen wie ich im dritten state schaffe, dass wenn die zündvariable den Wert 5 erreicht( Also 5 Mal Zündung), die O2 Vol.-% als Mittelwert aus 5 Werten ins Datei gespeichert wird?
Zweite Frage: An den A/D-Wandler habe ich im Moment nicht angeschlossen also es ist nur Grundrauschen . Aber trotzdem wird ständig gezündet ( rotes Leuchten ), d.h: in State Maschine wird ständing zwischen 4 und 5 gehüpft. Muss ich da in dem Programmteil für DAQmx das Signal filtern oder so was? Was mache ich da Falsch?
RE: Massflowcontroller steuern und bei Bedarf Rampenfahren
Hallo rc,
Zitat:ich wollte fragen wie ich im dritten state schaffe, dass wenn die zündvariable den Wert 5 erreicht( Also 5 Mal Zündung), die O2 Vol.-% als Mittelwert aus 5 Werten ins Datei gespeichert wird?
Pseudocode:
Code:
IF Zähl_Variabel = 5 THEN
Speichere Mittelwert(gemerkte Werte) in Datei
ENDIF
Die "gemerkten Werte" (deine O2Vol%-Werte) speichert man in einem Schieberegister (wo sonst?) in Form eines Arrays...
Zitat:Zweite Frage: An den A/D-Wandler habe ich im Moment nicht angeschlossen also es ist nur Grundrauschen . Aber trotzdem wird ständig gezündet ( rotes Leuchten ), d.h: in State Maschine wird ständing zwischen 4 und 5 gehüpft. Muss ich da in dem Programmteil für DAQmx das Signal filtern oder so was? Was mache ich da Falsch?
In State 3 entscheidest du anhand von "Zündung", ob die mit State 4 oder 5 weitermachst. Wenn du den Eindruck hast, dass hier nicht richtig entschieden wird, musst du wohl überprüfen, ob "Zündung" richtig berechnet wird...
RE: Massflowcontroller steuern und bei Bedarf Rampenfahren
Hallo Gerd,
in diesen Shift-Register, was ich im bild habe, wird jetzt nur die Anzahl der Zündungen gespeichert oder? Verstehe ich richtig? Ich muss in diesen Register die " gemerkten O2-vol.% Werte " speichern? Aber welche Werte sind die denn? Von 4. oder 5. State?
Und soll ich da nach dem ersten case Struktur noch einen Case-struktur bringen, um zu wissen ob zähl_variable 5 erreicht hat?
RE: Massflowcontroller steuern und bei Bedarf Rampenfahren
Hallo rc,
Zitat:in diesen Shift-Register, was ich im bild habe, wird jetzt nur die Anzahl der Zündungen gespeichert oder? Verstehe ich richtig?
Momentan wird dort nur der Zähler gespeichert...
Zitat:Ich muss in diesen Register die " gemerkten O2-vol.% Werte " speichern? Aber welche Werte sind die denn?
Richtig erkannt. Nimm aber nicht "dieses", sondern ein neues Schieberegister!
Welche Werte das sind? Nun: du sagst doch selbst, dass du dort irgendwelche O2%-Angaben speichern willst... Dann musst du auch eben diese dort speichern!
Zitat:Von 4. oder 5. State?
Du solltest die Werte immer dann ins Schieberegister schreiben, wenn du es für nötig/richtig erachtest. Ob das nun der State4 oder 5 ist, musst du schon selbst wissen...
RE: Massflowcontroller steuern und bei Bedarf Rampenfahren
Hallo Gerd,
vielen Dank!
Ich denke ich habe ein Problem was Rauschen betrifft. Mit diesem Kriterium was ich habe, sollte die Zündung richtig detektiert werden. Aber wegen Rauschen geht das wohl nicht. Wie kann ich dieses Rauschen filtern oder glätten? Wo soll ich dann das genau in der Schleife machen?
RE: Massflowcontroller steuern und bei Bedarf Rampenfahren
Hallo rc,
Rauschen entfernt man üblicherweise durch (Tiefpass-)Filtern (und Mittelwertbildung ist auch ein Tiefpass).
Wo man das macht? Am besten schon vor der Messwerterfassung mit echter Hardware (z.B. RC-Glieder). Ansonsten direkt nach der Messwerterfassung per DAQmxRead...
RE: Massflowcontroller steuern und bei Bedarf Rampenfahren
Hallo Gerd,
(29.10.2013 10:39 )GerdW schrieb: Rauschen entfernt man üblicherweise durch (Tiefpass-)Filtern (und Mittelwertbildung ist auch ein Tiefpass).
dient dann jetzt meine Mittelwertbildung zur Rauschentfernung? Ich wollte die genau im Moment der Zündung/Explosion entstehende Spannung mit der Spannung, die in der Detektorkammer normalerweise herrscht, vergleichen und dachte dieser Mittelwert sei von dieser Spannung ( also eigentlich von dem Rauschen). Wenn ich dann jetzt mit dem RC-Glied extern filtere, dann werde ich wohl falsch detektieren, da ich ja in der Schleife den Mittelwert bilde oder nicht?
RE: Massflowcontroller steuern und bei Bedarf Rampenfahren
Hallo Gerd,
ok das mit dem Rauschen werde ich versuchen am Testtag zu klären...
Eine Frage zur meinem State: Beim Reduzieren des O2-Gehaltes wird von O2 Vol.-% immer der Rückschrittwert abgezogen und zwar ständig. Z.B wenn es beim 20 Vol.% O2 gezündet wird, dann soll von disem Gehalt der Rückschrittwert abgezogen werden und aus diesem Wert aus soll O2 Vol.% bis zur nächsten Zündung erhöht werden aber es wird ständig der Rückschrittwert abgezogen, da es ja anscheinend in der Kammer immer noch was zündet und es dementsprechent rot leuchtet. Wie schaffe ich, dass NUR das erste rotes Blinken als ausschlaggebend genommen und dementsprechend die dazugehörige O2 Vol.-% gespeichert wird ? Also danach wird bisschen runtergefahren ( Aktuelle zündkonzentration-Rückschtittwert) und bis zur zweite Zündung (erste rotes Blinken) rampe hochgefahren(Erhöhungswert addiert).