Italiano - English

Level&Temp: Frequently Asked Questions

Sommario

    Livello & Temperatura
    1. Level&Temp: Descrizione dell'impianto
    2. Level&Temp: Modello del sistema
    3. Level&Temp: Identificazione dell'impianto
    4. Level&Temp: Progetto del regolatore di livello
    5. Level&Temp: Frequently Asked Questions

    MATLAB error message:cannot be evaluated

    Ho un problema: ho provato a usare (con Symulink) lo schema lt.m e, dopo aver caricato dati.m modificato con la mia data di nascita, ho fatto partire la simulazione (Start) ma ottengo il segunte errore:

    Error in block: /lt/riscaldatore
    Block parameter: tf2ss([1],[tau2 1]) cannot be evaluated.   
    MATLAB error message: 
    

    Cosa significa?

    che non sa quanto vale tau2 oppure che non trova la funzione tf2ss.
    Prova a digitare tau2 dal prompt di matlab dopo aver caricato i dati dal file simulink. Se ti risponde con "undenfined variable" allora il problema e' questo quindi devi caricare nuovamente il file di dati dal file di simulink oppure digitare il comando eval('dati')

    Se tau2 vale un numero (esattamente deve valere tau2=ro*A*leq/Weq;) allora il problema sta nel fatto che non riesce a trovare la funzione tf2ss.
    Questo dipende dalla variabile MATLABPATH che e' definita nel file startup.m che puoi trovare nella home dir in cui hai installato simulink (ad esempio c:\programmi\simulink).

    La sintassi corretta di MATLABPATH e'

    MATLABPATH('c:\progra~1\simulink\matlab\;c:\progra~1\simulink\simulink\;.....) 

    probabilmente nel tuo file ci sono impostati i percorsi relativi tipo

    MATLABPATH('.\matlab\;.\simulink\;.....) 

    che sono comunque corretti ma solo fino a quando non cambi directory caricando un modello simulink che hai in una directory diversa da quella principale di simulink.

    in sostanza devi usare il percorso assoluto anziche' relativo stile path di MS-DOS

    Per correggere MATLABPATH:

    Chiudi simulink e matlab
    Apri con edit o notepad il file startup.m e verifica che matlabpath sia corretto
    Fa ripartire matlab e tutto dovrebbe funzionare

    In caso di problemi riscrivimi inviandomi il file startup.m e indicami dove hai installato simulink


    lo scopo del regolatore...

    Scusa se ti disturbo ma avrei bisogno che mi confermassi (o smentissi) quanto segue:
    lo scopo del regolatore di Temp è mantenere la T a 30°C a seguito di disturbi (ingresso di acqua più fredda) agendo sul riscaldatore.

    Confermo ma in generale preciso che

    Lo scopo del regolatore puo' essere quello di regolare rispetto ai disturbi o rispetto al set point.

    Nel primo caso la temperatura va mantenuta ad un valore di equilibrio (che puo' essere ad esempio 30° come nell'esempio fatto sulle dispense) Nel secondo caso il regolatore deve portare il liquido alla temperatura desiderata.

    I parametri fisici che possono far variare la temperatura si possono rilevare dal modello analitico da cui risulta che:

    T=f(Wi,Wo,Pe,Ti)

    Di questi alcuni sono disturbi altri sono variabili di controllo.

    Le variabili di controllo sono quelle su cui si puo' agire per modularne il valore, tutte le altre sono disturbi che possono essere misurabili o no ma che comunque non possiamo controllare.

    Nel caso specifico:

    • Pe e' sicuramente una variabile di controllo, infatti possiamo modificarne il valore agendo sul riscaldatore;
    • Ti e' un disturbo non misurabile. Infatti non disponiamo di un termometro per misurare la temperatura dell'acqua in ingresso;
    • Wi,Wo sono controllabili perche' possiamo agire sulle pompe tuttavia questo renderebbe difficile il controllo di livello, pertanto ai fini della regolazione di temperatura si possono considerare dei disturbi. Si potrebbe utilizzare il valore di Wi,Wo impostato dal regolatore di livello come misura del disturbo e introdurre un adeguato schema di controllo di anticipo sul disturbo.

    In generale le variabili in gioco dipendono dal modello mentre la loro distinzione dipende dall'impianto.

    Di solito nei modelli linearizzati si tende a regolare rispetto al punto di equilibrio in modo da mantenere il sistema nelle condizioni previste dal progetto ed avere quindi una garanzia di stabilita'. Tra altro il progetto del regolatore fatto su un modello linerare e' valido solo quando le variabili in gioco si discostano poco dal valore di equilibrio impostato quindi e' bene mantenere l'impianto in una condizione di funzionamento vicino a quella di equilibrio.

    Si dovrebbe porre il dubbio su come si fa a raggiungere la condizione di equilibrio quando ad esempio l'impianto e' spento ?

    Si possono progettare regolatori diversi in funzione di diversi punti di equilibrio (ad esemepio con Teq = 5, 10, 20, 30 °C) e impostare un sistema di controllo che selezioni quale regolatore usare in funzione della Teq, o piu' semplicemente usare un controllo misto relay/dinamico tipo:

    1. accendere l'impianto;
    2. impostare la variabile di controllo ad un valore ragionevole;
    3. aspettare che arrivi a Teq-delta;
    4. attivare il regolatore dinamico;

    ...stampare i diagrammi di Bode

    per stampare i diagrammi di Bode hai usato cose tipo Fdteser o simili? Se SI, l'opzione di stampa crea un file con estensione .met.
    Con che cosa lo si apre dopo per poter vedere il grafico?

    se usi fdteser dal matlab che hai installato con simulink i grafici ti vengono in una finestra windows. Quando hai il grafico la copi nella clipboard come bitmap e la incolli dove vuoi.

    Per usare fdteser con la finestra di matlab in windows devi:

    • copiare i file di fdteser in una sottodir (che puoi chiamare fdteser) nella directory di matlab (quindi nel tuo caso c:\simulink\fdteser)
    • aggiornare startup.m inserendo la nuova directory( quindi nel tuo caso
      ('c:\simulink\fdteser,c:\simulink\matlab;.....)
    • far partire matlab-s
    • digitare fdteser al prompt di matlab
    Vota questa pagina:

    0 Commenti:

    Lascia il tuo commento:

    Note:
    • La tua email non è obligatoria e non sarà visibile in alcun modo
    • Si prega di inviare solo commenti relativi a questa pagina
    • Commenti inappropriati o offensivi saranno modificati o eliminati
    • Codici HTML non sono consentiti. Prego usare i BB code:
      [b]bold[/b], [u]underline[/u], [i]italic[/i], [code]code[/code]
    Il codice, le illustrazioni e gli esempi riportati in questa pagina sono solo a scopo illustrativo. L'autore non prende alcuna responsabilità per il loro utilizzo da parte dell'utente finale.
    Questo materiale è di proprietà di Pk Lab ed è utilizzabile liberamente a condizione di citarne la fonte.