Jump to content

Создание пользовательских глобальных переменных


Vladislav-dobrynin

Recommended Posts

Vladislav-dobrynin

Кто подскажет, каким образом правильно создать свои глобальные переменные в sinumerik

В инструкции по расширенному программированию описан способ задания в программе

DEF NCK REAL _XX[99]

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

в GUD прописывать ее не обязательно? а если там прописать, то после перезагрузки станка ей скорее всего будет приравниваться прописанное там значение, или актуальное значение до перезагрузки?

Кто пользовался и знает как это работает?

Edited by Vladislav-dobrynin
Link to post
Share on other sites


UnPinned posts

Здравствуйте. Для создания глобальных переменных добавлял строку в файл UGUD.DEF (в определениях):

DEF NCK REAL var_name[30]

Эти переменные становятся доступными во всех программах, и для всех каналов. После перезагрузки станка сохраняют свои значения. Ну, и обращаемся к ним (в этом случае) по индексу от 0 до 29:

X=var_name[29]

Edited by A_1
Link to post
Share on other sites
Vladislav-dobrynin
9 часов назад, A_1 сказал:

Здравствуйте. Для создания глобальных переменных добавлял строку в файл UGUD.DEF (в определениях):

DEF NCK REAL var_name[30]

Эти переменные становятся доступными во всех программах, и для всех каналов. После перезагрузки станка сохраняют свои значения. Ну, и обращаемся к ним (в этом случае) по индексу от 0 до 29:

X=var_name[29]

Приветствую. По месту инициализировать если в конкретной главной программе - не работает?   

Можно ли прописать переменную используя интерфейс стойки , или только в ручную - открывать этот файл и прописывать ?

Сам всегда пользовался локальными переменными, объявляя их по месту. Но сейчас появились интересные задачи с измерениями, где необходимо хранить множества результатов  расчетов после измерений. До станка пока добраться времени нет, поэтому спрашиваю, возможно кто знает 

Edited by Vladislav-dobrynin
Link to post
Share on other sites
44 минуты назад, Vladislav-dobrynin сказал:

Можно ли прописать переменную используя интерфейс стойки , или только в ручную - открывать этот файл и прописывать ?

В стойке есть экран всех глобальных переменных, после добавления в файл определений новых переменных, они там появятся, и их значения можно изменять наравне, как и в любой программе.

 

44 минуты назад, Vladislav-dobrynin сказал:

По месту инициализировать если в конкретной главной программе - не работает?

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

DEF REAL _X

Edited by A_1
  • Нравится 1
Link to post
Share on other sites
Vladislav-dobrynin
11 часов назад, A_1 сказал:

Здравствуйте. Для создания глобальных переменных добавлял строку в файл UGUD.DEF (в определениях):

DEF NCK REAL var_name[30]

Эти переменные становятся доступными во всех программах, и для всех каналов. После перезагрузки станка сохраняют свои значения. Ну, и обращаемся к ним (в этом случае) по индексу от 0 до 29:

X=var_name[29]

 

Возможно сможете мне еще другой момент пояснить.

Пример. Стандартный цикл CYCLE116 вызывается со списком значений _CAL[ ] - переменная является локальной в главной программе.

Вот что пишут в расширенном программировании:

 

DEF INT _MODE
DEF REAL _CAL[13]= (3,0,10,-10,0,0,-10,0,0,0,0,0,0) ;с задачей 3 точек P1: 0,10 P2: -10,0 P3: 0,-10

 

CYCLE116(_CAL[ ], _MODE) ;результат: _CAL[9]=0 _CAL[10]=0 _CAL[11]=10 _CAL[12]=0 _ALM=0

 

Каким образом происходит передача значений локальной переменной (_CAL[9]=0 _CAL[10]=0 и т.д) обратно в главную программу?

 

Если открыть CYCLE116

PROC CYCLE116 (VAR REAL _CAL[],VAR INT _MODE)

 

Получается слово VAR - (Кодовое слово для передачи параметров по ссылке) дает возможность возвратить на уровень выше рассчитанные значения переменных в подпрограмме? Я правильно понимаю? Тестирую на уровне симулятора станка в NX, данные в главную программу не возвращаются. Но на реальном станке это работает именно так?

 

 

 

 

Link to post
Share on other sites
Vladislav-dobrynin

И еще к Вам вопрос, по другой теме. Приходилось ли Вам сталкиваться на Sinumerik 840D с ограничением количества символов в одном кадре?

Какая максимальная длинна кадра, которую может обработать данная стойка?

Link to post
Share on other sites
1 час назад, Vladislav-dobrynin сказал:

Каким образом происходит передача значений локальной переменной (_CAL[9]=0 _CAL[10]=0 и т.д) обратно в главную программу?

Не сталкивался с передачей массива значений в вызывающую программу, но, для простых переменных работает так:

 

PROC SUBPROG(real _a1, real _a2, var real _a3, var real _a4)

_a3=_a1+_a2

_a4=_a1*_a2

M17

 

Вызываем:

SUBPROG(20, 30, R10, _X)

Переменные _a1, _a2 - обычные, примут значения 20 и 30 соответственно, а рассчитанные значения _a3, _a4 попадут в R10 (50) и _X (600), _X локальная переменная, недоступная в подпрограмме.

Как работает это с массивом, не знаю, наверно так, как Вы написали.

 

51 минуту назад, Vladislav-dobrynin сказал:

Приходилось ли Вам сталкиваться на Sinumerik 840D с ограничением количества символов в одном кадре?

Количество символов в кадре, наверно, не ограничено, проверял максимальное количество цифр в номере кадра n55555555555555....., и не смог получить ошибку)

Edited by A_1
  • Нравится 1
Link to post
Share on other sites
Vladislav-dobrynin
33 минуты назад, A_1 сказал:

Вызываем:

SUBPROG(20, 30, R10, _X)

Переменные _a1, _a2 - обычные, примут значения 20 и 30 соответственно, а рассчитанные значения _a3, _a4 попадут в R10 (50) и _X (600), _X локальная переменная, недоступная в подпрограмме.

Как работает это с массивом, не знаю, наверно так, как Вы написали.

Идея понятна, спасибо. на днях проверю на массиве значений, отпишусь 

Link to post
Share on other sites
1 час назад, Vladislav-dobrynin сказал:

Какая максимальная длинна кадра, которую может обработать данная стойка?

 

Максимально 512 символов.
В последнем издании информация не изменилась.
(NC programming, 07/2021, 6FC5398-2EP40-0BA2)

 

 

 

  • Нравится 1
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • vl_cnc
      Перемкнуть сигнал датчика проще в электрошкафу, но для этого надо электросхему иметь.
    • nein
      так и сделаю, но для этого надо кожуха снимать - а это немного лень))
    • Claus
      Всем спасибо, извините если на кого наговорил, разобрался, в моем случае надо работать с переключением конфигураций в структуре и в каждой указывать что должно быть по позициям в исполнениях, деталях и крепеже! Капец... Это тоже самое что вручную заполнять, только сложнее. Нужен механизм у элемента, что бы автоматически это делалось. Или хоть костыль, типа исправления позиции в самой спецификации меняет номер позиции в структуре.
    • Чингачгук
      Витя знатный мечтун! 40 с хреном лет мечтает о величии себя самого! Витёк, когда все свои деньги отдашь Ольге? Человек ждёт именно тебя, чтобы их приумножить в разы! Получишь много денег и автомобиль в подарок. Недавно они одной бабульке подарили джип. https://vk.com/id640629986?w=wall640629986_77%2Fall Витя, теперь твоя очередь!  
    • SerandKir
      круто! Браво Ажи! Ваши  станки( а тема как раз по вашему ...tronу..) прошлого века молодь все также считает современным! Так держать, глядишь и  станки этого века в следующем веке будут считаться также современным. А на счет современных Вы правильно заметили...если поставляются то в формате pdf, но опять же УВы УВЫ и АХ  ЕСЛИ  поставляются! В большей частью ограничиваются поставлением руководства по эксплуатации, а дале уж как повезет...(насчет принципиальных схем( это Вам батенька не советский союз(когда в комплекте шли все принц схемы даже на приемник..)!!! Э.....да тут оказывается по опыту ремонта конь не валялся, рази такое отношение к документации..Да кстати таки считаю, что предпочтительно иметь целую библиотеку и поболе, чем клянчить в форумах доку( как в этом случае,  и что то мне подсказывает что никто не выложил хотя  бы клочок бумаги со схемой FDC, а не то чтобы  в pdf, или покупать(Весьма и весьма недешево да и то не всегда, многое ноу хау..)!!
    • Claus
      Спасибо посмотрю.
    • Anat2015
      Ну, умер и умер, чего горевать. Зачем сразу лезть в PLC, напрягать мозги? Отключите выходы управления уловителем от PLC, принудительно включите золотник управления уловителем "от шпинделя" (чтобы во время работы уловитель с головой не встретился), или снять этот уловитель нафиг. Отключите датчики контроля уловителя. Тупо, проводочками, подайте нужную комбинацию сигналов вместо этих датчиков. И забудьте...  
    • kvin
      Настраивайте IMS, но как было сказано выше на 64 разрядной версии это будет проблемно...
    • Shura762
      Вам уважаемый уже несколько раз объясняли, зачем почему для чего .... Ну и я попробую, все отличие ТФ от других КАДов, так это в том, что сначала мы задаем взаимосвязи и отношения, а затем строим профиль, у конкурентов наоборот. Для параметризации, это самый простой способ, если сравнивать с программированием - ТФ это ассемблер и он имеет право на жизнь.... Вот у меня к вам личный вопрос, за все ваше время на этом форуме вы выдаете по 3 (ТРИ) с лишним сообщения в день включая выходные и праздники. Вопрос - как у ВАС на это время хватает? Б$#$ у человека дети, внуки, жена, теща, любовница, дача, машина.... как найти время (это про себя) Да, да и токарь-пекарь (прости дядя, не со зла) тоже по 3D детали делает, а слесарь собирает, ну ну. Ну и на последок, на работу надось, Терпимей надо, терпимей и к "вам потянутся люди"
    • andrey2147
      @gudstartup Вы точно уверены что это собеседнику понятны ваши слова ?  
×
×
  • Create New...