Перейти к публикации

Программирование с переменными


Рекомендованные сообщения

Макро обработки грибковой фрезой поднутрения.

я так понял вам просто надо чтобы макрос доделывал то того значения которое указано в #2 даже если получается по условию значение меньше? 

Ссылка на сообщение
Поделиться на других сайтах


 

Макро обработки грибковой фрезой поднутрения.

я так понял вам просто надо чтобы макрос доделывал то того значения которое указано в #2 даже если получается по условию значение меньше? 

 

Все, наверное делали пазы, выборки, поднутрения, как хотите называйте, когда нужно учитывать ширину дисковой фрезы. Хочу сделать, чтобы задал верх-низ поднутрения, ширину фрезы(В) и получить нормальный цикл по глубинам обработки. Чтобы не подгонять шаг по Z, ну и прочее и прочее...

Да уже почти сделал, суета отвлекает, вот отойду от встреч-провожаний НГ...

Ссылка на сообщение
Поделиться на других сайтах

Хочу сделать, чтобы задал верх-низ поднутрения, ширину фрезы(В) и получить нормальный цикл по глубинам обработки. Чтобы не подгонять шаг по Z, ну и прочее и прочее...

 

Может быть, стоит сделать так, чтобы фреза сначала выполняла пазы в сплошном материале (сделанные пазы на рисунке), а потом доделывала оставшиеся "промежутки"? Для ее равномерного износа.

post-27796-0-61334500-1419623788.jpg

Ссылка на сообщение
Поделиться на других сайтах
Может быть, стоит сделать так, чтобы фреза сначала выполняла пазы в сплошном материале (сделанные пазы на рисунке), а потом доделывала оставшиеся "промежутки"? Для ее равномерного износа.

Тут кому как нравится. Мне нет, лучше с шагом меньше В фрезы, т.к. обычно попутное фрезерование применяем и большими фрезами, нужен выход стружки. Углы могут быть с радиусами у фрезы. Много ещё чего можно придумать, пока хочу только разбивку по проходам нормальную. 

Ссылка на сообщение
Поделиться на других сайтах

ну наверное как то так

 

%
8888
(VYBORKA-GRIBKOM)
T1M6
G17G40G80
G0G90G54G43H1Z200.S800M3F100
X0Y0
Z-200.
#1=200(START-PO-Z)
#2=302.(STOP-PO-Z)
#3=4.(SHAG-PO-Z)
#4=16 (B-FREZY)
#5=0.
#7=#4+#1
N10Z-#7
G0G90X-41.738Y-125.228
G1G41D1X-67.034Y-201.123F40
G3X-201.123Y-67.034R-212.F100
G1G40X-125.228Y-41.738F500
G0X-41.738Y-125.228
#7=#7+#3
IF[#7LE#2]GOTO10
#5=#2-#7
#7=#7+#5
IF[#6NE0.]GOTO20
#6=1.
IF[#7GE#2]GOTO10
N20M5
M30
%
Ссылка на сообщение
Поделиться на других сайтах
ну наверное как то так

Наверное, завтра прорисую. Смущает #6, это для чего? Свою пишу с учетом знака (-Z), учитывая критику, но идеология такая же.  

Ссылка на сообщение
Поделиться на других сайтах

#6 просто значение которое не даст зацикливаться на остатке (в данном перемер это были 2мм) т.е просто счетчик чтобы после остаточного прохода  стабильно завершить прогу

Ссылка на сообщение
Поделиться на других сайтах

#6 просто значение которое не даст зацикливаться на остатке (в данном перемер это были 2мм) т.е просто счетчик чтобы после остаточного прохода  стабильно завершить прогу

Ага, этот остаточек главный гемор. Была мысль считать количество проходов и по ним организовать цикл, определив предварительно первую и последнюю глубину, так как-то. Хочется как можно проще и компактнее для наладчика. А вообще это часть задумки, более интересная народу, как мне кажется. Дальше тот самый кусочек обработки параметризировать думаю, обработку части окружности с разными углами входа-выхода.

Ссылка на сообщение
Поделиться на других сайтах

 

#6 просто значение которое не даст зацикливаться на остатке (в данном перемер это были 2мм) т.е просто счетчик чтобы после остаточного прохода  стабильно завершить прогу

Ага, этот остаточек главный гемор. Была мысль считать количество проходов и по ним организовать цикл, определив предварительно первую и последнюю глубину, так как-то. Хочется как можно проще и компактнее для наладчика. А вообще это часть задумки, более интересная народу, как мне кажется. Дальше тот самый кусочек обработки параметризировать думаю, обработку части окружности с разными углами входа-выхода.

 

ну если получится короче,  будет интересно взглянуть на ваш вариант ) тут главное чтобы наладчик понял и ему этот вариант показался простым, а то все равно свой вариант запихнет ) а забить прогу своими параметрами не сложно. много раз пытался сделать универсальные макросы в итоге плюнул на эту затею, программ уже столько накопилось, что проще сделать "Копировать > Вставить" и поменять на свои значения, а то на программы с большим количеством переменных операторы ругаются, не понимают, что в программе происходит, а если там и синусы с косинусами появляются, то вообще программу во всех косяках винят ) 

Ссылка на сообщение
Поделиться на других сайтах

Вы меня удивляете - в моём варианте всё учтено. И даже в Симке прорисовывается.....

post-882-0-87085100-1419801924_thumb.jpg

Ссылка на сообщение
Поделиться на других сайтах

Вы меня удивляете - в моём варианте всё учтено. И даже в Симке прорисовывается.....

Действительно ) 

Ссылка на сообщение
Поделиться на других сайтах
Вы меня удивляете - в моём варианте всё учтено. И даже в Симке прорисовывается.....

Ander,

А и правда! 

%
:8888
(VYBORKA-GRIBKOM)
()
T1M6
G17G40G80
G0G90G54G43H1Z200.S800M3F100
(T1-FREZA-80X16-D1-H1)
G0G90X0Y0
Z-200.
#1=-200.(START-PO-Z)
#2=10.(Shag po Z)
#3=-230.(end Z)
#4=16.(B-FREZY)
(*******************)
#1=#1-#4(pervaja glubina s ucetom B)
 
(***OBRABOTKA-START***)
N20
G0G90X-41.738Y-125.228
Z#1
G1G41D1X-67.034Y-201.123F40
G3X-201.123Y-67.034R-212.F100
G1G40X-125.228Y-41.738F500
IF[#1EQ#3] GOTO80
#1=#1-#2
IF[#1GT#3]GOTO20
#1=#3(poslednij prohod)
GOTO20
N80(N80)
G0Z200.

M2

 

nomed

а у меня ещё любитель перенумеровывать программу и втыкать свои переходы. Поэтому стараюсь GOTO поменьше использовать и кадры-метки  доп. комментировать.

Изменено пользователем ilya_w
Ссылка на сообщение
Поделиться на других сайтах

Возможно кому то калькулятор пригодится  :smile:      

                       Macro Expression Calculator v4.0

screenshot.jpg

Официальная страница http://ncplot.com/macrocalc/macrocalc.htm

Ссылка для загрузки http://ncplot.com/macrocalc/MacroCalc_v4.exe

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
  • 5 месяцев спустя...

Вопрос, кто нибудь пробовал записывать свою макро программу как модальный G код ?

Через G66 работает всё как надо

G21
G0 G17 G40 G49 G80 G90
T7 M6 
G0 G90 G54 X25. Y25. B0. C0. S5000 M3
G43 H7 Z10
M8
G66 P8010 A0. D15. Z-5. R5. Q1. F600.
X25. Y25.
X-25. Y25.
X-25. Y-25.
X25. Y-25.
X0 Y0
G67
M9
M5
G91 G30 Z0.
G30 X0. Y0.
M30
%

Захотелось сделать упростить и вызывать так

G21
G0 G17 G40 G49 G80 G90
T7 M6 
G0 G90 G54 X25. Y25. B0. C0. S5000 M3
G43 H7 Z10
M8
G810 A0. D15. Z-5. R5. Q1. F600.
X25. Y25.
X-25. Y25.
X-25. Y-25.
X25. Y-25.
X0 Y0
G67
M9
M5
G91 G30 Z0.
G30 X0. Y0.
M30
%

Сделал всё по описанию из документации: записал программу 8010 под номером 9010

в параметр 6050 -810 отрицательное значение.

Программа вызывается через G810 но работает только в 1ой точке,остальные пропускает, что может быть не так? возможно ещё какие то параметры менять надо?

post-26977-0-42858000-1434394684_thumb.png

 

 

Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...

lexa345 у вас какая стойка?

Моя стойка не имеет такого описания, у меня идет речь о G  коде от 1 до 9999, также ни слова об отрицательном G коде.  а такую опцию очень хотелось бы.

А вы попробуйте в самой  программе ввести -G810 , а не в параметре.

Ссылка на сообщение
Поделиться на других сайтах

lexa345 у вас какая стойка?

Моя стойка не имеет такого описания, у меня идет речь о G  коде от 1 до 9999, также ни слова об отрицательном G коде.  а такую опцию очень хотелось бы.

А вы попробуйте в самой  программе ввести -G810 , а не в параметре.

Это на 0MD я пробовал так, но вот отрицательно G код задавать я не пробовал, спасибо за подсказку, как попробую отпишу. Кстати в документации по 0Md и 0MC различается немного параграф по макро программированию - в 0MD рассказано больше в раза 2 и описано больше переменных.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Доброго времени суток! FANUC 18i

Ситуация такова:

Вот пример программы 

#1=0

#2=1

#3=0.1

WHILE[#2NE10] DO1

#2=#2+#3

END1 

M30

В этом случае программа работает до бесконечности.

А если в #3=0.5 то в программе выполняется условие.

так вот,в чем прикол?

проблема программисткая, не станочная: никогда не жди равенства чего-либо. И проблема то ли фанука, то ли G-кода: мне не удавалось сравнить параметр с константой, параметр с параметром - на ура.

Перепиши так:

 

#10=10

WHILE[#2LE#10] DO1

или

WHILE[#2GE#10] DO1

или

WHILE[#2LT#10] DO1

или

WHILE[#2GT#10] DO1

 

из этих 4 вариантов я не пытаюсь выбрать до пробы. От станка к станку, от реализации до реализации фанука рез-т различается. Я пробую по воздуху и выбираю. Или корректирую по типу #10=10,05 или #10=9,95

Ссылка на сообщение
Поделиться на других сайтах
  • 8 месяцев спустя...
  • 2 месяца спустя...

Всем доброго времени суток!

Нужно профрезеровать звезду с 17 зубьями.

 

написал такую программу:

 

%;
O5000 (STAR)
;
N108 (TOOL 1 - DIA 8.);
;
N2 G90 G17 G40 G80 G00; 
G00 G28 G91 Z0 ;
N136 M06 T1 ();
;
#1 = 0;
WHILE[#1 LT 350.] DO 200;
N138 (F-contour3);
;
N112 G00 G54 G90 G94;
X-6.1725 Y50.87 S1500 M03;
N114 G43 H1 Z50.;
;
#2 = 0;
WHILE[#2 GT -9.] DO 210;
G0 X-6.1725 Y50.87 M8;
#2 = #2 - 3.3;   //глубина резания за 1 проход(всего глубина контура 9мм)
N118 Z#2 ;
N120 G01 X-4.5461 Y48.9714 F150.; 
N122 G02 X-2.6159 Y45.9069 I-9.4357 J-8.0831 ;
N124 G01 X-2.134 Y44.8153 ;
N126 G03 X-0.9039 Y42.7823 I8.4924 J3.7498 ;
N128 X0.9039 Y42.7823 I0.9039 J0.7197 ;
N130 X2.134 Y44.8153 I-7.2623 J5.7828 ;
N132 G01 X2.6159 Y45.9069 ;
N134 G02 X4.5461 Y48.9714 I11.3659 J-5.0185 ;
N136 G01 X5.1967 Y49.7308 ;                                  //рабочий контур, сгенерированный cam-ом
END 210;
;
G0 Z50.;
#1 = #1 + 21.1765;            // угол поворота зуба (360/17=21.1765)
G68 G17 X0 Y0 R#1;
M1;
END 200;
M9;
G69;
;
N230 G00 G28 G91 Z0;
N238 M30 ;
%
 
это первая моя программа в параметрическом программировании(не судите строго).
 
Подскажите кто знает:
-правильно ли организована работа с переменными и циклами?
-нужно ли параметрическое программирование выносить в подпрограмму или макропрограмму?
-или можно в коде перед объявлением переменных указать G68?
-остальные замечания по программе?
 
P/S: Извините за возможно глупые вопросы.
Ссылка на сообщение
Поделиться на других сайтах
  • SHARit закрепил это тему

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.



  • Сообщения

    • Mr_Gray
      Если и расфрезеровывать, то обязательно с коррекцией радиуса инструмента G41, чтобы попасть в середину поля допуска. Но лучше все же разверткой или расточной головкой.
    • lem_on
      При хорошей геометрии станка, можно и расфрезеровать. Если неглубокие отверстия, можно и тс сверлом сразу размер получить.
    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
×
×
  • Создать...