Keresés

Új hozzászólás Aktív témák

  • spkkill

    tag

    válasz aviator #7776 üzenetére

    Szia!
    A legjobban,legegyszerűbben a Tia Portál súgójában van leírva példaprogrammal illusztrálva.
    Single instance:
    Van 1db motorod amit vezérleni szeretnél és szükséged van a vezérléshez statikus változókra. 1FB-1DB
    Multi instance:
    Van 100db motorod amit vezérelni szeretnél,de nem szeretnél 100db DB-t hozzá.100FB-1DB
    Parameter instance:
    A 100db motorod valamilyek statikus változóját kívülről meg akarod változtatni,kiolvasni.
    A Parameter Instance lényege,hogy lehetővé teszi az FB belső változóinak külső feldolgozását egy másik FC vagy FB számára. Ha több multi FB van akkor pedig Array elemekként is hivatkozhatsz rájuk.

  • Szirty

    őstag

    válasz aviator #7669 üzenetére

    Szia aviator!

    "ha a TOF timer Q kimenetét bekötöm pl. egy ÉS kapuba. 300-asnál erre már hibaüzenetet kapok"

    Én nem kaptam:

    Vagy a 300-ast is a TIA-ra értetted?

  • Rigor Mortis

    csendes újonc

    válasz aviator #7672 üzenetére

    Igazán szót sem érdemel!

    „Nem hagyott nyugodni a dolog egyébként még tegnap este, szóval megoldottam a Timer kimenetének közvetlen alkalmazásával, amiről azt hittem hogy nagyon eretnek megoldás, hogy külön network-öt tartok fent egy timernek. Ezek szerint nem az.”

    Nem az. Sőt! Magadtól rátaláltál a helyes irányra.

    Évtizedekig a SIEMENS hivatalos programozási szentenciája a következő volt: „Egy hálózat, egy kimenet.” Aki náluk tanult (jómagam S5-el kezdtem, még valamikor az archaikus időkben 😊 ), eleinte ezt nyomatták neki folyton. Persze a mindennapi gyakorlatban ez az elv sokszor betarthatatlan, illetve nem logikus erőltetni a betartását. De ez nem is törvény, csak iránymutatás. A TIA-ban már nem is ragaszkodnak hozzá annyira.

    Ugyanakkor van némi igazságtartalma is. A hálózatokat (itt network, más PLC-knél ugyanez pl. rung) réges-rég alapvetően azért találták ki, hogy egy esetleges full offline hibakereséskor (értsd: leporellóra nyomtatott, tíz centi vastag programdokumentáció átnyálzása során) könnyebben meg lehessen találni egy-egy változót a mellékelt keresztreferencia táblázat segítségével. De manapság sem szégyen tagoltan programozni, főként a TIA-ban, mivel szerintem elég vacak a keresztreferencia kezelése (legalábbis az elődjéhez képest az). Hibakereséskor nagy könnyebbség lehet, ha kompakt hálózatokba lát bele az ember. Persze elaprózni sem kell túlságosan a dolgokat, csak egészséges mértékben.

    Mit is "beszélek"? Rá fogsz erre érezni idővel! Röviden: csak így tovább!

    Üdv.

  • Rigor Mortis

    csendes újonc

    válasz aviator #7669 üzenetére

    Szervusz aviator!

    Tippjeim: mindkét fajta CPU-t TIA Portal-al programoznád és IEC timereket szeretnél alkalmazni (a TIA ezt kínálja fel alapból).

    Semmit sem csináltál rosszul, csak szembesültél a két CPU sorozat programozása közötti egyik különbséggel! A helyzet az, hogy a két CPU között generációs különbség áll fenn. Az 1500-nál már megoldották az IEC timer Q kimenete utáni logikai kapcsolatok alkalmazhatóságát, a 300-asoknál ez még valamiért ez nem ment. A 300-as széria eredeti programozói környezete, a SIMATIC Manager sem támogatta ezt az eljárást és a TIA sem. Ez egyfajta sajátosság.

    Két útirányt látok számodra a timer-ek jövőbeni alkalmazását illetően 300-as CPU-k esetében. Az első, hogy megpróbálsz együtt élni ezzel a részletproblémával. :D Az IEC timered .Q kimenetét közvetlenül alkalmazod a további logikai hálózatokban, vagy egy tag-et programozol a kimenetre és azt használod.

    Amennyiben a belenyugvó álláspont nem opció, használhatsz például a 300-as CPU-knál S5 Timereket. A 300-as még azokat „eszi” szívesebben, azok kimenetére lehet további logikai hálózatot programozni. Az S5 Timereket a „Instructions/Basic Instructions/Timer operations/Legacy” menüben találod.

    Tudnod kell, hogy az IEC timerekből annyit használsz fel, amennyi belefér a CPU memóriájába (ez roppant sok), és a barátibb „Time” formátumban adható meg az idejük, ugyanakkor instance DB-t igényelnek. Az S5 timerek száma – CPU-tól függően – kötött, és „S5 Time” formátummal (pl. S5T#100ms) kell beállítani a futásidejüket, ami voltaképpen egy speciálisan kódolt BCD szám. Ez, bizonyos esetekben kényelmetlenségek forrása lehet.

    RM.

Új hozzászólás Aktív témák