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

Вопрос по 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
      @david1920 имеется ввиду платы на системах с сертификацией опций фалом oprminf старые в расчет не принимаются вы свой 18i восстановили?
    • gudstartup
      очень даже спрашивают как обязательную информацию для проверки вашей компании налоговый идентификатор должен быть указан. на myfanuc не спрашивают а вот на портале к сожалению просто так не зарегаться. 
    • david1920
      На 0I-TC mate менял плату управления приводами На 18i-TB менял для диагностики платы процессоров (один был от Spinner другой простой) процы были одинаковые Всё работает
    • brigval
      Браком 1.04В версии 1.04Добавлено: Автоуменьшение высоты шрифта многострочного наименования в ОН чертежа.Добавлено: Переименование поверхностей, баз, размеров в порядке их следования на чертеже.Добавлено: Переименование изображений по ГОСТ: сначала виды, затем разрезы, сечения, выносные элементы.Добавлено: Выравнивание неассоциативных видов.Добавлено: Ручной ввод шага и угла наклона штриховки.Добавлено: Перемещаются в макроэлемент компоненты, исключаемые из спецификации.Добавлено: Выбор количества значащих цифр в значении площади поверхности детали для вставки в ТТ.Добавлено: Возможность не авторазмещать ТТ перед конвертацией чертежа в PDF.Добавлено: Добавлены кнопки «Выделить все включенные в расчет» и Выделить все исключенные из расчета».Добавлено: Версия КОМПАС-3D Home показывается в программе со словом Home.Добавлено: Улучшен алгоритм считывания и вставки ТТ чертежа.Добавлено: При конвертации чертежа в PDF удаляется старый файл с таким же обозначением в начале имени, как обозначение в начале имени нового файла.Добавлено: Улучшено считывание номеров позиций из 3D-модели сборки.Исправлено: Иногда скрытые и потом показанные объекты чертежа отображались не серым цветом.Исправлено: Иногда после ручного заполнения графы «Масса» ОН чертежа в окне программы масса могла отображаться не правильно.Исправлено: В некоторых случаях из ОН чертежа могла не считываться литера.Исправлено: В некоторых окнах программы неправильно показывался заголовок окна программы.Исправлено: Другие замеченные мелкие ошибки и неточности кода.Скачать
    • boomeeeer
      Не помню чтобы у меня такое спрашивали при регистрации.
    • Snake 60
      @eljer0n  Откройте макрос SaveDRW.swp редактором VBA Найдите вот эти строки: Поменяйте выделенную цифру на нужную вам 3 или 4 - это количество символов которое останется от имени конфигурации. PS При сохранении в PDF тоже ругается на неправильное название чертежа, т.к. тоже обрезает название конфигурации до двух знаков, там тоже надо править при желании...
    • eljer0n
      @malvi.dp в общем порядок следующий (на каждое исполнение свой чертеж и позиция в спецификации):   Для исполнения с 2мя знаками. 1. Есть деталь с именем формата ХХ-01.01-01 (последнее -01 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации (как у вас на картинке). Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с корректным именем. 5. В спецификации сборки все отображается корректно.     Для исполнения с 3мя знаками. 1. Есть деталь с именем формата ХХ-01.01-011 (последнее -011 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации. Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с некорректным именем, а именно - с обрезанным до двух знаков исполнением (-01). 5. В спецификации сборки шифр отображается (внезапно! может какой глюк был: у солида или у меня ) корректно, как и у вас на рисунке.     Выходит, загвоздка все-таки только в сохранялке чертежа.
    • gudstartup
      да информация о решенной проблеме очень важна так что будем ждать хороших новостей!
    • mrVladimir
      @gudstartup Спасибо Вам за помощь. Теперь дело в приобретении платы. Как что-то получится (сперва приобрести, потом поставить) обязательно отпишусь.
    • gudstartup
      а как вы taxid фирмы нашли?
×
×
  • Создать...