2014-07-22 12 views
5

posso costruire un PID controller nella libreria Haskell FRP netwire utilizzando loop dall'istanza ArrowLoop previsto Wire s.trasferimento Bumpless in FRP

Posso anche implementare la commutazione tra controller o tra un controller e un ingresso manuale utilizzando switch.

Come posso implementare il trasferimento senza strappi, ad esempio utilizzando la strategia di "tracciamento" spiegata here (o in un numero qualsiasi di articoli/libri di ingegneria di controllo)? Un'altra strategia potrebbe essere accettabile se ha buone prestazioni, ma l'approccio di tracciamento è attraente per la mia applicazione perché si occupa anche di anti-windup.

Ho problemi a strizzare lo schema a blocchi abbastanza forte da far sembrare il tipo di due (o una?) Applicazioni loop.

+1

Quale diagramma? Il diagramma per l'intero impianto o il diagramma per gli interni del controllore PID con tracciabilità? – Cirdec

+0

Quello per la parte interna. In realtà, mi sono accorto che quando sono arrivato più avanti quello per l'intero impianto non è un loop nel mio software perché solo l'impianto lo chiude. Quindi inserisco un rateo di roll e emetto un comando alettone, dal punto di vista del software che non è un loop. È solo il mondo reale/simulatore che fa sì che il comando degli alettoni influenzi la velocità di rollio. –

risposta

2

Ci sono due loop s in ogni diagramma. È utile quando si trovano i loop per ridisegnare i diagrammi in modo che tutti gli input entrino negli stessi lati di tutti gli elementi, tutte le uscite lasciano gli stessi lati e, se possibile, minimizzano gli attraversamenti di linea. In questi diagrammi, gli input entrano nella parte inferiore, sinistra o superiore di un elemento e le uscite vanno a destra.

Il sistema complessivo è un loop, alimentando l'output del processo nel sottrazione per il confronto di errore:

Overall PID process

Il sistema di controllo ha una loop, alimentando l'uscita di controllo finale dopo la selezione del regolatore (il controller PID o il controllo manuale) nel controller PID di tracciamento. L'output complessivo è l'Output all'estrema destra.

Manually overridden PID Controller

Il regolatore PID di monitoraggio ha due loop s. Uno è il ciclo di feedback per la derivata. Lo loop per la derivata potrebbe scomparire all'interno di un altro componente. L'altro loop restituisce l'uscita del controller PID nel confronto tra l'uscita del controller PID e l'uscita di controllo che controlla effettivamente il processo. Si noti che l'ordine del P, D e I rami è diverso in questo diagramma per rimuovere le intersezioni tra le linee

Tracking PID controller

noti che se il controller di inseguimento PID aveva una propria uscita collegata alla traccia, la differenza la prima sottrazione sarebbe 0 e il ramo di integrazione sarebbe invariato con l'aggiunta di 0.

+0

Questa è una grande spiegazione, grazie mille! Come hai realizzato questi diagrammi? Anche a cosa serve il guadagno 'N'? –

+1

Ho usato Dia per creare i diagrammi. Il guadagno 'N' è parte della derivata. Il coefficiente di filtro 'N' cambia dove la posizione dei poli del filtro si trova nel design di Simulink per un controller PID, a cui si fa riferimento. http://www.mathworks.com/help/simulink/slref/pidcontroller.html # br9ejg0-18 Ci sono altri design per un controller PID. Poiché tutto è un'operazione lineare, i guadagni possono essere posizionati dopo le operazioni di integrazione e differenziazione e qualsiasi filtro passa-basso può essere utilizzato tra la derivata e la somma finale. Il triangolo con un rettangolo alla sua sinistra è integrazione. – Cirdec

+1

Ecco un altro disegno, con differenziazione completamente separata dal filtro. http://www.embedded.com/design/real-time-and-performance/4007575/The-basics-of-control-system-design-Part-5--Tuning-a-PID-Controller. In questo progetto, il feedback della traccia dovrebbe essere inserito nella somma sul ramo integrale, dopo essere stato ridimensionato da un coefficiente di input di tracking aggiuntivo di '1/Ki' o' 1/(Ki * Kp) 'a seconda di dove' Il guadagno di Kp' si trova. – Cirdec