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

Ограничение массива 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 пользователей

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



×
×
  • Создать...