Aplicatii in energetica - scheme monofilare
  • Obiective
  • Organizarea sarcinilor de lucru

    1. Scheme monofilare - elemente introductive

        Sectorul energetic este unul din sectoarele care necesita control si monitorizare la diverse nivele. Vom realiza in continuare o serie de aolicatii SCADA in domeniul energetic.

  • Crearea proiectului: "Scheme monofilare"

        Vom dezvolta in continuare cateva aplicatii din domeniul energetic in cadrul unui proiect numit   Sch_monof  .
        In cadrul acestui proiect vom realiza diverse scheme monofilare carora le vom da functionalitate. Pentru a realiza scheme monofilare avem nevoie de o serie de simboluri cum ar fi simboluri pentru: separatoare, intreruptoare, transformatoare etc.
        In proiectul  Sch_el_start , sunt realizate deja o serie de astfel de simboluri, asa ca vom porni de la acest proiect.
        Dupa ce s-a download-at acest fisier, din Citect Explorer->Restore se incarca acest proiect si i se atribuie numele "Sch_monof".
        Proiectul contine pagina grafica start afisata mai jos.



  • Elementele unei linii monofilare

        Se va crea o noua pagina grafica numita sch_monof_1 , in care vom plasa un separator, un intrerupator si un transformator, realizand schema monofilara de mai jos. Toate simbolurile necesare acestei scheme monofilare au fost create anterior, odata cu pagina grafica start existenta in proiectul initial "Sch_el_start" .



        Dorim sa realizam o aplicatie care sa monitorizeze starea componentelor din schema monofilara de mai sus. Sa presupunem ca avem un sistem de achizitie si control care este conectat la elementele din schema monofilara de sus. Starea fiecarui element este oglindita de tag-urile corespunzatoare adica:
    Tag-uri aferente
    Nume Tip Domeniu Um Comentariu
    s1 DIGITAL - - Stare separator s1
    intr1 DIGITAL - - Stare intrerupator intr1

        Pentru separator s-a utilizat un "Simbol Set" compus din simbolurile "sep_off", "sep_on". Starea separatorului fiind in concordanta cu starea tag-ului s1 .


        Similar, pentru intreruptor s-a utilizat un "Simbol Set" compus din simbolurile "intr_off", "intr_on", starea acestuia fiind in concordanta cu starea tag-ului intr1 .
        Pentru transformator s-a utilizat un "Simbol Set" compus din simbolurile "traf_off", "traf_on". De data aceasta, starea transformatorului este in concordanta cu expresia: s1*intr1 .
        Toate simbolurile utilizate anterior, se gasesc in "Library: global".
        In lipsa sistemului de achizitie si control, nu ne putem baza pe tag-urile amintite anterior. Vom putea simula insa aceste tag-uri, prin utilizarea variabilelor locale. Vom utiliza deci variabilele locale in locul variabilelor Tag. Pe tot parcursul acestei lucrari vom utiliza numai variabile locale pentru a putea realiza aplicatii in lipsa sistemului de achizitie si comanda. Toate aceste variabile vor fi simulate local. Aplicatia anterioara va fi completata cu doua butoane pentru a simula starea variabilelor s1 respectiv intr1 .



        La apasarea butoanelor, acestea trebuie sa schimbe starea variabileor locale asociate astfel butonul S1 trebuie sa fie setat astfel:



        Similar la apasarea butonului "Intr", acesta trebuie sa execute functia: toggle(intr1).
        In acest moment schema este functionala in sensul ca la apasarea butonului S1, separatorul isi schimba starea, la fel la apasarea butonului Intr, intreruptorul intr1 isi schimba starea, iar ral realizarea conditiei intr1=1 si s1=1 transformatorul indica faptul ca este in functiune conform situatiei de mai jos:



    1. Functionarea unei lini monofilare

        Vom introduce in continuare o serie de elemente care sa faca functionala linia monofilara schitata anterior.
        Sa introducem deci noi facilitati si sa adaugam comenzi directe pentru inchiderea respectiv deschidreaea separatorului si intreruptorului, realizand astfel o noua pagina grafica sch_monof_2 . In cazul in care sistemul de achizitie si comanda este prevazut atat cu elemente pentru citirea strilor cat si cu elemente de comanda, putem imbogati functionalitatea schemei precedente cu facilitati de comanda pe langa facilitatile anterioare de monitorizare. Vom da deci o dubla functionalitate celor doua simboluri (s1, intr1) atat pentru afisarea starii cat si pentru preluarea comenzii de inchidere respectiv deschidere.
        Se va atribui Set Simbolului s1 si atributii de tip "Input" astfel:



        Cu alte cuvinte, se inglobeaza functionalitatea butonul S1 in "Set Simbolul" S1.
        Se procedeaza identic cu "Set Simbolul" Intr1.
        In noua pagina grafica sch_monof_2 se observa ce cele doua simboluri (s1, intr1) devin senzitive, putandu-se lansa comenzi de inchidere respectiv deschidere.



        Am eliminat cele doua butoane ce simuleaza starea celor doua elemente, comanda lor, facandu-se direct de la acestea.
        Cand cele doua elemente sunt inchise, simbolul transformatorului se modifica indicand functionarea acestuia. In aplicatiile reale exista o ordine in care se actioneaza cele doua elemente, in sensul ca separatorul nu poate fi niciodata actionat in sarcina. Acesata schema nu asigura aceasta constrangere, nefiind conditionalitate intre cele doua comenzi.

  • Conditionarea separatorului de intreruptor

        In urmatoarea pagina grafica sch_monof_3 se va realiza conditionalitatea intre cele doua comenzi. Tinand cont ca separatorul nu poate fi niciodata actionat in sarcina, actionarea acestuia nu mai reprezinta o simpla operatiune de schimbare a starii acestuia ci trebuie conditionata de starea intreruptorului astfel:

    IF (intr1=0)
    THEN
    toggle(s1)
    END
    




        S-a setat deci proprietatea "Input" a "Set Simbolului" s1.

  • Confirmarea executiei comenzilor

        In sistemele energetice, inchiderea respectiv deschiderea unui separator sau a unui intreruptor nu este instantanee. Vom tine cont la urmatoarea pagina grafica sch_monof_4 de acest fenomen. Dupa comanda actionarii unui element se scurge un interval de timp pana la efectuarea completa a comenzii. In aplicatia curenta, dupa actionarea uniui element vom avea nevoie de un semnal care sa confirme efectuarea comenzii.
        Vom introduce pe langa tag-urile existente, noi tag-uri pentru a implementa raspunsul efectuarii comenzii.

    Tag-uri aferente
    Nume Tip Domeniu Um Comentariu
    s1 DIGITAL - - Stare separator s1
    intr1 DIGITAL - - Stare intrerupator intr1
    c_p_s1 DIGITAL - - Comanda pornire separator 1
    c_o_s1 DIGITAL - - Comanda oprire separator 1
    c_p_i1 DIGITAL - - Comanda pornire intreruptor 1
    c_o_i1 DIGITAL - - Comanda oprire intrerupator 1


        Dupa actionarea separatorului s1 de exemplu, nu se schimba starea acestuia decat dupa aparitia confirmarii. Va trebui sa introducem un simbol care sa indice comanda data separatorului pentru a nu deruta utilizatorul, acesta avand impresia ca nu se intampla nimic in urma actionarii separatorului. Dupa confirmarea actionarii se stinge simbolul aferent comenzii si se schimba starea separatoruliui. Aceste consideratii sunt ilustrate in pagina grafica de mai jos.



        In cazul in care se incearca actionarea separatorului in sarcina, nici macar comanda de actionare a separatorului nu este lansata. In acest caz, utilizatorul trebuie atentionat cu un mesaj ca nu poate actiona separatorul. Mesajele vor fi trimise cu instructiunea:

        Prompt("Mesaj");

        Confirmarile de realizare ale comenzilor sunt simulate de butoanele din partea dreapta a paginii grafice.
        Butonul "Separator complet inchis" are setata proprietatea "Imput" cu urmatoarea comanda:

    c_p_s1=0
    s1=1
    

        Butonul "Separator complet deschis" are setata proprietatea "Imput" cu urmatoarea comanda:

    c_o_s1=0
    s1=0
    

        Butonul "Confirmare inchidere i1" are setata proprietatea "Imput" cu urmatoarea comanda:

    c_p_i1=0
    intr1=1
    

        Butonul "Confirmare deschidere i1" are setata proprietatea "Imput" cu urmatoarea comanda:

    c_o_i1=0
    intr1=0
    Prompt(" ");
    

        Simbolul "s1" are setata proprietatea "Imput" cu urmatoarea comanda:

    IF (intr1=0)
    THEN
    Prompt(" ");
     IF s1=0 THEN
       c_p_s1=1
       c_o_s1=0
      ELSE
       c_o_s1=1
       c_p_s1=0
     END
    ELSE
    Prompt("Nu se poate actiona separatorul!");
    END
    

        Dupa cum se observa incercarea de a actiona separatorul in sarcina are ca singur efect afisarea mesajului: "Nu se poate actiona separatorul!"
        Simbolul "intr1" are setata proprietatea "Imput" cu urmatoarea comanda:

    IF intr1=0 THEN
       c_o_i1=0
       c_p_i1=1
      ELSE
       c_p_i1=0
       c_o_i1=1 
     END
    

        Cele patru simboluri de tip LED sunt simple "Set Simboluri" in cocordanta cu tag-urile: c_o_s1, c_p_s1, c_o_i1, c_p_i1
        In dreptul acestor simboluri apar si textele corespunzatoare, texte care sunt vizibile atat timp cat tag-ul corespunzator este activ. Acest comportament s-a realizat prin setarea proprietatii "Visibility"-> Hidden when



  • Simularea executiei comenzilor

        Inchiderea respectiv deschiderea separatorului, ar putea fi simulata printr-o marime analogica, avand valori intre 0 si 100%. Pe schema aceasta valoare ar putea fi simulata prin utilizarea unui control de tip "Slider" care ar fi in legatura cu un tag de tip analogic. Vom introduce un nou tag, atfel in acest moment avem urmatoarele tag-uri:

    Tag-uri aferente
    Nume Tip Domeniu Um Comentariu
    s1 DIGITAL - - Stare separator s1
    intr1 DIGITAL - - Stare intrerupator intr1
    c_p_s1 DIGITAL - - Comanda pornire separator 1
    c_o_s1 DIGITAL - - Comanda oprire separator 1
    c_p_i1 DIGITAL - - Comanda pornire intreruptor 1
    c_o_i1 DIGITAL - - Comanda oprire intrerupator 1
    poz_s1 INT 100 % Pozitie separator 1


        Vom realiza deci urmatoarea pagina grafica sch_monof_5 in care simularea inchiderii respectiv deschiderii separatorului se va realiza manual de la un "Slider"



        Simularea pozitiei separatorului se face utilizand un obiect "Symbol" de tipul Xp_slider -right normal care poate fi localizat in Library->XP_Sliders.
        Setam proprietatea Slider->Vertical->Tag=poz_s1 si Offset at maximum = 150 pixeli. Setand aceasta proprietate in acest mod, vom putea actiona acest simbul si sa-l deplasam pe verticala 150 de pixeli. Miscarea acestui obiect de la 0 la 150 pixeli va cauza modificarea tag-ului asociat poz_s1 de la 0 la val maxima definita adica 100.
        Afisarea valorii poz_s1 sub forma numerica se face utilizand un obiest de tip "Number"
        Reprezentarea sub forma unei bare vericale se face utilizand un obiect "Rectangle" in care s-a setat proprietatea: Fill->Level->Level expresion=poz_s1 iar proprietatea Apparence s-a setat cu Gradient fill.



        Dupa plasarea "Slider-ului", ar trebui sa urmarim in permanenta daca poz_s1 este egala cu 100 sau cu 0 pentru a confirma inchiderea respectiv deschiderea completa a separatorului. Daca ne analizam "Page->Properties",



    observam ca "Page scan time" se face la fiecare 250 ms deci am putea plasa pe ecran o functie care s-ar lansa de 4 ori pe secunda.
        Vom plasa deci pe pagina grafica functia ecran_1( ) , si vom edita in "Cicode Editor" urmatoarea functie:

    FUNCTION ecran_1()
    
    	IF (poz_s1=100) THEN
    		c_p_s1=0
    		s1=1
    	END
    	IF (poz_s1=0) THEN
    		c_o_s1=0
    		s1=0
    	END
    
    END
    


        Urmatoarea pagina grafica sch_monof_6 simularea inchiderii respectiv deschiderii separatorului se va realiza automat fiind afisata pe controlul de tip "Slider"
        Simularea automata se realizeaza prin rescrierea functiei ecran_1( ) astfel incat pozitia sa se incrementeze dupa fiecare interval de scanare. Noua functie ecran_2( ) are forma:

    FUNCTION ecran_2()
    
    	IF (c_p_s1=1) AND (poz_s1<100) THEN
    		poz_s1=poz_s1+7
    		IF (poz_s1>100) THEN 
    		   poz_s1=100
    		END   
    		
    	END	
    	IF (c_o_s1=1) AND (poz_s1>0) THEN
    		poz_s1=poz_s1-7
    		IF (poz_s1<0) THEN 
    		   poz_s1=0
    		END   
    
    		
    	END		 
    
    
    	IF (poz_s1=100) THEN
    		c_p_s1=0
    		s1=1
    	END
    	IF (poz_s1=0) THEN
    		c_o_s1=0
    		s1=0
    	END
    
    END
    


        Urmatoarea pagina grafica sch_monof_13 o reprezinta o schema monofilara pentru alimentarea redondanta a unei linii de 220v de la doua linii diferite de 6kv. Aplicatia SCADA trebuie sa permita conectarea uneia dintre linii si sa nu permita conectarea simultana a celor doua linii. Manevrele de comutare se pot face manual sau automat de la cele doua butoane. In cazul conectatii automate, terbuie sa existe o temporizare intre comutarea separatoarelor si comutarea intreruptoarelor.


        Comutarea manuala nu permite conectarea simultana a celor doua linii gratie procedurilor atasate celor doua intreruptoare descrise mai jos:
        Pentru intreruptorul1

    IF s2*intr2 THEN
    	intr1=0
    ELSE
    	IF intr1=1 THEN
      		intr1=0
    	ELSE
    		intr1=1
    	END
    END
    
    
    

        Pentru intreruptorul2
    
    IF s1*intr1 THEN
    	intr2=0
    ELSE
     	IF intr2=1 THEN
     		intr2=0
     	ELSE
    		intr2=1
    	END
    END
    

        Comutarea automata intre linii se realizeaza prin functia ecran_13( ) comutarea fiind instantanee iar comutarea cu temporizare se face cu functia ecran_14( )

    FUNCTION ecran_13()
    	IF b1=1 THEN
    		b2=0
    		intr2=0
    		s2=0
    		s1=1
    		intr1=1
    		b1=0
    	END	
    	IF b2=1 THEN
    		b1=0
    		intr1=0
    		s1=0
    		s2=1
    		intr2=1	
    		b2=0
    	END	
    END
    FUNCTION ecran_14()
    	IF b1=1 THEN
    		b2=0
    		intr2=0
    		s1=1
    		i=i+1
    		IF i>6 THEN
    			s2=0
    			intr1=1
    			b1=0
    			i=0
    		END		
    	END	
    	IF b2=1 THEN
    		b1=0
    		intr1=0
    		s2=1
    		i=i+1
    		IF i>6 THEN
    			s1=0
    			intr2=1	
    			b2=0
    			i=0
    		END	
    	END	
    END
    
    


    3. Managementul liniilor monofilare

        In multe cazuri in cadrul schemelor monofilare se intalnesc mai multe elemente de acelasi tip. In acest caz se recomanda definirea tag-urilor de tip Array si utilizarea instructiunilor repetitive.
        Vom realiza in continuare diverse scheme monofilare in care avem mai multe linii de alimentare dotate fiecare cu transformator, intreruptor, separator etc.
        Pentru inceput, sa luam o schema monofilara cu 10 linii separate de alimentare.
        Sa realizam o aplicatie SCADA sch_monof_7 care sa comande inchiderea respectiv deschiderea elementelor de comutatie, intr-o anumita ordine.



        Pentru inchiderea respectiv deschiderea elementelor de comutatie, vom introduce doua tag-uri de tip Array:

    Tag-uri aferente
    Nume Tip Domeniu Um Array Size Comentariu
    sep DIGITAL - - 11 Separatoarele sep[1]-sep[10]
    intr DIGITAL - - 11 Intreruptoarele intr[1]-intr[10]


        Pe evenimentele click ale butoanelor "ON" respectiv "OFF" sunt afectate doua variabile tag locale:

    Tag-uri aferente
    Nume Tip Domeniu Um Comentariu
    cmd_on DIGITAL - - Comanda inchiderea elementelor de comutatie
    cmd_off DIGITAL - - Comanda deschiderea elementelor de comutatie
    i INT - - Index


        Pe evenimentul click al butonului "ON" vom pune: toggle(cmd_on); i=0;
        Pe evenimentul click al butonului "OFF" vom pune: toggle(cmd_off); i=0;
        Vom plasa functia ecran() pe pagina principala, functie lansata la fiecare scanare a ecranului.
        Functie de variabilele de sus (cmd_on,com_off), la fiecare scanare a paginii, elementele de comutatie se vor inchide secvnential, respectiv se vor deschide secvential. Desi este o operatie repetitiva, aceasta nu s-a mai implementat folosind instructiunea repetitiva for, repetitivitatea s-a realizat prin intermediul scanarii implicite a paginii la intervalul stabilit anterior.

  • Ordinea de comutare sau deconectare a liniilor

        Sa presupunem acum ca dorim activarea elementelor de comutatie dintr-o schema monofilara, intr-o anumita ordine. Pentru acest lucru vom devini un vector de prioritati de genul:

        INT Prior[11]=0,1,5,7,4,2,9,3,6,8,10;

        Dupa cum se vede, s-au definit 11 elemente nu 10, pe motiv ca numerotarea LED-urilor incepe de la 1 nu de la 0.
        Conform modului de initializare al valorilor elementelor vectoruljui "Prior", ordinea de activare a elementele de comutatie este:1,5,7,4,2,9,3,6,8,10
        Vom rescrie functia ecran_4( ) astfel:

    
    INT Prior[11]=0,1,5,7,4,2,9,3,6,8,10;
    
    FUNCTION ecran_4()
      IF (cmd_on=1) THEN
        cmd_off=0;
    	i=i+1;
    	IF (i=11) THEN
    	   cmd_on=0;
    	   i=0;
    	END
        sep[Prior[i]]=1;
    	intr[Prior[i]]=1;
      END
      
      IF (cmd_off=1) THEN
        cmd_on=0;
    	i=i+1;
    	IF (i=11) THEN
    	   cmd_off=0;
    	   i=0;
    	END
    	sep[Prior[11-i]]=0;
    	intr[Prior[11-i]]=0;
      END
    END
    
    

        Putem lasa utilizatorul sa introduca valori elementelor vectorului de prioritati si realizam astfel aplicatie SCADA sch_monof_8 in care inchiderea respectiv deschiderea elementelor de comutatie, se face in ordinea stabilita de utilizator.


        Pentru aceasta campurile in care se afiseaza prioritatea primesc si facilitati de "Input" astfel de exemplu pentru campu 2 avem:



  • Protectia liniilor la depasirea parametrilor nominali

        Vom simula in continuare protectia maximala de curent in aplicatia sch_monof_10 . Fiecare linie de alimentare, are atribuita o valoare maxima a curentului admis. Pentru a memora valorile maximale de curent pentru fiecare linie, vom defini un nou vector tag de tip int Imax de dimensiune 11 (pentru fiecare linie cate o valoare).
        Vom simula consumul efectiv pentru fiecare linie prin cate un simbol slider carora le atasam vectorul tag de tip int i_ef de dimensiune 11

    Tag-uri aferente
    Nume Tip Domeniu Um Array Size Comentariu
    Imax INT - - 11 Curent maxim pe liniile L1-L10
    i_ef INT - - 11 Curent efectiv pe liniile L1-L10




        Daca valoarea efectiva a curentului depaseste valoarea maxima prescrisa, trebuie deconectata linia, iar dupa ce valoarea efectiva a curentului scade sub valoarea maximala, linia se conecteaza automat. Aceste functii vor fi realizate de functia ecran( ) functie care se lanseaza la fiecare scanare a ecranului.

    FUNCTION ecran()
    Imax[0]=0;
    Imax[1]=500;
    Imax[2]=785;
    Imax[3]=200;
    Imax[4]=777;
    Imax[5]=100;
    Imax[6]=800;
    Imax[7]=50;
    Imax[8]=500;
    Imax[9]=250;
    Imax[10]=450;
    INT i;
    FOR i=1 TO 11 DO 
    	IF i_ef[i]>Imax[i] THEN
    		sep[i]=0;
    		intr[i]=0;
    	ELSE
    		sep[i]=1;
    		intr[i]=1;
    	END
    END
    END
    
    


        Conectarea liniei care a depasit consumul, nu ar trebui sa se faca automat, ar trebui sa se faca manual, numai dupa ce a fost redus consumul sub limita maxima. Ar trebui insa sesizata anclansarea protectiei, sesizare care va fi facuta prin intermediul unui indicator de tip LED. De asemenea LED-ul ar trebui sa se invalideze in cazul ca nu mai exista conditii ca linia sa intre din nou in protectie.
        Pentru controlul LED-urilor avem nevoie de un nou vector tag de tip int ld_p de dimensiune 11

    Tag-uri aferente
    Nume Tip Domeniu Um Array Size Comentariu
    ld_p DIGITAL - - 11 LED semnalizare protectie maximala de curent pe liniile L1-L10

        In urmatoarea aplicatie: sch_monof_11 sunt puse in practica precizarile de mai sus



        Pentru a implementa noul algoritm de functionare, vom rescrie functia ecran astfel:

    FUNCTION ecran_11()
    Imax[0]=0;
    Imax[1]=500;
    Imax[2]=785;
    Imax[3]=200;
    Imax[4]=777;
    Imax[5]=900;
    Imax[6]=800;
    Imax[7]=500;
    Imax[8]=500;
    Imax[9]=750;
    Imax[10]=450;
    
    INT i;
    i_tot=0;
    FOR i=1 TO 11 DO
     
    	IF i_ef[i]>Imax[i] THEN
    		sep[i]=0;
    		intr[i]=0;
    		ld_p[i]=1
    	ELSE
    		ld_p[i]=0
    		//sep[i]=1;
    		//intr[i]=1;
    	END
    END
    END
    
    


        Pentru a monitoriza consumul total de curent vom plasa un obiect de tip X-Meter cat si un obiect de tip Trending.
        Va trebui sa introduce un nou tag pentru a pastra consumul total efectiv si obtinem astfel noua aplicatie: sch_monof_12 .

    Tag-uri aferente
    Nume Tip Domeniu Um Comentariu
    i_tot INT 10000 Amps Curent efectiv total




        Functia ecran va fi cea care va prelua calculul curentului total: Trebuie tinut cont de faptul ca insumarea curentilor se face numai pentru liniile conectate.

    
    FUNCTION ecran_12()
    Imax[0]=0;
    Imax[1]=500;
    Imax[2]=785;
    Imax[3]=200;
    Imax[4]=777;
    Imax[5]=900;
    Imax[6]=800;
    Imax[7]=500;
    Imax[8]=500;
    Imax[9]=750;
    Imax[10]=450;
    
    INT i;
    i_tot=0;
    FOR i=1 TO 11 DO
        // se insumeaza numai liniile conectate
    	IF sep[i]*intr[i]=1 THEN
    		i_tot=i_tot+i_ef[i];
    	END	
     
    IF i_ef[i]>Imax[i] THEN
    	sep[i]=0;
    	intr[i]=0;
    	ld_p[i]=0
    ELSE
    	ld_p[i]=0
    END
    END
    END
    
    
    


        Vom realiza in continuare o schema de statie cu bare duble pentru a alimenta 10 linii.



        Functia ecran_15 Sesizeaza care linie este activa in functie de transformatorul conectat sau de pozitia separatorului de sarcina.

    FUNCTION ecran_15()
    	INT i;
    	IF (sep[15] AND intr[11] AND sep[11]) OR (sep[16] AND intr[12] AND sep[13])  THEN
    		l1=1
    	ELSE
    		l1=0
    	END
    	
    	IF (sep[15] AND intr[11] AND sep[12]) OR (sep[16] AND intr[12] AND sep[14])  THEN
    		l2=1
    	ELSE
    		l2=0
    	END
    	
    	IF sep[37] AND sep[38] AND l1 AND (intr[11] OR intr[12]) THEN
    		l2=1
    	END
    	
    	
    	IF sep[37] AND sep[38] AND l2 AND (intr[11] OR intr[12]) THEN
    		l1=1
    	END
    	
    
    	FOR i=1 TO 10 DO
    		sep[i]=1;
    		intr[i]=1;
    	END
    	IF l1 THEN
    
    		// Actionare separatoare pare
    
    		FOR i=18 TO 36 DO
    			sep[i]=0;
    			i=i+1
    		END
    
    		// Actionare separatoare impare
    
    		FOR i=17 TO 35 DO
    			sep[i]=1;
    			i=i+1
    		END
    	ELSE
    
    		// Actionare separatoare pare
    
    		FOR i=18 TO 36 DO
    			sep[i]=1;
    			i=i+1
    		END
    
    		// Actionare separatoare impare
    
    		FOR i=17 TO 35 DO
    			sep[i]=0;
    			i=i+1
    		END
    	END
    END
    

        Intregul proiect poate fi descarcat aici : Download - "Sch_monof"

    Test de autoevaluare


    Rezumat


    Aplicatii in energetica - linii monofilare

        Pentru a realiza scheme monofilare avem nevoie de o serie de simboluri cum ar fi simboluri pentru: separatoare, intreruptoare, transformatoare etc.
        O schema monofilara contine o serie de elemente de comutatie cum ar fi separatoare, intreruptoare, etc. Exista o ordine in care se actioneaza cele doua elemente, in sensul ca separatorul nu poate fi niciodata actionat in sarcina.
        In sistemele energetice, inchiderea respectiv deschiderea unui separator sau a unui intreruptor nu este instantanee. In aplicatiile SCADA se tine cont de acest fenomen. Dupa comanda actionarii unui element se scurge un interval de timp pana la efectuarea completa a comenzii. Dupa actionarea uniui element e nevoie de un semnal care sa confirme efectuarea comenzii.
        Pentru testarea aplicatiilor SCADA fara conectare la sistemul real de achizitie si comanda, inchiderea respectiv deschiderea elementelor de comutatie, ar putea fi simulata printr-o marime analogica, avand valori intre 0 si 100%. Pe schema aceasta valoare ar putea fi simulata prin utilizarea unui control de tip "Slider" care ar fi in legatura cu un tag de tip analogic.
        Starea fiecarui element plasat pe HMI este controlata de tag-ul corespunzator.
        In multe cazuri in cadrul schemelor monofilare se intalnesc mai multe elemente de acelasi tip. In acest caz se recomanda definirea tag-urilor de tip Array si utilizarea instructiunilor repetitive.
         In cazul sistemelor de alimentare cu energie, avand mai multe linii, pentru a evita socurile de sarcina, conectarea respectiv deconectarea acestora se face secvential intr-o ordine prestabilita, in functie de importanta utilizatoruli. Pentru a memora prioritatea cobnsumatorilor, se recomanta utilizarea unui vector de prioritati.
        Tag-urile sunt actualizate de sistemul de achizitie si comanda. Acesta este prevazut atat cu elemente pentru citirea strilor cat si cu elemente de comanda.

  • Rezultate asteptate
  • Termeni esentiali


  • Recomandari bibliografice

  • Link-uri utile

    Test de evaluare