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!
Also ich habe folgende Aufgabe bekommen und komme zZ nicht recht weiter:
Aufgabe:
-Temperaturanzeige von 17 Thermoelementen
-Druckanzeige von 6 Drucksensoren
-Temperatursteuerung von 7-15 Heizkreisläufen
-Datenprotokollierung
Aktuelles Problem:
Ich habe bereits ein Frontpanel nach den Benutzerwünschen erstellt und versuche zZ ausgelesene Daten zu protokollieren.
Also ich bin bereits in der Lage die Thermoelement Daten aus dem SCXI Chassis auszulesen und darstellen zu lassen. Das wird
zZ über eine while Schleife mit localen Variablen bewerkstelligt. Dazu werden alle Daten in eine Datei (lvm) geschrieben.
Mein Problem besteht nun darin:
Die Anzeige der Temperaturen soll mit einer Rate von 60-120 angezeigt werden.
Die Datenprotokollierung soll nun aber entweder nur alle 5 Sekunden einen Datenpunkt schreiben, oder aber nur einen
Datenpunkt erzeugen, wenn eine bestimmte Differenz zum vorherigen Wert überschritten wird. (Nur eine Lösung muss realisiert werden,
alle 5 Sekunden wird zZ favorisiert)
Das ist mein Hauptproblem.
Und dann habe ich noch eine allgemeine Frage:
Ist es ratsam an die einzelnen Datenkanäle mehrere verschiedene lokale Variablen anzuschließen oder gibt es eine elegantere Lösung, da ich einzelne Datenkanäle mehrfach anzeigen lassen muss, und später für die Regelung auch wieder an die PID Regler übergeben muss.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Anfangsschwierigkeiten mit LabVIEW 8.2
Das mit der Rate verstehe ich noch nicht so ganz, aber statt den lokalen Variablen könntest Du doch ein Schieberegister verwenden (am besten in Verbindung mit einer "State Machine", Bsp. dazu findest Du im Forum).......
...... und noch was ...... Die Express-VIs würde ich an Deiner Stelle durch Low-Level-VIs ersetzen.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Ich habe also das Problem mit der Datenrate gelöst.
zZ Kann ich meine Thermoelemente und Drucksensoren auslesen, sowie in geeigneter Form protokollieren.
Jetzt habe ich einige Schwierigkeiten mit den PID Reglern für die Temperatursteuerung.
Ich bekomme ja von meinem PID Regler (Control Design Construct, parallel) meine Übertragungsfunktion G(s).
Die kann ich in den Bildbereich H8s) transformieren unter berücksichtigung meiner Regeldifferenz.
An dieser Stelle komme ich nicht mehr weiter, denn ich bin recht ratlos wie ich von diesem reinen numerischen wert H(s)
auf ein gepulstes Signal kommen kann, mit dem ich meine Solid State Relais schalten kann.
Danke schonmal im Vorraus für Anregungen
23.10.2008, 12:40 (Dieser Beitrag wurde zuletzt bearbeitet: 23.10.2008 12:40 von chrissyPu.)
' schrieb:mit dem ich meine Solid State Relais schalten kann.
Schonmal nach Zweipunktregler geschaut? Würde ich instinktiv bei Relais irgendwie sinniger finden... vielleicht schreibst du noch ein paar takte mehr, wie deine hardware aussieht.
Ja ich würde auch lieber 2Punkt Regler benutzen, aber es sind explizit PID Regler gewünscht.
Meine Hardware ist ein Rohrleitungssystem, dass beheizt werden soll.
Dafür habe ich zur Verfügung Digitale I/O Kanäle, die wiederum Solid State Relais ansteuern, die die Leistung auf meine Heizung schalten.
Da ich ja nur 2 Punkt fahren kann, soll ich eine PID Reglung auf Puls Bandbreiten Modulation umbauen, damit die
Heizung quasi linear angesteuert werden kann.
bei einer (PID-) Regelung kommt nach dem Regler das Stellglied, welches Du zwischen 0 und 100% ansteuern kannst.
Dein Relais kann aber nur aus oder ein also über die Pulsbreite 0% ein bis 100% ein.
Was Dir fehlt ist nur das Übertragungsglied das 0% Reglerausgang zu 0% Pulsbreite macht und 100% Reglerausgang zu 100% Pulsbreite macht.( Und alle Werte dazwischen)
Also was kommt aus dem Regler raus? Das setzt Du um in Pulsbreite und schaltetst dieses Übertragungsglied zwischen (PID-) Regler und Stellglied.
Mein Regler gibt einen Wert zwischen 0 und 1 aus für 0 und 100%, wie kann ich das jetzt auf ein gepulstes Signal umbauen und wie kann ich damit
einen digitalen I/O ansteuern.
Es tut mir leid, wenn das absolutes Grundwissen darstellen sollte, aber meine Betreuer wollen das "nur" realisiert haben und können mich leider nicht wirklich unterstützen, da ihnen LabVIEW völlig fremd ist und weder Reglungstechnik für Praktiker noch Einführung in LabVIEW bringen mich dabei entscheidend weiter.
hier ist ein einfaches Beispiel, 0 - 100% Pulsbreite in 1% Schritten und 2s Periodendauer.
Jetzt kommt es darauf an wie träge Deine Strecke ist ( normal sind Heizungen träge und 2 s ist ok -- musst Du rausfinden), Brauchst Du 1%- Schritte oder weniger oder mehr?