Hirdetés

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

  • Dezsi82

    tag

    válasz RochaShade #4848 üzenetére

    Üdv!
    "beírod a megfelelő területre a célpozíciót" mi takar a megfelelő terület?
    A lényeget Szirty elmondta, én most kiegészítem néhány számmal.
    Ha például a CX Motionben beállítod a W0-t, mint output area kezdő cím, akkor a doksi 187. oldala alapján a célpozíció az a+2, vagyis W2 lesz (32 bit). Azt hogy, ezt hogyan értelmezi a rendszer (impulzus, kontrol impulzus, vagy mm) azt a beállítás alapján dönti el. Itt a kérdés az, hogy mennyire szeretnél számolni a PLC programban, vagy mennyire inkább a szervó paraméterben állítgatsz. Tehát te számolod ki, hogy egy mm hány impulzus, vagy rábízod a szervóra Én inkább saját magam kiszámoltam egy egyszerű szorzással, neked is ezt javaslom. Ez a mm-re állás, úgy gondolom inkább komolyabb gépeknél lehet érdekes, ahol még lineáris interpolációra van szükség.
    Jól sejtem hogy a cx motionban csak hozzá rendelek hajtásvezérlőket amiknek ott csak a beállításait tudom el végezni, ami akkor fog lenne kapcsolva a cx programmerhez ha össze is raknám?
    A szervó nem kapcsolódik a CX-programmerhez. Egyrészt beállítod a mozgásvezérlőt, hogy milyen szervókkal kommunikáljon, másrészt a PLC felé milyen belső címeken kommunikál. Azt, hogy hol van ez a terület, te döntöd el, de az adatok tartalmát, sorrendjét már nem. Annyi a feladatod a CX programmerben, hogy leprogramozod, hogy melyik memóriaterületre mikor mi kerüljön. A szervó paramétereket a CX-Motionnel tudod feltölteni, és nem a PLCre, nem a szervóra, hanem a hajtásvezérlőre(NCF271). Csak annyit jelznék még, hogy én CX Motion NCF-et használtam. Nem tudom mi a különbség, de CX Motionből van egy pár.
    a példaprogram alapján abból amit küldtél (441.old) minden mozgáshoz pozicionálásához hasonló létradiagram lesz?
    A 441. oldalon egy mozgási utasítás kiadás látható. Az, hogy hova mozogjon, itt nincs leprogramozva. És az sincs, hogy mi a mozgás feltétele, ezt egy "Positioning execution condition" NO kontakttal jelölik. Hogy minden mozgáshoz megcsinálod-e ugyanezt a létrát, az már a te döntésed, mint programozónak, attól függően, hogy milyen vezérlési struktúrát használsz. Bemásolhatod többször ugyanezt a létradiagrammot, de akkor STEP vagy Interlock utasításokkal kell operálnod, vagy esetleg külön taszkokkal.
    Én nem így csinálnám, hanem csinálnék egy lépésvezérlést, mondjuk
    az első lépésben elindítanék egy abszolút mozgást:
    - CIO 2-be beírnám a címet (állítható 0-5 mm-nek megfelelő impulzus)
    - H1.0-t igazba állítom
    - W0.0-t igazba állítom (a "Positioning execution condition"-t elneveztem W0.0-nak)
    Akkor lépek a következőbe, ha 1000.5 igaz
    Aztán a következő lépésekben történik, ami kell, munkahengerek, stb
    Amikor megint mozogni kell, akkor
    - CIO 2-be beírnám a címet (-5 mm-nek megfelelő impulzus)
    - H1.0-t hamisba állítom
    - W0.0-t igazba állítom
    Akkor lépek a következőbe, ha 1000.5 igaz

    Még egy gondolat, ami most jutott eszembe: Abszolút mozgáshoz kell egy nulla pont is, tehát referenciára is kell járatni a szervódat, csak így fogja elfogadni a mozgás parancsot.

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