PLS hELP po dosažení požadované polohy osy sepnout výstup

Uživatelský avatar
packa
Příspěvky: 7048
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

31. 10. 2010, 11:26

to by bylo řešení, ale když to jde na urovni EMC tak se mi do toho echce, avíc by tento signal pausnul G kod A po provedení ukonu py zas kod nahodil a pokračoval

Tímto vyplívá další otazka, jak vytvořit v hal čítač?
Mad_BOXs
Příspěvky: 1420
Registrován: 14. 1. 2008, 4:30
Bydliště: Dvůr Kálové n.Labem

31. 10. 2010, 11:33

A jak potom budeš přenastavovat tu hodnotu toho čítače? Takhle by si to mohla obsluha operativně přenastavovat. Neznám koncepci toho řešní, jestli to je vůbec potřeba, tak potom srry za tuto připomínku.
bednar.dk@seznam.cz
SolidWorks 2011
Zakázková výroba jednoúčelových strojů
konstrukce strojů, automatizace,
http://www.indops.cz" onclick="window.open(this.href);return false;
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22981
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

31. 10. 2010, 11:53

prilis malo informaci

idealni to dat do g kodu ale to ty nechces
je k tomu neaky zavazny duvod proc ne?
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
packa
Příspěvky: 7048
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

31. 10. 2010, 11:57

je to parametr který by se více méně nastavil natvrdo a už se neměnil nebo minimálně, a nechci si tim komplikovat jednoduchost G kodu
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22981
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

31. 10. 2010, 12:02

jezis tak co tu blbnes :D
napis to tam a nevymyslej
jen si pridelavas praci
napis si ten g-kod parametricky jestli tam potrebujes neco menit a mas to cele hotove
v tom halu si jen pridelavas praci a komplikujes zivot
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
Radek-B
Příspěvky: 2137
Registrován: 13. 9. 2006, 11:09
Bydliště: V:Karlovice
Kontaktovat uživatele:

31. 10. 2010, 1:08

Naopak , G kodem by to bylo a je omezene. V prve rade je potreba popremyslet nad halem a dobre ho napsat.

RADEK
modernizace/repase CNC strojů a zařízení
automatizace/konstrukce
Uživatelský avatar
packa
Příspěvky: 7048
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

31. 10. 2010, 1:16

to si taky myslím jen nevím jak tuto funkci uchodit
fupe
Příspěvky: 646
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

1. 11. 2010, 8:42

packa píše:jde mi o to když se ocitne osaX v bodu, treba 250 aby se sepnul vystup
a to v manual i automat modu

třeba použít tento pin v halui
halui .axis.0.pos-relative xxxx
ale nevím jak to dál vyhodnotit?
Co použít v HALu funkci NEAR a následně třeba ONESHOT. Otázkou je jestli potřebuješ aby to spínalo v obou směrech, nebo jenom v jednom atd.
Jestli jenom v jednom, tak by mozna slo pouzit COMP.
Jak píše robocom, malo informací.
Martin
Uživatelský avatar
packa
Příspěvky: 7048
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

1. 11. 2010, 9:35

tyto příkazy halu jsem snad nikde ani nenašel nebyk by odkaz na jejich funkce?
jinak se jedná o průjezd tímto zadaným bodem v jakém koliv směru, při spuštěném programu i v ručním režimu,něco jako by tam byl fizicky spínač.
fupe
Příspěvky: 646
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

1. 11. 2010, 9:42

tak treba tady http://linuxcnc.org/docs/html/
jsou to ty Realtime components and kernel modules. proste s 9 na konci.
Jestli chces zkusim ti to napsat, ale ted musím trochu pracovat, tak snad po obede bnudu mit chvili.
V EMC jde skoro všechno, jenom se to musí "nadrátovat"

Martin
Uživatelský avatar
packa
Příspěvky: 7048
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

1. 11. 2010, 9:46

jo už jsem na to koukal ale moc chitrej z toho nejsem , nějaký věci už jsem si v hal dělal , ale z těch popisu těchto funci moc chitrej nejsem, pokud by jsi nězo skusil napsat byl bych vděčný
ledvinap
Příspěvky: 792
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

1. 11. 2010, 12:18

Podivej se na configs/sim/simulated_home.hal

Je tam reseny homing pro simulovanou masinu, vicemene staci jen vystup komparatoru pripojit na prislusny pin.
fupe
Příspěvky: 646
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

1. 11. 2010, 12:20

Tak jestli ti sta4i přesnost na cca 0.05mm tak tady je řešení.

custom.hal

# Include your customized HAL commands here
# This file will not be overwritten when you run stepconf again

loadrt near count=1
loadrt oneshot count=1

addf near.0 servo-thread
addf oneshot.0 servo-thread

setp near.0.in2 250 # X pozice pro sepnuti v mm 2.vstup
setp near.0.difference .05 # Maximalni povoleny rozdil souradnic
setp oneshot.0.width 0.5 # delka pulzu v sec.

net rel-pos halui.axis.0.pos-relative near.0.in1 # 1. vstup pro porovnani dvou hodnot
net signal near.0.out oneshot.0.in # impuls pro generator pulzu.
net vystup oneshot.0.out parport.0.pin-08-out #kam to ma posilat ten impulz

Problem je v tom, ze halui není RT komponenta. To znamená že se aktualizuje jen jednou za čas. Sice velmi krátký čas, ale přesto se pozice osy mění "skokově" po nejakých setinách mm. Proto je tam ta hodnota difference, která připouští, že obě hodnoty nejsou uplně stejné ale jejich rozdíl je menši než Diff.
Zkoušel sem to na svém EMC a chovalo se to použitelně. Chce to vyzkouset, kam az muzes zmenšit ten Diff aby to ještě spolehlivě zaznamenalo požadovanou pozici na ose. Ale jestli je to navíječka, tak snad těch pár stovek milimetru nevadi. Kdyby ano, dej vědet vymyslime něco jinýho....


Martin
fupe
Příspěvky: 646
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

1. 11. 2010, 1:17

ledvinap píše:Podivej se na configs/sim/simulated_home.hal

Je tam reseny homing pro simulovanou masinu, vicemene staci jen vystup komparatoru pripojit na prislusny pin.
I tak by to šlo, ale musíš použít výstup comp.0.equal na místo comp.0.out , jinak by to spínalo jen v jednom směru. Proto sem se ptal kdy to ma spinat. Pak mě ještě napadlo, že není potřeba používat halui, ale brát pozici třeba z axis.0.motor-pos-fb, což je zpětná vazba o pozici motoru.
Teď mě ale došlo, že tam asi bude posun při houmování a pak by se muselo operovat ještě s motor-offset. Takže beru zpět a použil bych to halui.

Martin
ledvinap
Příspěvky: 792
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

1. 11. 2010, 1:48

fupe píše: I tak by to šlo, ale musíš použít výstup comp.0.equal na místo comp.0.out , jinak by to spínalo jen v jednom směru. Proto sem se ptal kdy to ma spinat.
Otazka je jak se ma vystup chovat. Nestaci, ze se sepne, kdyz je pozice vetsi nez limit? Tam by stacil ten comp. Jinak je spravne near, pak se to bude chovat jako spinac na masine.
Pak mě ještě napadlo, že není potřeba používat halui, ale brát pozici třeba z axis.0.motor-pos-fb, což je zpětná vazba o pozici motoru.
Teď mě ale došlo, že tam asi bude posun při houmování a pak by se muselo operovat ještě s motor-offset. Takže beru zpět a použil bych to halui.
Spravne je pouzit axis.N.joint-pos-fb . Od teto hodnoty jsou jiz odecteny kompenzace a homing (narozdil od axis.N.motor-pos-fb).
Odpovědět

Zpět na „LinuxCNC - drive pod nazvem EMC2“