[PikoCNC] Skrypt do wykonywania odwiertów

Dyskusje dotyczące działania obsługi programu PikoCNC
Awatar użytkownika

Autor tematu
mitek
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 2
Posty: 742
Rejestracja: 09 cze 2009, 22:06
Lokalizacja: k/Krakowa
Kontakt:

[PikoCNC] Skrypt do wykonywania odwiertów

#1

Post napisał: mitek » 26 sty 2012, 11:41

Witam

Chce zrobić sobie program do wiercenia i mam kilka problemów

- pierwszy problem to taki że nie mogę użyć funkcji [SetArg] z cyfrą większą niż 49 potem zwyczajnie np się nie wyświetla parametr ... czy można to jakoś obejść bo sam program będzie miał sporo więcej parametrów samych współrzędnych mam 15 wiec razy 3 daje już 45 a dodatkowo chce dodać możliwość uruchomienia odpowiedniego otworu i tak dalej...
- następnym problemem jest to że używając G81 jak dam w kilku otworach tą samą głębokość to zostaje wywiercony tylko pierwszy. podobnie jest jak zastosuje R...

program meblowy;

//==============================================================================
// program do frezowania ramek na frontach meblowych
//==============================================================================

var
mode,Fxy,Fz:cardinal;
szerokosc,dlugosc,
x1,y1,z1,
x2,y2,z2,
x3,y3,z3,
x4,y4,z4,
x5,y5,z5,
x6,y6,z6,
x7,y7,z7,
x8,y8,z8,
x9,y9,z9,
x10,y10,z10,
x11,y11,z11,
x12,y12,z12,
x13,y13,z13,
x14,y14,z14,
x15,y15,z15:extended;
M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15 :boolean;


begin
// {$I panel_funkcje.pas} // dołączenie pliku z funkcjami
szerokosc:=480;
dlugosc:=720;
fxy:=2000;
Fz:=600;
x1:=32; y1:=54; z1:=-9; M1:=TRUE;
x2:=64; y2:=54; z2:=-9; M2:=TRUE;
x3:=96; y3:=80; z3:=-9; M3:=TRUE;
x4:=128; y4:=80; z4:=-9; M4:=TRUE;
x5:=10; y5:=10; z5:=-6; M5:=False;
x6:=10; y6:=10; z6:=-6; M6:=False;
x7:=10; y7:=10; z7:=-6; M7:=False;
x8:=10; y8:=10; z8:=-6; M8:=False;
x9:=10; y9:=10; z9:=-6; M9:=False;
x10:=10; y10:=10; z10:=-6; M10:=False;
x11:=10; y11:=10; z11:=-6 M11:=False;
x12:=10; y12:=10; z12:=-6; M12:=False;
x13:=10; y13:=10; z13:=-6; M13:=False;
x14:=10; y14:=10; z14:=-6; M14:=False;
x15:=10; y15:=10; z15:=-6; M15:=False;

if (RUN_CNT=0) then begin // wykonywane tylko przy pierwszym uruchomieniu
SetArgPic('wiercenia.bmp'); // obrazek objaśniający

SetArg(10,'= X [mm]',X1);
SetArg(11,'= Y [mm]',Y1);
SetArg(12,'= Z [mm]',Z1);
SetArg(13,'Wierć',M1);

SetArg(20,'= X [mm]',X2);
SetArg(21,'= Y [mm]',Y2);
SetArg(22,'= Z [mm]',Z2);
SetArg(23,'Wierć',M2);

SetArg(30,'= X [mm]',X3);
SetArg(31,'= Y [mm]',Y3);
SetArg(32,'= Z [mm]',Z3);
SetArg(33,'Wierć',M3);

SetArg(40,'= X [mm]',X4);
SetArg(41,'= Y [mm]',Y4);
SetArg(42,'= Z [mm]',Z4);
SetArg(43,'Wierć',M4);

SetArg(0,'Szerokosc',Szerokosc);
SetArg(1,'Długość',Dlugosc);
SetArg(2,'Szybkość Fxy (mm/min)',Fxy);
SetArg(3,'Szybkość Fz (mm/min)',Fz);

end;

// Organizujeny sposób wyświetlania parametrów
ArgPageTitle('wsp 1'); // nazwa pierwszej zakładki
ArgShow(13);
ArgShow(10);
ArgShow(11);
ArgShow(12);


ArgNewPage('wsp 2'); // nazwa pierwszej zakładki
ArgShow(23);
ArgShow(20);
ArgShow(21);
ArgShow(22);


ArgNewPage('wsp 3'); // nazwa pierwszej zakładki
ArgShow(33);
ArgShow(30);
ArgShow(31);
ArgShow(32);

ArgNewPage('wsp 4'); // nazwa pierwszej zakładki
ArgShow(43);
ArgShow(40);
ArgShow(41);
ArgShow(42);


ArgNewPage('Ustaienia'); // dodanie nowej zakładki
ArgShow(0);
ArgShow(1);
ArgShow(2);
ArgShow(3);
ArgSeparator('');
ArgSeparator('Autor: Marek Mitoński PPH MITEX');

ArgEdit; // i otwarcie okna edycji parametrów

x1:=Arg(10); y1:=Arg(11); z1:=Arg(12); M1:=Arg(13);
x2:=Arg(20); y2:=Arg(21); z2:=Arg(22); M2:=Arg(23);
x3:=Arg(30); y3:=Arg(31); z3:=Arg(32); M3:=Arg(33);
x4:=Arg(40); y4:=Arg(41); z4:=Arg(42); M4:=Arg(43);
x5:=Arg(105); y5:=Arg(205); z5:=Arg(305); M5:=Arg(405);
x6:=Arg(106); y6:=Arg(206); z6:=Arg(306); M6:=Arg(406);
x7:=Arg(107); y7:=Arg(207); z7:=Arg(307); M7:=Arg(407);
x8:=Arg(108); y8:=Arg(208); z8:=Arg(308); M8:=Arg(408);
x9:=Arg(109); y9:=Arg(209); z9:=Arg(309); M9:=Arg(409);
x10:=Arg(110); y10:=Arg(210); z10:=Arg(310); M10:=Arg(410);
x11:=Arg(111); y11:=Arg(211); z11:=Arg(311); M11:=Arg(411);
x12:=Arg(112); y12:=Arg(212); z12:=Arg(312); M12:=Arg(412);
x13:=Arg(113); y13:=Arg(213); z13:=Arg(313); M13:=Arg(413);
x14:=Arg(114); y14:=Arg(214); z14:=Arg(314); M14:=Arg(414);
x15:=Arg(115); y15:=Arg(215); z15:=Arg(315); M15:=Arg(415);

szerokosc:=Arg(0);
dlugosc:=Arg(1);
Fxy:=Arg(2);
Fz:=Arg(3);

// Rysowanie =================================================================

SetM(3);write; //START
SetG(0) SetZ (10); write;

//SetX(x1); SetY(y1) SetZ(z1) SetR (1) SetF(Fz); write;

if (Arg(13)=TRUE) then begin; //Wsp1
SetG(98); write;
SetG(81); write;
SetX(x1); SetY(y1); SetZ(z1); SetF(Fz); write;
SetG(80); write;
end;

if (Arg(23)=TRUE) then begin; //Wsp2
SetG(98); write;
SetG(81); write;
SetX(x2); SetY(y2); SetZ(z2); SetF(Fz); write;
SetG(80); write;
end;

if (Arg(33)=TRUE) then begin; //wsp3
SetG(98); write;
SetG(81); write;
SetX(x3); SetY(y3); SetZ(z3); SetF(Fz); write;
SetG(80); write;
end;

if (Arg(43)=TRUE) then begin //wsp4
SetG(98); write;
SetG(81); write;
SetX(x4); SetY(y4); SetZ(z4); SetF(Fz); write;
SetG(80); write;
end;



SetG(0); SetZ(10);write;
SetM(5); SetM(30); write; // KONIEC

end.
Załączniki
WIERCENIA.JPG
WIERCENIA.JPG (24.56 KiB) Przejrzano 978 razy



Tagi:

Awatar użytkownika

cosimo
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 1
Posty: 569
Rejestracja: 21 maja 2008, 10:02
Lokalizacja: Damasławek

#2

Post napisał: cosimo » 26 sty 2012, 13:27

Widzę Mitek, że bawisz się dobrze ;-) Faktycznie jest ograniczenie do 50 argumentów. Nie sądziłem, że ktoś będzie więcej potrzebował ;-) Ale można zmienić – 200 starczy??

Co do G81 nie zauważyłem takich anomalii. W ogóle G81 jest raczej do hurtowego wiercenia takich samych otworów. Robienie cyklem jednej dziurki to... mnie by się nie chciało. Można też ten skrypt bardziej z automatyzować. Jeśli docelowo to ma być więcej otworów to możesz zrobić tak , że np. co 5-ty argument zawiera X co 5+1 zawiera Y a co 5+2 zawiera Z a co 5+3 decyzję czy wiercić. A samo wiercenie zrobić w jednej pętli bez kilometrów pisania.

Awatar użytkownika

Autor tematu
mitek
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 2
Posty: 742
Rejestracja: 09 cze 2009, 22:06
Lokalizacja: k/Krakowa
Kontakt:

#3

Post napisał: mitek » 26 sty 2012, 22:07

Niestety na tablicach jeszcze nie umie w tym programie :)
Docelowo program chciałbym by zawierał grupy wierceń w standardzie 32mm stosowanym w meblarstwie.

Czy jest możliwość z skryptu zapisywania np kompletów takich wierceń?

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „PikoCNC”