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

% gradminuter
% 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.