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

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


dreadnought-san

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

Почему 2? Я раньше представлял, что каналы - это и несколько станков от одного ЧПУ, было раньше такое веяние, а пока что так: один канал на Simulation,  другой для сервисных отладок, третий рабочий. А вообще без внятных немецких инструкций (где вы их видели, всё скрывают под одеялом) хрен поймёшь. Спецы есть, но они хлебом делиться не будут. Да и процессор слабоват, не тянет он одновременной работы 2х каналов. Если сильно надо, напишите программу копирования через R900-R999, они общие и запустите её в фоновом режиме. Наверное, если посидеть со словарём, то можно разобраться с инструкциями по кодам @, через них можно считывать значения ячеек памяти, регистров или что там ещё есть, только не забывать про дружественность этих инструкций. Бред, прошлый век.

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


Понятно. У меня было 2 паллеты (стола). Ну и что? Каналов всё равно 3 в старых версиях.

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

Господа. В продолжение темы.

Проясните мне - а есть команда удаления переменных? Ну например с номера R1 по R10. Ну на крайний случай всех R-переменных.

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

Господа. В продолжение темы.

Проясните мне - а есть команда удаления переменных? Ну например с номера R1 по R10. Ну на крайний случай всех R-переменных.

На счет команды - вряд ли такая есть. Но можно сделать вот так или в основной программе или вывести в подпрограмму.

 
 
%_N_RPARCLEAR_SPF                ; - кадр для вызова подпрограммы на станке                        
STOPRE                                         ; - обновление переменных
R0=1                                               ; - приравниваем единице первый параметр
LN1:                                                ; - марка для возврата   
R[R0]=0                                           ; - записываем любое значение в R[n]. Можно просто обнулить.
R0=R0+1
IF R0<=999 GOTOB LN1                ; - здесь вместо 999 пишем последнее желаемое для обнуление R переменной (если надо обнулить с R1 до R100, то пишем R0<101)    
STOPRE                                          ; - обновление переменных
RET
Изменено пользователем s_liam
Ссылка на сообщение
Поделиться на других сайтах
  • 2 года спустя...

Здравствуйте, уважаемые!
Стойка 840D sl. В MDA строка: R97=1 (к примеру) меняет значение R97 в таблице R-параметров, а такая же строка в программе обработки (режим Auto) - нет. В таблице остаётся ноль. Подсткажите, пожалуйста, в чём может быть дело?
Спасибо!

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

Уважаемый @ATambovtsev !

В режиме MDA введите тест R97=123. Нажмите кнопку RESET, далее ПУСК ЧПУ.

В области ПАРАМЕТРЫ/R-параметры будет 123 для R97. 

Если значение R-параметра не изменится измените номер или повысьте уровень доступа.

Но честным тест для MDA или AUTO должен иметь вид

Rn=число

M30 иди M02

 

 

Ссылка на сообщение
Поделиться на других сайтах
Давид, спасибо! Немного продвинулся. Параметр пишется и в auto. Но. Мне надо в начале программы присваивать параметру, условно, 1, а ближе к концу сбрасывать этот же параметр обратно в 0. Если присваивание в программе одно, то оно срабатывает. А если 2 и больше, то параметр сразу принимает то значение, которое присваивается последним. Даже если станок до этого кадра еще не дошел 0_0.
Программа :
.
.
. R10=1
.
.
.R10=0
.
.
Положит в R10 ноль. Как я понял, сразу, со старта программы 0_0. Как сделать так, чтобы с определённого места программы в R-параметре было одно значение, а потом, с определённого места, стало другое? Пробовал использовать подпрограммы для присвоения - не помогает, всё равно параметр сразу принимает последнее присвоенное значение.. 
Ссылка на сообщение
Поделиться на других сайтах
10 минут назад, ATambovtsev сказал:

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

Перед вторым присвоении напишите строчку Stopre.

В Вашем случае 0 в R10 просто отображается заранее, так как программа читается на несколько кадров вперед. Несмотря на это, она будет работать правильно, т.е. до кадра с присвоением R10=0, программа будет работать еще с единицей присвоенной в R10 ранее.

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

Уважаемый @ATambovtsev !

Как вариант согласен с @A_1 .

Для тестирования можно сделать

.........

R10=1

..........

R9=R10

R10=0

..........

Для контроля (тестирования) в R9  будет запомнено первое значение R10.

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

Спасибо, stopre отлично сработал! В качестве постскриптум.. Значение R-параметра я считываю из контроллера. И без использования stopre, в ситуации, что я описал выше, контроллер всегда видел там ноль. А со stopre всё в порядке.

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

Немного информации по R-параметрам...

1. Глобальная переменная типа REAL;

2. Хранится в статической памяти SRAM, значения этой массив-переменной сохраняются после NC-Reset, NC-PowerOff/NC-PowerOn

3. Максимально допустимый размер массив-переменной на канал - 32535. Стандартный размер - 100. Параметрируются в MD28050 $MN_MM_NUM_R_PARAM. При изменении данного параметра значения в R-переменных обнуляются.

4. Есть параметр MD28262 $MC_START_AC_FIFO. Назначение не известно. Возможно, как-то влияет на R-переменные.

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

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

Мне подошло бы решение в виде некоторой переменной, которая бы обнулялась при выключении станка (не при M30 или Reset). Но я не знаю, есть ли такая переменная. Sinumerik 840D sl.

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

@A_1 , смотрели в мануале в разделе про переменные?

Насколько я понял, переменная должна быть определена так:

REDEF <имя> <момент инициализации> <иниц_значение>

с моментом инициализации = INIPO

 

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

777-3.jpg

777-1.jpg

777-2.jpg

 

 

 

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

@DJ Astro спасибо большое, всё получилось. В определения добавил файл UGUD. DEF со строками

DEF NCK INT FIRSTSTART
REDEF FIRSTSTART INIPO 1
M30

И, теперь, после включения станка эта переменная имеет значение 1. В программе при условии, что эта переменная равна 1 сделаю необходимые действия щупом и обнулю её, чтобы больше эти действия не выполнять до выключения станка.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      @stanislavz вы уж сразу еще один контроллер закажите а потом этот доламывайте. а со старым комбинировать не пробовали? у вас там диск или ssd в качестве носителя? может hdd загибается а вы сразу в мат.плату полезли.
    • 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 может от страны зависит
×
×
  • Создать...