Sehr geehrte Forengemeinde,
ich habe ein Problem bzgl. einer Zyklensteuerung (Bild der Schaltung im Anhang zu sehen).
Ziel ist es einen Kreislauf zu generieren, die eine Heizung aufheizt und dann wieder Abkühlen lässt. Zunächst habe ich über 2 ReadLinebauteile und einem Inkrementationsglied die Heizung angesteuert und lasse sie entsprechend der verknüpften Textdateien das Aufheizprogramm abfahren. Nachdem die Textdateien abgearbeitet wurden, gibt eins der ReadLine Bauteile über den EOF Ausgang den „Reset Impuls“ an das Inkrementationsglied weiter, wodurch diese zurückgesetzt wird und der ganze Zyklus startet von vorne.
Ziel ist es jedoch diesen Reset-Impuls zu verzögern, um den Ofen für eine weile Abkühlen zu lassen. Und hier stoße ich auf mein derzeitiges Problem. Ich habe bisher noch keinen Weg gefunden das Signal komplett zu verzögern. Den Start des nächsten Aufheizzyklusses konnte ich zwar mit Hilfe einer Schaltverzögerung um die vorgegebene Zeit verzögern, jedoch nicht den Reset des Inkrementationsglieds.
Kann mir hierbei evtl. jemand weiterhelfen bzw. gibt es evtl. einen günstigeren Aufbau für meine Schaltung?
Schonmal vorab vielen Dank für euren Input !
Viele Grüße
Daniel
Zyklensteuerung
Zyklensteuerung
- Dateianhänge
-
- Schaltung.PNG (23.17 KiB) 8132 mal betrachtet
Re: Zyklensteuerung
Hallo Daniel.
Habe ich es richtig verstanden?
Eine Heizung soll z.B. Wasser auf eine bestimmte Temperatur aufheizen.
Fällt die Temperatur unter einen bestimmten Punkt, so soll wieder geheizt werden. Usw.
Die Lösung soll möglichst eifach sein, und muss nicht unbedingt über die RD-Bausteine erfolgen.
Herzlichen Gruß von C
mpander.
Habe ich es richtig verstanden?
Eine Heizung soll z.B. Wasser auf eine bestimmte Temperatur aufheizen.
Fällt die Temperatur unter einen bestimmten Punkt, so soll wieder geheizt werden. Usw.
Die Lösung soll möglichst eifach sein, und muss nicht unbedingt über die RD-Bausteine erfolgen.
Herzlichen Gruß von C
![Shocked :shock:](./images/smilies/icon_eek.gif)
Re: Zyklensteuerung
(T ist - T soll) < 0 => Heizen
(T ist - T soll) > 0 => Abkühlen
richtig?
Bitte auch einmal hier schauen...
viewforum.php?f=105
(T ist - T soll) > 0 => Abkühlen
richtig?
Bitte auch einmal hier schauen...
viewforum.php?f=105
ABACOM support
Re: Zyklensteuerung
Nein leider funktioniert das so nicht ganz. Und zwar wird in der Probenkammer eine Keramik aufgeheizt, welche Sauerstoff abgeben kann.
Dieser Prozess benötigt eine spezielle Temperaturführung z.B.: bis 200°C, Aufheizgeschwindigkeit von 2k/min, bis 300°C, Aufheizgeschwindigkeit von 3k/min .... usw.
Diese Problem hab ich über die beiden ReadLine Bauteile lösen können. Am Ende der Listen soll für eine Gewisse Zeit abgekühlt werden bevor der Zyklus von vorne beginnt.
Ich hoffe damit konnte ich das Problem etwas Verständlicher machen.
Viele Grüße
Daniel
Dieser Prozess benötigt eine spezielle Temperaturführung z.B.: bis 200°C, Aufheizgeschwindigkeit von 2k/min, bis 300°C, Aufheizgeschwindigkeit von 3k/min .... usw.
Diese Problem hab ich über die beiden ReadLine Bauteile lösen können. Am Ende der Listen soll für eine Gewisse Zeit abgekühlt werden bevor der Zyklus von vorne beginnt.
Ich hoffe damit konnte ich das Problem etwas Verständlicher machen.
Viele Grüße
Daniel
Re: Zyklensteuerung
Hallo,
dann füge doch einfach in deine Datei eine Zeile am Ende ein in der ein Wert steht, bei der die Heizung nicht gebraucht wird (z.B. 20 Minuten 20 °C)
Gruß MM
dann füge doch einfach in deine Datei eine Zeile am Ende ein in der ein Wert steht, bei der die Heizung nicht gebraucht wird (z.B. 20 Minuten 20 °C)
Gruß MM
-
- Beiträge: 75
- Registriert: Montag 27. Oktober 2008, 00:03
Re: Zyklensteuerung
Hallo Daniel,
hier ein Lösungsansatz, den ich vor Jahren einmal im Forum für einen
englischsprachigen Anwender als Quick&Dirty-Lösung veroffentlicht habe,
entsprechend Deiner Anfrage modifiziert.
Gruß microprocessor
========================================================
Using RAM to enter all necessary informations seems to be an appropriate
method because the entered content may be saved into files, so the profiles
are re-loadable and re-runable. Be sure to save both RAMs (Duration-RAM
and Mode-RAM) for a proper re-run !!
Another advantage is the opportunity to create test-data as plain text-files
with other applications and load them into the Rams if required.
Each event, consisting of duration (1st RAM) and mode (heating, cooling, hold
and restart) (2nd RAM), is entered into consecutive addresses.
To do this, first select the input-mode by setting the selection-switch to
"Input°" (off).
Enter the first event-no. which should be 00 normally, then the duration of
the event and last the mode. In this example following modes are defined:
Mode = 0 : hold
Mode = 1 : cool
Mode = 2 : heat
Mode = F : restart
Only 4 bits are used in the Mode-Ram, so 16 different modes are available.
After each entry-set click the WRITE-button.
You may check your entries by entering an event-no. The contents will be
shown in the RUN-section.
At this stage there is no break-condition at the end of the profile so be sure
to enter a non-dangerous mode for the last entry or the restart-mode if
appropriate.
To run the profile select the RUN-mode by setting the selection-switch to
"RUN" (high) then press the RST-button first to reset the addresscounter
and press the RUN-button afterwards.
The duration from the ram-entry will be compared with the clock and in
case of equality the clock is resetted and the addresscounter will be
incremented to the next event. In the time of "duration" the corresponding
mode-entry will be active. All informations of the actual set will be diplayed
in the Run-section.
Following test-data are stored to the rams:
Event Duration Mode
00 03 1 Cool
01 02 2 Heat
02 03 0 Hold
03 05 1 Cool
04 03 0 Hold
05 01 F Restart
For test-purposes the resolution is calculated in seconds. Use the $Hours and
$Minutes as source for the formula instead of $Minutes and $Seconds.
I didn't invest much time in shaping the frontpanel. Hope you won't be confused.
If needed for your final project use other possibilties to enter data-sets for higher
convenience instead of the HEX-Selectors.
If there are further questions please don't hesitate to contact me.
I wish you success developing you project.
With kind regards
microprocessor
hier ein Lösungsansatz, den ich vor Jahren einmal im Forum für einen
englischsprachigen Anwender als Quick&Dirty-Lösung veroffentlicht habe,
entsprechend Deiner Anfrage modifiziert.
Gruß microprocessor
========================================================
Using RAM to enter all necessary informations seems to be an appropriate
method because the entered content may be saved into files, so the profiles
are re-loadable and re-runable. Be sure to save both RAMs (Duration-RAM
and Mode-RAM) for a proper re-run !!
Another advantage is the opportunity to create test-data as plain text-files
with other applications and load them into the Rams if required.
Each event, consisting of duration (1st RAM) and mode (heating, cooling, hold
and restart) (2nd RAM), is entered into consecutive addresses.
To do this, first select the input-mode by setting the selection-switch to
"Input°" (off).
Enter the first event-no. which should be 00 normally, then the duration of
the event and last the mode. In this example following modes are defined:
Mode = 0 : hold
Mode = 1 : cool
Mode = 2 : heat
Mode = F : restart
Only 4 bits are used in the Mode-Ram, so 16 different modes are available.
After each entry-set click the WRITE-button.
You may check your entries by entering an event-no. The contents will be
shown in the RUN-section.
At this stage there is no break-condition at the end of the profile so be sure
to enter a non-dangerous mode for the last entry or the restart-mode if
appropriate.
To run the profile select the RUN-mode by setting the selection-switch to
"RUN" (high) then press the RST-button first to reset the addresscounter
and press the RUN-button afterwards.
The duration from the ram-entry will be compared with the clock and in
case of equality the clock is resetted and the addresscounter will be
incremented to the next event. In the time of "duration" the corresponding
mode-entry will be active. All informations of the actual set will be diplayed
in the Run-section.
Following test-data are stored to the rams:
Event Duration Mode
00 03 1 Cool
01 02 2 Heat
02 03 0 Hold
03 05 1 Cool
04 03 0 Hold
05 01 F Restart
For test-purposes the resolution is calculated in seconds. Use the $Hours and
$Minutes as source for the formula instead of $Minutes and $Seconds.
I didn't invest much time in shaping the frontpanel. Hope you won't be confused.
If needed for your final project use other possibilties to enter data-sets for higher
convenience instead of the HEX-Selectors.
If there are further questions please don't hesitate to contact me.
I wish you success developing you project.
With kind regards
microprocessor
- Dateianhänge
-
- profile1.prj
- (16.9 KiB) 275-mal heruntergeladen
Re: Zyklensteuerung
Hallo Daniel,
wenn dein Problem darin besteht, dass dein EOF vor Erreichen der Verzögerungszeit weg geht,
dann brauchst du das EOF mit einem RS-Glied nur speichern. Das Rücksetzen des EOF-Speichers
muss mindestens einen Zyklus verzögert werden, damit der INC-Baustein rückgesetzt wird,
siehe nachfolgendes Bild
wenn dein Problem darin besteht, dass dein EOF vor Erreichen der Verzögerungszeit weg geht,
dann brauchst du das EOF mit einem RS-Glied nur speichern. Das Rücksetzen des EOF-Speichers
muss mindestens einen Zyklus verzögert werden, damit der INC-Baustein rückgesetzt wird,
siehe nachfolgendes Bild
- Dateianhänge
-
- Resetverzögerung.jpg (44.45 KiB) 7900 mal betrachtet
Ich bin der Müllmann und räume nur auf.
Re: Zyklensteuerung
Vielen Dank für eure Mühen !
Ich werde mich gleich mal dran setzen und eure Lösungsvorschläge ausprobieren !
Ich werde mich gleich mal dran setzen und eure Lösungsvorschläge ausprobieren !