+ All Categories
Home > Documents > 1 Introducere În LabVIEW

1 Introducere În LabVIEW

Date post: 10-Sep-2015
Category:
Upload: daniela
View: 110 times
Download: 3 times
Share this document with a friend
Description:
Labview
82
Cuprins 1 INTRODUCERE ÎN LABVIEW.......................................3 1.1 Programarea fluxului de date...........................................3 1.2 Programarea grafică....................................................3 1.3 Beneficii..............................................................4 2 INTRODUCERE ÎN CONTROL ȘI SIMULARE..........................5 3 INTRODUCERE ÎN CONTROL ȘI SIMULARE ÎN LABVIEW...............6 3.1 LabVIEW Control Design și Simulation Module............................6 3.1.1 Simularea............................................................7 3.1.2 Control Design.......................................................8 3.2 LabView PID și Fuzzy Logic Toolkit.....................................8 3.2.1 Controlul PID........................................................9 3.2.2 Fuzzy Logic..........................................................9 3.3 LabVIEW System Identification Toolkit.................................10 4 SIMULAREA.................................................. 11 4.1 Simularea în LabVIEW..................................................11 4.2 Simulation Subsystem (Subsistem de Simulare)..........................16 4.3 Continuous Linear Systems (Sisteme liniare continue)..................18 5 CONTROLUL PID............................................... 38 1
Transcript

Cuprins1 Introducere n LabVIEW31.1Programarea fluxului de date31.2Programarea grafic31.3Beneficii42Introducere n Control i Simulare53Introducere n Control i Simulare n LabView63.1LabVIEW Control Design i Simulation Module63.1.1 Simularea73.1.2 Control Design83.2LabView PID i Fuzzy Logic Toolkit83.2.1Controlul PID93.2.2Fuzzy Logic93.3LabVIEW System Identification Toolkit104Simularea114.1Simularea n LabVIEW114.2Simulation Subsystem (Subsistem de Simulare)164.3Continuous Linear Systems (Sisteme liniare continue)185 Controlul PID385.1Controlul PID n LabVIEW395.2Auto-tuning406Control Design416.1 Control Design n LabVIEW417Sistemul de identificare427.1Sistemul de identificare n LabVIEW428Fuzzy Logic438.1Fuzzy Logic n LabVIEW439LabView MathScript449.1Ajutor459.2Exemple459.3Comenzi folositoare489.4Plotting4810 Discretizarea4910.1 Filtrul Low-pass4910.2 PID Controller5210.2.1 Controllerul PI ca i un model State-Space5710.3 Modelul de proces59

1 Introducere n LabVIEWLabVIEW(prescurtarea pentru Laboratory Virtual Instrumentation Engineering Workbench) este o platform i un mediu de dezvoltare pentru un limbaj de programare vizual de la National Instruments. Limbajul grafic este numit G. Iniial a fost lansat pentru Apple Macintoch n 1986, LabView este utilizat frecvent pentru achiziia de date, instrument de control, i pe o varietate de platforme industriale de automatizare inclusiv Microsoft Windows, diferite versiuni de Linux si Mac OS X. Vizitai National Instruments la adresa de link www.ni.com.Fiierele au extensia .vi, care este o abreviere pentru Vitual Instument. LabView ofer o mulime de suplimente i unelte suplimentare.1.1 Programarea fluxului de dateLimbajul de programare folosit n LabView, de asemenea menionat i ca G, este i un limbaj de programare al fluxului de date. Execuia este determinat de structura unei diagrame grafice de tip bloc(codul surs LV) pe care programatorul conecteaz diferite funcii-noduri prin trasarea unor fire. Aceste fire propag variabile i orice nod poate executa de ndata ce devin disponibile toate datele de intrare. Din moment ce ar putea fi cazul de mai multe noduri simultan, G este un mod inert capabil de execuie paralel.Multi-procesarea i multi-filetarea hardware este expandat automat de ctre arhitectul programului, pe care, peste nodurile OS de execuie ale firelor multiple ale multiplexurilor.1.2 Programarea graficLabView leag crearea de utilizatori de interfee(numite i panouri principale) n ciclul de dezvoltare. Programele/ subrutinele LabView sunt numite instrumente virtuale (VIs). Fiecare VI are trei componente: o diagram bloc, un panou principal i un panou conector. Ultimul este folosit pentru a reprezenta VI-ul n diagramele bloc de alt parte, numite Vis. Controalele i indicatorii de pe panoul principal permit unui operatorului introducerea sau extragerea de date dintr-un instrument virtual care ruleaz. Cu toate acestea, panoul principal poate, de asemenea, servi i ca interfa de programare. Astfel, un instrument virtual poate s fie rulat ca i un program, cu panoul principal servind ca interfa de utilizator, sau atunci cnd sunt puse ca un nod pe schema bloc a diagramei, panoul principal definete intrrile i ieirile pentru nodul dat, prin panoul conector. Acest lucru presupune c fiecare VI poate fi testat uor nainte de a fi ncorporat ntr-un program mai mare.De asemenea, abordarea grafic permite non-programatorilor crearea de programe simple prin trasarea i punerea unor reprezentri virtuale de echipamente de laborator cu care acetia deja sunt familiarizai. Mediul de programare LabView, cu documentaia i exemplele incluse, uureaz crearea micilor aplicaii. Acesta este un beneficiu pe de-o parte, dar de asemenea exist un pericol de subestimare a expertizei necesare pentru o bun calitate a programrii G. Pentru algoritmi complexi sau coduri de scara larg, este important ca programatorul s dispun de o cunoatere aprofundat a sintaxei speciale LabView i topologiei de managementului de memorie. Cel mai avansat sistem de dezvoltare LabView ofer posibilitatea de a construi aplicaii stand-alone. Chiar mai mult, este posibil crearea de aplicaii distribuite, care comunica printr-un sistem client/server i sunt prin urmare, mai uor de implementat datorit naturii paralel inerte a codului G.1.3 Beneficii Un beneficiu al LabView fa de alte medii de dezvoltare este suportul exttins pentru accesarea instrumentelor hardware. Driverele i layerele abstracte pentru diferite tipuri de instrumente sunt incluse sau sunt disponibile pentru a fi incluse. Acestea se prezint ca noduri grafice. Layerele abstracte ofer interfee software standard pentru a comunica cu dispozitivele hardware. Driverul prevzut cu interfa salveaz timpul de dezvoltare al programului. Pasul de vnzare al National Instruments este, prin urmare, c pn ce i oamenii cu experien limitat de codificare s poat scrie programe i s poat implementa soluii de testare ntr-un interval de timp redus n comparaie cu mai multe sisteme convenionale sau concurente. O nou topologie driver hardware (DAQmxBase), care const n special din componentele codate G cu doar cteva apeluri nregistrate ctre NI Mesurement Hardware DDK (Driver Develompment Kit) funcii, ofer platforma de acces independent hardware ctre numeroase achiziii de date i dispozitive de instrumentaie. Driverul DAQmxBase este disponibil pentru LabView pe Windows, Mac OS X i platformele Linux.

2 Introducere n Control i SimulareControl Design este un proces care implic dezvoltarea de modele matematice care descriu un sistem fizic, analizeaz modelele pentru a nva despre caracteriticile lor dinamice i crearea unui controler pentru a reliza anumite caracteristici dinamice.Simularea este un proces care implic utilizrea software pentru a recrea si pentru a analiza comportamentul sistemelor dinamice. Putei utiliza procesul de simulare pentru produsul cu cel mai mic pre de dezvoltare accelernd dezvoltarea produsului. De asemenea, putei utiliza procesul de simulare pentru a oferi o perspectiv asupra comportamentului sistemelor dinamice care nu se pot reproduce convenabil n laborator. Mai jos, vom putea observa un sistem bucl-nchis de control:

3 Introducere n Control i Simulare n LabViewLabView are diferite module adiionale i ToolKituri pentru Control i Simulare, exemple, LabVIEW Control Design and Simulation Module, LabVIEW PID and Fuzzy Logic Toolkit, LabVIEW System Identification Toolkit i LabVIEW Simulation Interface Toolkit. LabVIEW MathScript este folositor de asemenea petru Control i Simulare.

LabVIEW Control Design and Simulation Module LabVIEW PID and Fuzzy Logic Toolkit LabVIEW System Identification Toolkit LabVIEW Simulation Interface Toolkit

Acest tutorial se va concentra pe aspectele principale din aceste module si ToolKituri.Toate Vis-urile relatate ctre aceste module i toolkiturile sunt plasate n toolkiturile de Control Design i Simulare:

3.1 LabVIEW Control Design i Simulation Module

Cu LabVIEW Control Design i Simulation Module putei contrui instalaii i modele de control utiliznd funciile de transfer, state-space, sau zero-pole-gain. Analiznd performana sistemului cu unelte precum step response, zero-pole maps, i Bode plots. Simulare liniar, neliniar i siteme discrete cu o opiune mare de rezolvri. Cu NI LabVIEW Control Design i Simulation Module putei analiza comportamentul modelului bucl-deschis, designul controlerului bucl-nchis, putei simula sisteme online si offline i desfura implementri fizice.

3.1.1 Simularea

Paleta de simulare in LabVIEW:

Principalele caracteristici n paleta de simulare sunt:

Control and Simulation Loop trebuie s plasai toate funciile de simulare cu o bucl de Contrl i Simulare ntr-un subsistem de simulare. Continuous Linear Systems Functions utilizai funciile de sisteme lineare continue pentru a reprezenta sisteme lineare continue de ecuaii difereniale cu privire la schema de simulare. Signal Arithmetic Functions utilizi fuciile aritmetice de semnal pentru a efectua operaii aritmetice pe semnale ntr-un sistem de simulare.

3.1.2 Control Design

Paleta de Control Design in LabVIEW:

3.2 LabView PID i Fuzzy Logic Toolkit

NI LabVIEW PID i Fuzzy Logic Toolkit adaug algoritmi de control la LabVIEW. Prin combinarea PID i funciile de control logice Fuzzy n acest set de instrumente cu funcii logice i matematice n softul LabVIEW, putei dezvolta rapid programe de control automat. Putei integra aceste instrumente de control cu puterea achiziiilor de date.

3.2.1 Controlul PID

Paleta PID in LabView:

3.2.2 Fuzzy Logic

Paleta Fuzzy Logic n LabVIEW:

3.3 LabVIEW System Identification Toolkit

LabVIEW System Identification Toolkit combin instrumentele de achiziii de date cu algoritmi de sistem de identificare pentru instalaia modelat. Putei s folosii LabVIEW System Identification Toolkit pentru a gsi modele empirice din adevratainstalaie infortaie stimul-impuls.Paleta System Identification n LabVIEW:

4 Simularea

Simularea este un proces care implic utilizrea software pentru a recrea si pentru a analiza comportamentul sistemelor dinamice. Putei utiliza procesul de simulare pentru produsul cu cel mai mic pre de dezvoltare accelernd dezvoltarea produsului. De asemenea, putei utiliza procesul de simulare pentru a oferi o perspectiv asupra comportamentului sistemelor dinamice care nu se pot reproduce convenabil n laborator. De exemplu, simulnd un motor cu reacie economisete timp, munc i bani n comparaie cu construirea, testarea si retestarea unui motor de avion real. Putei folosi LabVIEW Control Design and Simulation Module pentru a simula un sistem dinamic sau o component a unui sistem dinamic. De exemplu, putei simula numai instalaia n timp ce folosii partea hardware pentru controller i senzori (Hardware-in-the-loop Simulation).Un model de sistem dinamic este o diferenial sau o ecuaie diferen care descrie comportamentul dinamic al sistemului.

4.1 Simularea n LabVIEW

Utiliznd Simulation Vis i funciile pentru a crea aplicaii de simulare n LabVIEW. n paleta de Control Design&Simulation avem i paleta Simulation Sub:

Mai jos, vom vedea paleta Simulation Sub:

Not! Toate Blocurile din paleta Simulation nu sunt SubVIs, nu putem da dublu-click pe ele i s deschidem diagrama bloc deoarece nu au. Toate blocurile din paleta Simulation trebuie folosite in interiorul buclei, Control and Simulation Loop (care a fost explicat mai jos).

Control and Simulation Loop (controlul i simularea buclei)

n paleta Simulation Sub avem Control and Simulation Loop care este foarte folositoare in simulaii:

Trebuie plasate toate funciile de simulare ntr-o bucl de Control and Simulation Loop sau ntr-un sistem de subsimulare. De asemenea putei s plasai subsisteme de simulare ntr-o bucl Control and Simulation Loop sau alt subsistem de simulare sau putei plasa subsistemele de simulare ntr-o diagram bloc n afara buclei de Control&Simulation Loop sau rulnd subsitemele de simulare ca stand-alone Vis.

Bucla Control&simulation Loop are un Input Node (sus n colul din stnga) i un Output Node(sus n colul din dreapta). Folosii Nodul Input pentru a configura simularea parametrilor programatic. De asemenea putei configura aceti parametrii interactiv folosind din csua de dialog Configure Simulation Parameters. Accesnd csua de dialog prin dublu-click pe Input Node sau click-dreapta pe frontal i selectnd Configure Simulation Parameters din meniul scurt.

Configurarea

Cnd plasai aceste blocuri pe diagram putei da dublu-click iar apoi s selectai Configuration...

Exemplu: Configurarea din Csua de Dialog

Pentru blocul Transfer Function (Simulation Continuous Linear Systems) avem urmtoarea fereastr de configurare :

Toate blocurile diferite au propria fereastr de configurare diferit

n sursa Parametrilor putei alege ntre:

Csua de dialog de Configurare Terminal

Dac selectai Configuration Dialog Box introducei configuraia in fereastra Configuration, aa cum am vzut mai devreme, ntre timp dac selectai Terminal acea configuraie specific este setat din diagrama bloc, n felul urmtor:

Icon style:

Atunci cnd plasai blocul pe diagrama bloc putei s selectai modul n care dorii s apar. Click-dreapta pe bloc/icoan i selectai Icon Style:

Exemplu: Icon style

Pentru blocul Transfer Function (SimulationContinuous Linear System) avem urmtoarele icoane de stil:

Static:

Dynamic:

Text Only:

Express:

Putem observa c pentru stilurile Dynamic i Express i schimb apariia n funcie de parametrii setai. Este recomandabil a fi folosit stilul icoanei static deoarece nu necesit mult spaiu pe diagram.

4.2 Simulation Subsystem (Subsistem de Simulare)

Putei crea un Simulation Subsystem (FileNew...):

Simulation Subsystem este foarte folositor atunci cnd avem de lucru cu sisteme de simulae mari pentru a crea mai multe coduri structurate. Este recomandat sa folosii (ntotdeauna) aceasta opiune.Simulation subsystem este aproape echivalent cu o diagrama bloc normal LabVIEW ns culoarea de fundal este puin mai nchis.

Not! Pentru a deschide un Simulation Subsystem dai click-dreapta i selectai Open Subsystem.Simulation Subsystem poate fi de asemenea reprezentat de mai multe icoane diferite. Dac selectai stilul icoanei dynamic vei vedea o versiune n miniatur a unui subsistem asemenator cu acesta:

Putei trage colul pentru a mri sau pentru a micora icoana dynamic.Dac selectai stilul icoanei static vei observa icoana pe care ai creat-o cu Icon Editor.

Care va arta n felul urmtor:

4.3 Continuous Linear Systems (Sisteme liniare continue)

n paleta Continuous Linear Systems Sub vrem s crem un model de simulare:

Printre cele mai utilizate blocuri sunt Integrater, Transport Delay, State Space i Tranfer Function.Cnd plasai aceste blocuri pe diagram putei s dai dublu-click sau click-dreapta i s selectai Configuration...

Integrator integreaz un semnal de intrare continuu cu ajutorul soluiei ecuaiei difereniale ordinare (ODE) pe care ai specificat-o pentru simulare.Fereastra de configurare pentru blocul Integrator arat n felul urmtor:

Transport Delay ntrzie semnalul de intrare n funcie de cantitatea de timp pe care o specificai.Fereastra de configurare pentru blocul Transport Delay arat n felul urmtor:

Transfer Function impelmenteaz un model de sistem n funcie de forma de transfer. Putei defini modelul sistemului prin specificarea Numitorului si Numrtorului ecuaiei funciei de transfer.Fereastra de Configurare pentru blocul Transfer Function arat n felul urmtor:

State-Space implementeaz un model de sistem n form de stat-spaiu. Putei defini modelul de sistem specificnd intrrile, ieirile, staionrile i matricile de transmisie direct.

Fereastra de Configurare pentru blocul State-Space arat n felul urmtor:

Signal Arithmetic (Semnalul Aritmetic):

Paleta Signal Arithmetic Sub este de asemenea folositoare atunci cnd creai un model de simulare:

Exemplu: Simulation Model (Model de simulare)

Mai jos vom observa un model de simulare creat n LabVIEW.

Exemplu: Simulare

Mai jos vom vedea un model de simulare utiliznd bucla Control and Simulation Loop.

inei minte urmtoarele:

Facei click pe frontiera de bucl de simulare i selectai Configure Simulation Parameters...

Va aprea urmtoarea fereastr (Configure Simulation Parameters):

n aceast fereastr ai setat civa parametrii referitori la simulare, civa importani sunt: Final Time (s) seteaz timpul de simulare. Pentru un timp infinit de simulare, setai inf. Enable Synchronized Timing specific faptul c dorii s sincronizai timpul buclei de Control i Simulare (Control &Simulation Loop) la o susrs de sincronizare. Pentru a permite sincronizarea plasai un checkmark ntr-un checkbox iar mai apoi alegei o surs de sincronizare din lista cu source types.Pentru mai multe detalii, accesai butonu Help.

De asemenea mai putei seta civa parametrii n diagrama bloc:

Putei utiliza mouse-ul pentru a crete numrul parametriilor i click-dreapta i select input.

Exerciii

Exerciiu: Simularea unui sistem de amortizor arc-mas

n acest exerciiu vei construi o simulare dinamic care reprezint comportamentul unui sistem dinamic. Vei simula un sistem de amortizare arc-mas.

Unde t este timpul de simulare, F(t) este o for extern aplicat sistemului, c este constanta de amortizare a arcului, k este rigiditatea arcului, m este masa i x(t) este poziia mesei. este prima derivat a poziiei care egaleaz velocitatea masei. este a doua derivat a poziiei care echivaleaz acceleraia masei.Figura urmtoare reprezint un sistem dinamic:

Scopul este de a vizualiza poziia x(t) a masei m cu privire la momentul t. Putei calcula poziia integrnd velocitatea mesei. Putei calcula velocitatea integrnd acceleraia mesei. Dac tii fora i masa putei calcula aceast acceleraie utiliznd a doua lege a micrii a lui Newton dat de urmtoarea ecuaie:

Fora= Masa x Acceleraia

Substituind termenii ecuaiei difereniale de mai sus se poate obine urmtoarea ecuaie:

Vei construi o diagram de simulare care itereaz urmtorii pai pe o perioad de timp.

Crearea i simularea diagramei

Putei crea o diagram de simulare plasnd o bucl de Control&Simulation Loop pe diagrama bloc LabVIEW.1. Deschidei LabVIEW i selectai FileNew VI pentru a crea un nou VI.2. Selectai WindowShow Block Diagram pentru a vedea diagrama bloc. De asemenea putei apsa tastele Ctrl-E pentru a vizualiza diagrama bloc.3. Dac nc nu vizualizai paleta Functions, selectai ViewFunctions Palette pentru a vizualiza aceast palet.4. Selectai Control Design&SimulationSimulation pentru a vizualiza paleta Simulation.5. Dai click pe icoana Control&Simulation Loop.6. Mutai cursorul peste diagrama bloc. Click pentru a plasa n coluul din stnga sus al buclei, glisai cursorul pe diagonal pentru a stabili dimensiune buclei i apoi dai click din nou pentru a plasa bucla n diagrama bloc.Diagrama de simulare este zona delimitat de Control&Simulation Loop. Observai c diagrama de simulare are un fundal galben pal pentru a o distinge de restul schemei bloc. Putei redimensiona Control&Simulation Loop prin glisarea bordurilor.

Configurarea parametrilor de simulare

Bucla de control i simulare conine parametrii care definesc modl n care se execut simularea. Parcurgei paii urmtori pentru a vizualiza i configura aceti parametrii de simulare.1. Dublu-click pe nodul de intrare (Input Node) ataat pe partea stng a buclei de control i simulare (Control&Simulation Loop) pentru a afia csua de dialog Configure Simulation Parameters. De asemenea putei da click dreapta pe frontiera buclei i s selectai din meniul scurt Configure Simulation Parameters.2. Asigurai-v c valoarea (timupului final) Final Time (s) de control numeric este 10, ceea ce specific faptul c acest tutorial simuleaz la 10 secunde.3. Dai click pe meniul pull-down ODE Solver pentru a vizualiza lista de rezolvari ODE, Control pentru design si modulele pentru simulari incluse. Dac variabila apare lng soluia ODE, acea soluie are o dimeniune de pas variabil. Celelalte rezolvri ODE au o dimensiune de pas fix. Asigurai un marcaj lang ODE Solver implicit Runge-Kutta 23 (variabil).4. Deoarece acest ODE Solver este o soluie pas de dimensiune variabil, putei specifica Minimum step size (s) i Maximum step size (s). Introducei valoarea 0.01 pentru Maximum step size(s) controlul numeric pentru a limita dimensiunea de timp pas pe care acest ODE solver o poate lua.5. Dai click pe fila Timing Parameters pentru a accesa parametrii care controleaz ct de des execut simularea.6. Asigurai-v c Synchronize Loop (bucla de sincronizare) pentru caseta Timing Source nu este bifat. Aceast opiune specific faptul c simularea se execut fr restricii de timp. Utilizai aceast opiune atunci cnd dorii simulare pentru a rula ct mai repede posibil. Dac se execut aceast simulare n timp real, putei plasa un marcaj n aceast caset i configurai ct de des se execut simularea.7. Dai click pe butonul OK pentru a salva modificrile fcute i revenii la diagrama de simulare.

Contruirea simulrii

Urmtorul pas este de a contrui o simulare prin plasarea de funcii de simulare pe schema de simulare i de a cabla aceste funcii mpreun. Reinei c putei plasa cele mai multe funcii de simulare numai pe diagrama de simulare, care este, nu putei plasa funcii de simulare pe o diagram bloc LabVIEW. Parcurgei paii urmtori pentru a construi simulare a acestui sistem dinamic.

Plasarea funciilor pe diagrama de simulare

1. Deschidei paleta de Simulare.2. Selectai paleta Signal Arithmetic i plasai o funtie de multiplicare, Multiplication Function, pe diagrama de simulare. Vei folosi aceast funcie pentru a mpri fora de mas pentru a calcula acceleraia.3. Dublu-click pe Multiplication function pentru a vizualiza csua de dialog Multiplication Configuration. Putei da dublu-click pe cele mai multe funcii de simulare pentru a vizualiza i modifica parametrii acestei funcii.4. Funcia afieaz n prezent dou simboluri pe partea stng a casetei de dialog. Aceast setare specific faptul c cele dou semnale de intrare sunt multiplicate mpreun. Facei clic pe simbolul pentru a-l schimba la un simbol . Aceast funcie de multiplicare mparte acum semnalul de sus cu semnalul de jos.5. Dai click pe butonul OK pentru a salva modificrile i revenii la diagrama de simulare.6. Facei clcik dreapta pe funcia de multiplicare i selectai Visible ItemsLabel from the shortcut menu. Dai dublu-click pe Multiplication label i introducei Calculate Acceleration ca o nou etichet.7. Revenii la paleta de simulare i selectai paleta Continuous Linear Systems.8. Plasai o funcie Integrator pe diagrama de simulare. Vei folosi aceast funcie pentru a calcula viteza integrnd acceleraia.9. Etichetai aceast funcie integrator Calculate Velocity.10. Apsai tasta i facei click i tragei funcia Integrator la o alt locaie de pe diagrama de simulare. Aceast aciune creeaz o copie a funciei Integrator, care v va folosi pentru a calcula pozitia prin integrarea vitezei. Eticheta acestei noi funcii Integrator Calculate Position.11. Selectai paleta Graph Utilities i plasai dou funcii SimTime Waveform pe diagrama de simulare. Vei folosi aceste funcii pentru a vizualiza rezulatele de simulare de-a lungul timpului.12. Fiecare funcie SimTime Waveform are asociat un Waveform Chart. Etichetai prima und a diagramei Velocity i a doua unda a diagramei Position. Aranjai funciile astfel nct s arate ca i n diagrama de simulare de mai jos.13. Salvai acest VI selectnd FileSave. Salvai acest VI ntr-un loc convenabil cum ar fi Spring-Mass Damper Example.vi.

Acum, diagrama bloc ar trebui s arate n felul urmtor:

Scrierea funiilor de simulare mpreun

Urmtoarea etap este scrierea funciilor mpreun pentru a reprezenta fluxul de date dintr-o funcie n alta.

Not! Cablurile din diagrama de simulare includ sgei care arat direcia fluxului de date n timp ce firele de pe diagram bloc nu arat aceste sgei.Urmai paii de mai jos pentru a conecta aceste funcii mpreun.

1. Click-derapta pe intrarea Operand1 a funciei Calculate Acceleration i selectai din meniul scurt CreateControl pentru pentru a aduga un control numeric n fereastra panoului frontal.2. Etichetai acest control Force.3. Dublu-click pe acest control de pe diagrama de simulare. LabVIEW afieaz panoul frontal i scoate n eviden control Force.4. Afiai diagram bloc i creai un control pentru intrarea Operand2 a funciei Calculate Acceleration. Etichetai acest nou control Mass.5. Cablai rezulatatul de ieire cu funcia Calculate Acceleration la intrarea funciei Calculate Velocity.6. Cablai ieirea ieirii funciei Calculate Velocity la intrarea intrrii funciei Calculate Position.7. Click-dreaptta pe cablarea pe care tocmai ai creat-o i selectai Create Wire Branch din meniul rapid. Cablai aceast ramur la intrarea Value a funciei SimTime Waveform care are diagrama Velocity Waveform.8. Cablai ieirea ieirii funciei Calculate Position la intrarea Value a funciei SimTime Waveform carea are diagrama Position waveform.Diagrama bloc ar trebui s arate n felul urmtor:

Rularea simulrii

Putei rutla aceast simulare pentru a testa dac fluxul de date este complet prin funciile de simulare. Urmai paii de mai jos pentru a rula o simulare.

1. Selectai WindowShow Front Panel, sau apasai tastele Ctrl+E, pentru a vizualiza panoul frontal al acestei simulri. Panoul frontal afieaz urmtoarele obiecte: un control etichetat Force, un control etichetat Mass, o diagram etichetat Velocity i o diagram etichetat Position.2. Dac este necesar, rearanjai aceste controluri i indicatoare astefel nct s fie vizibile toate obiectele.3. Introducei -9.8 n controlul numeric Force. Acest valoare reprezint fora gravitaiei, 9.8 metrii pe secund la ptrat, acionnd pe sistemul dinamic.4. Introducei 1 n controlul numeric Mass. Aceast valoare reprezint masa unui kilogram.5. Click pe butonul Run sau apsai tastele Ctrl-R pentru a rula VI-ul.

Panoul frontal ar trebui s arate n felul urmtor:

n figura de mai sus, observai c fora gravitaional determin poziia de mas i viteza pentru a scdea n mod constant. Cu toate acestea, n lumea real, o mas ataat la un arc oscileaz n sus i n jos. n aceast simulare arcul nu oscileaz, deoarece diagrama de simulare nu reprezint amortizare sau rigiditate. Trebuie s reprezinte aceti factori pentru a avea o simulare complet a sistemului dinamic.

Reprezentarea amortizrii i a rigiditii

Reprezentnd amortizarea si rigiditatea implic alimentarea vitezei i poziiei, fiecare fiind nmulit cu o constant diferit la intrarea funciei Calulate Acceleration. Amintii-v ecuaia diferenial pe care acest VI o simuleaz.

n ecuaia precedent putei observa c nmulii constanta de amortizare c cu viteza de mas . mnmulii constanta de rigiditate k cu poziia masei x(t). apoi scdei aceste forte externe aplicate masei.Completai paii urmtori pentru a amortizarea i rigiditatea n acest model de sistem dinamic.

1. Vizualizai diagram de simulare.2. Selectai paleta Signal Arithmetic i plasai o funcie Summation pe diagrama de simulare. Mutate aceast funcie n stnga controlrului Force i Mass.3. Facei dublu-clic pe funcia Summation pentru a configura funcionarea acestuia. n mod implicit, funcia Summation afieaz urmtoarele trei terminale de intrare: un simbol , un simbol +, i un simbol -. Aceast configuraie scade de la un semnal de intrare la un altul.4. Click de dou ori pe simbolul pentru a schimba acest terminal la simbolul - . aceast funcie Summation scade semnalele de intrare de sus i de jos de la semnalul de intrare din stnga.5. Click pe butonul OK pentru a salva modificrile i revenii la diagram de simulare.6. Selectai paleta Signal Arithmetic i plasai o funcie Gain pe diagram de simulare. Mutai aceast funcie desupra codului diagramei de simulare existente dar inc n cadrul buclei Control&Simulation Loop.7. Intrarea funciei Gain este pe partea stng a funciei, iar ieirea este pe partea dreapt. Putei inversa direcia de aceste terminale pentru a indica un feedback mai bun. Facei click dreapta pe funcia Gain i selectai Terminale Reverse din meniul de comenzi rapide. Funcia Gain va fi acum spre partea stng a diagramei de simulare.8. Etichetai aceast funcie Gain, Damping.9. Apsai tasta i tragei funcia Gain pentru a crea o copie separat. Mutai aceast copie mai jos de codul diagramei de simulare existente, dar nc n bucla Control&Simulation Loop. Etichetai aceast funcie Stiffnes.10. Facei clic dreapta pe firul de legtur de control Fora la funcia de Calculate Acceleration i selectai Delete Wire Branch din meniul de comenzi rapide. Mutai control Force la stnga funciei Summation, i cablai acest control pentru intrare operand2 a funciei Summation.11. Creai fire de 1-5 cum este indicat n figura de mai jos. Diagrama de simulare acum complet reprezint ecuaia care definete comportamentul dinamic sistemului.12. Apsai tastele Ctrl-S pentru a salva VI-ul.

Diagrama bloc ar trebui s arate n felul urmtor:

Configurarea rigiditii arcului

nainte de a rula simularea din nou, trebuie s configurai rigiditatea arcului simulat. Urmai paii de mai jos pentru a configure aceast funcie de simulare.

1. Dublu-click pe funcia Stiffnes pentru a vizualiza csua de dialog Gain Configuration.2. Introducei valoarea 100 n controlul numeric gain. Aceast valoare reprezint rigiditatea a 100 de Newtoni pe metru. 3. Click pe butonul OK pentru a reveni la diagram de simulare. inei minte c funcia Stiffnes va afia valoarea 100.4. Vizualizai panoul frontal pentru a v asigura c Force control este setat la -9.8 i c Mass control este setat la 1.5. Rulai simularea. Diagramele Velocity i Position afieaz comportamentul masei oscilaiilor arcului. Observai noul comportament comparative cu ultima data cnd ai rulat aceast simulare. De data aceasta, viteza i poziia nu scad n mod constant. Ambele valori oscileaz, fiind modul n care un arc se comport n lumea real.6. Schimbai valoarea controlului mas la 10 i executai simularea din nou. Observai comportamentul diferit in diagramele de viteza i poziie. Masa de 10 kg foreaz arcul s oscileze mai puin frecvent i ntr-o vitez / poziie de interval mai mic.

Panoul frontal ar trebui s arate n felul urmtor:

Configurarea funciei de simulare programmatic

Seciunea anterioar a furnizat informaii despre configurarea funciilor de simulare, folosind caseta de dialog de configurare. n loc de a folosi caseta de dialog de configurare, putei mbunti interactivitatea unei simulri prin crearea de controale pe panoul frontal care configureaz o funcie de simulare programatic. Parcurgei paii urmtori pentru a configura funcia Stiffnes programatic.

1. Dac nc nu vizualizai fereastra Context Help, apsai tastele Ctrl-H, pentru a vizualiza aceast fereastr.2. Afiai diagram bloc i mutate cursorul peste funcia Stiffnes. Aceast funcie are doar un terminal de ieire.3. Afiai csua de dialog Gain Configuration a funciei Stiffnes.4. Selectai Terminal din sursa Parameters a meniului pull-down. Aceast aciune dezactiveaz controlul numeric gain.5. Click pe butonul Ok pentru a salva modificrile i revenii la diagram bloc.6. Mutate cursorul peste funcie Stiffnes. Fereastra Context Help afieaz funcia gain cu noul terminal de intrare gain.7. Creai un control pentru aceast intrare i etichetai-l gain (k). 8. Vizualizai panoul frontal.observai noul control gain (k). Introducei valoarea 100 pentru acest control i executai simularea. Observai c, comportamentul este exact la fel ca i atunci cnd a utilizat casua de dialog pentru a configure funcia Stiffnes.

Modularizing Simulation Diagram Code

Putei crea subsisteme de simulare pentru a mpri schemele de simulare n componente care sunt modulare, reutilizabile, independent i verificabile. Parcurgei paii urmtori pentru a crea un subsistem de simulare din aceast diagram de simulare.

1. Vizualizai diagram de simulare.2. Selectai funciile Calculate Acceleration, Calculate Velocity i Calculate Position apsnd tasta Shift i dnd click pe fiecare funcie.3. Selectai EditCreate Simulation Subsystem. LabVIEW nlocuiete aceste trei funcii cu o singur funcie care reprezint subsistemul de simulare, care este ncercuit n figura de mai jos. Intrrile i ieirile din subsistemul de simulare includ intrrile i ieirile din toate functiile selectate. De asemenea, observai cantitatea de spaiu liber pe diagrama de simulare. Pentru c combinat trei funcii ntr-un subsistem, putei redimensiona bucla de Control&Simulation i repoziiona funciile pentru a face diagrama mai uor de simulart pentru vizualizare.4. Apsai pentru a salva schema de simulare. LabVIEW v solicit s salvai subsistemul de simulare pe care tocmai l-ai creat. Facei click pe butonul Yes i salvai acest subsistem de simulare ca "Newton.vi". Acum avei un subsistem de simulare care obine poziia de o mas cu ajutorul legii a doua de micare a lui Newton.

Not! Putei redimensiona subsistemul de simulare pentru a afia mai bine diagrama de simulare. De asemenea, putei da dublu-click pe subsistemul de simulare pentru a afia caseta de dialog de configurare a acestui subsistem de simulare.

Subsistemul de simulare ar trebui s arate:

Editarea subsistemului de simulare

Editai subsistemul de simulare "Newton.vi", fcnd clic dreapta pe acest subsistem i selectai Open Subsystem din meniul de comenzi rapide. Vezi diagrama de simulare.Observai c acest subsistem de simulare nu conine o bulc de Control&Simulation Loop, dar intregul fond este de culoare galben pentru a indica o diagram de simulare. Dac plasai acest subsistem de simulare bucl de Control&Simulation, subsistemul de simulare motenete toi parametrii de simulare ai buclei Control&Simulation Loop.Dac executai acest subsistem ca un stand-alone VI, putei configura parametrii de simulare prin selectarea OperateConfigure Simulation Parameters. Orice parametri ai configurat utiliznd aceast metod nu vor avea efect n cazul n care subsistemul este n alt bucl Control&Simulation Loop. Dac plasai acest subsistem de simulare pe o diagram bloc n afara unuei bucle Control&Simulation Loop, putei configura parametrii de simulare prin dublu-clic pe subsistemul de simulare pentru a afia caseta de dialog de configurare a acestui subsistem de simulare.

Configuarea parametrilor de simulare programmatic

Mai devreme n acest exerciiu, ai utilizat caseta de dialog Configure Simulation Parameters pentru a configura parametrii Spring-Mass Damper Example.vi. De asemenea, putei configura parametrii de simulare programatic prin Utilizarea nodului de intrare a buclei Control&Simulation Loop. Parcurgei paii urmtori pentru a configura parametrii de simulare programmatic.

1. Vizualizai simularea diagramei Spring-Mass Damper Example.vi.2. Mutai cursorul peste nodul de intrare pentru a redimensiona mnerele.3. Tragei n jos pentru a afia toate intrrile nodurilor disponibile. Folosii aceste intrri pentru a configura simularea parametrilor fr a afia csua de dialog Configure Simulation Parameters. De asemenea putei da click-dreapta pe nodul de intrare i selectai Show All Inputs din meniul rapid.

Observai casetele gri de lng fiecare intrare. Aceste csue vor afia valori pe care le-ai configurat n csua de dialog Configure Simulation Parameters. De exemplu, a treia csu gri de la afiarea de top 10.000, care este valoarea final a controlului numeric Final Time pe care ai configurat-o. A cincea cutie gri din partea de sus afieaz RK 23. Aceast caset specific rezolvarea ODE curent, pe care ai configurat-o ca Runge-Kutta 23 (variabil). Mutate cursorul peste fiecare margine din stnga a fiecrui nod de intrare pentru a afia etichetarea acelei intrri.

4. Click-dreapta pe terminalul de intrare al rezolvrii ODE intrare i selectai CreateConstant din meniul rapid. O diagram bloc constant apare n afara buclei de control i simulare. Valoarea acestei constant este Runge-Kutta 1 (Euler), fiind diferit de ceea ce ai configurat n csua de dialog Configure Simulation Parameters. Oricum, csua gri dispare din nodul de intrare, indicnd c valoarea acestui parametru nu vine de la csua de dialog Configure Simulation Parameters. Valorile pe care le configurai programmatic nlocuiesc setrile fcute n caseta de dialog.

Acum, nodul de ieire ar trebui s arate n felul urmtor:

Sumar

Acest exerciiu v va introduce n urmtoarele concepte:

Diagrama de simulare reflect modelul sistemului dinamic pe care dorii s l simulai. Acest model de sistem dinamic este o diferenial sau o ecuaie diferenial care reprezint un sistem dinamic. Bucla de control i simulare conine parametrii care definesc comportamentul simulrii. Bucla de control i simulare de asemnea definete limita vizual a diagramei de simulare.Dublu-click pe nodul de intrare al buclei de control i simulare pentru a accesa configurarea parametrilor. De asemenea putei extinde nodul de intrare pentru accesarea acestor parametrii.

Paleta de simulare conine VI-ul i funciile pe care le-ai utilizat pentru a construe simularea. Putei da dublu-click pe cele mai utilizate funcii de simulare pentru afiarea csuei de dialog care configureaz funcia. De asemenea putei crea un terminal de intrare pentru funcia de intrare.

Putei crea subsiteme de simulare pentru modularea, nglobarea, validarea, refolosirea proporiilor din diagram de simulare.

5 Controlul PID

n presezent algoritmul Proportional-Integrate-Derivate (PID) este cel mai frecvent algoritm de control utilizat n industrie. De multe ori, oamenii folosesc PID pentru a controla procesele care includ sistemele de nclzire i rcire, monitorizare nivel lichid, controlul fluxului, i de control al presiunii. n PID, trebuie s specificai o variabil proces i o valoare de referin. Variabila procesului este parametrul sistemului dorit pe care dorii a-l controla, cum ar fi, temperature, presiunea sau debitul iar valoarea de referin este valoarea dorit pentru parametrul pe care-l controlai. Un regulator PID determin o valoare de ieire controler, cum ar fi puterea de nclzire sau poziia supapei. Controlerul aplic valoarea de ieire a controlerului sistem, care, la rndul su, conduce variabila procesului spre valoarea de referin.

Controlrul PID compar valoarea de referin (SP) a variabilei procesului (PV) pentru a obine eroarea (e).

Apoi controlrul PID calculeaz aciunea controlrului, u(t), unde Kc este controlrul gain.

Ti este integral timpului n minute, de asemenea numit i timp de resetare i Td este derivate timpului n minute, numit i rata de timp.

Urmtoarea formula reprezint aciunea proportional.

Urmtoarea formula reprezint aciunea integral.

Urmtoarea formul reprezint aciunea derivatei.

5.1 Controlul PID n LabVIEW

n sub paleta PID funcii/SubVIs pentru controlul PID. Recomandabil este s folosii PID Advanced.vi.

Exemplu: Control PIDMai jos, putem observa cum putem folosi PID Advanced.vi pentru a controla un model simulat.

5.2 Auto-tuningLabVIEW PID i Fuzzy Logic Toolkit include un VI pentru auto-tuning.

6 Control DesignControl design este un process care implic dezvoltarea de modele matematice care descriu un sistem fizic , analiznd modele pentru a nva despre caracteristicile lor dinamice i crend un controlr pentru relizarea anumitor caracteristici dinamice.

6.1 Control Design n LabVIEWPaleta Control design.

7 Sistemul de identificare7.1 Sistemul de identificare n LabVIEWSystem Identification Toolkit combin instrumente de achiziii de date cu algoritmi sistem de identificare pentru o modelare a instalaiei exact. Putei profita de LabVIEW intuitive instrumente de achizitii de date, cum ar fi DAQ Assistant pentru a stimula i a obine date de la instalaii i apoi identific automat un model de sistem dinamic. Putei converti modele sistem de identificare a state-space, funcii de transfer, pole-zero-gain pentru analiza sistemului de control i design. Toolkitul include funcii built-in pentru taskuri commune cum ar fi procesarea datelor, crearea de model i de analiz de sistem. Utiliznd alte buil-in Utilities putei afia modelul cu reprezentare grafic intuitiv precum i arhiva modelul.Paleta system identification:

8 Fuzzy LogicFuzzy Logic este o metod bazat pe reguli utilizate pe sistemele expert de control al procesului. Fuzzy logic difer de logica tradiional bolean n care logica fuzzy permite aderarea parial ntr-un set. Putei folosi logica fuzzy pentru a controla procesele reprezentate de descrieri subiective, lingvistice. Un sistem neclar este un sistem de variabile care sunt asociate folosind logica fuzzy. Un fuzzy foloseste normele stabilite pentru a controla un sistem neclar bazat pe valorile curente ale variabilelor de intrare.

8.1 Fuzzy Logic n LabVIEWPaleta Fuzzy Logic n LabVIEW:

9 LabView MathScriptCerine: Modulul RT MathScript"LabVIEW MathScript Window" este o interfa interactiv n care putei introduce m. comenzi script.de fiiere i a vizualiza rezultate imediate, variabile i istoric de comenzi. Fereastra include o interfa linie de comand n care putei introduce comenzile una-cte-una pentru calcule rapide, script debugging sau de nvare. Alternativ, putei introduce i executa grupuri de comenzi printr-o fereastra de editare script.n timp ce lucrai, o afiare a unei variabile update pentru a vizualiza rezultatele grafice sau textuale i o fereastr a comenzilor vechi. Istoricul vizualizeaz dezvoltarea facilitilor algoritmilor permindu-v s utilizai clipbordul pentru a reutiliza comenzile executate anterior.Putei utiliza "LabVIEW MathScript Window" pentru a introduce comenzi pe rnd. De asemenea, putei introduce script batch ntr-o fereastr simpl de editor de text, ncrcat de la un fiier text, sau importate de la un editor de text separat. "LabVIEW MathScript Window" ofer feedback imediat ntr-o varietate de forme, cum ar fi grafice i text.

Exemplu:

9.1 Ajutor Putei de asemnea s scriei help n fereastra dumneavoastr de comand. Sau mai multe exemple spcifice, help plot.9.2 ExempleV sftuiesc s tesaie toate exemplele din acest text n LabVIEW MathScript, n scopul de a v familiariza cu programul i sintaxa. Toate exemplele din text sunt prezentate ntr-un cadru ca aceasta:

Aceste comenzi ar trebui s le scriei in fereastra Command.Scriei toate comenzile n Command Window. Voi folosi simbolul pentru a demonstra c, comenzile ar trebui scrise n Command Window.Exemplu: Matricele

Sintaxa este urmtoarea: A = [1 2;0 3]

Sau >> A = [1,2;0,3]

Dac, de exemplu, dorii s gsii un exemplu pentru a gsi rspunsul pentru

>> a=4>>b=3>>a+b

MathScript va rspundeAns = 7MathScript furnizez o singur cale pentru a defini mulimile utiliznd sintaxa:int:increment:terminator>>array = 1:2:9Array = 1 3 5 7 9

Definete o variabil numit mulime(sau atribuie o nou valoare unei variabile existente cu numele mulime) care este o mulime ce const n valorile 1, 3, 5, 7, 9. Acesta este mulimea care incepe cu 1(valoarea initial), crete cu fiecare treapt ale valorilor precedente de 2(valoarea incrementat) i se oprete odat ce ajunge (ori pentru a evita depirea) 9(valoarea terminator).Valoarea incrementat poate chiar s fie lsat afar din sintax (mpreun cu una dintre coloane), pentru a folosi o valoare default a lui 1.>> ari = 1:5Ari = 1 2 3 4 5

Atribuie variabilei numite ari o mulime cu valorile 1, 2, 3, 4, 5, nc de la valoarea 1 este folosit ca i incrementare.Observai ca indexarea este one-based, care este convenia uzual pentru matrici n matematici. Asta este atipic pentru limbajele de programare, ale cror mulimi de obicei pornesc de la zero..Matricele pot fi definite separnd elementele unui rnd cu un spaiu gol sau o virgule si utiliznd o semicoloan pentru a termina fiecare rnd. Lista elemntelor ar trebui s fie nconjurat de paranteze drepte. Parantezele rotunde sunt utilizate pentru a accesa elemente i submulimi (acestea sunt de asemenea folosite pentruu a denota o list funcie argument).>> A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1>> A(2,3)Ans= 11

Setrile indicilor pot fi specificate de expresii ca i 2:4, care evalueaz la [2, 3, 4]. Pentru exemplu, o submatrice ia de la al doilea rnd la al patrulea i coloana a 3a la coloana a 4a poate fi scris ca:>> A(2:4,3:4)ans =11 87 1214 1

Identitatea unei matrici ptratice de mrime n poate fi generate utiliznd funcia eye, i matrice de diferite mrimi cu zerouri sau unu pot fi generate cu funciile zero i unu.>> eye(3)ans =1 0 00 1 00 0 1>> zeros(2,3)ans =0 0 00 0 0>> ones(2,3)ans =1 1 11 1 1

9.3 Comenzi folositoareAici sunt cteva comenzi folositoare: Command Description

eye(x), eye(x,y) Identity matrix of order x

ones(x), ones(x,y) A matrix with only ones

zeros(x), zeros(x,y) A matrix with only zeros

diag([x y z]) Diagonal matrix

size(A) Dimension of matrix A

A Inverse of matrix A

9.4 PlottingAcest capitol explic conceptele de baz a creri de grafice in MathScriptTopic: Basic Plot CommandsExemplu: PlottingFuncia plot poate fi folosit pentru a produce un graphic cu doi vectori x i y. Codul: x = 0:pi/100:2*pi;y = sin(x);plot(x,y)

10 DiscretizareaAdesea avem nevoie de dezvoltarea unui algoritm discret al procesului nostru n plus s-ar putea s avem nevoie s ne cream propriul nostrum controlr PI(D) discret. Un filtru discret low-pass este de asemnea bun s fie. Exist o mulime de metode diferite de discretizare, cum ar fi metoda "Zero Order Hold" (ZOH), metoda Tustin i metodele lui Euler (nainte i napoi). Ne vom concentra asupra metodelor Eulers n acest document, deoarece acestea sunt foarte uor de utilizat.Metoda de naintare i discretizare a lui Euler:

Metoda de discretizrea invers a lui Euler:

10.1 Filtrul Low-passFuncia de transfer pentru un filtru prim-ordin low-order poate fi scris:

Unde este constanta de timp a filtrului, y(s) este intrarea filtrului iar este ieirea filtrului.Versiunea discreteSe poate arta c o versiune discrete poate s nceap n felul urmtor: unde unde este Sampling time.Este o regul de aur ca iar n practic ar terbui s folosim urmtoarea regul:

Exemplu: Vom implementa un algoritm filtru discret low-pass utiliznd formula nodului n LabVIEW: Unde Diagrama bloc devine:

Panoul frontal:

Este o idee bun de a construe ca un SubVis iar apoi sa putem refolosi cu uurin filtrul Low-pass n aplicaiile noastre.Vom testa filtrul discret low-pass, pentru a ne asigura c merge cum ne-am ateptat:Vom crea o aplicaie test simpl unde vom adduce cteva sunete albe ctre un semnal. Vom proiecta semnalele nefiltrate i filtrate pentru a vedea daca filtrul low-pass se poate sterge sunetul de la semnalul sinus.

Vom obine rezultatele:

Observm c filtrul funcioneaz bine. Linia roie este semnalul sinus nefiltrat cu zgomot, n timp ce linia roie este rezultatul filtrat.10.2 PID ControllerPI Controller poate fi scris:

Unde u este ieirea controllerului iar e este eroarea controllerului:

Veriunea Laplace:

Versiunea discrete:Vom ncepe cu :

Pentru a crea o versiune discrete folosind formula lui Euler, putem deriva ambele pri ale ecuaiei:

Dac folosim formula de naintare a lui Euler obinem:

Apoi vom obine:

Unde De asemenea putem despri ecuaia n dou pri diferite setnd:

Asta ne conduce la urmtorul algoritm control PI:

Acest algoritm poate fi implementat uor n LabView sau n alte limbaje de programare cum ar fi C# sau MATLAB.Pentru mai multe detalii despre implementarea acestuia n C#, vedei tutorialul Data Acquisition in C# disponibil la: http://home.hit.no/~hansha.Exemple LabVIEW:Mai jos avem implementarea unui contrller discret PI utiliznd formula nodului n LabVIEW:

Controllerul PI este implementat ca SubVI, deci algoritmul este uor de refolosit n aplicaiile noasttre.Vom testa controllerul nostru discret PI cu urmtoarea aplicaie:

Diagrama bloc:

10.2.1 Controllerul PI ca i un model State-SpaceSetm Asta rezult:

Unde Versiunea discrete:Euler: unde este Sampling timeRezult:

Finalmente:

Acest algoritm poate fi uor implementat n LabVIEW sau alte limbaje de programare, de exemplu C# sau MATLAB. Pentru mai multe detalii despre implementarea acestuia n C#, vedei tutorialul Data Acquisition in C# disponibil la: http://home.hit.no/~hansha.

10.3 Modelul de procesVom utiliza un simplu tanc de ap pentru a ilustra crearea unei versiuni discrete al unui model de proces mathematic. Mai jos avem ilustria:

Un model(linear) foarte simplu al tancului de ap este ca i urmtorul:

Sau

Unde: h(cm) este nivelul apei in tanc u(V) este pompa semnal de control a pompei (cm2) este aria seciunii transversal n tanc ((cm3/s)/V) este tot pompa (cm3/s) este fluxul prin supap (acest flux poate fi modelat cu mai mult precizie lund n considerare caracteristica robinetului exprimnd relaia dintre cderea de presiune prin supap i debitul prin supapa).Putem folosi metoda de naintare a lui Euler pentru a crea un model discret:

Vom obine:

Finalmente:

Acest model poate fi uor de implementat ntr-un calculator folosind, de exemplu, Matlab, LabVIEW sau C #.Pentru mai multe detalii privind modul de a face acest lucru n C #, a se vedea Tutorial Data acquisition in C #".n LabVIEW acest lucru poate, de exemplu, s fie puse n aplicare ntr-un Nod Formula sau MathScript Node.Exemplu:n acest exemplu vom simula Bacteriile Populaiei.n acest exemplu, vom folosi LabVIEW i Control Design LabVIEW i modulul de simulare pentru a simula un model simplu de o populaie de bacterii intr-un borcan.Modelul este dup cum urmeaz:

Atunci rata total de schimbare a populaiei bacteriene este:

Vom seta n exemplul nostrum b=1/or i p=0.5 bacterii pe or.Vom simula numrul de bacterii din borcan dupa o ora, presupunnd c initial sunt 100 de bacterii prezente.Vom simula sistemul utiliznd o bucl Foor Loop n LabVIEW i vom implementa modelul discret n formula node.Pasul 1:Vom ncepe cu crearea modelului discret.Dac vom folosi metoda de naintare a lui Euler :

Unde este Sampling time.Obinem:

Rezult:

Pasul 2:Implementm modelul n Formula Node i cream un SubVI.

Pasul 3: Cream simularea programului utiliznd o bcl For Loop.

Vom obine rezultatele(Scaling Factors sunt setai n Graph Properties):

Emeplu: Fiind dat urmtorul model mathematic(nelinear):

Vom crea o nou aplicaie n LabVIEW unde vom simula acest model utiliznd Formula Node pentru a implementa modelul discret.Vom folosi metoda de naintare a lui Euler (deoarece este o ecuae nonlinear):

Rezult:

Diagrama bloc:

Panoul frontal :

4


Recommended