Gradminut
Detaljer
- Typ
- Program
- Upplaggd av
- Ove Jansson, Abelko Innovation
- Version
- 3
- Uppdaterad
- 2013-09-03
- Skapad
- 2013-08-28
- Kategori
- Allmän automation, Värme
- Visningar
- 8185
Beskrivning
Gradminut
Bruksanvisning
Funktion:
När det uppstår en Differensen mellan Tempkanalen och Börvärde Temp startar en minuträknare.
Varje minut multipliceras antal minuter som gått med avvikelsen.
När differensen är 0 nollställs minuträknaren och börjar om vid nästa differens.
Dessa Gradminuter kopplas till Utgång Gradminut.
Utgång Drift Steg1 aktiveras när gradminut överstiger Börvärde Start
Lika för Utgång Drift2
start sker endast om Diff överstiger MinDiff (så att man inte startar på 0.01 grader typ)
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
% Funktion:
% När det uppstår en Differensen mellan Tempkanalen och Börvärde Temp startar en minuträknare.
% Varje minut multipliceras antal minuter som gått med avvikelsen.
% När differensen är 0 nollställs minuträknaren och börjar om vid nästa differens.
% Dessa Gradminuter kopplas till Utgång Gradminut.
% Utgång Drift Steg1 aktiveras när gradminut överstiger Börvärde Start Gradminut1 och avaktiveras när den understiger Börvärde Stopp Gradminut1.
% Lika för Utgång Drift2
% start sker endast om Diff överstiger MinDiff (så att man inte startar på 0.01 grader typ)
ROUTINE GRADMINUTER
ALIAS
Temp = CHANNEL[50]; %
Gradminut = CHANNEL[51]; %
DriftSteg1 = CHANNEL[52]; %
DriftSteg2 = CHANNEL[53]; %
BörvärdeTemp = PARAMETER[1]; %
BörvärdeStart1 = PARAMETER[2]; %
BörvärdeStopp1 = PARAMETER[3]; %
BörvärdeStart2 = PARAMETER[4]; %
BörvärdeStopp2 = PARAMETER[5]; %
MinDiff = PARAMETER[6]; % Minsta gradskillnad som krävs för att starta steg
VAR
Diff; % Differensen mellan Temp och BörvärdeTemp
MinutRäknare; %
BEGIN
% Hanterar Gradminut
IF TIME_SEC = 0 THEN % körs varje hel minut
Diff := Temp - BörvärdeTemp;
IF (Diff < MinDiff) THEN Diff := 0; ENDIF;
IF (Diff=0) THEN %
Gradminut <- 0; % nollställer
MinutRäknare := 0;
ELSE
MinutRäknare := MinutRäknare + 1;
Gradminut <- (Diff * MinutRäknare);
ENDIF;
% styrning
% Styrning steg 1
IF (Gradminut > BörvärdeStart1) THEN DriftSteg1 <- 1; ENDIF;
IF (Gradminut < BörvärdeStopp1) THEN DriftSteg1 <- 0; ENDIF;
% Styrning steg 2
IF (Gradminut > BörvärdeStart2) THEN DriftSteg2 <- 1; ENDIF;
IF (Gradminut < BörvärdeStopp2) THEN DriftSteg2 <- 0; ENDIF;
ENDIF; % körs varje hel minut
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.