Új hozzászólás Aktív témák
-
Szirty
őstag
Helló And!
Természetesen lerakhatsz akármennyi FB41 blokkot (pontosabban amennyit a ciklus idő és a memória elbír, én raktam már le 40-et,. működött mind).
Nagyon fontos, hogy mindegyiknek saját instance DB-je kell hogy legyen. Ha leraksz egy újat annak már nem lehet DB41 a munkaterülete, különben a két azonos DB-t használó PID egymásnak bekavar (hibásan fognak működni).Hogy miért nem engedi létrehozni azt nem tudom, a körülményeket részletezd lehetőleg pontosan. hogyan csinálod, milyen DB blokkok léteznek már, milyen számot adsz a DB-nek, milyen hibaüzenet keletkezik, stb, stb. Ennek így működnie kell. Sőt, igazából csak így képes a működésre :-)
Természetesen az FB41-et bármelyik ciklikusan végrehajtódó program blokkból (OB, FB,FC) lehet hívni.
A szabály mindösszesen annyi, hogy:
1. A hívása pontosan azonos időközönként történjen
2. Meg kell adni neki paraméterben ezt az időt.Ha bármelyik feltétel nem teljesül a fentiek közül, akkor a PID idővel kapcsolatos paraméterei nem lesznek pontosak (pl. integrálási idő). Ha csak a P tag van felhasználva akkor valószínűleg nem jelentkezik ilyen hiba (mert ahhoz nem tartozik idővel kapcsolatos paraméter), Ha hívási ciklusidő nem nagyon ingadozik és kevéssé tér el a megadottól, akkor az időzítési kevésbé lesz bizonytalan.
OB1-ből vagy egyéb blokkból hívott FB41-nél is biztosítható a pontos ciklusonkénti hívás a blokk EN "bemenete" előtt megadott megfelelő feltétellel. (pl 1 mp-es impulzus sorozat).
Ez általában csak hosszabb hívási ciklusok használata mellett javasol, mert pl. pontos 100ms nem biztosítható ilyen módon mondjuk egy 10-20ms-es PLC ciklus idő mellett, de 1s már kellően pontos lehet.[ Szerkesztve ]