INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Temperaturregelung über RS232 und PWM



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!

26.08.2014, 09:52 (Dieser Beitrag wurde zuletzt bearbeitet: 26.08.2014 10:15 von jg.)
Beitrag #1

tegabluexx Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Aug 2014

2013
2013
EN



Temperaturregelung über RS232 und PWM
Hallo Leute!
Ich bin blutiger LabVIEW Anfänger und soll für die Firma gleich ein, für mich riesiges Programm schreiben und komme leider überhaupt nicht zurecht.
Vielleicht könnt ihr mir ja helfen da ich vollkommen verzweifelt bin.

Ich beschreibe euch mal kurz den Ablauf des Programms:
Es sollen über eine RS232-Schnittstelle die Temperaturwerte von einer beheizten Kammer, dessen beheizter Tür und der beheizten Ablage ausgelesen werden. Diese aktuellen Temperaturwerte sollen dann als IST-Wert an eine Temperaturregelung (momentan benutze ich nur einen P-Regler) übergeben werden. Der Regler berechnet aus der Regeldifferenz und der eingestellten Verstärkung den neuen Ausgangswert Y und dieser soll als PWM-Signal ausgegeben werden um das jeweilige Heizelement über die PWM zu beschalten. Dar das Programm aus einem C-Code nachgebaut werden soll muss ich für die while schleife eine zeit von 250ms wählen. Eigentlich funktioniert das Programm auch soweit, nur die Antworten sind nicht wie erwartet.

Könnt ihr mir vielleicht Helfen und sagen ob der Aufbau überhaupt richtig ist?
Ich bin wirklich am verzweifeln!


Angehängte Datei(en)
13.0 .vi  deleye_PWM_überarbeitet(1).vi (Größe: 257,37 KB / Downloads: 206)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.08.2014, 10:06
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Temperaturregelung über RS232 und PWM
Hallo tega,

häng das VI doch mal in LV2011 an.

Wie wäre es denn mit einem PI-Regler? Bei Heizungen in größeren Anlagen lässt sich I doch meist relativ einfach abschätzen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.08.2014, 10:21
Beitrag #3

tegabluexx Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Aug 2014

2013
2013
EN



RE: Temperaturregelung über RS232 und PWM
Hi! Einen PI darf ich leider nicht nehmen. Es muss leider ein P verwendet werden.

Kurze frage wie speicher ich denn von 2013 auf 2011?
Ich bin leider absolut unerfahrenConfused
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.08.2014, 10:22
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Temperaturregelung über RS232 und PWM
Datei-Menü -> "für vorige Version speichern"…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.08.2014, 10:23
Beitrag #5

tegabluexx Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Aug 2014

2013
2013
EN



RE: Temperaturregelung über RS232 und PWM
Ich glaube das ist 2011


Angehängte Datei(en)
11.0 .vi  deleye_PWM_überarbeitet(1)(1).vi (Größe: 114,74 KB / Downloads: 197)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.08.2014, 10:36 (Dieser Beitrag wurde zuletzt bearbeitet: 26.08.2014 10:41 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Temperaturregelung über RS232 und PWM
Hallo tega,

was für ein Verhau an lokalen Variablen…

Bitte erst einmal aufräumen:
- Schleifen zusammenfassen (z.B. die beiden Sollwert-Schleifen und die beiden P_Wert-Schleifen)
- alle komischen Rechnungen für ScanPeriod als Konstante vorgeben und dabei den korrekten Datentyp U32 verwenden
- Wenn dein per RS232 angebundenes Gerät mit TermChar arbeitet, dann schmeiß BytesAtPort aus dem VI…
- In dem Zusammenhang: die Stringkonstante mit dem Befehl fürs Gerät auf "\-Code"-Anzeige umstellen und das "\r" korrigieren…
- Wenn du keine (korrekte) Antwort vom Gerät bekommst, schreibst du fehlerhafte Werte (meist Nullen) in deine Anzeige. Das kann so in einem Regler nicht gewollt sein…
- lokale Variablen soweit wie möglich durch Drähte ersetzen…

Wozu eine Simulationsschleife, um den P-Regler zu realisieren? Warum nicht einfach mit "normaler" Mathematik rechnen - oder gleich den PID-Regler aus dem PID-Toolkit verwenden?

Du hast auch noch kein korrektes Gain eingestellt - oder passt der Defaultwert von "1" so gut?

Falls dein DAQ-Device entsprechende CTR zur Verfügung stellt, kann ich diese zur Ausgabe des PWM-Signals empfehlen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
26.08.2014, 11:56
Beitrag #7

tegabluexx Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Aug 2014

2013
2013
EN



RE: Temperaturregelung über RS232 und PWM
Also ich habe erstmal soweit aufgeräumt wie ich konnte.

Den Aufbau der RS232 musste ich so lassen, da die angeschlossene Anlage schon sehr alt ist und nur so korrekte Werte ausgibt.
Soweit funktioniert es auch.

Die Simulationsschleife des P-Regler und der Temperaturwerte von 37,5 auf 37 ist dazu gedacht, dass ich das Verhalte der anlage bei einer Temperaturänderung von +/- 0,5 Grad beobachten möchte (2min 37,5 dann wieder 18min 37 und dann wieder von vorne). Die Schleife des P-Regler dient dazu nach 20min(einen Durchlauf) den P Wert um den Faktor 0,9 zu teilen. Kann ich das auch direkt mit dem PID?

Die ganzen lokalen Variablen habe ich deshalb verwendet, weil ich keine andere möglichkeit kenne die Werte von einer laufenden while Schleife in eine andere laufende while Schleife zu übergeben. Mein Hauptbroblem liegt in der Ausgabe des PWM Signal. Ich bin mir nicht sicher ob es so richtig ist.

Kannst du mir nochmal eine Featback zu dem jetzigen Programm geben?

Ich bin wirklich dankbar für jede Info!


Angehängte Datei(en)
11.0 .vi  deleye_PWM_überarbeitet1.2.vi (Größe: 111,27 KB / Downloads: 177)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.08.2014, 12:25
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Temperaturregelung über RS232 und PWM
Hallo tega,

ich habe mal etwas um-/aufgeräumt, siehe Anhang.
Ich habe noch Schleifen zusammengefasst und die Simu-Schleife durch eine normale ersetzt. (Ich halte den BasicPID aus dem Toolkit immer noch für besser geeignet…)

Was mir dabei auffiel:
- Du erstellst einen DAQmxTask mit (lt. Voreinstellung) nur einem AO-Kanal. Ausgeben willst du aber 2 (oder sogar 3) Waveforms parallel…
- Deine RS232-Schleife kann immer noch Nullen in die Ist-Werte schreiben…
- Du hast eine fette RACE-CONDITION bei deiner STOP-Variablen…


Angehängte Datei(en)
11.0 .vi  deleye_PWM_überarbeitet1.2.vi (Größe: 79,72 KB / Downloads: 176)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.08.2014, 12:27
Beitrag #9

tegabluexx Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Aug 2014

2013
2013
EN



RE: Temperaturregelung über RS232 und PWM
Ich vergas bezüglich der Hardware, dass ich nur ein NI cDAQ-9174 und ein analoges Ausgangsmodul NI9264 habe.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.08.2014, 13:11
Beitrag #10

tegabluexx Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Aug 2014

2013
2013
EN



RE: Temperaturregelung über RS232 und PWM
Hallo Gerd,

erstmal vielen, vielen Dank für deine Hilfe. Ich gucke mir das Programm gerade an und teste es an der Hardware.

Zu deinen Punkten:

- Du erstellst einen DAQmxTask mit (lt. Voreinstellung) nur einem AO-Kanal. Ausgeben willst du aber 2 (oder sogar 3) Waveforms parallel…
- Deine RS232-Schleife kann immer noch Nullen in die Ist-Werte schreiben…
- Du hast eine fette RACE-CONDITION bei deiner STOP-Variablen…

muss ich gestehen, dass ich nur nach Vorlagen aus dem Netz gearbeitet habe.
Ich bin mir über diese Fehler bisher nicht bewusst gewesen.

Sollte oder kann ich denn dort noch etwas ändern?

Auf alle fälle nochmal vielen Dank und ich hoffe ich darf dich noch weiter FragenBlush
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Temperaturregelung mit Heizungsmischer antwort 5 5.490 07.12.2016 09:31
Letzter Beitrag: GerdW
  Temperaturregelung Ablaufprobleme dbuckl 10 8.548 23.01.2014 11:37
Letzter Beitrag: GerdW
  Eingabe nicht über Tastatur sondern über RS232 Schnittstelle? niete0815 12 13.448 29.11.2011 12:32
Letzter Beitrag: niete0815
  LabVIEW und 6221 über RS232 kommunizieren senmeis 5 6.883 07.04.2010 02:38
Letzter Beitrag: senmeis
  Probleme mit einer Temperaturregelung MarkusN 8 10.390 02.06.2009 15:45
Letzter Beitrag: MarkusN
  Volumenstrommesser - Coriflow über Rs232 pannchen 2 4.410 04.05.2009 10:58
Letzter Beitrag: jg

Gehe zu: