Posun souřadnic funguje divně (nerozumím tomu?)

Uživatelský avatar
FIAM
Příspěvky: 79
Registrován: 14. 10. 2007, 5:03
Bydliště: Svitavy

15. 11. 2009, 9:51

Hezký den vespolek
Chci dělat víc výrobků v řadě za sebou a zdá se mi divné, kopírovat soubor za sebou, když existujou cykly a takové věci. Vono i při tom kopírování je nutno posunout o nějakou vzdálenost souřadnice přímo v programu a já se do toho zamotal, mašinka si dělá co chce, výrobek skáče po obrazovce, ale úplně jinak, jak chci já.

Kód: Vybrat vše

O101 while [#1 lt 4]
.
Tady běží program z CAMu
.
.
Tady se posunou souřadnice vždy o 50mm v osi Y a to 4x (nefunguje mi to)
#1 = [#1+1]
O101 endwhile
Tady se vše vráti na začátek (to mi už vůbec nejde, mašina je pořád jinde!)
Studuji manuál, ale s tou mou angličtinou je to svízel.
Umí mně někdo nakopnout? Ve fóru jsem nic nenašel (možná hledám blbě), stroj rozštelovaný a výsledek v nedohlednu. Nerad obtěžuji, ale jsu z toho jelen :evil:
první funkční plotr v roce 1988 ;-))
Uživatelský avatar
Radek-B
Příspěvky: 2144
Registrován: 13. 9. 2006, 11:09
Bydliště: V:Karlovice
Kontaktovat uživatele:

15. 11. 2009, 10:14

Dej sem ten program co ti nebezi.

nemuzes parametrem 1 pocitat kolikrat se ma opakovat a zaroven s nim posouvat nulovy bod.

nejdriv si definoval ze ma nabyvat hodnot 1-4 a pak chces aby ten samy parametr posunoval nulu o 50. To nejde.

RADEK
modernizace/repase CNC strojů a zařízení
automatizace/konstrukce
Uživatelský avatar
FIAM
Příspěvky: 79
Registrován: 14. 10. 2007, 5:03
Bydliště: Svitavy

15. 11. 2009, 10:36

Omlouvám se, ta jednička je pochopitelně proměnná a předem jsem do ní vložil nulu, nebo jedničku a na konci cyklu se vždy inkrementuje, když dosáhne čtyřky, cyklování končí a vypadne to z něj. Tohle funguje. Používám to na vybrušování poloměrů do nástrojů, postupuje to po desetinách do materiálu a tvaruje dráhu. Proto je to proměnná, aby se to případně dalo využít do výpočtu těch souřadnic, ale není to podmínkou, pokud se nová míra dokáže "odrazit" od posledně použité (inkrement je pořád stejný).
Co nevím, je ten posun souřadnic tak, aby se to nakreslené z CAMu posunulo o nějakou (např 50mm) míru v jedné ose (Y) a program se vykonal o tuto míru jinde. Možná jsem to neměl komplikovat těma cyklama, ale zdálo se mi to přehlednější, protože reálně by se to dalo udělat i kopírováním programu do jednoho souboru za sebou. Tím ovšem jsou souřadnice v programu stejné a opět jsem u jejich posunu o těch 50mm v ose Y. No a tohle mi nějak nejde. Nejsem při mašině, mám tam napsáno kopu ptákovin, které nefungujou, nebo fungujou úplně blbě a já už nevim jak na to, aby to na jeden vyrobený soubor z CAMu udělalo 4-5 výrobků v řadě.
první funkční plotr v roce 1988 ;-))
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22435
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

15. 11. 2009, 10:52

tak pouzij treba g92
Vsechna prava na chyby vyhrazena (E)
prochaska
Sponzor fora
Příspěvky: 8181
Registrován: 16. 7. 2006, 12:33
Bydliště: Praha Bohnice + Roudnice nad Labem
Kontaktovat uživatele:

15. 11. 2009, 10:59

A neumí to přímo ten CAM? To by možná bylo i lepší, protože tam je pak šance některé operace setřídit tak aby se omezily výměny nástrojů.
Aleš Procháska
Uživatelský avatar
FIAM
Příspěvky: 79
Registrován: 14. 10. 2007, 5:03
Bydliště: Svitavy

15. 11. 2009, 12:04

robokop píše:tak pouzij treba g92
G92=Offset coordinate systems and set parameters
To jsi mi moc nepomohl, už jsem to i s tím zkoušel a vůbec nevím, jak to funguje. To je právě ten problém, nepochopil jsem z manuálu JAK to mám udělat a metoda pokus-omyl nefunguje... Akorát mám rozštelovaný strojek, něco vidím, pak to někde úplně jinde začne pracovat a nikdy se to nevrátí tam, kam chci. LAMA, no...
první funkční plotr v roce 1988 ;-))
Uživatelský avatar
FIAM
Příspěvky: 79
Registrován: 14. 10. 2007, 5:03
Bydliště: Svitavy

15. 11. 2009, 12:09

prochaska píše:A neumí to přímo ten CAM? To by možná bylo i lepší, protože tam je pak šance některé operace setřídit tak aby se omezily výměny nástrojů.
Dělám v ArtCamu - umí to, co chci, ale tohle tam asi není, tedy já tam nic podobného neviděl (to neznamená, že to tam není, jen já to nenašel), je to dosti jednoduchý CAM, naučil jsem se jej svépomocí, tak dosti pochybuji.
Mohu v něm určovat pořadí jednotlivých nástrojů a pod, ale ten posuv jedině novou kresbou, posunutou vůči zadané HOME. zopáknout blok o pár centi vedle jsem neviděl...
první funkční plotr v roce 1988 ;-))
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22435
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

15. 11. 2009, 12:43

to G92 funguje nasledovne

at jsi kde jsi nastavi souradnice na to co za to napises

takze jsi na souradnicich X30.5 Y50.0
napises G92 X0 Y0 a bude ti svitit na displayi X0 a Y0 stroj se pritom ani nehne

tedy kdyz budes mit obrobek 50x50mm
skoncis obrabeni tak das treba
G0 X50 Y0
G92 X0 Y0
a jsi porad na tom samem miste ale muzes pustit ten samy program se stejnymi souradnicemi a provede se o 50mm v X vedle
protoze jsi posunul pocatek soustavy souradnic tim G92

to same muzes provadet znova a znova dokud ti bude stacit material nebo osa X
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
Radek-B
Příspěvky: 2144
Registrován: 13. 9. 2006, 11:09
Bydliště: V:Karlovice
Kontaktovat uživatele:

15. 11. 2009, 1:00

moznosti je tolik
KOLIKRAT SI PROGRAMATOREM :D

G21 G90 G17 G40
#<stredX> = 0
#<stredY> = 0
#<pocet_opakovani> = 6
#<Z_velikost> = 25
#<pracovni_posuv> = 500
#<posunutiX> = 40
#<index> = 0
#<posunuti_X> = 0
G0 Z#<Z_velikost>
G0 X#<stredX> Y#<stredY>
o2 while [#<index> LT #<pocet_opakovani>]
G10 L2 P1 X [#5061+#<posunuti_X>]
(G10 L2 P1 X=posun v G54 !!! tu vlozis svuj program)
G54 G90 G0 G17
G0 X0 Y0
G0 Z 0
G1 Z-5 F[#<pracovni_posuv>]
X20
Y20
X0
Y0
G0 Z 0

(tu vlozis svuj program)
#<index> = [#<index> + 1]
#<posunuti_X> = [#<posunuti_X> + #<posunutiX>]
G0 Z#<Z_velikost>
o2 endwhile
G0 Z#<Z_velikost>
M2

Pro nakopnuti to snad staci ne ?
RADEK
Naposledy upravil(a) Radek-B dne 15. 11. 2009, 9:34, celkem upraveno 3 x.
modernizace/repase CNC strojů a zařízení
automatizace/konstrukce
Uživatelský avatar
FIAM
Příspěvky: 79
Registrován: 14. 10. 2007, 5:03
Bydliště: Svitavy

15. 11. 2009, 1:14

NÁDHERA PÁNOVÉ. Mockrát díky oboum. Pokud se s něčím zabývám moc dlouho, nějak to pořád víc komplikuji a nevím z toho ven. Oba způsoby (si myslím) jsem pochopil, jenom je pojedu hned zkusit.
Ten od Robokopa jsem začal původně, a už ani nevím, proč mi to nešlo, ale myslím, že jsem dělal nějakou triviální chybu. Potřeboval jsem objasnit práci toho příkazu (asi).
No a způsob od Radka-B vypadá složitějc, ale mám nad čím hloubat a myslím, že i tohle zvládnu.
Ještě jednou díky a večer dám vědět, jak jsem dopadl a kde byl pes zakopaný.
první funkční plotr v roce 1988 ;-))
Uživatelský avatar
FIAM
Příspěvky: 79
Registrován: 14. 10. 2007, 5:03
Bydliště: Svitavy

15. 11. 2009, 9:08

Takže výsledek. Jsu pako, ani jsem nevěděl jaké! Způsob Robokopa už jsem měl napsaný a co víc, funkční! Akorát jsem měl totálně rozházené souřadnice - něco jiného na obrazovce, něco jiného dělala mašina. Díky pochopení funkce G92 jsem to dal dohromady a vše maká jako má. Díky.
Všiml jsem si, při těch experimentech, že v případě zastavení práce uprostřed cyklu se záhadním (ne vždy stejným) způsobem posune HOME. Tohle se nestane u normálního doběhnutí programu. Navíc jsem měl na začátku v ose Y nějaký ofset cca 3mm a nějak jsem jej neuměl zrušit. Jistě pozůstatek minulého laborování se souřadnicema... (že si ta mrcha všechno pamatuje!) Nakonec se mi povedlo zesouladit to, co bylo na obrazovce s tím so to při frézovaní kreslilo. Myslím tím ty červené čáry, co kreslí prog při řezání. Jistotu zrušení toho ofsetu ale pořád nemám. Takhle vypadá program, co makal dle mých představ:

Kód: Vybrat vše

G21 G90 G17 G40
G0X0.000Y0.000Z5.000
G0Y65.000                 (Tohle je proto, aby cykl nepřeskočil první)
G92Y0.000                 (řez na HOME souřadnicích, prostor pro to mám)
M03S15000
#1 = 0                    (zůstatek po použití k výpočtu, tady na nic)
O101 while [#1 lt 4]      (sem jen vložím potřebný počet opakování)
G0Y-65.000                (až teď to skočí na začátek práce)
G92Y0.000
.
.
vložený prográmek z ArtCAMu
.
.
G0X0.000Y0.000Z5.000
#1 = [#1+1]
O101 endwhile
G0Y195.000                (no a návrat na původní HOME)
G92Y0.000                 (kde můžu měnit nástroj a pokračovat jiným prog)
G0X0.000Y0.000Z5.000
M05
Z125                      (odjezd na výměnu nástroje)
M30
Mám ještě na čem laborovat, protože mi není jasné kde se vzaly ty tři mm ofsetu. Vypadá to pěkně blbě, když to kreslí jinam jako chci. I když jen 3mm. Momentálně to vypadá sice v pořádku, ale když nevím přesně co dělám, jsem na nervy :lol:
Věřím, že v uvedeném prográmku nemám chybu, ale jistotu jaksi žádnou. :? :oops:
Těším se na kritiku, vemu ji jako svoje školení, které mi chybí - jsem čistý samouk.
Ještě jednou dík. (i za trpělivost a ochotu)
první funkční plotr v roce 1988 ;-))
Uživatelský avatar
Radek-B
Příspěvky: 2144
Registrován: 13. 9. 2006, 11:09
Bydliště: V:Karlovice
Kontaktovat uživatele:

15. 11. 2009, 9:32

Ja ti do toho nechcu kecat vybral sis cestu , ale z vlastnich nedobrych skusenosti na EMC G92 nepouzivam.
nastuduj si
G92
G92.1
G92.2

RADEK
modernizace/repase CNC strojů a zařízení
automatizace/konstrukce
Uživatelský avatar
FIAM
Příspěvky: 79
Registrován: 14. 10. 2007, 5:03
Bydliště: Svitavy

15. 11. 2009, 10:26

Radek-B
Nevybral, jen se mi zdá jednoduchá a POCHOPIL jsem ji.
Prosím, poděl se o zkušenosti, je fuk jestli negativní, nebo pozitivní.
S tím nastudováním je to těžké, engliš jen louskám a tomuhle musíš rozumět, je to technická záležitost, to nejde "ukecat" jako dějepis pokud nepochopím.
Myslím, že právě experimentováním tou G10 jsem si rozhasil mašinu a dělá to ty "záhady". Mně by se líbilo, že si dám ofsety do paměti a jen je pak vybírám. Složitost psaní tohoto výběru a slabá engliš pro studium je pro mně brzda a to pořádna. Z tvého výpisu mi není jasných pár věcí:
Jak to, že píšeš "o2 while[]" když já jsem vyčetl jen "o101 while[]" ?? Bude to fungovat? (vlastne to jiste zkusím)
Výběr (aktivaci) jsem si představoval "G54G0" a ty tam máš ještě i "G90" a "G17" - proč? Vždyť tohle je už nastaveno na začátku, nebo to něco jiného mezitím zrušilo??
V prvním okomentovaném řádku (s G10..") máš "tu vložíš svůj program" - je to překlep, nebo jak? Kam tam mám vkládat svůj program?
S proměnnými (parametry?) pracovat jakž-takž umím, svúj vlastní, výše uvedený prog jsem upravil podle tvého námětu (taky uznávám, že je to správnější a ulehčuje to budoucí práci ty proměnné) tak, aby jsem v budoucnu psal jen do proměnných a tím lehce určoval počty kopii, ofsety a pod.
Pomohl bys mi (a jistě i jiným) kdybys následující prog upravil na tu G10 i s vysvětlením PROČ takhle a ne jinak, případně záludnosti příkazu.

Kód: Vybrat vše

#1 = 0                (zacatek cyklu)
#2 = 4                (do kdy bude opakovat)
#3 = 65              (velikost posuvu do mínusu!!)
#4 = [#2-#1-1]   (pro vypocet navratu, pocet opakovani)

G21 G90 G17 G40
G0Z5.000
G0X0.000Y0.000Z5.000
M03S15000
G0Y[#3]
G92Y0.000
O101 while [#1 lt #2]
G0Y-[#3]
G92Y0.000
(***********zacatek programu z CAMu**************)
.
.
(************konec programu z CAMu************)
#1 = [#1+1]         (inkrementujeme počítadlo)
O101 endwhile       (cyklus na zacatek)
G0Y[#3*#4]          (návrat na souradnice HOME puuvodní)
G92Y0.000            (a jejich nastaveni je vynulovane)

M05                      (vypneme motor)
G0X0.0Y0.0Z125.0 (už jen nástroj nahor pro vymenu)
M30
Předem děkuji, i když tě to vůbec k ničemu nezavazuje.
první funkční plotr v roce 1988 ;-))
Uživatelský avatar
Radek-B
Příspěvky: 2144
Registrován: 13. 9. 2006, 11:09
Bydliště: V:Karlovice
Kontaktovat uživatele:

15. 11. 2009, 10:46

Mne se uz dnes nechce premyslet sem ti to i psal :D

o2 while je jmeno a zacatek toho zacykleni
o2 endwhile je jmeno a jeho konec

G90 G17 G0 G54 - hlavicka programu , jsem tak nauceny ze stroju ktere se pri preruseni procesu dostavaji do hazardnich stavu.
Nekdy se to pise ke kazde vymene nastroje (u EMC asi zbytecne)

Svuj program vlozi misto tucneho textu v puvodnim programu.
dela to tam ctverecky.

Jak sem rikal uz se mi nechce premyslet, mam tu jen simulator.
Tak prihodim nejaky dalsi parametricky program co tu mam.
Zitra sem na cestach , tak pozitri to vyedituju s vysvetlenim.

G21 G90 G17 G40
#1=0 (STRED X)
#2=0 (STRED Y)
#3=50 (polomer ROZTECNE KRUZNICE)
#4=8 (POCET DER)
#5=8 (POCET SKUTECNE VRTANYCH DER//OMEZENI//)
#6=10 (HLOUBKA VRTANI)
#7=25 (POCATECNI/KONCOVA VYSKA)
#8=0 (UHEL PRVNI DIRY)
#9=1 (DRUH CYKLU ZADEJ 1-3)
#10=2 (PRISUV PO KOLIK MA VRTAT)
#11=1 (CASOVA PRODLEVA V SEKUNDACH)
#12=200 (PRACOVNI POSUV)
#13=2 (BEZPECNA VZDALENOST)
#<stredX> = #1
#<stredY> = #2
#<polomer> = #3
#<pocet_der> = #4
#<pocet_der_vrtanych> = #5
#<hloubka_vrtani> = [0-#6]
#<Z_velikost> = #7
#<startovni_uhel> = #8
#<druh_cyklu> = #9
#<vel_trisky> = #10
#<casova_prodleva> = #11
#<pracovni_posuv> = #12
#<R_velikost>= #13
o100 if [#<pocet_der_vrtanych> eq 0]
#<pocet_der_vrtanych> = #<pocet_der>
o100 endif
#<index> = 0
#<startovni_uhel_incr> = [360/#<pocet_der>]
G0 Z#<Z_velikost>
G0 X#<stredX> Y#<stredY>
o2 while [#<index> LT #<pocet_der_vrtanych>]
#<Xpos> = [#<stredX> + #<polomer>*cos[#<startovni_uhel>]]
#<Ypos> = [#<stredY> + #<polomer>*sin[#<startovni_uhel>]]
o3 if [#<druh_cyklu> EQ 1]
G81 X#<Xpos> Y#<Ypos> Z#<hloubka_vrtani> R#<R_velikost> F#<pracovni_posuv>
o3 elseif [#<druh_cyklu> EQ 2]
G82 X[#<Xpos>] Y[#<Ypos>] Z[#<hloubka_vrtani>] R[#<R_velikost>] F[#<pracovni_posuv>] P[#<casova_prodleva>]
o3 elseif [#<druh_cyklu> EQ 3]
G83 X[#<Xpos>] Y[#<Ypos>] Z[#<hloubka_vrtani>] R[#<R_velikost>] F[#<pracovni_posuv>] Q[#<vel_trisky>]
o3 endif
#<startovni_uhel> = [#<startovni_uhel> + #<startovni_uhel_incr>]
#<index> = [#<index> + 1]
o2 endwhile
G0 Z#<Z_velikost>
G80
M2

RADEK
modernizace/repase CNC strojů a zařízení
automatizace/konstrukce
Uživatelský avatar
Radek-B
Příspěvky: 2144
Registrován: 13. 9. 2006, 11:09
Bydliště: V:Karlovice
Kontaktovat uživatele:

16. 11. 2009, 7:56

G10 L2 P1 X [#5061+#<posunuti_X>] Y [#5062+#<posunuti_y>] Z [#5063+#<posunuti_Z>]

G10 − PRIKAZ PRACE S TABULKAMI S PRIKAZEM L
L1 −TABULKA NASTROJU
L2−TABULKA NULOVYCH BODU
P je číslo v rozmezí 1 až 9 (odpovídá G54 až G59.3)
Coordinate system Set by
G54 G10 L2 P1
G55 G10 L2 P2
G56 G10 L2 P3
G57 G10 L2 P4
G58 G10 L2 P5
G59 G10 L2 P6
G59.1 G10 L2 P7
G59.2 G10 L2 P8
G59.3 G10 L2 P9

#5061−JEDEN Z PARAMETRU TABULKY XXX.VAR JE TO SOUBOR VE VASEM EMC2∕CONGIGS KDE SE ZAPISUJI PROMENNE A PARAMETRY KTERE SE AKTUALNE POUZIVAJI A MAJI ZUSTAT UCHOVANY PRO DALSI PRACI. JSOU TO PARAMETRY A JAKO SPARAMETRY S NIMI LZE PRACOVAT.

coordinate parameters emc.var
Parameter Number(s) Meaning
5061-5069 Result of “G38.2” Probe
5161-5169 “G28” Home
5181-5189 “G30” Home
5211-5219 “G92” offset
5220 Coordinate System Number
5221-5229 Coordinate System 1
5241-5249 Coordinate System 2
5261-5269 Coordinate System 3
5281-5289 Coordinate System 4
5301-5309 Coordinate System 5
5321-5329 Coordinate System 6
5341-5349 Coordinate System 7
5361-5369 Coordinate System 8
5381-5389 Coordinate System 9
5399 Result of M66 - Check or wait for input

Parameter Number Parameter Value Comment
5161 0.0 G28 Home X
5162 0.0 G28 Home Y
modernizace/repase CNC strojů a zařízení
automatizace/konstrukce
Odpovědět

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