Compensați pentru timpul mort

Opțiuni teme
Căutați subiect
afişa

Programează în prezent o doză de granule. Pâlnia în care se află granulatul este cântărită. Granulatul este presat într-un extruder printr-un șurub. Deci greutatea se schimbă continuu.
Eu iau greutatea și după 2 minute iau noua greutate. Din diferența, știu cât de mult s-a pierdut în greutate, acest lucru îmi oferă capacitatea de transport [kg/h]
Compar această valoare reală cu debitul țintă și, în consecință, melcul va fi mai lent sau mai rapid.
Deoarece valoarea se schimbă la fiecare 2 minute, am un timp mort de 2 minute.

mort

Ideea mea este să setez componenta I foarte mică, astfel încât să nu fluctueze prea mult la setpoint.

Ai o idee despre cum să compensezi cel mai bine timpul mort?

Spontan aș spune, faceți 2min ---> 10 sec.

Dacă vă înțeleg corect sistemul, aveți un sistem controlat care nu se integrează. Reglementarea unui astfel de traseu are cu siguranță nevoie de o parte I-In.
Pentru a îmbunătăți comportamentul de control, aș încerca să cuplez o componentă controlată proporțională cu valoarea de referință (nu cu abaterea de control!). Dacă factorul acestei cuplări de referință este mai mult sau mai puțin corect, comanda trebuie doar să facă restul și s-a reglat mai repede. Asta te ajută cu o mică parte I.
Salutari
Eric

2 secunde nu este posibil, deoarece greutatea se schimbă foarte lent

@Largo, ai putea să mi-l descrii folosind un exemplu sau să-l explici mai simplu
nu înțeleg exact cum spui asta

Arată ce ai deja.
Mai întâi ar trebui să știu dacă utilizați blocuri de construcție terminate sau ceva ce ați scris dumneavoastră.

Schimbat de LargoD (21.07.2011 la 13:34)

controler, partea i omisă deocamdată
lanț de trepte pentru a determina randamentul

Desigur, am mai multe coduri, dar nu știu ce altceva vrei să vezi

în principiu este un astfel de sistem, dar din păcate nu cu siwarex ftc ci cu siwarex cs.
http://www.youtube.com/watch?v=nzNDeDufzP8

Ai putea de ex. B. puneți un semnal pe intrarea DISV care apare ca

calculat. Apoi opriți comanda și conduceți numai cu această valoare. Apoi te joci cu factorul până când acesta este mai mult sau mai puțin potrivit chiar și fără reglementare. Apoi reporniți controlul și optimizați parametrii de control.

ps. Chemați cu adevărat controlerul la fiecare 100ms, deși valoarea reală se schimbă doar la fiecare două minute?

da la fiecare 100ms
ce ai recomanda?

10 secunde este suficient de rapid,
Dar întrebarea mea nu are nicio legătură cu problema ta. Este doar o pierdere de timp a procesorului, dar cu procesoarele actuale acest lucru nu mai este o problemă.
Mai întâi încercați lucrul cu cuplajul setpoint.
Salutari
Eric

Programează în prezent o doză de granule. Pâlnia în care se află granulatul este cântărită. Granulatul este presat într-un extruder printr-un șurub. Deci greutatea se schimbă continuu.
Eu iau greutatea și după 2 minute iau noua greutate. Din diferența, știu cât de mult s-a pierdut în greutate, acest lucru îmi oferă capacitatea de transport [kg/h]
Compar această valoare reală cu debitul țintă și, în consecință, șurubul devine mai lent sau mai rapid.
Deoarece valoarea se schimbă la fiecare 2 minute, am un timp mort de 2 minute.

Ideea mea este să setez componenta I foarte mică, astfel încât să nu fluctueze prea mult la setpoint.

Ai o idee despre cum să compensezi cel mai bine timpul mort?

Deci regulatorul nu este problema, ci înregistrarea pierderii în greutate. Fără o scară gravimetrică este o lovitură de noroc să începem.
Cu o scară gravimetrică, obțineți debitul automat. Aceste scale funcționează cu filtre și frecvențe de eșantionare la care visează fiecare PLC.

Cum și cu ce se cântărește, de unde obțineți greutatea ?