ST_TcPfw_TempMparamFromHmi_Itf
Eine solche Struktur enthält die Maschinendaten einer Zone.
Syntax
TYPE ST_TcPfw_TempMparamFromHmi_Itf :
(* last modification: 20.12.2010 *)
STRUCT
(*
==========================================
temperature zone machine parameters see cnv_TempMparamFromHmi_TcPfw for format definition
==========================================
*)
ZoneName: STRING(79);
AbsoluteHigh : LREAL;
AbsoluteLow : LREAL;
ExtruderComp : LREAL;
KpCool : LREAL;
KpHeat : LREAL;
TdCool : LREAL;
TdHeat : LREAL;
TnCool : LREAL;
TnHeat : LREAL;
TvCool : LREAL;
TvHeat : LREAL;
Overshoot : LREAL;
Tracking_Td : LREAL;
Ramping_Rate : LREAL; (* starting with cnv_TempMparamFromHmi_TcPfw=9 *)
Ramping_RateC : LREAL; (* starting with cnv_TempMparamFromHmi_TcPfw=15 *)
Ramping_Tolerance : LREAL; (* starting with cnv_TempMparamFromHmi_TcPfw=9 *)
dTmax : LREAL;
SensorOffset : LREAL;
SettlingTime : LREAL;
SupplyLoad_Cooler : LREAL;
SupplyLoad_Heater : LREAL;
SupplyLoad_Tolerance : LREAL;
TuneEnd : LREAL;
TuneKp : LREAL;
TuneTd : LREAL;
TuneTn : LREAL;
TuneTv : LREAL;
TuneTrackingTd : LREAL:=0.0; (* starting with cnv_TempMparamFromHmi_TcPfw=15 *)
TuneY : LREAL;
L_LoadIdle : LREAL;
Weighting_C : LREAL;
ErrorHeatingFactor : LREAL:=0.0; (* starting with V1.0.8: will define default heating in error state *)
fPwmStdMaxOnTime : LREAL;
fPwmMaxOnTime : ARRAY[cnv_TempCtrl_SetpointFirst..cnv_TempCtrl_SetpointLast] OF LREAL:=0.0;
fPwmMinOnTime : LREAL:=0.0;
fc_OnTime : LREAL:=0.0; (* starting with cnv_TempMparamFromHmi_TcPfw=15 *)
fc_OffTime : LREAL:=0.0; (* starting with cnv_TempMparamFromHmi_TcPfw=15 *
ActTempGain : LREAL:=1.0; (* starting with cnv_TempMparamFromHmi_TcPfw=18 *)
ActTempOffset : LREAL:=0.0; (* starting with cnv_TempMparamFromHmi_TcPfw=18 *)
SaveDelay : DINT:=-1; (* starting with cnv_TempMparamFromHmi_TcPfw=17 *)
OutputSel_H : E_TcPfw_TctrlOutSelect:=eTcPfwTcOut_PWM;
OutputSel_C : E_TcPfw_TctrlOutSelect:=eTcPfwTcOut_PWM;
TempSensTerm : E_TcPfw_TerminalType :=eTcPfwTermT_NoTerminal;
SensorType :E_TcPfw_TempSensType:=eTcPfwTempSensT_NoSensor;
App_HmiType : INT:=0;
TermChannel : INT;
ExtruderId : INT;
ModuleId : INT;
ZoneId : INT;
SupplyId : INT;
CJ_CompMode : INT; (* starting with cnv_TempMparamFromHmi_TcPfw=8 *)
CJ_CompZone : INT; (* starting with cnv_TempMparamFromHmi_TcPfw=8 *)
TermIdx : INT; (* used to connect the zone to a terminal *)
HeaterSwapIdx : INT; (* used for I/O re-location of selected heater signal *)
CoolerSwapIdx : INT; (* used for I/O re-location of selected cooler signal *)
nPwmFactorC : INT;
eTuningMethod : E_TcPfw_TctrlTuningMethod;
InUse : BOOL;
UseCooling : BOOL;
ExtruderCompEna : BOOL;
TuneCooling : BOOL;
Autotune : BOOL;
StartReTune : BOOL;
Enable : BOOL;
Update : BOOL;
EnaExtruderBlock : BOOL;
NoFanWhileTrackDown : BOOL;
Ena_TuneIdleLoad : BOOL;
LooptestUpdate : BOOL:=FALSE;
EnableErrorHeating : BOOL:=FALSE; (* starting with V1.0.8: will enable default heating in error state *)
ReadBack : BOOL:=FALSE;
TuneExtruderComp : BOOL;
TuneHeaterLoad : BOOL:=FALSE; (* tuning heater power monitoring *)
OpenloopHeating : BOOL:=FALSE; (* starting with cnv_TempMparamFromHmi_TcPfw=15 *
fc_Enable : BOOL:=FALSE; (* starting with cnv_TempMparamFromHmi_TcPfw=15 *)
HibernateI_Cool : BOOL:=FALSE; (* starting with cnv_TempMparamFromHmi_TcPfw=15 *)
HibernateI_Heat : BOOL:=FALSE; (* starting with cnv_TempMparamFromHmi_TcPfw=15 *)
bSavingParams : BOOL:=FALSE; (* *)
bLoadParams : BOOL:=FALSE; (* *)
bHighPrecision : BOOL;
bDisableTerminalCom : BOOL;
bReset : BOOL;
END_STRUCT
END_TYPE
Variable | Über-wachung | Aktion | Rege-lung | Konfi-guration | Auto-tuning | Beschreibung |
---|---|---|---|---|---|---|
AbsoluteHigh | x |
|
|
|
| Überschreitet die Ist-Temperatur der Zone diesen Grenzwert, wird ein Alarm ausgelöst. |
AbsoluteLow | x |
|
|
|
| Unterschreitet die Ist-Temperatur der Zone diesen Grenzwert, wird ein Alarm ausgelöst. |
ActTempGain |
|
|
| x |
| Skalierung für die aktuelle Temperatur (für eine nachträglichen Kalibrierung) |
ActTempOffset |
|
|
| x |
| Offset für die aktuelle Temperatur (für eine nachträglichen Kalibrierung) |
Autotune |
| x |
|
|
| Ein TRUE hier aktiviert das Autotuning (automatische Parameterermittlung) der Zone. Um das Autotuning erfolgreich durchzuführen, muss die Zone stabil sein, InUse, Enable und mindestens einen Temperaturhub von 40 °C durchlaufen können. |
App_HmiType |
|
|
|
|
| Stellt eine Nummerierung dar, die nur von der Applikation genutzt wird, aber von der Bibliothek gespeichert wird. Hierüber sollen Gruppenbildungen (Heißkanal, Zylinder1, Zylinder2 usw.) möglich gemacht werden. |
bDisableTerminalCom |
| x |
|
|
| Deaktiviert die Klemmenkommunikation für diese Zone. |
bHighPrecision |
|
| x |
|
| Die Regelung der Ist-Temperatur erfolgt hochgenau. Dadurch kann das Aufheizen mehr Zeit in Anspruch nehmen. |
bReset |
| x |
|
|
| Führt in dieser Zone ein Reset aus. |
bSavingParams |
| x |
|
|
| Hierüber wird signalisiert, dass Maschinendaten gespeichert werden. |
bLoadParams |
| x |
|
|
| Ein TRUE löst das Laden von Maschinenparametern aus. |
CJ_CompMode |
|
|
|
|
| Aktiviert die externe Kompensation bei Thermoelementen. |
CJ_CompZone |
|
|
|
|
| Zone, welche die zu kompensierende Temperatur misst. |
CoolerSwapIdx |
|
|
| x |
| Definiert die Ausgabe von Lüfter-Schaltsignalen über die umlenkbare E/A-Ebene. |
dTmax |
|
|
|
| x | Hier wird beim Autotuning die maximale Anstiegsgeschwindigkeit festgehalten. Der ermittelte Wert wird in °C/s wiedergegeben. |
Enable |
|
|
| x |
| Ein TRUE gibt die Freigabe für ein aktives Heizen oder Kühlen. |
EnableErrorHeating |
| x |
|
|
| Ein TRUE hier aktiviert die Ausgabe von Heizleistung bei gestörter Temperatur-Sensorik. Das heißt, sobald ein Sensorfehler auftritt, wird die Temperatur ausgegeben, die zum Halten der aktuellen Temperatur notwendig ist. Diese Funktion ist nur dann voll funktionstüchtig, wenn vorher das Ena_TuneIdleLoad erfolgreich durchgeführt wurde. |
EnaExtruderBlock |
|
|
|
|
| reserviert |
Ena_TuneIdleLoad |
| x |
|
|
| Ein TRUE aktiviert die Parameterermittlung für das "IdleLoad". Bei dieser Optimierung wird das System in keiner Weise angeregt. |
ErrorHeatingFactor |
|
|
| x |
| Dieser Parameter beeinflusst die Ausgabe von Heizleistung bei gestörter Temperatur-Sensorik. Er kann Werte zwischen 0% und 100% annehmen, wobei 100% die maximale Leistung ist, um die Zone auf der aktuellen Temperatur zu halten. |
eTuningMethod |
|
|
|
|
| eTcPfwTcTun_StepResponse: Ist der Standard autotune Vorgang. Die Parameter werden über eine Sprungantwort ermittelt. |
eTuningMethod |
|
|
|
|
| eTcPfwTcTun_OscillationTest: In Vorbereitung |
ExtruderComp |
|
|
|
|
| Dieser Parameter kompensiert die Friktions- und Transportenergie in einer Zone. |
ExtruderCompEna |
|
|
|
|
| Mit einem TRUE wird die Extruderkompensation aktiviert. Bei Einschalten der Strecke wird automatisch die passende Energie in der jeweiligen Zone bereitgestellt, wodurch ein Einschwingen des Reglers minimiert wird. Drehzahländerungen im Bereich von 20% (bezogen auf die Abgleichdrehzahl) werden problemlos kompensiert, wobei bei großen Drehzahläderungen (z. B. Produktwechsel) eine erneute Kompensation notwendig ist. |
ExtruderId |
|
|
|
|
| reserviert |
fc_Enable |
|
| x |
|
| Aktivierung einer fluiden Zwangskühlung. Um das Fluid unter dem Heizband nicht zu überhitzen, muss in bestimmten Zeitabständen das Fluid zirkulieren. Durch die Aktivierung erfolgt automatisch eine Verrechnung der Störung in den Regler. |
fc_OnTime |
|
| x |
|
| Für diese Zeitdauer (in Sekunden ) ist die Zwangskühlung aktiv (der Kühlausgang wird geschaltet). Wird während der "fc_OffTime" Phase über die Reglerausgabe gekühlt, wird dies verrechnet. |
fc_OffTime |
|
| x |
|
| Für diese Zeitdauer (in Sekunden ) ist die Zwangskühlung inaktiv, kann jedoch jederzeit über die Reglerausgabe aktiviert werden. |
fPwmMinOnTime |
|
| x |
|
| Über diesen Faktor kann die Mindest-PWM-Einschaltzeit in Bezug auf die Zykluszeit festgelegt werden. Es ist ein Wert zwischen 0.1 und 1.0 einzugeben. |
fPwmMaxOnTime |
|
| x |
|
| Über diesen Faktor kann die maximale PWM-Einschaltzeit in Bezug auf die Zykluszeit festgelegt werden. Es ist ein Wert zwischen 0.05 und 0.75*PwmMaxOn einzugeben. Jedem Sollwert im Array ist eine PWMMaxOn time zugeordnet. Bei Null wird die PWMMaxOn Time aus der SupplyLine verwendet. |
fPwmStdMaxOnTime |
|
| x |
|
| Über diesen Faktor kann die Maximale-PWM Einschaltzeit in Bezug auf die Zykluszeit festgelegt werden. Es ist ein Wert zwischen 0.05 und 0.75*PwmMaxOn einzugeben. Diese Variable ist aktiv, wenn auf den std. Sollwert geregelt wird. Bei Null wird die PWMMaxOn Time aus der SupplyLine verwendet. |
HeaterSwapIdx |
|
|
| x |
| Definiert die Ausgabe von Heizungs-Schaltsignalen über die umlenkbare E/A-Ebene. |
HibernateI_Heat |
|
|
|
|
| Ein TRUE lässt den I-Anteil der Heizungsregelung einfrieren. |
HibernateI_Cool |
|
|
|
|
| Ein TRUE lässt den I-Anteil des Kühlreglers einfrieren. |
InUse |
|
|
| x |
| Die Zone wird durch TRUE zu einem aktiven Bestandteil der Temperaturregelung. Bei FALSE wird die Zone auch bei gesetztem Enable und einem Einschalten der Gruppe nicht aktiv. Sie wird zu keinem Zeitpunkt und aus keinem Anlass einen Fehler signalisieren und weder bei der Lastverteilung noch bei einer optionalen Strommessung berücksichtigt. |
KpCool |
|
| x |
|
| Der Parameter für den P-Anteil des Temperaturreglers. Dieser Parameter sollte durch ein Autotuning ermittelt werden. |
KpHeat |
|
| x |
|
| Der Parameter für den P-Anteil des Temperaturreglers. Dieser Parameter sollte durch ein Autotuning ermittelt werden. |
L_LoadIdle |
|
| x |
|
| Dieser Parameter stellt den Grundleistungsbedarf dar. Ein gut eingestellter IdleLoad ermöglicht ein überschwingfreies Erreichen der Solltemperatur sowie für ein gutes Verhalten beim Error-Heating. Dieser Parameter sollte durch ein Idle-Tune ermittelt werden. |
LooptestUpdate |
|
|
|
|
| reserviert. |
ModuleId |
|
|
| x |
| Dieser Parameter ordnet der Zone eine Temperaturgruppe zu. Eine Reihe von Funktionen (z.B. Einschalten, Absenkung usw.) werden innerhalb einer Temperaturgruppe organisiert und gesteuert. |
NoFanWhileTrackDown |
|
|
| x |
| Wenn dieser Parameter gesetzt ist, wird eine vorhandene Kühlung nicht genutzt, um bei einer Verringerung der Vorgabe die Solltemperatur zu erreichen. |
nPwmFactorC |
|
| x |
|
| Mit diesem Faktor wird die PWM-Zykluszeit multipliziert, um eine angemessene Zykluszeit beim Kühlen zu realisieren. |
OutputSel_C |
|
|
| x |
| Diese Parameter bestimmen, welches der angebotenen Signale für die Heizung ausgewählt wird. |
OutputSel_H |
|
|
| x |
| Diese Parameter bestimmen, welches der angebotenen Signale für die (optionale) Kühlung ausgewählt wird. |
Overshoot |
|
|
|
| x | Hier wird beim Autotuning die Höhe des Überschießens festgehalten. Hierüber können Rückschlüsse auf die Dynamik des Systems gezogen werden. |
OpenloopHeating |
| x |
|
|
| Hat eine Zone keinen Sensor, kann über einen festen Stellwert die Zone gesteuert geheizt werden. |
Ramping_Rate |
|
| x |
| x | Gibt an, mit welcher Steigung der Reglersollwert den eingegebenen Sollwert beim Heizen erreichen soll. Die Eingabe ist in °C/min vorzunehmen Dieser Parameter sollte durch ein Autotuning ermittelt werden. |
Ramping_RateC |
|
| x |
| x | Gibt an, mit welcher Steigung der Reglersollwert den eingegebenen Sollwert beim Kühlen erreichen soll. Die Eingabe ist in °C/min vorzunehmen Dieser Parameter sollte durch ein Autotuning ermittelt werden. |
Ramping_Tolerance |
|
| x |
|
| Gibt an, ab wann eine Sollwertänderung über eine Rampe erhöht werden soll. Es ist zu empfehlen Sollwertänderungen von 5 bis 10 °C über das Ramping anzufahren. Sollte die automatisch ermittelte Rampe eine zu kleine Steigung haben, kann diese über den Parameter Ramping_Rate verändert werden. |
ReadBack |
|
|
|
|
| reserviert. |
SaveDelay |
|
|
| x |
| Zeit in ns. Der Wert wird kontinuierlich heruntergezählt. Erreicht der Wert 0, wird das Speichern aktiviert. -1 bedeutet Ruhezustand. |
SensorOffset |
|
|
|
|
| Hier kann ein bei der Ermittlung der Ist-Temperatur zu verwendender Offset vorgegeben werden. Die Vorgabe hat in °C zu erfolgen. |
SensorType |
|
|
| x |
| Diese Parameter bestimmen, welche der unterstützten Sensortypen für die Erfassung der Ist-Temperatur verwendet werden. |
SettlingTime | x |
| x |
| x | Dieser Parameter wird an diversen Stellen benutzt, um das Zeitverhalten der Zone zu berücksichtigen. |
StartReTune |
|
|
|
| x | Sollte im Betrieb der Regler nicht ideal regeln, besteht die Möglichkeit einer nachträglichen Selbstoptimierung. Dies kann während der Produktion erfolgen. |
SupplyId |
|
|
| x |
| Dieser Parameter ordnet die Zone einer Versorgungsgruppe zu. Sie wird einige Parameter für die PWM-Ausgabe von dieser Gruppe übernehmen. Eine Reihe von Funktionen (z.B. Lastverteilung, Strommessung usw.) werden innerhalb einer Versorgungsgruppe organisiert und synchronisiert. Standardmäßig gibt es 4 verschiedene Versorgungsgruppen, wobei 1 bis 3 für die Phasen 1 bis 3 zu verwenden sind. In der Versorgungsgruppe 4 können zwei oder dreiphasige Heizbänder eingegeben werden. |
SupplyLoad_Cooler |
|
|
|
|
| Die Kühlleistung der Zone in Watt. |
SupplyLoad_Heater | x |
| x |
| x | Die Heizleistung der Zone in Watt. Bei einer (optionalen) Überwachung der Heizleistung ist dies der Sollwert. |
SupplyLoad_Tolerance | x |
|
|
|
| Überschreitet die Abweichung der gemessenen Heizleistung diese Toleranz, wird ein Alarm ausgelöst. Die Tolleranz wird in % zwischen 0.0 und 100.0 angegeben. Wird hier 0.0 eingestellt oder der FB_TempCtrlMainBody_TcPfw() Baustein mit Looptest_Enable:=FALSE aufgerufen, erfolgt keine Überwachung. |
TdCool |
|
| x |
|
| Der Parameter für den D-Anteil (Dämpfungszeit) des Temperaturreglers. Dieser Parameter sollte durch ein Autotuning ermittelt werden. |
TdHeat |
|
| x |
|
| Der Parameter für den D-Anteil (Dämpfungszeit) des Temperaturreglers. Dieser Parameter sollte durch ein Autotuning ermittelt werden. |
TempSensTerm |
|
|
| x |
| Diese Parameter bestimmen, welche der unterstützten E/A-Klemmen für die Erfassung der Ist-Temperatur verwendet wird. |
TermChannel |
|
|
| x |
| Bei mehrkanaligen Klemmen ist hier der Kanal innerhalb der Klemme anzugeben. |
TermIdx |
|
|
| x |
| Definiert das Umlenken der Ist-Temperatur -Erfassung. |
TnCool |
|
| x |
|
| Der Parameter für den I-Anteil des Temperaturreglers. Dieser Parameter sollte durch ein Autotuning ermittelt werden. |
TnHeat |
|
| x |
|
| Der Parameter für den I-Anteil des Temperaturreglers. Dieser Parameter sollte durch ein Autotuning ermittelt werden. |
Tracking_Td |
|
| x |
|
| Dieser Parameter wird für die Regelung gerade von großen Sollwertänderungen verwendet. Dieser Parameter sollte durch ein Autotuning ermittelt werden. |
TuneCooling |
|
|
|
| x | Nur wenn hier ein TRUE eingetragen ist, wird beim Autotuning das Abkühlverhalten ausgewertet. |
TuneEnd |
|
|
|
| x | Dieser Anteil in Prozent vom Temperatursollwert wird beim Autotuning ausgenutzt. |
TuneExtruderComp |
|
| x |
|
| Ein TRUE hier berechnet die ExtruderComp. |
TuneHeaterLoad |
|
| x |
|
| Ein TRUE hier berechnet die Heizleistung dieser Zone. |
Tune_IdleLoad |
|
| x |
|
| Ein TRUE hier berechnet den IdleLoad dieser Zone während des Autotunings. |
TuneKp |
|
|
|
| x | Der P-Anteil des Autotuning-Mechanismus. Mit diesem Faktor wird der P-Anteil beim Auto-Tuning gewichtet. |
TuneTd |
|
|
|
| x | Der D-Anteil des Autotuning-Mechanismus. Mit diesem Faktor wird die Verzögerung des D-Anteils beim Autotuning gewichtet. |
TuneTn |
|
|
|
| x | Der I-Anteil des Autotuning-Mechanismus. Mit diesem Faktor wird der I-Anteil beim Autotuning gewichtet. |
TuneTv |
|
|
|
| x | Der D-Anteil des Autotuning-Mechanismus. Mit diesem Faktor wird der D-Anteil beim Autotuning gewichtet. |
TuneTrackingTd |
|
|
|
| x | Der D-Anteil des Autotuning-Mechanismus. Mit diesem Faktor wird der D-Anteil des Beckhoff-Algorithmus eingestellt. Ein Wert zwischen Null und eins bedeutet aggressiver Anregeln; Ein Wert größer Eins bedeutet vorsichtiger Anregeln. Default ist Null. |
TuneY |
|
|
|
| x | Dieser Anteil in Prozent von der verfügbaren Heizleistung wird beim Autotuning verwendet. |
TvCool |
|
| x |
|
| Der Parameter für den D-Anteil (Vorhaltezeit) des Temperaturreglers. Dieser Parameter sollte durch ein Autotuning ermittelt werden. |
TvHeat |
|
| x |
|
| Der Parameter für den D-Anteil (Vorhaltezeit) des Temperaturreglers. Dieser Parameter sollte durch ein Autotuning ermittelt werden. |
Update |
| x |
|
|
| Mit einem TRUE signalisiert die Bedienoberfläche hier, dass sie Werte in dieser Struktur verändert hat. Das Framework wird diese Werte überprüfen, bei Bedarf anpassen und übernehmen. |
UseCooling |
|
|
| x |
| Nur wenn hier ein TRUE eingetragen ist, gibt der Regler an die Kühlung aus. |
Weighting_C |
|
| x |
| x | Gewichtungsfaktor, worüber die Kühlparameter für die Regelung ermittelt werden. |
ZoneId |
|
|
| x |
| Dieser Parameter nummeriert die Zonen innerhalb der Maschine durch. Der Zahlenwert darf nur in einer einzigen Zone verwendet werden. |
ZoneName |
|
|
| x |
| Der textuelle Name der Zone. Beispiel: 'Ext_1' oder 'Kopf_5'. |