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

Ограничение массива R-параметров на SINUMERIK и отлов DEF команд посредине программы.


s_liam

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

Всем привет.
Столкнулся вроде как с простой проблемой, но быстро решить не получается.
В общем, нужно ограничить количество R-параметров до 100. (Ну то есть чтобы при R100=23 выдавалась ошибка о неверном индексе массива).
Вроде как всё просто должно быть. Удаляем из определений Word переменную R, заданную как Siemens840DRCond.
В *.def  файле стойки прописываем определение массива, как
DEF REAL R[100].
Но переменные работают только при присваивании им значения. Любые математические функции перестают работать. Возникает ошибка массива.
Как это победить пока не пойму.
И также, если определять массив R-переменных через DEF REAL R[100], то пропадает предупреждение в проекте, если идёт обращение к R-переменной, значение которой не было заранее определено.

Также ещё одна проблема. В SINUMERIK на стойке станка переменные можно задавать с помощью команды DEF только вначале программы (и подпрограммы). Если переменная будет определена через DEF после любой другой команды, то на станке возникает синтаксическая ошибка. В VERICUT это никак не ограничивается.
Как прописать проверку по этой штуке тоже не могу пока придумать. А то не все программисты это помнят и хорошо бы отлавливать это при симуляции.
Кто-то делал такую отловку у себя в проекте?

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


UnPinned posts
Только что, mr_Voden сказал:

@s_liamДа, та самая. Development tools -> CME-API раздел.

Понял, спасибо. Буду изучать! +)

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

Спустя месяц вспомнил про эту тему. Увы, решить проблему с запуском в версиях младше 9 мне не удалось. У меня нормально работает на 9.2, на 8.1.1 падает еще при запуске.

work.png

Sinumerik_Rvar_Detecter_13.05.23_23.32.rar

Ссылка на сообщение
Поделиться на других сайтах
  • 4 недели спустя...
14.05.2023 в 00:06, mr_Voden сказал:

Спустя месяц вспомнил про эту тему. Увы, решить проблему с запуском в версиях младше 9 мне не удалось. У меня нормально работает на 9.2, на 8.1.1 падает еще при запуске.

work.png

Sinumerik_Rvar_Detecter_13.05.23_23.32.rar 338 \u041a\u0431 · 0 скачиваний

Спасибо, попробую. Конечно, интересно было бы посмотреть сам код макро до компиляции, на будущее поглядеть, насколько просто или сложно всё это.

Ссылка на сообщение
Поделиться на других сайтах
11.04.2023 в 13:46, s_liam сказал:

В общем, нужно ограничить количество R-параметров до 100. (Ну то есть чтобы при R100=23 выдавалась ошибка о неверном индексе массива).

А, например, если в Syntax Check написать R100~1000 и прогонять проги на ошибки?

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

А, например, если в Syntax Check написать R100~1000 и прогонять проги на ошибки?

Попробовал, потыкался. Почему-то не работает R100~1000. Через пробел если несколько значений задать, то находит.
Но это какой-то изврат 899 значений прописывать на проверку. Может как-то иначе нужно?
Версия у меня 9.2.2.

Нашёл пример
variable_alias_generic_3ax_vmill_fan30im_inch.vcproject
 

Здесь показано, как можно создать переменные и ассоциировать с помощью макрокоманд с другими переменными.
Всё работает для FANUC, где переменные через # определяются.
На SINUMERIK переменные вроде как создаются, а оперировать с ними не получается.

Ну то есть по аналогии создаём в ini файле

CGTECH_MACRO "VariableArrayAlias" "1,_UVR,1000"

 

Если в программе R101=12, то переменная _UVR[101]=12 в таблице переменных становится.
Но при обращении в программе к переменной _UVR[101] - ошибка синтаксиса.

 

Вообще, кажется, решение на поверхности где-то. Работала бы поддержка - было бы проще.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • maxx2000
      очень мелко, но по-моему хрен ты его достанешь, там нет уклона. При остывании даст усадку и останется там на веки вечные, пока кувалда обрубщика не разлучит их 
    • Renovatio
    • Ветерок
      Свои настройки есть у ноута. У него наверняка кроме Квадры есть ещё своя встроенная. И в настройках надо указать, что задействовать Квадру, а не встроенную. Можно указать для каждой программы индивидуально.  
    • FPG93
      Приветствую всех. Интересует: получение навыков в написание постпроцессора в среде NX. За образец хотелось бы взять токарно-фрезерный станок с осью Y и контршпинделем.(Fanuc 0-TF). Итогом работы хочеться видеть рабочий пост, написанный мной с вашими ценными советами Важно:это не приобретение поста,а покупка времени человека который грамотно расскажет про его написание. Формат/время для общения такой какой будет удобен лично вам(онлайн/запись вашего видео с отправкой мне) Тех кого заинтересовало просьба отписаться на почту PF3011@YANDEX.RU.  С указанием стоимости за 1 академ час,или полной стоимости до конечного результата.        
    • maxx2000
      Тарантина и у своих не гнушается тырить
    • maxx2000
      мне мясо положено -положено ешь но оно мне не положено - не положено не ешь А так страшно, очень страшно, если бы мы знали что это такое но мы не знаем что это такое.   Единственное что я понял, у тебя в дереве не подсвечиваются элементы по которым ты тыкаешь в рабочем окне. Так?
    • Renovatio
      Доброе время суток, коллеги. Имеются сборки в которых элементы размножаются массивами. Так вот, в некоторых сборках при выборе элемента в графической части, он выделяется в дереве построения, а в некоторых не выделается. Не выделяется элемент массива, при этом если выбирать деталь/подсборку, которая является родителем массива, то она выделяется в любой сборке. Сборки могут быть равные по нагрузке, но в одной все работает, а в другой нет. Может кто-то сталкивался с такой проблемой и знает как избавиться от нее?   Пользуюсь Solidworks 2017 SP5.0
    • pescarbon
      В Санкт-Петербурге. Я перекидывал так программы обработки, проблем не возникло. А именно данные пусконаладки, когда опускаюсь в меню к ним, все меню зависает
    • Dordenis
      Добрый день.   В форме для литья алюминия необходимо вытащить знак на длину 130 мм. Остановились на том, чтобы знак извлекать с помощью гидроцилиндра.  Как примерно рассчитать усилие для извлечения знака с отливки, чтобы подобрать ГЦ с нужным усилием. 
    • BSV1
×
×
  • Создать...