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

Вопрос по R-переменным


dreadnought-san

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

Доброго времени суток. Уважаемые гуру ЧПУ, не сочтите за труд помочь в решении проблемы. Стойка 840d. Есть R-параметры. И есть необходимость использовать значения присвоенные в первой программе и в других программах без их повторного ввода и прописывания. КАК???????

 

На фануке #1-#10 переменные действуют только в одной программе в которой созданы. А вот дальнейшие ## можно использовать в нескольких программах. Не могу найти инфу.

 

Если можно объясните. Ну или направление четкое дайте 

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


Ну не знаю, как на новых синумериках, на старых значения ни куда не девались, если их не затирали новыми значениями. Было их 3 канала и с R900 был один канал общий.

Важно знать, какие номера пользовательские.  На старых 0-99 под подпрограммы условно. Для новых может это бред.

Ссылка на сообщение
Поделиться на других сайтах
Есть R-параметры. И есть необходимость использовать значения присвоенные в первой программе и в других программах без их повторного ввода и прописывания. КАК???????

Как я понял вопрос, Вы и так можете использовать присвоенные значения в R-переменных из любой программы, в одном канале. Или вопрос все же в другом?

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

Вопрос в том, что я присвоил в программе R1=456. И хочу работать с этой переменной и в другой программе. А при м30 переменная обнуляется и стойка принимает ее за ноль. Хотя в таблице R-параметров все еще 456.

Может я не теми переменными работаю. Подскажите пожалуйста, что не так.

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

Наверно, не теми. В нашей инструкции по программированию написано, что можно использовать R0-R99.

Другие переменные используются в различных циклах станка, и менять их нельзя.

Значения наших R0-R99 сохраняются после M30.

 

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

Хорошо. Второй вопрос. Как я их могу использовать? Потому что в другой программе запись типа G1 X=R1 отправляет станок как R1=0 то есть в X0.

Ссылка на сообщение
Поделиться на других сайтах
N10 R1=14000 
N20 R2=365.2 
N30 R3=276.9 
N40 R4=9 
 
 
N41 G1 X=R1 Z=R4 F1.0
N42 G1 X=R2 Z=R3 F1.0
 
N50 M30
 
Это первая программа ну условно.

N41 G1 X=R4 Z=R2 F1.0
N42 G1 X=R1 Z=R3 F1.0
 
N50 M30
 
Это вторая. и вот в ней происходит обнуление переменных R.
Изменено пользователем dreadnought-san
Ссылка на сообщение
Поделиться на других сайтах

По команде M30 в станке выполняетcя программа, которая, видимо, инициализирует R-переменные. Видимо, так задумал производитель. Как выход, можно попробовать создать свой массив переменных.

В определениях

def nck real вашапеременная[100]

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

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

А может, подгружать подпрограмму с ними?

Есть же пользовательские переменные, их как-то использовать можно. 

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

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

R- параметры будут определены до тех пор, пока их не переопределит что-то (либо в какой-то подпрограмме будет переопределение или еще где-либо). А так, даже после сброса они не будут переопределены. И вроде как даже после перезагрузки стойки (хотя здесь точно не уверен)

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

Ну хорошо. Как мне обратиться во второй программе к моим переменным которые сохранились в таблице R-параметров, чтобы им присвоились не нулевые значения, а табличные?

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

Если R-переменные обнуляются по команде M30, то тогда - никак не получится, хотя такое я вижу впервые.

У нас есть подобное, например мы используем циклы RENISHAW, поэтому в инструкции к их использованию написано, не использовать R-параметры с 1 по какой-то там. По 30й или 40й, так как эти R-параметры используются в циклах и могут быть переопределены.

В случае, если по M30 R-переменные обнуляются или переопределяются, вам необходимо сохранять значения в другие параметры, не в R-параметры или в те R-параметры, которые не переопределяются.

Внутри одной программы не проблема

Есть команды, например DEF REAL

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

DEF REAL DELTA_Z1,DELTA_X1,DELTA_Z2,DELTA_X2,DELTA_X57,DELTA_Z57

Дальше идет тело программы.

В этом случае внутри программы будут определены указанные переменные, и далее в УП можно использовать например:

G0 X=DELTA_Z1

Но это только внутри программы.

А вот что касается определения в канале, то писали выше про команду DEF NCK REAL

Но вот как в этом случае будет работать - не могу сказать точно.

Значения можно будет найти в так называемых GUD7.def, если не ошибаюсь. Попробуйте найти на стойке эту штуку и прописать там. Или же определить переменные предварительно в программе через DEF NCK REAL и поглядите, что получится.

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

Если M30 стирает R-переменные, (хотя такого быть не должно, на то и R, чтобы программы обменивались данными) можно все же решить проблему.

Записываете ваши числовые данные не R1=14000, а

write(error,"subprog_spf","r1="<<14000)

и т.д.

write(error,"subprog_spf","m17")

(на месте числа 14000 может стоять любая переменная, например измеренное значение R10.)

M30

(в самом верху "первой" программы def int error)

 

Другая программа, находящаяся в этой же папке должна вызвать подпрограмму subprog, которая установит в памяти заданные значения R-переменным.

Изменено пользователем A_1
Ссылка на сообщение
Поделиться на других сайтах
Если M30 стирает R-переменные, (хотя такого быть не должно, на то и R, чтобы программы обменивались данными) можно все же решить проблему.

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

Кстати, про М30. Слышал разные теории, что можно и даже нужно, вместо неё использовать М2 или даже RET.

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

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

Здравствуйте.

В системе 2 канала, можно ли читать или записывать R-переменные в другом канале?

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Alex_ingener
      Алгоритм, ни чем не отличается от описанного Вами, принципиальных настроек, влияющих на производительность, там нет. Однако знаю по себе, если делать раскрой одних и тех же деталей с разверткой на рабочем компе (i7-13700K и 32 ГБ оперативы) и домашнем ноуте (i5 и 16 ГБ оперативы), последний проигрывает по скорости существенно.
    • marchuk-86
      @gudstartup @Soprin В общем дело было не в бобине) Я при сверлении не присутствовал изначально и поверил словам оператора. Именно он сказал что тормозит на поворотах.  Ускорение холостого хода дало минимальную прибавку к скорости обработки ( - 2 минуты на 120 отверстиях).  Короче сравнил параметры 5114, 5115 (величина отскока сверла при прерывистом сверлении), на 4+1 осевом она стояла 0,6 мм, на  4 осевом 0,1 мм.  После изменения параметров время обработки выравнялось.
    • Killerchik
      Запишите его в другую переменную и работайте с ней.
    • Killerchik
      Их вероятно нет в природе, потому что Fanuc не выпускает никакие револьверные головы.
    • nicomed
      Окно изменил ( первое это у меня просто тестовое приложение для всего, так что было "как есть"). Орфографию поправил. Толщина и тип - там надо подумать, как лучше выбирать рассеченные сегменты эскиза. Есть большой вопрос как прочитать стиль и толщину выбранной линии ( в частности кромки).  Так что пока нет. EdgeTrim_v2.zip   З.Ы. Исходники
    • kkk
      Я может чего не понял, но зачем что-то копировать из свойств модели в свойства чертежа? В чертеже и так отображаются (могут) свойства модели. расположенной на чертеже. Без копирования туда-сюда.
    • Viktor2004
      Уважаемые коллеги Чего-то я туплю страшно Пытаюсь в P-CODE писать программу редактирования барабана инструментов Макропеременная @MDIKEYI #8549 /* MDI Key image должна мне давать номер нажатой кнопки Кнопка F1 под экраном имеет код 249 Кнопка <INPUT> имеет код 152 При нажатии F1 у меня должна включаться D5001.0 а при нажатии <INPUT> выключаться Но в макропеременной #8549 код нажатой клавиши лишь кратковременно мигает. И надо много раз нажимать нужную клавишу что бы она сработала Макропеременная #8549 у меня выводится в диагностический D5000 Кто знает, может #8549 как-то настраивается, что бы программа успела на него отреагировать IF [#8549 EQ 249] THEN #548 = 1 ENDIF IF [#8549 EQ 152] THEN #548 = 0 ENDIF https://www.youtube.com/watch?v=jvsv0YoTy-8   Я как-то пример показывал с нажатием кнопки, но там программа была короткая и она успевала схватывать нажатие кнопки. А тут у меня сначала круги рисует и не успевает
    • malvi.dp
      SW2020 работает. Пожелание - уменьшить размеры окна, а то перекрывает весь чертеж, исправить ошибку в слове детели и, если получится, сделать выбор толщины и типа линии.  
    • sippovich
      Добрый вечер Уважаемые Форумчане,нет ли ни у кого инструкции по восстановлению нулевых точек револьверной головы на станки серии TF и TD серии Fanuc? Заранее благодарен.
    • Heroend
×
×
  • Создать...