LinuxCNC ver 2.7.xx
Název tématu asi vystihuje celý dotaz.
Lze to snadno vyzkoušet - při běhu programu (doporučuji bez nástroje) prostě vypněte vřeteno - proud do měniče či jen prostě tlačítkem na měniči. Je divný že ačkoli při rozjezdu vřetena program čeká na dosažení otáček, při běhu už stav otáček nekontroluje a s bohorovným klidem přerazí nůž.
Už se s tím někdo setkal? Dělá to i u vyšších verzí?
Při chybě vřetena se LinuxCNC nezastaví
Je to obyčejný huangyang čínský měnič s obyčejným čínským 2.2kw vodníkem, zcela prostě zapojeno přes RS485 rozhraní toho měniče a zcela prostě řečeno linuxu aby to ovládal. Nic víc se v halu neřešilo.
Je zvláštní, že při náběhu si hlídá dosažení otáček a program nepokračuje, ale jak jich dosáhne, tak už to nehlídá, i když signál spindle-at-speed zhasne. Na fórech jsem našel jen poznámku, či spíše odpověď na podobný problém, zřejmě od jednoho z autorů linuxcnc, že si toho nevšiml, že je to dobrý postřeh a že se na to hned večer podívá a chybu opraví.
Jenže to psal v roce 2017.
Dál to pak různě řešili všelijak přes hal piny, ale očividně se nedobrali k nic moc řešení, nebo to bylo řešení pro jejich konkrétní stroj s jejich extra vstupy výstupy.
Je poměrně komplikované to vyřešit - měnič totiž při zastavení hlási že - logicky - vřeteno nemá otáčky. Připojit tak spindle-at-speed na skoro cokoli nefunguje, pač pak ani nespustím program - zastaví ho dřív než přijde instrukce roztoč vřeteno.
Myslím že by bylo záhodno to nějak vyřešit - chyba na měniči se stát může, výsledkem pak bude zbytečně přeraženej nástroj a zničený materiál, jen proto, že linux - i když ví že otáčky nemá - prostě nezastaví.
Je zvláštní, že při náběhu si hlídá dosažení otáček a program nepokračuje, ale jak jich dosáhne, tak už to nehlídá, i když signál spindle-at-speed zhasne. Na fórech jsem našel jen poznámku, či spíše odpověď na podobný problém, zřejmě od jednoho z autorů linuxcnc, že si toho nevšiml, že je to dobrý postřeh a že se na to hned večer podívá a chybu opraví.
Jenže to psal v roce 2017.
Dál to pak různě řešili všelijak přes hal piny, ale očividně se nedobrali k nic moc řešení, nebo to bylo řešení pro jejich konkrétní stroj s jejich extra vstupy výstupy.
Je poměrně komplikované to vyřešit - měnič totiž při zastavení hlási že - logicky - vřeteno nemá otáčky. Připojit tak spindle-at-speed na skoro cokoli nefunguje, pač pak ani nespustím program - zastaví ho dřív než přijde instrukce roztoč vřeteno.
Myslím že by bylo záhodno to nějak vyřešit - chyba na měniči se stát může, výsledkem pak bude zbytečně přeraženej nástroj a zničený materiál, jen proto, že linux - i když ví že otáčky nemá - prostě nezastaví.
Ten blbec, kterej to vyrobil, pač mu zapoměli říct že to nejde vyrobit
- robokop
- Site Admin
- Příspěvky: 22399
- Registrován: 10. 7. 2006, 12:12
- Bydliště: Praha
- Kontaktovat uživatele:
To chovani je pokud vim zcela v souladu s filozofii. Jestlize roztacis vreteno ceka se na nabeznou hranu spindle on speed. Nevim jak je to s prubeznym testovanim toho signalu. Rozhodne ale ani otacky z encoderu ani spindle on speed neslouzi ke kontrole chyboveho stavu menice. Paklize z nejakeho duvodu nechces pouzit standardni signal menic pripraven tak muzes pouzit treba i ty otacky ale jak ten standardni postup tak i ten prez otacky musis doresit rucne v halu. Cela bezpecnost a vzajemne blokace se definuji u kazdeho stroje jinak takze to neni predem hotovo protoze to neni znamo.
Vsechna prava na chyby vyhrazena (E)
Tak jsem to vyřešil.
!<spindle-at-speed> AND <on> a výsledek jsem připojil na <motion.feed-hold>
Pokud dojde k poklesu otáček, za předpokladu že je vřeteno zapnuto, přeruší se vykonávání programu. Ne zastaví, ani pauzne, prostě jen počká dokud to zas nebude v pořádku.
Je divný že je interně pevně implementováno čekání na dosažení otáček, ale že se to už dál nehlídá je divný. Kdyby to bylo na mašinách různý, tak by bylo různý i to čekání na otáčky, ne?
!<spindle-at-speed> AND <on> a výsledek jsem připojil na <motion.feed-hold>
Pokud dojde k poklesu otáček, za předpokladu že je vřeteno zapnuto, přeruší se vykonávání programu. Ne zastaví, ani pauzne, prostě jen počká dokud to zas nebude v pořádku.
Je divný že je interně pevně implementováno čekání na dosažení otáček, ale že se to už dál nehlídá je divný. Kdyby to bylo na mašinách různý, tak by bylo různý i to čekání na otáčky, ne?
Ten blbec, kterej to vyrobil, pač mu zapoměli říct že to nejde vyrobit
- robokop
- Site Admin
- Příspěvky: 22399
- Registrován: 10. 7. 2006, 12:12
- Bydliště: Praha
- Kontaktovat uživatele:
jsou masinky ktere vubec nedisponuji signalem spindle on speed
jsou masiny ktere nemaji zadne vreteno
proste je to mega univerzalni, tim padem musis nektere veci dodelavat
jsou masiny ktere nemaji zadne vreteno
proste je to mega univerzalni, tim padem musis nektere veci dodelavat
Pipik píše: ↑22. 12. 2021, 9:56 Tak jsem to vyřešil.
!<spindle-at-speed> AND <on> a výsledek jsem připojil na <motion.feed-hold>
Pokud dojde k poklesu otáček, za předpokladu že je vřeteno zapnuto, přeruší se vykonávání programu. Ne zastaví, ani pauzne, prostě jen počká dokud to zas nebude v pořádku.
Je divný že je interně pevně implementováno čekání na dosažení otáček, ale že se to už dál nehlídá je divný. Kdyby to bylo na mašinách různý, tak by bylo různý i to čekání na otáčky, ne?
Vsechna prava na chyby vyhrazena (E)
No vidis. Ani to nebolelo vyresit tento stav. Tady souhlasím s robokopem. Je to daň za univerzalnost systému. Nekteré drivery mají hromady výstupů. Ready, Ramp, OK, Error, Dosažení otáček ... a každý z nich má trochu jiný význam. Mohou existovat drivery, které hlídají zda jsou OK. Ovšem stav OK může znamenat, že se v pořádku roztáčí. Proto je tak potřebný spindle-at-speed, který čeká až na dosažení požadovaných otáček.
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
- robokop
- Site Admin
- Příspěvky: 22399
- Registrován: 10. 7. 2006, 12:12
- Bydliště: Praha
- Kontaktovat uživatele:
Mnohdy to driver neumi a musis porovnat zadane otacky a skutecne z encoderu a s urcitym povolenym rozkmitem je porovnat a vyhodnotit zda je uz roztoceno a zda je to vzhledem k provozu ok. A to je rada komponent za sebou kterou musis napsat do halu.
Vsechna prava na chyby vyhrazena (E)