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

Программирование через R переменные


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

Нужно отрезать из прутка 10 штучек к примеру по 1.5 мм пробовал так но не получается 

R1=R1+1

R2=-1.5*R1

R3=R1-10

G54 Z=R2

R3<N10

 

 

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


UnPinned posts
8 часов назад, Vl4d сказал:

Нужно отрезать из прутка 10 штучек к примеру по 1.5 мм

Добрый день. Можно так написать:

R1=1
WHILE R1<=10
N100 G0 G54 Z=(-1.5-шир._резца)*R1
N110
N120 R1=R1+1
ENDWHILE

Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, Vl4d сказал:

Нужно отрезать из прутка 10 штучек к примеру по 1.5 мм пробовал так но не получается

Можно так:

Скрытый текст

R1=2   ;SHIRINA REZCA
R2=1.5 ;REZ
R3=1   ;CLK

R4=10 ;KOL-VO
G54
T1M6
S1000M3
G0X22Z0
REPEAT
Z=-(R1+R2)*R3
G1X0F0.07
G0X22
R3=R3+1
UNTIL R3>R4
Z10
M30

 

Изменено пользователем mannul
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
28.01.2023 в 09:27, A_1 сказал:

Добрый день. Можно так написать:

R1=1
WHILE R1<=10
N100 G0 G54 Z=(-1.5-шир._резца)*R1
N110
N120 R1=R1+1
ENDWHILE

А как сделать чтобы он допустим отработал программу отрезал , потом вернулся в начало программы отработал отрезал и т д

Ссылка на сообщение
Поделиться на других сайтах
$P_UIFR[2,Z,TR]=$P_UIFR[1,Z,TR]; копируем значение по Z из G54 в G55
FOR R1=1 TO 10
G55
; обрабатываем
; отрезаем
$P_UIFR[2,Z,TR]=$P_UIFR[2,Z,TR]-1.5-шир._резца
ENDFOR
M30

 

20 минут назад, Vl4d сказал:

А как сделать чтобы он допустим отработал программу отрезал , потом вернулся в начало программы отработал отрезал и т д

 

Ссылка на сообщение
Поделиться на других сайтах
17 минут назад, A_1 сказал:

$P_UIFR[2,Z,TR]=$P_UIFR[1,Z,TR]; копируем значение по Z из G54 в G55
FOR R1=1 TO 10
G55
; обрабатываем
; отрезаем
$P_UIFR[2,Z,TR]=$P_UIFR[2,Z,TR]-1.5-шир._резца
ENDFOR
M30

 

 

Копируем значение по Z из g54в g55 там по нулям 

Ссылка на сообщение
Поделиться на других сайтах
22 минуты назад, Vl4d сказал:

Копируем значение по Z из g54в g55 там по нулям 

Ну, хорошо. Все равно копируем, потом уменьшаем на величину высота_детали+шир._резца для получения сдвига по оси Z

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

Подробную информацию о стойке и постановке задачи в студию! Желательно фото заготовки/детали и тип фиксации.

Ссылка на сообщение
Поделиться на других сайтах
  • 4 месяца спустя...
28.01.2023 в 14:56, mannul сказал:

Можно так:

  Скрыть содержимое

R1=2   ;SHIRINA REZCA
R2=1.5 ;REZ
R3=1   ;CLK

R4=10 ;KOL-VO
G54
T1M6
S1000M3
G0X22Z0
REPEAT
Z=-(R1+R2)*R3
G1X0F0.07
G0X22
R3=R3+1
UNTIL R3>R4
Z10
M30

 

 

Ссылка на сообщение
Поделиться на других сайтах
28.01.2023 в 14:56, mannul сказал:

Можно так:

  Скрыть содержимое

R1=2   ;SHIRINA REZCA
R2=1.5 ;REZ
R3=1   ;CLK

R4=10 ;KOL-VO
G54
T1M6
S1000M3
G0X22Z0
REPEAT
Z=-(R1+R2)*R3
G1X0F0.07
G0X22
R3=R3+1
UNTIL R3>R4
Z10
M30

 

а что такое R3? так то все понятно.CLK хм....

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, CNC User сказал:

а что такое R3? так то все понятно.CLK хм....

Счетчик, CLOCK

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

я просто через костыли пользую....в  чпу всего год.делаю так 

G18 G90 G54
R1=9
N10 IF R1==0 GOTO N20
CALL "1_UST"
R1=R1-1
GOTO N10
N20
M5
M11
T1
M30

а вот подпрограмма 

G90G95G54
MSG("(*_*)") 
;***** CENTROVKA ******
T6D2
G0Z1.5
X0
G95 S600 M3 F0.08
M8
G1Z-3
G0Z1.5
X180
M78
G4 F1
M01

;***** OBTOCH *****
T2;PROFIL
S1400 M3
G0Z0.5X20
CYCLE95("KONTUR:KONTUR_E", 2.5,  ,0.8,  ,0.26, 0.2, 0.18, 9,  , ,0.5)
M9M5
G0X180Z0.5
M01

;***** REZBA *******(*_*)
T3
S1000 M3
G0Z-37X16
M8
CYCLE99(-38, 15.83, -68, 15.83,  ,2, 1.2, 0.03, 30, 0, 15, 1, 2, 300103, 1, 0.2, 0, 0, 0, 0, 0, 0, 0, 1,  , , ,0)
M9M5 M79
G0Z1X200
M01

;***** OTREZ ******
T4;OTREZNOY
S800 M3
G0Z-85X20
M8
G1X12F0.07
G0X19
Z-83
G1X19
X15Z-85
X0
G0X200Z-50
M9M5

;***** BARPULLER *****
T6;BARPULER(OSEVOI)
G94
SPOS=0
F2500
G0X100Z-84.8
G1X0
M11
G4F1
G1Z0.1
M10
G4F2
G0X150Z3

M30

;*************CONTOUR************
KONTUR:

;#7__DlgK contour definition begin - Don't change!;*GP*;*RO*;*HD*
G18 G90 DIAMON;*GP*
G0 Z0 X11 ;*GP*
G1 X12.93 CHR=.8 ;*GP*
Z-38 X13.03 ;*GP*
X15.92 CHR=1.2 ;*GP*
Z-69 ;*GP*
X19 ;*GP*
;CON,V64,2,0.0000,2,2,MST:1,2,AX:Z,X,K,I;*GP*;*RO*;*HD*
;S,EX:0,EY:11,ASE:90;*GP*;*RO*;*HD*
;LU,EY:12.93;*GP*;*RO*;*HD*
;F,LFASE:.8;*GP*;*RO*;*HD*
;LA,EX:-38,EY:13.03;*GP*;*RO*;*HD*
;LU,EY:15.92;*GP*;*RO*;*HD*
;F,LFASE:1.2;*GP*;*RO*;*HD*
;LL,DEX:-31;*GP*;*RO*;*HD*
;LU,EY:19;*GP*;*RO*;*HD*
;#End contour definition end - Don't change!;*GP*;*RO*;*HD*

KONTUR_E:;************* CONTOUR ENDS ************

кто подскажет как 808 дт может ли она открывать dmp файлы(png)

и если да то как ето сделать то?

слайды встроенные она проигрывает 

и где они находятся тоже непонятно...

стоика 808dt станок Z-MAT FTH 400_1000

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

Сдвиг в Синумерик очень удобно делать через Trans.

Описываете нужный контур,получаете деталь для отрезки,например 6мм.Отрезаете. Далее просто пишете Trans z=-6. И проигрываете программу.Итого 0= -6..

При многочисленных отрезах можно автоматизировать процесс сдвига,на нужную величину.Не забываем писать в конце программы Trans,которая убирает заданное смещение и восстанавливает g54  или какое у вас было..

N190 IF R99==6 GOTOC WUU
N200 TRANS Z=R30
N210 IF R99==1 GOTOC WUZ
N220 TRANS Z=R31
N230 IF R99==2 GOTOC WUZ
N240 TRANS Z=R32
N250 IF R99==3 GOTOC WUZ
N260 TRANS Z=R33
N270 IF R99==4 GOTOC WUZ
N280 TRANS Z=R34
N290 IF R99==5 GOTOC WUZ

Пример,как присвоить сдвиг на 6 деталей.

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

Не нашел только в Синумерик,как слить текущую координату в R параметры.

В принципе не очень важно,но интересно-как!?

Почти всегда можно написать программу в инкрементах и проигрывать её,столько сколько надо .

Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, Diodik сказал:

Сдвиг в Синумерик очень удобно делать через Trans.

Описываете нужный контур,получаете деталь для отрезки,например 6мм.Отрезаете. Далее просто пишете Trans z=-6. И проигрываете программу.Итого 0= -6..

При многочисленных отрезах можно автоматизировать процесс сдвига,на нужную величину.Не забываем писать в конце программы Trans,которая убирает заданное смещение и восстанавливает g54  или какое у вас было..

N190 IF R99==6 GOTOC WUU
N200 TRANS Z=R30
N210 IF R99==1 GOTOC WUZ
N220 TRANS Z=R31
N230 IF R99==2 GOTOC WUZ
N240 TRANS Z=R32
N250 IF R99==3 GOTOC WUZ
N260 TRANS Z=R33
N270 IF R99==4 GOTOC WUZ
N280 TRANS Z=R34
N290 IF R99==5 GOTOC WUZ

Пример,как присвоить сдвиг на 6 деталей.

ПОПРОБУЙТЕ ATRANS ЭТО АДИТТИВНОЕ СМЕЩЕНИЕ (ИНКРЕМЕНТНЫЙ СДВИГ)

Ссылка на сообщение
Поделиться на других сайтах
42 минуты назад, CNC User сказал:

ПОПРОБУЙТЕ ATRANS ЭТО АДИТТИВНОЕ СМЕЩЕНИЕ (ИНКРЕМЕНТНЫЙ СДВИГ)

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

N870 IF R99==6 GOTOC WUL
N880 TRANS Z=R30
N890 IF R99==1 GOTOC WUL
N900 TRANS Z=R31
N910 IF R99==2 GOTOC WUL
N920 TRANS Z=R32
N930 IF R99==3 GOTOC WUL
N940 TRANS Z=R33
N950 IF R99==4 GOTOC WUL
N960 TRANS Z=R34
N970 IF R99==5 GOTOC WUL 

 

Так надежнее и удобнее

3 часа назад, Ander сказал:

Clip_2783.png

Спасибо,попробую в деле..

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

Нарисовалась проблема с sqrt.

При запуске подпрограммы,она отрабатывает 1 раз и вываливает Арифметическая ошибка в кадре ,где вычисляется корень ,а именно R22=sqrt(R5),причем результат первого прогона верный..В чем может быть проблема? Вычисляю в цикле while-endwhile.

Ссылка на сообщение
Поделиться на других сайтах
14 часов назад, Diodik сказал:

Нарисовалась проблема с sqrt.

При запуске подпрограммы,она отрабатывает 1 раз и вываливает Арифметическая ошибка в кадре ,где вычисляется корень ,а именно R22=sqrt(R5),причем результат первого прогона верный..В чем может быть проблема? Вычисляю в цикле while-endwhile.

Здравствуйте. Проверьте, что под корнем:

MSG(<<R5)
M0
STOPRE
R22=sqrt(R5)

 

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

Казус в том,что цикл на 14 проходов,первые 4 прохода вычисляет верно,но пятый - не верно.

Считаю координату по х, по формуле X= 2*√(R+R8)*(R-R8)

R8=R8+1.5(припуск на проход по Z)

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • maxx2000
      Подушную малость. Чё там. Уже в упор научились резьбу резать без выходной канавки?
    • ispite
      Здравствуйте, не могу построить стандартную сетку, что не позволяет дальше провести расчёт. Получается сделать сетку "на основе кривизны", но солид отказывается считать, после нажатия кнопки "запустить исследование" происходит сбой. https://disk.yandex.ru/d/D8wvRbYMW1lWjQ
    • ddm
      изготовить по чертежу с последующим покрытием,цинкование ,по 1000 шт каждой позиции ,предложение отправить на почту qwer463@yandex.ru
    • sklide008
      И еще можно ли задать горчие клавиши на кнопки открыть, скрыть и тд?
    • sklide008
      Подскажите, пожалуйста, в инвенторе есть такой пункт упорядочи по алфавиту дерево. Здесь найти такого не могу, пытался treesorter ставить но он добавляет просто в папку а не сортирует в дереве. Есть ли такой макрос чтобы все детали в дереве по порядку и алфавиту шли?
    • stanislavz
      Есть станок с данным контроллером. Все работает. Недавно была проблема с передачей данных - установил запасной контроллер. А запасной контроллер сказал нет работе. Проблема была в программе компьютера для передачи данных. Грустно, досадно, контроллер был куплен как рабочий. Как бы и не горит, но необходимо поправить. Плата управления с процессором mc68020, память hm628128-10. Память буферным питанием от 3 батареек + 0,5 Фарада на плате как буфер для замены батареек на 1 сутки. Лежало долго, без батареек. Симптомы: После первого включения, в памяти были и программы и параметры (0 странность). Честно, удивило. Но - система жутко тормозит, отклик на нажатие кнопки 3-5 секунд. В таком режиме сумел закачать машинные параметры под свой станок. Но это заняло час.. 4 строки и ждет секунд 10 итд. Есть видео. Перекинул с рабочего контроллера, БП, плату плц, ээпром плц - все то же. Проверил осциллографом кварцы живые , частота есть, амплитуда хорошая. 1 странность - после манипуляций по замене батарейки, старые записи из памяти исчезли. Ничего не коротнул. Возможно 0,5 Ф был не заряжен. Там тоже необходимы сутки для зарядки. Но как оно было запечатоно до этого - мистика. 2 странность. Если плата лежит ночь без питания, только с буфером - потом 2-3 минуты работает хорошо. 3 аналогично работает 2-3 минуты если питание отключить и очистить питание памяти (выпаял 0,5 Ф буфер с платы) Проверка памяти на старте есть. Проходит хорошо. На зависает, на холодную пайку не похоже. Шевелил / двигал все. Да и не виснет, именно тормозит. При том если оставить на час - тоже все стабильно плохо. Если набрать быстро 5 символей- экран сразу пуст, но после задержки символы будут на экране. Заказал второй процессор и память. 10 штук. Подавал прямо 5 вольт на память - все так же. Токи потребления между плохой и хорошей платой смогу проверит.    
    • brigval
    • Ветерок
      "увеличение оптимизации". Оптимизацию невозможно ни увеличить, ни уменьшить.
    • gudstartup
      @boomeeeer может от страны зависит
    • david1920
      нет время нет заниматься да и информации новой нет Это я на других станках делал
×
×
  • Создать...