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

Помогите разобраться в скрипте =)


FCLM

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

Люди добрые, помогите разобраться в скрипте, буду благодарен любому комменту, совершенно не с кем поговорить на эту тему =(((

   global mom_cycle_spindle_axis mom_sys_work_plane_change
   global traverse_axis1 traverse_axis2 mom_motion_event mom_machine_mode
   global mom_pos mom_prev_pos mom_from_pos mom_last_pos mom_sys_home_pos
   global mom_sys_tool_change_pos
   global spindle_first rapid_spindle_inhibit rapid_traverse_inhibit

   if { ![info exists mom_from_pos($mom_cycle_spindle_axis)] &&\
         [info exists mom_sys_home_pos($mom_cycle_spindle_axis)] } {

      set mom_from_pos(0) $mom_sys_home_pos(0)
      set mom_from_pos(1) $mom_sys_home_pos(1)
      set mom_from_pos(2) $mom_sys_home_pos(2)

   } elseif { ![info exists mom_sys_home_pos($mom_cycle_spindle_axis)] &&\
               [info exists mom_from_pos($mom_cycle_spindle_axis)] } {

      set mom_sys_home_pos(0) $mom_from_pos(0)
      set mom_sys_home_pos(1) $mom_from_pos(1)
      set mom_sys_home_pos(2) $mom_from_pos(2)

   } elseif { ![info exists mom_sys_home_pos($mom_cycle_spindle_axis)] &&\
              ![info exists mom_from_pos($mom_cycle_spindle_axis)] } {

      set mom_from_pos(0) 0.0 ; set mom_sys_home_pos(0) 0.0
      set mom_from_pos(1) 0.0 ; set mom_sys_home_pos(1) 0.0
      set mom_from_pos(2) 0.0 ; set mom_sys_home_pos(2) 0.0
   }

Что имменно непонятно:
1. вот этот фрагмент:
 { ![info exists mom_from_pos($mom_cycle_spindle_axis)] &&\  [info exists mom_sys_home_pos($mom_cycle_spindle_axis)] } 
 На сколько я понял порядок чтения примерно следующий: если условие [info exists mom_from_pos($mom_cycle_spindle_axis)] не выполняется а условие [info exists mom_sys_home_pos($mom_cycle_spindle_axis)] } выполняется то тогда мы присваиваем значения переменным. А если первое условие выполняется вместе со вторым то тогда мы пропускаем присвоение переменных. Или другими словами 
если оба условия после обработки первого оператором ! (лог отрицание) равны нулю или единице то тогда мы выполняем присвоение значений переменным а если они не равны между собой то мы идём к elseif.  

 

2. Не понятен формат записи [info exists mom_from_pos($mom_cycle_spindle_axis)], вроде бы как после оператора info exists должен следовать аргумент в данном случае mom_from_pos а тут дополнительно ещё один аргумент запилили причём без пробела и в 
скобках в итоге мы имеем [info exists mom_sys_home_pos($mom_cycle_spindle_axis)].

 

3. При присваивании значений переменным также странный формат записи например выше объявляется переменная mom_from_pos, при присваивании ей значения она уже превращается в mom_from_pos(0), а значение ей присваивается из переменной mom_sys_home_pos(0) 
которая выше объявлялась как mom_sys_home_pos.

 

4. Знак \ после оператора && означает простой перенос строки после объявления оператора?

 

5. В описании указано: info exists varName Возвращает 1, если переменная varName существует в текущем контексте как локальная или как глобальная переменная. В противном случае возвращает 0. Что понимается под понятием текущий контекст? Не он ли указан в скобках и тогда строка [info exists mom_from_pos($mom_cycle_spindle_axis)] расшифровывается как если значение переменной mom_from_pos равняется значению переменной mom_cycle_spindle_axis то тогда в квадратных скобках мы имеем "1" в противном случае "0"? Но в описании переменных они как то с друг дружкой не очень вяжутся mom_cycle_spindle_axis - это вроде как рабочая плоскость, а mom_from_pos это координаты исходной точки?

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


Всё встаёт на свои места, если понять, что mom_from_pos - массив, а mom_from_pos(0) значение по X

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

Скачай komodo и протестируй, это будет лучше всего. 

{ ![info exists mom_from_pos($mom_cycle_spindle_axis)] &&\  [info exists mom_sys_home_pos($mom_cycle_spindle_axis)] }

![info exists mom_from_pos($mom_cycle_spindle_axis)]

info exists mom_from_pos($mom_cycle_spindle_axis) - функция возвращает true если элемент массива mom_from_pos($mom_cycle_spindle_axis) - существует 

 [info exists mom_sys_home_pos($mom_cycle_spindle_axis)] - аналогично 

Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...
В 12.11.2019 в 22:39, denis3122 сказал:

Скачай komodo и протестируй, это будет лучше всего. 

{ ![info exists mom_from_pos($mom_cycle_spindle_axis)] &&\  [info exists mom_sys_home_pos($mom_cycle_spindle_axis)] }

![info exists mom_from_pos($mom_cycle_spindle_axis)]

info exists mom_from_pos($mom_cycle_spindle_axis) - функция возвращает true если элемент массива mom_from_pos($mom_cycle_spindle_axis) - существует 

 [info exists mom_sys_home_pos($mom_cycle_spindle_axis)] - аналогично 

Спасибо за разъяснения! 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      вы лично таким маршрутом пользовались? а еще можно через Гималаи на лыжах махнуть или дипломатической почтой  реально подождать и ничего с вашим станком не случится к тому же нормальное производство имеет мощности для резервирования. 45 дней подождать или под лавину в Гималаях!! он что время до взрыва бомбы отсчитывал!? а можно на подводной лодке еще, вы серьезно что ли. досматривают в любом случае хоть туда хоть оттуда а может надо нанять гипнотизера и он стоя рядом внушит таможеннику что вы утюг вместо привода везете тогда путь свободен!
    • Killerchik
      Так речь о экспорте или импорте? Вы написали изначально "не пустят обратно" и я решил, что Вы говорите о таможне РФ. Как правило, при личном везде таможенники в разы сговорчивее. Если Вы говорите о том, что не выпустит таможня Китая - ну так можно лететь через третьи страны, не? Ещё разок - речь о ситуациях, когда нужно срочно. Правда нужно - то есть отдать пусть даже несколько лимонов рублей - не проблема. И слетать через 3-4 страны не проблема. пиэс- в 2017 году у меня на станке сдох ЧПУ контроллер компании Delta Tau. Рассматривали варианты экстренного привоза из США, на счету был каждый час. Плату по итогу помогли восстановить крутые парни из РФ. Но варианты экстренного привоза всего, что можно легально вывезти из США в багаже тогда были прямо на Авито: чел с визой летит туда ближайшим рейсом и привозит нашу гравицапу.
    • gudstartup
      тогда платите в 10 раз дороже ....
    • gudstartup
      это вы с таможенником спорить будите, вся продукция фанук запрещена к экспорту в россию. пользуйтесь услугами резидентов поднебесной и нечего с рюкзаками по заграницам ездить.
    • AlexArt
      @Jesse, а ну отлично! Не знал, что ваши познания стали настолько высокими, что вам мало готовых методик и вы решили разработать новую. Удачи защитить её и опубликовать. С удовольствием почитаю.
    • Александр1979
      Иногда требуется. 
    • gudstartup
      с момента отлучения все что делает сименс для них  недоступно и они обычные люди правда с большим инструментарием но он к сожалению устаревает. сомневаюсь также что они готовы просто так поделиться теперь это бизнес и он стал очень дорогим. а оно вам надо?
    • Александр1979
      Он у вас просит Toolox V18 Update 1. Amsamotion не поддерживает профибас 12 мбит, только 1.5 мбит. 
    • gudstartup
      а тиа какой версии у вас самой последней ?
    • Tad
      Пользуйтесь коррекциями на соответствующей странице и не плодите лишние сущности.  Кто использует коррекцию толщины материала, тот не спрашивает, где это и зачем это. 
×
×
  • Создать...