- Kompakt vízhűtés
- TCL LCD és LED TV-k
- Milyen TV-t vegyek?
- Szabadon fejlesztheti az OLED tévébe szánt paneljeit a Loewe
- Audiokultúra - Hi-Fi-ről hifisen
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Hisense LCD és LED TV-k
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Milyen billentyűzetet vegyek?
- SSD kibeszélő
Hirdetés
-
Megvásárolható a legolcsóbb kagylótelefon
ma A Blackview elérhető áron kínál összecsukható képernyős élményt, három Android főverzió támogatással.
-
Újabb országba vihet akkumulátorgyárat Elon Musk
it Miközben Kínában adatközpontot építhet Elon Musk és a Tesla, addig Indonézia kapcsán akkumulátorgyár felépítését fontolgatják.
-
Még idén hozza a Lunar és Arrow Lake-et az Intel
ph A vállalat az év második felében lőné el a puskaporát.
Új hozzászólás Aktív témák
-
Szirty
őstag
válasz Mazsika #4883 üzenetére
Üdv Mazsika!
Nem írtad le konkrétan melyik PID szabályzót használod (van ám sok), de ha jól értem akkor a standard PID controllerek közül a FB41 “CONT_C”-t.
Erre fog vonatkozni a válaszom is. Ha nem ezt a PID controllert használod, akkor így járás, de utálok fölöslegesen irkálni.A szabályzó újraindítására a COM_RST (complete restart) paraméter szolgál. Ha ez TRUE értékű. Ez mindössze annyit csinál, hogy a belső változók és kimenő paraméterek értékét visszaállítja alapértékre.
Hogy melyiknek mi az alap értéke az kiderül az FB41 instance DB-jéből. Megnyitod és megnézed mi van a DB "Initial value" oszlopban. Erre áll be. A COM_RST nem élvezérelt, az init value mindaddig benne lesz a változókban amíg állapota TRUE. Természetesen amint FALSE lesz, az összes olyan változó aminek a programban értéket adsz azonnal felülíródik!!!Erre írok egy példát.
Ha a beállított értéked 20 (SP_INT) a mért értéked pedig 50 (PV_IN) és az integráló tag be van kapcsolva (P_SEL=TRUE) az erősítés 1 (GAIN) akkor lesz egy -30-as hibajeled és természetesen egy ezzel azonos beavatkozó értéked (LMN).
Ha most a COM_RST taposod (TRUE) akkor minden nulla lesz amíg ez TRUE, de abban a pillanatban ahogy felengeded (FALSE) minden azonnal visszaáll a fenti értékekre, mert kívülről (az FB41 paramétereivel) azonnal felülíródik. Tehát ez teljesen természetes, más nem is történhet, ezen nem kell csodálkozni!
Ami nem íródik felül azonnal az az integráló tag aktuális értéke, ami szintén 0 lesz egy COM_RST alatt. Hiszen üzem közben az LMN_I szépen ballag lefele a padlóig, vagy felfele a plafonig a hibajel és az integrálási idő által meghatározott mértékben, vagy beáll valahova. A COM_RST hatására nulláról újrakezdi ezt a "ballagást". Ez persze nagyon gyors is lehet rövid integrálási idő beállítása mellett vagy extrém hibajel esetén. Az integráló tag egyébként külön is alaphelyzetbe állítható az I_ITLVAL=0 és I_ITL_ON=TRUE állapottal.A legjobban úgy lehet tetten érni hogy a szabályzód miért akad ki, ha figyeled a hibajelet, és a 3 beavatkozó értéket (LMN_P. LMN_I ás LMN_D). Azonnal látni fogod melyik tag viszi el a beavatkozó értéket.
Egyébként PID élesztést lépésenként érdemes csinálni. ELőször kis GAIN (akár 0-val kezdve) és csak a P tag legyen bekapcsolva, az I lés D kikapcsolva!Van pár alapszabály a PID blokk paraméterezését és használatát illetően. Pl. hogy az értékeket normalizálni kell (vagy legalábbis célszerű) kézenfekvően %-ra.
Nagyon sok helyen elbukhat a dolog kezdve azzal, hogy pl. bekapcsolod a PVPER_ON-t, de a PV_IN-en eteted nem a PV_PER-en keresztül. EZ nagyon ostoba hiba szokott lenni.
Vagy a PV_PER-en eteted, de rosszul (vagy sehogy) van megadva a normalizáláshoz szükséges PV_FAC, PV_OFF értéke. Ha már a hibajel kiakad valamelyik végtelenbe (+ vagy -), akkor bizony itt van a baj!Ráadásul a PID blokkot nem, tudom hogyan hívtad meg, de ha P vagy D tagot is használod benne, akkor nagyon fontos hogy pontos időközönként legyen meghívva és ezt az időközt pontosan közölni kell vele a CYCLE paraméterben. ha ezek közül egyik feltétel sem teljesül, akkor a D és az I tag hülyeséget fog csinálni, mert a blokknak fogalma sem lesz arról mennyi idő telt el az előző lefutása óta.
[ Szerkesztve ]
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Ozeki Kft.
Város: Debrecen