Subversion Repositories Brabant Water.eindhoven

Rev

Blame | Last modification | View Log | Download

CP_VRS AI: 17.2.1 DBGEN: 16.0 Conv expand INI:0 DATE: Fri Feb 16 10:47:07 2007 CONCEPT_2.6 SR1    
////
CL_DFB GloDFB C:\CONCEPT\DFB\ WR_SPL "01/10/07 14:35:43" TEXT:
CP_DFB "WR_SPL" HEIGHT/WIDTH: 10 10 FBTK_DFB "01/10/07 14:35:43" TEXT:
...TXF Wachtrij Filter Spoelen
...TXT 
...TXT Functie:
...TXT  -Nieuwe_Spoelaanvraag: 'spoelnummer' opbouw xyy waarbij x=prioriteit(tip,troebelheid,auto)  yy=filternummer
...TXT    de spoelaanvragen worden gesorteerd op prioriteit en volgorde van aanvraag.
...TXT  -Spoelvoorwaarden_en_aanvragen: in deze sectie wordt uit de wachtrij de 
...TXT    aanvragen omgezet in een spoelcommando. 
...TXT 
...TXT Input/output:
...TXT SplAanvr  - aanvraag spoelen filters
...TXT Vrijgave    - vrijgave voor de wachtrij
...TXT StatSpl     - status spoelen van de filters
...TXT Wachttyd - wachttijd tussen 2 filters
...TXT Cmd_Spl  - spoelcommando array
...TXT Wachtrij   - de wachtrij van alle aanvragen
...TXT Spoel_nr  - het nummer van het spoelende filter (xyy x=prio, yy=filter nummer)
...TXT Filt_nr       - filter nummer van het spoelende filter
...TXT Resttyd    - wachttijd resttijd  tussen 2 filters
...TXT 
...TXT 
...TXT 
CP_STR local CRC: 2527521148 "04/25/02 11:32:03"
...STR TYPE
...STR 
...STR   BoolArr2:        ARRAY [1..2]  OF BOOL;
...STR   BoolArr4:        ARRAY [1..4]  OF BOOL;
...STR   BoolArr5:        ARRAY [1..5]  OF BOOL;
...STR   BoolArr8:        ARRAY [1..8]  OF BOOL;
...STR   BoolArr9:        ARRAY [1..9]  OF BOOL;
...STR   BoolArr12:       ARRAY [1..12]   OF BOOL;
...STR   BoolArr16:       ARRAY [1..16]   OF BOOL;
...STR   BoolArr36:       ARRAY [1..36]   OF BOOL;  
...STR 
...STR   IntArr2:         ARRAY [1..2]  OF INT;
...STR   IntArr3:         ARRAY [1..3]  OF INT;
...STR   IntArr4:         ARRAY [1..4]  OF INT;
...STR   IntArr5:         ARRAY [1..5]  OF INT;
...STR   IntArr6:         ARRAY [1..6]  OF INT;
...STR   IntArr7:         ARRAY [1..7]  OF INT;
...STR   IntArr8:         ARRAY [1..8]  OF INT;
...STR   IntArr9:         ARRAY [1..9]  OF INT;
...STR   IntArr10:        ARRAY [1..10]   OF INT;
...STR   IntArr15:        ARRAY [1..15]   OF INT;
...STR   IntArr16:        ARRAY [1..16]   OF INT;
...STR   IntArr20:        ARRAY [1..20]   OF INT;
...STR   IntArr30:        ARRAY [1..30]   OF INT;
...STR   IntArr32:        ARRAY [1..32]   OF INT;
...STR   IntArr36:        ARRAY [1..36]   OF INT;
...STR 
...STR   WordArr6:        ARRAY [1..6] OF WORD; 
...STR   WordArr8:        ARRAY [1..8] OF WORD; 
...STR   WordArr16:       ARRAY [1..16] OF WORD; 
...STR   WordArr32:       ARRAY [1..32] OF WORD; 
...STR   WordArr36:       ARRAY [1..36] OF WORD; 
...STR 
...STR   DintArr16:       ARRAY [1..16] OF DINT; 
...STR 
...STR   RealArr16:       ARRAY [1..16] OF REAL;
...STR 
...STR 
...STR   (* ------------------ data structuren ----------------------- *)
...STR 
...STR   KLOK_struc:  (* tijd structuur  klok *)
...STR     STRUCT
...STR       weekdag:       INT;     (* dag van de week 1..7 1=zondag     *)
...STR       maand:         INT;     (* maand 1..12             *)
...STR       dag:           INT;     (* Dag van de maand 1..31        *)
...STR       jaar:      INT;     (* jaartal 00..99            *)
...STR       uur:           INT;     (* uur 0..23               *)
...STR       minuut:        INT;     (* minuut 0..59            *)
...STR       seconde:       INT;     (* seconde 0..59             *)
...STR     END_STRUCT;
...STR 
...STR END_TYPE
...STR 
CP_STR global CRC: 3719627535 "01/10/03 09:24:12"
...STR TYPE
...STR  
...STR  TODDTY:     (*Klok informatie*)
...STR    STRUCT
...STR      DagVanWeek  : BYTE ;
...STR      Maand   : BYTE ;
...STR      Dag     : BYTE ;
...STR      Jaar    : BYTE ;
...STR      Uur     : BYTE ;
...STR      Minuut    : BYTE ;
...STR      Sec     : BYTE ;
...STR    END_STRUCT;
...STR 
...STR 
...STR 
...STR  Mot_reg:      (* Motor uren registratie *)
...STR    STRUCT
...STR      Draaitijd_HD    : INT ;
...STR      Draaitijd_VD    : INT ;
...STR      Draaitijd_Tot   : DINT ;
...STR      Aantal_Starts   : DINT ;
...STR    END_STRUCT;
...STR    
...STR   Registratie_MOT:
...STR    ARRAY [0..3] OF Mot_reg;
...STR  
...STR  DWA_Inst:     (* DWA Instellingen *)
...STR    STRUCT
...STR         TM_tijd    : TIME ;  
...STR         Klep_TM_tijd : TIME ;
...STR         Looptijd     : TIME ;
...STR         Blokeer_tijd   : TIME ;
...STR         Max_freq_tijd  : TIME ;
...STR         Max_toeren_DWA   : REAL ;
...STR         Min_toeren_DWA   : REAL ;
...STR    END_STRUCT;
...STR    
...STR   Instellingen_DWA: 
...STR   ARRAY [0..0] OF DWA_Inst;
...STR   
...STR  RWA1_Inst:      (* RWA1 Instellingen *)
...STR    STRUCT
...STR         TM_tijd    : TIME ;  
...STR         Klep_TM_tijd : TIME ;
...STR         Looptijd     : TIME ;
...STR         Blokeer_tijd   : TIME ;
...STR         Max_freq_tijd  : TIME ;
...STR         Max_toeren_RWA1  : REAL ;
...STR         Min_toeren_RWA1  : REAL ;
...STR    END_STRUCT;
...STR    
...STR   Instellingen_RWA1: 
...STR   ARRAY [0..0] OF RWA1_Inst; 
...STR   
...STR  RWA2_Inst:      (* RWA2 Instellingen *)
...STR    STRUCT
...STR         TM_tijd    : TIME ;  
...STR         Klep_TM_tijd : TIME ;
...STR         Looptijd     : TIME ;
...STR         Blokeer_tijd   : TIME ;
...STR         Max_freq_tijd  : TIME ;
...STR         Max_toeren_RWA2  : REAL ;
...STR         Min_toeren_RWA2  : REAL ;
...STR    END_STRUCT;
...STR    
...STR   Instellingen_RWA2: 
...STR   ARRAY [0..0] OF RWA2_Inst;  
...STR   
...STR   Toevoerschuif_Inst:      (* Toevoerschuif Instellingen *)
...STR    STRUCT
...STR    TM_tijd  : TIME;       
...STR         Looptijd : TIME;
...STR     END_STRUCT;
...STR    
...STR   Inst_Toevoerschuif: 
...STR   ARRAY [0..0] OF Toevoerschuif_Inst;   
...STR 
...STR   Debiet_Inst:     (* Debiet Instellingen *)
...STR    STRUCT
...STR         Minimaal_Deb_DWA : REAL ;
...STR         Minimaal_Deb_RWA : REAL ;
...STR          Hoog_Debiet     : REAL ;
...STR          Min_Deb_tijd_DWA  : TIME ;
...STR          Min_Deb_tijd_RWA  : TIME ;        
...STR          Hoog_Debiet_tijd  : TIME ;
...STR          Lage_scaling    : REAL ;
...STR    Hoge_scaling    : REAL ;
...STR     END_STRUCT;
...STR    
...STR   Instellingen_Debiet: 
...STR   ARRAY [0..0] OF Debiet_Inst;   
...STR 
...STR   Vlotter_Inst:      (* Hoogwater vlotter Instellingen *)
...STR    STRUCT
...STR        Hoogwater_tijd : TIME ;
...STR     END_STRUCT;
...STR    
...STR   Instellingen_Vlotter: 
...STR   ARRAY [0..0] OF Vlotter_Inst;   
...STR 
...STR WOV_Inst:      (* Water op de vloer detectie Instellingen *)
...STR    STRUCT
...STR        WOV_tijd : TIME ;
...STR     END_STRUCT;
...STR    
...STR   Instellingen_WOV: 
...STR   ARRAY [0..0] OF WOV_Inst;  
...STR 
...STR  Inst_Nivo:      (* Instellingen niveau meting *)
...STR    STRUCT
...STR      Start_DWA   : REAL ;
...STR      Start_RWA   : REAL ;
...STR      Max_toeren_RWA  : REAL ;
...STR      Max_toeren_Hyst : REAL ;
...STR    Stop_Pompen   : REAL ;
...STR    Hoogwater_nivo  : REAL ;
...STR    Laagwater_nivo  : REAL ;
...STR    Hoogwater_tijd  : TIME ;
...STR    L_H_water_Hyst  : REAL ;
...STR    Lage_scaling  : REAL ;
...STR    Hoge_scaling  : REAL ;
...STR    Overstort_NAP : REAL ;
...STR    Overstort_Hyst  : REAL ;    
...STR    BOK_AANVOERBUIS : REAL ;
...STR    BBK_AANVOERBUIS : REAL ;
...STR    END_STRUCT;
...STR    
...STR   Inst_Nivometing:
...STR    ARRAY [0..0] OF Inst_Nivo; 
...STR   
...STR  Reg_Debiet:     (* Registratie debietmeting *)
...STR    STRUCT
...STR      Debiet_HD   : INT ;
...STR      Debiet_VD   : INT ;
...STR      Debiet_HM   : DINT ;
...STR      Debiet_VM   : DINT ;
...STR      Debiet_Tot    : DINT ;
...STR    END_STRUCT;
...STR    
...STR   Registratie_Debiet:
...STR    ARRAY [0..1] OF Reg_debiet;  
...STR   
...STR    Reg_Nivo:     (* Registratie Niveaumeting *)
...STR    STRUCT
...STR      Aantal_Overstorten  : INT ;
...STR      Overstort_tijd_min  : DINT ;
...STR    END_STRUCT;
...STR    
...STR   Registratie_Nivo:
...STR    ARRAY [0..0] OF Reg_Nivo;  
...STR   
...STR END_TYPE
...STR 
CP_OPT 25 100 INI:0 IEC NotAs LP
CL_FRM "Vrijgave" ID_15 SHOW POSL 4 FP_IO_INPUT FP_INP_NORMAL FP_LOC_OUTSIDE BOOL TEXT: Vrijgave om te mogen spoelen
CL_FRM "StatSpl" ID_16 SHOW POSL 5 FP_IO_INPUT FP_INP_NORMAL FP_LOC_OUTSIDE BOOL TEXT: Spoelprogramma aan het spoelen
CL_FRM "Wachttyd" ID_22 SHOW POSL 8 FP_IO_INPUT FP_INP_NORMAL FP_LOC_OUTSIDE INT TEXT: Blokkeertijd 
CL_FRM "Resttyd" ID_27 SHOW POSR 8 FP_IO_OUTPUT FP_OUTP_NORMAL FP_LOC_OUTSIDE INT TEXT: Wachttijd resttijd
CL_FRM "Cmd_Spl" ID_38 SHOW POSR 2 FP_IO_OUTPUT FP_OUTP_CARRY_STATE FP_LOC_OUTSIDE BoolArr32 TEXT: Commando spoelen array
CL_FRM "Spoel_nr" ID_42 SHOW POSR 5 FP_IO_OUTPUT FP_OUTP_CARRY_STATE FP_LOC_OUTSIDE INT TEXT: Spoel nummer
CL_FRM "Filt_nr" ID_45 SHOW POSR 6 FP_IO_OUTPUT FP_OUTP_NORMAL FP_LOC_OUTSIDE INT TEXT: Het nummer van het spoelende filter
VS_FFB "TP" ANYPIN_NO FBTK_EFB HEIGHT/WIDTH: 5 5 "03/24/97 14:20:55" NR_FORMP: 5
VS_FRM "IN" SHOW POSL 2 FP_IO_INPUT FP_INP_NORMAL FP_LOC_OUTSIDE BOOL TEXT:
VS_FRM "PT" SHOW POSL 3 FP_IO_INPUT FP_INP_NORMAL FP_LOC_OUTSIDE TIME TEXT:
VS_FRM "Istate" SHOW POSR 1 FP_IO_OUTPUT FP_OUTP_INTERN_STATE FP_LOC_HIDDEN INTSTATE VAL: 5 TEXT:
VS_FRM "Q" SHOW POSR 2 FP_IO_OUTPUT FP_OUTP_CARRY_STATE FP_LOC_OUTSIDE BOOL TEXT:
VS_FRM "ET" SHOW POSR 3 FP_IO_OUTPUT FP_OUTP_CARRY_STATE FP_LOC_OUTSIDE TIME TEXT:
VS_FFB "F_TRIG" ANYPIN_NO FBTK_EFB HEIGHT/WIDTH: 4 5 "03/24/97 14:20:55" NR_FORMP: 3
VS_FRM "CLK" SHOW POSL 2 FP_IO_INPUT FP_INP_NORMAL FP_LOC_OUTSIDE BOOL TEXT:
VS_FRM "Istate" SHOW POSR 1 FP_IO_OUTPUT FP_OUTP_INTERN_STATE FP_LOC_HIDDEN INTSTATE VAL: 1 TEXT:
VS_FRM "Q" SHOW POSR 2 FP_IO_OUTPUT FP_OUTP_NORMAL FP_LOC_OUTSIDE BOOL TEXT:
VS_FFB "TIME_MUL_INT" ANYPIN_NO FBTK_EFB_FUNCT HEIGHT/WIDTH: 5 8 "03/24/97 14:20:55" NR_FORMP: 3
VS_FRM "IN1" HIDE POSL 2 FP_IO_INPUT FP_INP_NORMAL FP_LOC_OUTSIDE TIME TEXT:
VS_FRM "IN2" HIDE POSL 3 FP_IO_INPUT FP_INP_NORMAL FP_LOC_OUTSIDE INT TEXT:
VS_FRM "OUT" HIDE POSR 2 FP_IO_OUTPUT FP_OUTP_NORMAL FP_LOC_OUTSIDE TIME TEXT:
VS_FFB "TIME_TO_REAL" ANYPIN_NO FBTK_EFB_FUNCT HEIGHT/WIDTH: 4 8 "03/24/97 14:20:55" NR_FORMP: 2
VS_FRM "IN" HIDE POSL 2 FP_IO_INPUT FP_INP_NORMAL FP_LOC_OUTSIDE TIME TEXT:
VS_FRM "OUT" HIDE POSR 2 FP_IO_OUTPUT FP_OUTP_NORMAL FP_LOC_OUTSIDE REAL TEXT:
VS_FFB "REAL_TO_INT" ANYPIN_NO FBTK_EFB_FUNCT HEIGHT/WIDTH: 4 8 "03/24/97 14:20:55" NR_FORMP: 2
VS_FRM "IN" HIDE POSL 2 FP_IO_INPUT FP_INP_NORMAL FP_LOC_OUTSIDE REAL TEXT:
VS_FRM "OUT" HIDE POSR 2 FP_IO_OUTPUT FP_OUTP_NORMAL FP_LOC_OUTSIDE INT TEXT:
CP_GVS "Nieuwe_Spoelaanvraag" SECT_CTRL INIT: FALSE 0 EXP: FALSE RET: TRUE READONLY: FALSE MAS: FALSE TEXT:
CP_GVS "Spoelvoorwaarden_en_aanvragen" SECT_CTRL INIT: FALSE 0 EXP: FALSE RET: TRUE READONLY: FALSE MAS: FALSE TEXT:
CP_SEC "Nieuwe_Spoelaanvraag" SECTK_F_SECTION LANG_ST SVB: FALSE ID: 3 EXEC: 1 TEXT: 
CP__ST (* bepalen van een spoelnummer van een filter.*)
CP__ST IF(index_aanvraag<32 OR index_aanvraag=0)THEN
CP__ST  prioriteit := SplAanvr[index_aanvraag];
CP__ST  spoelnummer := (prioriteit * 100) + index_aanvraag;   
CP__ST      (* spoelnummer =xyy waarbij x=prioriteit yy=filter nummer*)
CP__ST  index_aanvraag := index_aanvraag + 1;
CP__ST ELSE
CP__ST  index_aanvraag := 1;
CP__ST END_IF;
CP__ST  
CP__ST (* het plaatsen van een nieuwe spoelaanvraag op de eerste vrije plaats van het array, of wijzigen van het prioriteitsnummer*)
CP__ST IF((spoelnummer/100)<>0)THEN
CP__ST  vulin := 1;
CP__ST  FOR pointer := 1 TO 32 DO
CP__ST    IF((rij[pointer] MOD 100)=(spoelnummer MOD 100))THEN
CP__ST      IF((rij[pointer]<>spoelnummer) AND vulin)THEN  (*wijzigen van het prioriteitsnummer*)
CP__ST        rij[pointer] := spoelnummer;
CP__ST        vulin := 0;
CP__ST        sorteer := 1;
CP__ST      ELSE
CP__ST        vulin := 0;
CP__ST      END_IF;
CP__ST    ELSE
CP__ST      IF(rij[pointer]=0 AND vulin)THEN  (*nieuwe spoelaanvraag op de eerste vrije plaats van het array*)
CP__ST        rij[pointer] := spoelnummer;
CP__ST        vulin := 0;
CP__ST        sorteer := 1;
CP__ST      END_IF;
CP__ST    END_IF;
CP__ST  END_FOR;
CP__ST END_IF;
CP__ST  
CP__ST (*het annuleren/verwijderen van een spoelaanvraag*)
CP__ST IF((spoelnummer/100)=0)THEN
CP__ST  schuifop := 0;
CP__ST  FOR pointer := 1 TO 32 DO
CP__ST    filteraanwezig := (rij[pointer] MOD 100)=(spoelnummer MOD 100);  (*wijzigen/annuleren van het prioriteitsnummer*)
CP__ST    IF(filteraanwezig)THEN
CP__ST      rij[pointer] := 0;
CP__ST      schuifop := 1;
CP__ST      sorteer := 1;
CP__ST    END_IF;
CP__ST    IF(schuifop AND pointer<32)THEN
CP__ST      rij[pointer] := rij[pointer+1];
CP__ST    END_IF;
CP__ST  END_FOR;
CP__ST END_IF;
CP__ST  
CP__ST (*sorteren van de wachtrij*)
CP__ST  pointer_1 := 1;
CP__ST  pointer_2 := 1;
CP__ST  pointer_3 := 1;
CP__ST  pointer_4 := 1;
CP__ST  pointer_5 := 1;
CP__ST  pointer_6 := 1;
CP__ST IF(sorteer)THEN
CP__ST  FOR pointer := 1 TO 32 DO
CP__ST    array_1[pointer] := 0;
CP__ST    array_2[pointer] := 0;
CP__ST    array_3[pointer] := 0;
CP__ST    array_4[pointer] := 0;
CP__ST    array_5[pointer] := 0;
CP__ST    array_6[pointer] := 0;
CP__ST  END_FOR;
CP__ST  sorteer := 0;
CP__ST  FOR pointer := 1 TO 32 DO
CP__ST    IF((rij[pointer]/100)=1)THEN  (* filteren van alle aanvragen met prioriteit 1 *)
CP__ST      array_1[pointer_1] := rij[pointer];
CP__ST      pointer_1 := pointer_1 + 1;
CP__ST    END_IF;
CP__ST    IF((rij[pointer]/100)=2)THEN  (* filteren van alle aanvragen met prioriteit 2 *)
CP__ST      array_2[pointer_2] := rij[pointer];
CP__ST      pointer_2 := pointer_2 + 1;
CP__ST    END_IF;
CP__ST    IF((rij[pointer]/100)=3)THEN  (* filteren van alle aanvragen met prioriteit 3 *)
CP__ST      array_3[pointer_3] := rij[pointer];
CP__ST      pointer_3 := pointer_3 + 1;
CP__ST    END_IF;               
CP__ST    IF((rij[pointer]/100)=4)THEN  (* filteren van alle aanvragen met prioriteit 4 *)
CP__ST      array_4[pointer_4] := rij[pointer];
CP__ST      pointer_4 := pointer_4 + 1;
CP__ST    END_IF;   
CP__ST    IF((rij[pointer]/100)=5)THEN  (* filteren van alle aanvragen met prioriteit 5 *)
CP__ST      array_5[pointer_5] := rij[pointer];
CP__ST      pointer_5 := pointer_5 + 1;
CP__ST    END_IF;               
CP__ST    IF((rij[pointer]/100)=6)THEN  (* filteren van alle aanvragen met prioriteit 6 *)
CP__ST      array_6[pointer_6] := rij[pointer];
CP__ST      pointer_6 := pointer_6 + 1;
CP__ST    END_IF;                                      
CP__ST  END_FOR;
CP__ST  pointer_c := 1;
CP__ST  einde := pointer_1 - 1;
CP__ST  FOR pointer := 1 TO einde DO
CP__ST    Wachtrij[pointer] := array_1[pointer_c];
CP__ST    pointer_c := pointer_c + 1;
CP__ST  END_FOR;
CP__ST  pointer_c := 1;
CP__ST  einde := pointer + pointer_2 - 2;
CP__ST  FOR pointer := pointer TO einde DO
CP__ST    Wachtrij[pointer] := array_2[pointer_c];
CP__ST    pointer_c := pointer_c + 1;
CP__ST  END_FOR;
CP__ST  pointer_c := 1;
CP__ST  einde := pointer + pointer_3 - 2;
CP__ST  FOR pointer := pointer TO einde DO
CP__ST    Wachtrij[pointer] := array_3[pointer_c];
CP__ST    pointer_c := pointer_c + 1;
CP__ST  END_FOR;
CP__ST  pointer_c := 1;
CP__ST  einde := pointer + pointer_4 - 2;
CP__ST  FOR pointer := pointer TO einde DO
CP__ST    Wachtrij[pointer] := array_4[pointer_c];
CP__ST    pointer_c := pointer_c + 1;
CP__ST  END_FOR;
CP__ST  pointer_c := 1;
CP__ST  einde := pointer + pointer_5 - 2;
CP__ST  FOR pointer := pointer TO einde DO
CP__ST    Wachtrij[pointer] := array_5[pointer_c];
CP__ST    pointer_c := pointer_c + 1;
CP__ST  END_FOR;
CP__ST  pointer_c := 1;
CP__ST  einde := pointer + pointer_6 - 2;
CP__ST  FOR pointer := pointer TO einde DO
CP__ST    Wachtrij[pointer] := array_6[pointer_c];
CP__ST    pointer_c := pointer_c + 1;
CP__ST  END_FOR;
CP__ST  FOR pointer := pointer TO 32 DO
CP__ST    Wachtrij[pointer] := 0;
CP__ST  END_FOR;
CP__ST END_IF;
CP_SEC "Spoelvoorwaarden_en_aanvragen" SECTK_F_SECTION LANG_ST SVB: FALSE ID: 4 EXEC: 2 TEXT:
CP__ST VAR
CP__ST  wacht_timer : TP;
CP__ST  trig_wacht : F_TRIG;
CP__ST  eind_spoel_trig  : F_TRIG;
CP__ST END_VAR;
CP__ST  
CP__ST (* wachttijd tussen het spoelen van filters *)
CP__ST blokkeer_req := 0;
CP__ST FOR pointer := 1 TO 32 DO
CP__ST  blokkeer_req := blokkeer_req OR Cmd_Spl[pointer];
CP__ST END_FOR;
CP__ST trig_wacht (CLK := blokkeer_req);
CP__ST wacht_time := TIME_MUL_INT(IN1 := t#1m,
CP__ST                IN2 := Wachttyd);
CP__ST wacht_timer (  IN := trig_wacht.Q,
CP__ST          PT := wacht_time);
CP__ST stat_blokkeer := wacht_timer.Q;
CP__ST IF(stat_blokkeer)THEN
CP__ST  Resttyd := Wachttyd - REAL_TO_INT((TIME_TO_REAL(wacht_timer.ET))/60000.0);  (*resttijd*)
CP__ST ELSE
CP__ST  Resttyd := 0;
CP__ST END_IF;
CP__ST  
CP__ST  
CP__ST IF(Vrijgave=1 AND StatSpl=0)THEN
CP__ST  FOR pointer := 1 TO 32 DO
CP__ST    nummer_filter := Wachtrij[pointer] MOD 100;
CP__ST    spoel_prio := Wachtrij[pointer] / 100;
CP__ST    IF(stat_blokkeer=0 AND Spoel_nr=0 AND nummer_filter>0)THEN
CP__ST      Spoel_nr := (spoel_prio * 100) + nummer_filter;
CP__ST      Filt_nr := nummer_filter;
CP__ST      Cmd_Spl[nummer_filter] := 1;
CP__ST    END_IF;
CP__ST  END_FOR;
CP__ST END_IF;
CP__ST  
CP__ST eind_spoel_trig (CLK := StatSpl);
CP__ST IF(eind_spoel_trig.Q=1)THEN
CP__ST  Spoel_nr := 0;
CP__ST  Filt_nr := 0;
CP__ST  FOR pointer := 1 TO 32 DO
CP__ST    Cmd_Spl[pointer] := 0;
CP__ST  END_FOR;
CP__ST END_IF;
////
CP_APP
CP_PRG "AW_WPR" AREA: 4096 "02/16/07 10