Liebe Forumgemeinde,
ich verwende e!Cockpit und eine Wago SPS und möchte eine Raumtemperaturregelung machen. Das scheint sogar zu funktionieren (warte auf kältere Tage ;-) ), jedoch gibt es Parameter der Funktion, welche über ein struct konfiguriert werden, was bei mir noch nicht funktioniert.
wago1.jpg
Ich möchte die typConfigParameters konfigurieren.
Dazu habe ich eine struct-Datei erstellt:
und diese in der Datei für den Raum deklariert und verwendet:
Leider kommt die Fehlermeldung, dass heatingSettings nicht konvertiert werden kann.
Hat jemand einene Rat für mich?
Vielen Dank!
ich verwende e!Cockpit und eine Wago SPS und möchte eine Raumtemperaturregelung machen. Das scheint sogar zu funktionieren (warte auf kältere Tage ;-) ), jedoch gibt es Parameter der Funktion, welche über ein struct konfiguriert werden, was bei mir noch nicht funktioniert.
wago1.jpg
Ich möchte die typConfigParameters konfigurieren.
Dazu habe ich eine struct-Datei erstellt:
Code:
TYPE heatingSettings :
STRUCT
rOffsetStandbyHeating : REAL := 2.0; // Defines the offset to the base reference value (heating) in the Stand-by mode. [K]
rOffsetStandbyCooling : REAL := 2.0;
rOffsetNightHeating : REAL := 4.0; // Defines the offset to the reference value (heating) in the Stand-by mode during night-time temperature reduction. [K]
rOffsetNightCooling : REAL := 4.0;
rDeadZone : REAL := 2.0; // Defines the dead zone between heating and cooling. The selected size of this dead zone must not be too small in order to avoid a permanent changing back and forth between heating and cooling. [K]
rHysteresis : REAL := 0.3; // Defines the switching hysteresis for the 2-point controller. A small hysteresis provokes a frequent switching of the valve voltage, but small set value differences. A large hysteresis causes large deviations from the set value, but only leads to occasional switching. [K]
rOffset : REAL := 0.0; // Defines measured value compensation for the room temperature sensor.
END_STRUCT
END_TYPE
Code:
VAR
typConfigParameters: heatingSettings;
END_VAR
...
TemperatureRegulator(
rRoomTemperature:= rActualTemp,
rSetpointCorrection:= (rSetTemp - rActualTemp),
xComfortStandby:= xComfortStandby,
xNightMode:= xNightMode,
xWindowContact:= xWindowContactFrostProtection,
xDewpoint:= FALSE,
rReferenceComfort:= 21.0,
typConfigParameters:= typConfigParameters,
rActualTemperature=> ,
xHeating=> xHeatingOn,
xCooling=> ,
rComfortHeating=> ,
rComfortCooling=> ,
rStandbyHeating=> ,
rStandbyCooling=> ,
rNightHeating=> ,
rNightCooling=> ,
rSetpointFrost=> ,
rSetpointHeat=> ,
xComfort=> ,
xStandby=> ,
xNight=> ,
xFrost_Heat=> );
Hat jemand einene Rat für mich?
Vielen Dank!