- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Okos Otthon kezdőknek
- Elektromos rásegítésű kerékpárok
- Szoszo94: Xiaomi Mi Router 3G - Padavanra fel!
- vrob: Az utolsó DOS játékok 1996 - 1997-ben, egy korszak lezárul
- Magga: PLEX: multimédia az egész lakásban
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
Új hozzászólás Aktív témák
-
Szirty
őstag
válasz
horvathcsaba #264 üzenetére
Helló horvathcsaba!
Nos az általad idézett PID controler hívás szerintem a következők miatt nem úgy működik mint ahogy várod:
1.
I_ITL_ON:=TRUE
Ez az integráló tag inicializálását kapcsolja be, és mivel TRUE értéket adtál neki, nálad ez aktív. Az inicializálás azt csinálja, hogy ha az I_ITL_ON:=TRUE, akkor az integráló tagbe beírja az I_ITL_VAL értékét, ami a te hívásodnál 0. Ezzel gyakorlatilag hatástalanítod az integráló tagot, mivel az nem lesz képes kimozdulni 0 értékről (amennyire tudom az I_ITL_ON nem élvezérelt).2.
CYCLE :=T#10S
A nagyobb gond szerintem ezzel lesz. A PID controller hívásának van egy olyan szabálya, hogy konstans időközönként kell meghívni! Tehát nem tehetd bele simán a programban, ahol minden PLC ciklusban lefut, mivel a PLC ciklusok hossza nem konstans. Két kézenfekvő hívási mód kínálkozik:
- Egy élvezérelt cycle memory bittel hívod.
- Cyclic interruptból hívod (pl. OB35)
Mindkét megoldás biztosítja a fenti feltételt. A PID CYCLE paraméterében pedig pontosan ugyanezt az időt kell megadnod amennyi időnként hívod (ms pontossággal). Ebből tudja a PID "belül", hogyan telik az idő, ennek alpján számolja az integrálási és diff időket stb. Ezért ha ez a paraméter nem jól van megadva, akkor a PID rendszerint kiakad vagy nem megfelelően működik.
A dolog folyománya hogy a PID legkisebb reakcióideje a hívási ciklusidőnél semmiképp nem lehet kisebb.
A fenti 10s tehát valószínűleg nem jó, hacsak nem 10 másodpercenként hívod a PID-et.3.
PVPER_ON:=TRUE
Ha a PVPER_ON be van kapcsolva, akkor a PID-nek a mért értéket (process variable) perifériaszó formában adod meg és a PID-re bízod az érték normalizálását (0-100% tartományra konvertálását), amit a PV_FAC mint szorzó és PV_OFF mint eltolás értéke alapján számol ki. Ezek nálad 1 és 0. Tehát ettől működhet ugyan, de a PIW 256-ban 0-100 tartományban kell tartani az értéket. A Step7 alapból feltelepít egy doksit ami angolul ugyan, de elég jól leírja mi merre meddig. Ebben van is egy blokk diagram a PID-ről, ami segít áttekinteni a paramétereket:
Új hozzászólás Aktív témák
- Kuponkunyeráló
- Kettő együtt: Radeon RX 9070 és 9070 XT tesztje
- Mini-ITX
- Milyen széket vegyek?
- Miért álltak az oldalak egy hétig, mi történt?
- PROHARDVER! feedback: bugok, problémák, ötletek
- Vezetékes FEJhallgatók
- Motoros topic
- Hearthstone: Heroes of Warcraft - free online CCG
- Milyen monitort vegyek?
- További aktív témák...
- Dell Precision 7550 15.6 FHD i7-10850H 32GB 1TB nVidia Quadro T2000 workstation tervező
- Samsung 32" M8 4k Smart Monitor!32"/4k/VA/Smart Remote/DEX /Airplay/Type-C/Slimfit Kamera/Beszámítá
- VW/ Skoda fejegység Android 13, 6/64gb eladó
- Lenovo Loq Gaming 15IRX9
- Dell Precision M4700- I7 4. generációs - 16Gb - Nvidia Quadro
- Xiaomi Redmi Note 13 Pro Plusz
- Lenovo ThinkCentre M720q/ Dell OptiPlex 3070/ Hp EliteDesk 800 G4-G5 mini, micro PC-Számla/garancia
- Bomba ár! Microsoft Surface Laptop 4 - i7-11G I 16GB I 256SSD I 15" Touch I Cam I W10 I Garancia!
- LG 55G4 - 55" OLED evo - 4K 144Hz & 0.1ms - MLA Plus - 3000 Nits - NVIDIA G-Sync - FreeSync Premium
- MacBook Pro 13, 14, 15, 16, MacBook Air M1, M2 M3 M4 bill magyarosítás lézerrel / sapkacserével
Állásajánlatok
Cég: FOTC
Város: Budapest