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

Передача переменной из подсистемы в подсистему


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

Как можно передать переменную, определенную в одной подсистеме, в другую, не объявляя ее глобальной? Возможно такое?

Суть задачи: в подпрограмме в подсистеме 1 определяется значение переменной, которое затем нужно выполнить в подсистеме 2.

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


UnPinned posts

Видимо, не совсем то. По умолчанию у нее значение 0, т.е. все переменные должны быть видимы во вложенных подпрограммах.

Ситуация несколько другая: есть цикл, в котором одним из параметров задается величина перемещения, цикл естественно вызывается в подсистеме 1. Внутри цикла необходимо активировать подсистему 2 и в ней выполнить это перемещение. Верикут говорит, что переменная не определена, т.к. она определена в подсистеме 1.

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

@Mr_Gray Мне, вроде бы, удалось воспроизвести вашу проблему. Да, дело не в этом. Скорее всего без "глобализации" переменной не обойтись.

Возможно смогу какой-то костыль придумать, но надо конкретный проект смотреть.

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

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

Вот так выглядит цикл:

PROC BSEN_PARA(Real STRINGER_EDGE_DISTANCE, Real DRILL_APPROACH, Real EDGE_OFFSET)
    CGTECH_MACRO "SetSubsystemID" "Drill_Head"
    G0 Z=DRILL_APPROACH
    CGTECH_MACRO "RestoreSetSubsystemID"
    Y=IC(50*cos($AA_IW[3])) Z=IC(50*sin($AA_IW[3]))
M17

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

@Mr_Gray Получилось два макроса)

 

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

PROC BSEN_PARA(Real STRINGER_EDGE_DISTANCE, Real DRILL_APPROACH, Real EDGE_OFFSET)

    ;в текущей подсистеме получаем имена переменных и их значения для переноса в другую подсистему. сделал только для переменных REAL, пока что.

    CGTECH_MACRO "mrVoden_TransLocalVarBetweenSubsystems_PRT1" "DRILL_APPROACH" 0
    CGTECH_MACRO "mrVoden_TransLocalVarBetweenSubsystems_PRT1" "EDGE_OFFSET" 0
    CGTECH_MACRO "mrVoden_TransLocalVarBetweenSubsystems_PRT1" "STRINGER_EDGE_DISTANCE" 0

    ;сменили подсистему

    CGTECH_MACRO "ChangeSubsystemID" "Drill_Head" 1

    ;создали локальные копии переменных в новой подсистеме. при значении 1 вектор с переменными сбрасывается.

    ;если переменная  в новой подсистеме уже существует, то ее значение будет обновлено.

    CGTECH_MACRO "mrVoden_TransLocalVarBetweenSubsystems_PRT2" "" 1

    G0 Z=DRILL_APPROACH

    ;сменили подсистему обратно

    CGTECH_MACRO "ChangeSubsystemID" "1" 1

M17

Для запуска может потребоваться vcredist последней версии

 

mrVoden_ext.dll

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

Спасибо, заработало! Так и делал, но почему-то с первого раза он отказался грузить ее. После перезагрузки все заработало.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      очень содержательно и о чем это кто знает ....
    • gudstartup
      прикольно оказывается главное в голове не мозг а ливер иначе работать не будет!! перестаем выедать мозги друг другу и переходим на ливерную колбаску!
    • Artas28
      Syntec 220MA Во время смены инструмента, шпиндель по Z уехал выше. После нажатия паузы. Всё встало. Станок находится выше машинного нуля и не опускается. Кто сталкивался? Как опустить?  Ошибка MLCHint R590.7 Plc hint
    • Snake 60
      @Alexey0336  Да, всё работает: https://cloud.mail.ru/public/NGNq/Ft8UAJtf3  
    • Anat2015
      Так оно и есть, китайский клон Сименс-808.  
    • Snake 60
      Что Вы подразумеваете под словом "Конфликтовать"? Мпроп и мой макрос делают одно и тоже действие, создают и заносят свойства в файл солида. Если свойства с одинаковым именем (например Обозначение и Наименование), то Да, свойство перезапишется тем макросом, которой отработал последним. Щас проверю, отпишусь. Изначально Наименование и Обозначение берутся из имени файла, но его всегда можно перезаписать... Если что, это всегда можно переписать под Ваши требования.
    • jtok
      Если у вас SW не выше 18й версии, могу проверить у себя.
    • Orchestra2603
      Ну, есть же, например QZ алгоритм (обобщение QR разложения, для слуая когда матрица масс не равна I). Отлично работает, когда одна из матриц вырожденная. Вот статься:  https://deepblue.lib.umich.edu/bitstream/handle/2027.42/6667/bac9269.0001.001.pdf?sequence=5   вот коротко в Вики     Раскопал это вообще, глядя в справку от матлаба: https://www.mathworks.com/help/matlab/ref/eig.html.   Это все нюансы....  И все эти алгоритмы сущетсвуют уже кучу лет во всяких библиотеках типа LAPACK. Вы думаете, что в Dassault Systemes или Ansys про это не знают, и их модальник - лажа?  
    • karlf
      Сегодня не было времени, завтра посмотрю и пришлю фото как выглядит
    • Bot
      АСКОН выпустил новый релиз среды общих данных Pilot. В нем получили развитие инструменты строительного контроля и авторского надзора, появилась возможность вручную координировать модель объекта капитального строительства. Стройконтроль Вести стройконтроль на площадке, а также авторский надзор за деятельностью арендаторов и собственников поможет привязка панорамных фото объекта к чертежам и документам. Для съемки панорамных фото используется мобильное приложение Pilot-Photo360, доступное для Android. С помощью приложения специалисты строительных организаций, компаний-застройщиков, девелоперов смогут: Находясь на объекте строительства или эксплуатации, фотографировать объект на специализированную панорамную камеру и сразу прикреплять снимки к точкам на чертежах и документах в Pilot-BIM или Pilot-ICE Enterprise. Группировать панорамные снимки по альбомам. Просматривать фото помещения с разных ракурсов, при этом видеть направление взгляда относительно [...] View the full article
×
×
  • Создать...