- Google Pixel Watch 4 – Hé, Google, mennyi az idő?
- Xiaomi 17 - még mindig tart
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Fotók, videók mobillal
- Xiaomi 17 Ultra - jó az optikája
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Android alkalmazások - szoftver kibeszélő topik
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Xiaomi 15T Pro - a téma nincs lezárva
- OnePlus 15 - van plusz energia
Ú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
- Google Pixel Watch 4 – Hé, Google, mennyi az idő?
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Autós topik
- Gaming notebook topik
- Brogyi: CTEK akkumulátor töltő és másolatai
- Fejhallgató erősítő és DAC topik
- Xiaomi 17 - még mindig tart
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Samsung Galaxy Felhasználók OFF topicja
- További aktív témák...
- Lenovo X1 Carbon 13,3" - i5 7300U, 8GB RAM, SSD, jó akku - számla, 6 hó gar
- Laptop felvásárlás , egy darab, több darab, új , használt ! Korrekt áron !
- Lenovo ThinkPad T15 Gen 2 i5-1135G7 16GB Ram 256 GB SSD FHD IPS Garancia
- AKCIÓ! Dell Vostro 15 3590 FHD notebook - i5 10210U 8GB DDR4 250GB SSD Intel UHD W11
- AKCIÓ! ASUS ROG Strix GeForce RTX 4090 White OC 24GB videokártya garanciával hibátlan működésse
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

