20

Ответ на пост «Как стать ЧПУшником. Продолжение.»

У кого работает отрезками, виноват WHILE, IF и тома подобные операторы. Кому нужна добил спираль до ума. Пользуйтесь:

Спираль Архимеда на ЧПУ

#R0 = 10.0 (начальный радиус)

#Rmax = 50.0

#dr = 0.05 (приращение радиуса на шаг)

#ang = 0.0

#dang = 5.0 (шаг угла в градусах)

G21 G90

G0 Z5

X[#R0] Y0

G1 Z-2.0 F200

WHILE[#R0 LE #Rmax] DO1

#X = [COS[#ang] * #R0]

#Y = [SIN[#ang] * #R0]

G1 X#X Y#Y F300

#ang = [#ang + #dang]

#R0 = [#R0 + #dr]

END 1

(замыкающий круг)

#ang0 = #ang

WHILE[#ang LE [#ang0 + 360]] DO2

#X = [COS[#ang] * #Rmax]

#Y = [SIN[#ang] * #Rmax]

G1 X#X Y#Y F300

#ang = [#ang + #dang]

END 2

G0 Z5

M30

--------

#1 = 10.0 (начальный радиус)

#2 = 50.0 (конечный радиус)

#3 = 0.05 (приращение радиуса на шаг)

#4 = 0.0 (угол)

#5 = 5.0 (шаг угла в градусах)

G21 G90

G0 Z5

X[#1] Y0

G1 Z-2.0 F200

WHILE[#1 LE #2] DO1

#6 = [COS[#4] * #1]

#7 = [SIN[#4] * #1]

G1 X#6 Y#7 F300

#4 = [#4 + #5]

#1 = [#1 + #3]

END 1

(замыкающий круг)

#8 = #4

WHILE[#4 LE [#8 + 360]] DO2

#6 = [COS[#4] * #2]

#7 = [SIN[#4] * #2]

G1 X#6 Y#7 F300

#4 = [#4 + #5]

END 2

G0 Z5

M30

Показать полностью
103

Как стать ЧПУшником. Продолжение.

Меня тут просили выложить еще примеров параметричесого программирования.Ну раз просили - ловите)Кстати, да, КАМщики - это тема не для вас.

Шли мимо - идите дальше.Ни кто не оспаривает преимущества САПР. Я сам пользуюсь Сименсом, Носорогом, Спрутом, Компасом и, естественно, Симкой.


Вот только что вы будете делать, если нужно отфрезеровать шестигранник, а компа под рукой нет.Или расфрезеровать отверстие (без засверливания) плунжерной фрезой. да, так бывает на наклонных плоскостях или калёнке.Уметь программировать вручную - это не изъян человека.


Это может очень пригодиться. И даст понимание, как работают многие циклы станка.Ну и, ИМХО, это развивает мышление, которое очень нужно наладчику.Итак, в прошлый раз все примеры были приведены с оператором IF и GOTO. На этот раз сделаем примеры с WHILE.Я постараюсь убрать всё лишнее, касаемое только моего станка. Ну уж как получится.

Пример первый.Нужно расфрезеровать отверстие на 100, а фреза есть только, ну скажем, на 14. Решение - движение фрезы по спирали . Это обеспечит нам постоянный % работы диаметра фрезы. КАМщики, конечно, немедленно кинутся рисовать модель (особо извращённые - в Арткаме).Пока они рисуют модель и генерят траекторию мы Напишем программку и начнем работать.

#100=10 (NACHALNIY RADIUS)

#101=0 (NACHALNIY UGOL)

#102=1 (SHAG RADIUSA)

#103=50 (RADIUS OTVERSTIYA)

#150=40

G0 Z0

X0 Y0

G16

WHILE[#100LE#103] DO1

G3 X#100 Y#101 R#100

#100=#100+#102

#101=#101+#150

END 1

G15

Немного пояснений для начинающих. Мы не будем извращаться, поминать старину Архимеда, и выписывать формулу спирали.

Есть такая удобная штука - полярная система координат.Обычно применяется, когда нужно просверлить отверстия на радиусе. Не нужно считать их координаты.В полярной системе X это радиус, Y это угол. Включается она G16, отключается G15. Примеры приводить не буду, их навалом в инете.

Второй случай применения полярной системы координат. Спиральное сверление. Бывает, когда засверлиться нет возможности. или когда нет подходящей фрезы и работаем чем есть. Например, отверстие нужно на 20, засверлено оно на 14, а длинная фреза есть только на 16.Да мало ли какие еще случаи. Спирально сверление есть и в Симке. Я, по возможности, упростил и убрал всё, что мог.

#100=25(RADIUS OTVERSTIYA)

#120=0 (SHAG)

121=40 (DLINNA INTERPOLACII)
#150=0 (Z0)

#151=1 (SHAG PO Z)

#155=-50 (Z KONECHNAYA)
G0 Z1

X0 Y0

G16

WHILE[#150GE#155] DO1

#120=#120+#121

G1X#100

G3 X#100 Y#120 R#100 Z#150

#150=#150-#151

END 1

G15

тут в начале писал про шестигранник. Или сколькинибудь гранник. Посчитать точки в уме не получится. Калькуляторы есть не на всех станках. Может программа и выглядит перегруженной всякой фигнёй, но, если приглядеться, можно увидеть, что точки  на окружности вычисляются по формуле, которую дают еще в младших классах. Х=COS(a) Y=SIN(a).


Любой правильный сколькинибудь вписан в окружность. Углы любого правильного многогранника можно и в уме посчитать, а радиус описанной окружности дают на чертеже.Я, если честно, написал этот пример чисто для этого поста. А потом он мне внезапно пригодился)))


В примере используется работа с заходом на коррекцию радиуса фрезы. В зависимости от указанного радиуса фрезы точка захода пересчитывается программой. После /М30 приведен второй пример. Там можно не вбивать коррекцию на радиус в стойку. Программа сама рассчитает эквидистанту. Мне, например, попадалась стойка CNC-8 на которой коррекция не работала.

#100=6 (SKOLKI UGOLNIK)

#110=50 (RADIUS OPISANNOY OKR)

#120=0 (NACHALNIY UGOL)

#177=50(DIAMETR FREZI)

#101=360/#100 (UGOL UGLA)

#180=#110*2+#177 (ZAHOD NA KORREKCIYU X)

#181=#110 (ZAHOD NA KORREKCIYU Y)

#130=0 (Z 0)

#131=10 (SHAG PO Z)

#133=-100 (Z KONECHNAYA)

G90 G54 G0 G43 H1 G0 Z200

X0Y0

X#180 Y#181

WHILE [#130GE#133]DO1

Z#130

WHILE [#120LE360]DO2

#150=#110*COS[#120]

#151=#110*SIN[#120]

G1 G41D1 X#150 Y#151

#120=#120+#101

END 2

G1G40X#180 Y#181

#120=0#130=#130-#131

END1

/M30


#100=6 (SKOLKI UGOLNIK)

#110=50 (RADIUS OPISANNOY OKR)

#120=0 (NACHALNIY UGOL)

#177=50(DIAMETR FREZI)

#101=360/#100 (UGOL UGLA)

#180=#110*2+#177 (ZAHOD NA KORREKCIYU X)

#181=#110 (ZAHOD NA KORREKCIYU Y)

#130=0 (Z START)

#131=10 (SHAG PO Z)

#133=-100 (Z KONECHNAYA)

G90 G54 G0 G43 H1 G0 Z200

X0Y0

X#180 Y#181

WHILE [#130GE#133]DO4

Z#130

WHILE [#120LE360]DO5

#150=[#110+#177/2]*COS[#120]

#151=[#110+#177/2]*SIN[#120]

G1 G41D1 X#150 Y#151

#120=#120+#101

END 5

G1G40X#180 Y#181

#120=0

#130=#130-#131

END4

После /М30 приведен второй пример. Там можно не вбивать коррекцию на радиус в стойку. Программа сама рассчитает эквидистанту. Мне, например, попадалась стойка CNC-8 на которой коррекция не работала.Кстати, если кому-то лень писать G2 или G3, то можно смело воспользоваться моей программкой, просто поставив 360 углов ))))


Ну и бонус:Мама кота Чемодана. Она настолько сурова, что не позволяет себя гладить.Она сама гладит себя людьми, когда считает нужным.

P.S.: По традиции, предоставляю проставление тэгов своим благодарным читателям. У меня фантазии не хватает.

Показать полностью 5
Отличная работа, все прочитано!