Dämpad temperatur 0-36h
Detaljer
- Typ
- Program
- Upplaggd av
- Ove Jansson, Abelko Innovation
- Version
- 1
- Uppdaterad
- 2013-04-08
- Skapad
- 2013-04-08
- Kategori
- Allmän automation, Värme
- Visningar
- 4407
Beskrivning
Ett skript som dämpar en temperatur genom att bilda ett medelvärde på ett inställt antal timmar. OBS! medelvärdena sparas bara i minnet så om man startar om enheten börjar den om från början och bildar medelvärde först efter två timmar med medlet på dem, efter tre timmar medlet på tre timmar osv.
Bruksanvisning
sätt upp en temperaturmätare på en av temperatur kanalerna och klicka i tim medelvärde. Spara. Den nya hMEAN_kanalen är den du använder till hmedel nedan.
Skapa också en parameter för inställning av hur många timmars dämpning det ska vara samt en kanal för den dämpade temperaturvärdet som du kopplar till dH respektive dampad_kanal nedan.
Juridisk information
Alla skript tillhandahålls i befintligt skick och all användning sker på eget ansvar. Felaktig använding kan leda till skadad eller förstörd utrustning.
Skript kod
% INSTRUKTION
% sätt upp en temperaturmätare på en av temperatur kanalerna och klicka i tim medelvärde. Spara.
% Den nya hMEAN_kanalen är den du använder till hmedel nedan.
% Skapa också en parameter för inställning av hur många timmars dämpning det ska vara samt
% en kanal för den dämpade temperaturvärdet som du kopplar till dH respektive dampad_kanal nedan.
%
ROUTINE Dampad_Temp
ALIAS
hmedel = CHANNEL[45]; % Ersätt med lokalt kanalnummer
dH = PARAMETER[1]; % 0-36 timmars dämpning. Ersätt med lokal parameternummer
dampad_kanal = CHANNEL[47];
VAR
h1; h2; h3; h4; h5; h6; h7; h8; h9; h10; h11; h12;
h13; h14; h15; h16; h17; h18; h19; h20; h21; h22; h23; h24;
h25; h26; h27; h28; h29; h30; h31; h32; h33; h34; h35; h36;
antal;
dtemp;
antal_v;
BEGIN
IF antal_v = 0 THEN dampad_kanal <- hmedel;
ELSIF (TIME_SEC = 0) AND ((TIME_MINUTE = 0) OR (TIME_MINUTE = 15) OR (TIME_MINUTE = 30) OR (TIME_MINUTE = 45)) THEN
IF antal_v < dH THEN antal := antal_v + 1;
ELSIF dH > 36 THEN antal := 37;
ELSIF dH < 1 THEN antal := 0;
ELSE antal := dH + 1;
ENDIF;
IF antal < 1 THEN dtemp := hmedel; ELSE dtemp := hmedel / antal; ENDIF;
IF antal > 36 THEN dtemp := dtemp + (h36 / antal); ENDIF;
IF antal > 35 THEN dtemp := dtemp + (h35 / antal); ENDIF;
IF antal > 34 THEN dtemp := dtemp + (h34 / antal); ENDIF;
IF antal > 33 THEN dtemp := dtemp + (h33 / antal); ENDIF;
IF antal > 32 THEN dtemp := dtemp + (h32 / antal); ENDIF;
IF antal > 31 THEN dtemp := dtemp + (h31 / antal); ENDIF;
IF antal > 30 THEN dtemp := dtemp + (h30 / antal); ENDIF;
IF antal > 29 THEN dtemp := dtemp + (h29 / antal); ENDIF;
IF antal > 28 THEN dtemp := dtemp + (h28 / antal); ENDIF;
IF antal > 27 THEN dtemp := dtemp + (h27 / antal); ENDIF;
IF antal > 26 THEN dtemp := dtemp + (h26 / antal); ENDIF;
IF antal > 25 THEN dtemp := dtemp + (h25 / antal); ENDIF;
IF antal > 24 THEN dtemp := dtemp + (h24 / antal); ENDIF;
IF antal > 23 THEN dtemp := dtemp + (h23 / antal); ENDIF;
IF antal > 22 THEN dtemp := dtemp + (h22 / antal); ENDIF;
IF antal > 21 THEN dtemp := dtemp + (h21 / antal); ENDIF;
IF antal > 20 THEN dtemp := dtemp + (h20 / antal); ENDIF;
IF antal > 19 THEN dtemp := dtemp + (h19 / antal); ENDIF;
IF antal > 18 THEN dtemp := dtemp + (h18 / antal); ENDIF;
IF antal > 17 THEN dtemp := dtemp + (h17 / antal); ENDIF;
IF antal > 16 THEN dtemp := dtemp + (h16 / antal); ENDIF;
IF antal > 15 THEN dtemp := dtemp + (h15 / antal); ENDIF;
IF antal > 14 THEN dtemp := dtemp + (h14 / antal); ENDIF;
IF antal > 13 THEN dtemp := dtemp + (h13 / antal); ENDIF;
IF antal > 12 THEN dtemp := dtemp + (h12 / antal); ENDIF;
IF antal > 11 THEN dtemp := dtemp + (h11 / antal); ENDIF;
IF antal > 10 THEN dtemp := dtemp + (h10 / antal); ENDIF;
IF antal > 9 THEN dtemp := dtemp + (h9 / antal); ENDIF;
IF antal > 8 THEN dtemp := dtemp + (h8 / antal); ENDIF;
IF antal > 7 THEN dtemp := dtemp + (h7 / antal); ENDIF;
IF antal > 6 THEN dtemp := dtemp + (h6 / antal); ENDIF;
IF antal > 5 THEN dtemp := dtemp + (h5 / antal); ENDIF;
IF antal > 4 THEN dtemp := dtemp + (h4 / antal); ENDIF;
IF antal > 3 THEN dtemp := dtemp + (h3 / antal); ENDIF;
IF antal > 2 THEN dtemp := dtemp + (h2 / antal); ENDIF;
IF antal > 1 THEN dtemp := dtemp + (h1 / antal); ENDIF;
dampad_kanal <- dtemp;
ENDIF;
IF (TIME_SEC = 59) AND (TIME_MINUTE = 59) THEN
h36:=h35;
h35:=h34;
h34:=h33;
h33:=h32;
h32:=h31;
h31:=h30;
h30:=h29;
h29:=h28;
h28:=h27;
h27:=h26;
h26:=h25;
h25:=h24;
h24:=h23;
h23:=h22;
h22:=h21;
h21:=h20;
h20:=h19;
h19:=h18;
h18:=h17;
h17:=h16;
h16:=h15;
h15:=h14;
h14:=h13;
h13:=h12;
h12:=h11;
h11:=h10;
h10:=h9;
h9:=h8;
h8:=h7;
h7:=h6;
h6:=h5;
h5:=h4;
h4:=h3;
h3:=h2;
h2:=h1;
h1:=hmedel;
IF antal_v < 37 THEN antal_v := antal_v + 1; ENDIF;
ENDIF;
END;
Användarnas noteringar
Du måste vara inloggad för att göra en notering. Bli medlem eller logga in. Vi använder en moderator som godkänner noteringarna innan de visas.