ATC pro Mikron UME 600

Uživatelský avatar
Juro
Příspěvky: 1612
Registrován: 19. 3. 2007, 12:14
Bydliště: Kamanová (Topoľčany)

6. 9. 2019, 9:01

Presne tak. Este rozlisujeme aj parameter L1-4 kde napr M66 P0 L3 Q10 caka na signal "high" cize zapnutie pri M66 P0 L4 Q10 caka na signal "low" cize vypnutie. Toto sa pise v gkode.
My si budeme robit Mkody.

K veci. Tvoj karusel ma otacanie ako OS alebo obyc. jednosmerny motor s cidlami na kazdy nastroj?
rocnik 1976 -stolár, trosicka uz aj strojar.
lukin1156
Příspěvky: 579
Registrován: 7. 11. 2012, 8:42

6. 9. 2019, 9:30

Stejnosměrný motor pro otáčení a snímač pro polohu.
Je to připojené na konci Mikron.hal
Akorát je to celé zakomentované.
Mám tam i nastavené ovládání toho motorku a koncáků pro kolotoč.
Zítra ještě pozkouším piny. Ale vím že když jsem v halu napsal setp carousel.1.pocket-number=5 tak se kolotoč po zapnutí linuxcnc zreferoval a pak se natočil na tu pátou polohu.

Přikládám fotky pro představu.
Jako první co by jsme měli řešit (dle mého :D ) otevření dveří.
Je to vlastně jeden výstup a až dojedou dveře na polohu tak sepnou koncák a ten odstaví hydraulický ventil pro otevření dveří (dveře zůstanou držet).

Obrázek Obrázek
SN320,SUI 32 CNC,Maho 700 CNC, Mikron UME 600, Boley BKN 100C, Brother TC 201
Uživatelský avatar
Juro
Příspěvky: 1612
Registrován: 19. 3. 2007, 12:14
Bydliště: Kamanová (Topoľčany)

7. 9. 2019, 8:19

Ak to vsetko povolis, myslim to zakrizikovane, tak to funguje ako?
Vidim ze mas vsetky piny nalinkovane, ruku, dvierka, kolotoc atd. Je to nedokoncene? Lebo mas to pekne spracovane aj tie pythony door a lube.
Pravdepodobne sa budes musiet rozhodnut ci cestou halu alebo g kodu , alebo oboje.
Ten moj navod , ako pises si rozchodil. Vypne vreteno, vodu a posunie sa zetko.
Tak potom budeme musiet rozpisat ten program "vymena" a spravit par Mkodov.
Musis spojazdnit ten karusel ako bol povodne a do konfiguracie podoplnat zopar mojich riadkov .
Vyskusaj ten karusel rozchodit povodne a posli funkcnu konfiguraciu.
Naposledy upravil(a) Juro dne 7. 9. 2019, 8:50, celkem upraveno 1 x.
rocnik 1976 -stolár, trosicka uz aj strojar.
lukin1156
Příspěvky: 579
Registrován: 7. 11. 2012, 8:42

7. 9. 2019, 8:50

Soubor doors vytvořil programátor ale nevím jestli to dotáhnul do konce, to byla poslední věc co dělal.
Nalinkované je akorát to co ovládá karusel. Ta komponenta je vyloženě ovládání otáčení toho karuselu. K ruce není vůbec nic.
Když odkřížkuju ten carusel tak se po zapnutí zreferuje.
Potom mu řeknu pomocí toho pinu na jakou polohu ho chci natočit a až tam dojede tak vydá signál že stojí na požadované poloze. Toť vše, ještě dnes natočím video.
Myslím že v G kodu by to bylo jednodušší, ale je mi to asi docela jedno.
SN320,SUI 32 CNC,Maho 700 CNC, Mikron UME 600, Boley BKN 100C, Brother TC 201
Uživatelský avatar
Juro
Příspěvky: 1612
Registrován: 19. 3. 2007, 12:14
Bydliště: Kamanová (Topoľčany)

7. 9. 2019, 11:50

Ved to je parada. Urob to tak.
Potom doplnis do .ini ten moj riadok REMAP M6, pythony tam uz mas, vytvoris zlozku Mcodes,
a na ten tvoj prikaz urobis Mkod napr M101 (bash) v ktorom bude aj tento riadok: halcmd setp carousel.1.pocket-number=5(nezabudni povolit prava)
V kode "vymena" po urcitych pohyboch ktore musis napisat ty, napis nieco ako

o201 if [#<_current_tool> EQ 1]
M101
o201 endif

o201 if [#<_current_tool> EQ 2]
M102
o201 endif

a samozrejme este vela ineho ako napr. odlozit nastroj. Priklady, ako to mam ja, mas na zaciatku vlakna v modrom, ibaze namiesto M kodov v "bash!" volam podprogramy ktore su remapovane. To ma vyhodu ze mozes v nich pisat vlastny gkod a nemusis ovladat ine prog jazyky a mozes robit vyvolanim toho podprogramu aj rozne pohyby masinou, volat aj nase Mkody a pises si tam hlasky a rozne podmienky.
Uz ti to je dufam jasne.
Přílohy
M101.rar
(162 bajtů) Staženo 85 x
rocnik 1976 -stolár, trosicka uz aj strojar.
Uživatelský avatar
Juro
Příspěvky: 1612
Registrován: 19. 3. 2007, 12:14
Bydliště: Kamanová (Topoľčany)

7. 9. 2019, 1:09

este musis vediet a rozlisovat nasledovne:

toto:
net P3 <= hm2_7i76e.0.7i76.0.0.input-18
net P3 => motion.digital-in-03

je to iste ako:
net P3 => motion.digital-in-03 <= hm2_7i76e.0.7i76.0.0.input-18

alebo aj:
net P3 motion.digital-in-03 hm2_7i76e.0.7i76.0.0.input-18

rozlisujeme a vieme ze:

#<_ini[change_position]x> ;tahame nejaku informaciu zo suboru .ini v sekcii [change_position] ktoru si mozeme sami vytvorit.
[change_position]
x = 300

#<_current_pocket> ; aktualny paket (vydlicka kde sa zasuva drziak nastroja)
#<_current_tool> ; aktualny nastroj
#<_selected_tool> ;vybrany nastroj
#<_selected_pocket> ;vybrany paket
[#<_current_pocket> GT 0] ; ak aktualny paket je vacsi ako 0

EQ je rovne
NE nie je rovne
GT vacsie
GE rovne a vacsie
LT mensie
LE rovne a mensie

ak napiseme do oblych zatvoriek:
(abort, MAM TOHO DOST) ; program sa zastavi, vypne vsetky piny, vypne vreteno, chladenie atd..
(msg, toto je sprava)
(debug, toto je sprava)
(print, bla bla )
(axis, stop)
atd.

V tvojom konfiguracnom subore je adresar " linuxcnc.var". Tu sa aktualne menia jeho parametre podla behu programu a moze sa do nej zapisovat .
Napriklad:
o100 if [#<_current_pocket> NE #<_selected_pocket>] ;ak aktualny paket je rovny vyberu paketu
#1200 = 1 ;prepise premennu na 1 a tuto premennu s informaciou 1 mozeme pouzivat dalej
o100 endif

G1 Z[50+#5223] f500 ;zetko pojde do suradnice 50mm plus dlzka aktualneho nastroja
Naposledy upravil(a) Juro dne 16. 9. 2019, 6:59, celkem upraveno 1 x.
rocnik 1976 -stolár, trosicka uz aj strojar.
lukin1156
Příspěvky: 579
Registrován: 7. 11. 2012, 8:42

8. 9. 2019, 10:04

Tak další ¨pokrok"
https://www.youtube.com/watch?v=GAGjI89v-Sc
Oblokoval jsem ten kolotoč, nyní když zadám do MDI T něco tak mi to natočí kolotoč. Při TxM6 to natočí kolotoč na požadovaný nástroj a najede to na polohu pro výměnu. Potom to zůstává zaseklé protože to tu výměnu jakoby nedokončí, ale to je předpokládám normální.
Je to hlavně tím že to je nalinkované na ovládání toho kolotoče.
Pak jsem zkoušel vytvoření toho vlastního Mkodu.
Do Mikron.ini jsem přidal REMAP M101 modal group=6 ngc=m101.ngc
Pak jsem ve složce mcodes založil soubor m101.ngc
Tam ale nevím co mám zapsat :(
Potřebuju sepnout výstup hm2_5i25.0.7i77.0.0.output-02.
Napsal jsem do souboru m101.ngc:
#!/bin/bash
axis-remote -m "om101 call"
halcmd setp hm2_5i25.0.7i77.0.0.output-02. TRUE
exit 0
Ale to nefungovalo a tuším že dělám něco dost špatně.
Můj plán je asi takový:
Remapovat Mž pomocí G kodu:
Tx mi natočí kolotoč na nový nástroj.
Během jetí na polohu potřebuju sepnout další 2 výstupy- zapolohování vřetene, zapnutí stykače hydrauliky. Tohle je bez zpětné vazby.
Potom je tam otevření dveří. To už právě potřebuji sepnout výstup a po dojetí na koncák pístnice ho zase vypnout. To mě napadlo že bych mohl udělat jenom v Halu pomocí or.

Tuším kterým směrem mě směřuješ s tím polohováním, ale myslím že tohle by se mohlo dát ovládat i přímo z toho Tx.
Nebude to se mnou tak jednoduché :(
SN320,SUI 32 CNC,Maho 700 CNC, Mikron UME 600, Boley BKN 100C, Brother TC 201
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22386
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

9. 9. 2019, 4:02

V NGC muzes psat pouze g kod
Je nekolik kodu ktere umoznuji manipulaci s io piny viz reference k g kodu.
Pak je v halu musis nalinkovat na patricne komponenty.
Vsechno tohle je v dokumentaci prehledne napsane.

v tech vzorovych souborech odemne to mas vsechno napsane
melo by byt zrejme kterym prikazem v tom NGC aktivujes jaky pin a v halu pak kam ktery pin vede
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
Juro
Příspěvky: 1612
Registrován: 19. 3. 2007, 12:14
Bydliště: Kamanová (Topoľčany)

9. 9. 2019, 7:41

lukin1156 píše: 8. 9. 2019, 10:04
#!/bin/bash
axis-remote -m "om101 call"
halcmd setp hm2_5i25.0.7i77.0.0.output-02. TRUE
exit 0
Toto nemozes napisat do .ngc kodu. (ako pisal Robokop)
V spakovanom subore M101.rar som ti poslal spustitelny subor.
Ten si rozbal do zlozky Mcodes v tvojej konfiguracii. (predpokladam ze si nalinkoval v ini subere tie cesty a tuto samotnu zlozku si si tam vytvoril). Potom si otvor tento spustitelny subor v textovom editore a uprav.
Nezabudni ze:
Tento spustitelny subor nemoze mat ziadnu koncovku.
Musis povolit vo vlastnostiach tohoto suboru spustenie.
Pin v tomto subore nesmie byt nalinkovany v tvojom hale.(chybu nevyhodi ale bude robit mrtveho chrobaka)

Vyskusaj si potom funkcnost v karte MDI => M101 => enter
Tento Mkod mozes pouzivat v .ngc subore.
Potom si vytvor dalsi Mkod ktory ti tento pin vypne.
rocnik 1976 -stolár, trosicka uz aj strojar.
lukin1156
Příspěvky: 579
Registrován: 7. 11. 2012, 8:42

9. 9. 2019, 9:17

To bude ono! Já jsem právě nevěděl jakou to má mít koncovku :/
Dokážu taky nějak vytvořit externí vstup (např z koncáku) a přivést ho až do toho G kodu ?
SN320,SUI 32 CNC,Maho 700 CNC, Mikron UME 600, Boley BKN 100C, Brother TC 201
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22386
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

9. 9. 2019, 9:56

Pro spojeni g kodu a halu mas

M62 Turn on digital output synchronized with motion
M63 Turn off digital output synchronized with motion
M64 Turn on digital output immediately
M65 Turn off digital output immediately

Ty prikazy ti primo z g kodu ovladaji piny v halu
motion.digital-in-00 (bit, in) These pins (00, 01, 02, 03 or more if configured) are controlled by M62-65

Detaily si najdi v dokumentaci

Ty piny v halu pak normalne napojis na mesu kde mas relatka ventily koncaky
A v ngc souboru si napises potrebne sekvence cekani atd..
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
Juro
Příspěvky: 1612
Registrován: 19. 3. 2007, 12:14
Bydliště: Kamanová (Topoľčany)

9. 9. 2019, 10:12

(Medzicasom ako som pisal tento prispevok tak robokop ma obehol.)
Presne ako pise robokop po cesky. :)
Ja som si to dovolil prelozit do slovenciny :lol:

V HALe napises napr. toto
net mojpin_valec1 <= hm2_7i76e.0.7i76.0.0.input-18
net mojpin_valec1 => motion.digital-in-03

Do karty privedies na vstup c. 18 signal ktory potrebujes.

V gkode .ngc uz budes cakat na tento vstup nasledovne:
(moje odlozenie do zasobnika v racku)


o<un2> sub
;zasobnik c. 2
M5
G0 G53 Z0
G53 G0 X3583 Y[-217+[111.5*1]] A0
M10 ;zasunie kos

M66 P3 L3 Q8
;caka na signal od koncaku na pneu. valci (signal HIGH) na dig. vstupe c. 3 ktory je za pomoci HALu prepojeny na kartu 7i76E so vstupom c. 18. Ale pozor, bude cakat Q8= osem sekund a potom bude po osmych sekundach pokracovat dalej v gkode.

G53 G0 Z-361 ;uroven zasobnika
G53 G0 X3460 ;zasunutie do zasobnika
M20 ;uvolni nastroj
M66 P1 L3 Q3 ;caka na uspesne uvolnenie nastroja (signal HIGH)
G0 G53 Z-250
o<un2> endsub
M2


To iste ibaze sme to trochu osetrili:


o<un2> sub
;zasobnik c. 2
M5
G0 G53 Z0
G53 G0 X3583 Y[-217+[111.5*1]] A0
M10 ;zasunie kos

M66 P3 L3 Q8
o121 if [#5399 LT 0]
(abort, CHYBA PNEU. VALCA)
o121 endif

;caka na signal od koncaku na pneu. valci (signal HIGH) na dig. vstupe c. 3 ktory je za pomoci HALu prepojeny na kartu 7i76E so vstupom c. 18. Ale teraz uz nebude pokracovat. Ak nedostane signal HIGH do 8 sek. tak stroj zastavi a vyhodi hlasku "CHYBA PNEU. VALCA"
Tato premenna #5399 , ako som uz pisal vyzsie je v subre linuxcnc.var. Je to vysledok hocijakeho vstupu , ktory ja momentalne v poradi v kode. Ta sa meni podla toho ci vstup je pravdivy alebo nie.

G53 G0 Z-361 ;uroven zasobnika
G53 G0 X3460 ;zasunutie do zasobnika
M20 ;uvolni nastroj
M66 P1 L3 Q3 ;caka na uspesne uvolnenie nastroja (signal HIGH)
G0 G53 Z-250
o<un2> endsub
M2

Dufam ze som sa niekde nepomylil. :roll:
Naposledy upravil(a) Juro dne 10. 9. 2019, 8:31, celkem upraveno 2 x.
rocnik 1976 -stolár, trosicka uz aj strojar.
lukin1156
Příspěvky: 579
Registrován: 7. 11. 2012, 8:42

9. 9. 2019, 12:33

Takže pokud to chápu správně tak do g kodu napíšu
M64 P0
a do halu přidám
net motion.digital-out-00 => zapnutí hydrauliky => hm2_5i25.0.7i77.0.0.output-02

Proč u M66 jdou definovat jenom 4 vstupy ? (0-3) Nebo to je jenom zmatení ?
http://linuxcnc.org/docs/html/gcode/m-c ... #mcode:m66
SN320,SUI 32 CNC,Maho 700 CNC, Mikron UME 600, Boley BKN 100C, Brother TC 201
Uživatelský avatar
Juro
Příspěvky: 1612
Registrován: 19. 3. 2007, 12:14
Bydliště: Kamanová (Topoľčany)

9. 9. 2019, 12:50

Zle.
net zapnutí_hydrauliky <= motion.digital-out-00 => hm2_5i25.0.7i77.0.0.output-02

A v g kode napises M64 P0 (zapne)
M65 P0 (vypne)

Ale to uz hadam skusas. Ci este nie? :wink:
Naposledy upravil(a) Juro dne 11. 9. 2019, 6:29, celkem upraveno 1 x.
rocnik 1976 -stolár, trosicka uz aj strojar.
Uživatelský avatar
Juro
Příspěvky: 1612
Registrován: 19. 3. 2007, 12:14
Bydliště: Kamanová (Topoľčany)

9. 9. 2019, 12:56

lukin1156 píše: 9. 9. 2019, 12:33 Proč u M66 jdou definovat jenom 4 vstupy ? (0-3) Nebo to je jenom zmatení ?
http://linuxcnc.org/docs/html/gcode/m-c ... #mcode:m66
Mozes aj viac, ale to musis dopisat rucne, lebo to neposkytuje zakladna PNCkonfiguracia.
rocnik 1976 -stolár, trosicka uz aj strojar.
Odpovědět

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