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

FAQ/Unigraphics/POST


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

14 минуты назад, artem-nafanya сказал:

Нумеруется так же первая строка, но теперь через одно значение массива. 

Я просто не стал опять писать 

{

global mom_sys_seqnum_start mom_sys_seqnum_incr
set mom_seqnum $mom_sys_seqnum_start

}

 

Полный вариант:

global mom_sys_seqnum_start mom_sys_seqnum_incr
set mom_seqnum $mom_sys_seqnum_start

set i 1
foreach number [lsort -ascii $list_tool] {
        set seq_temp ""
        if { $i < 2 } {

                set seq_temp "N$mom_seqnum " 

                incr mom_seqnum  $mom_sys_seqnum_incr
                incr i
        } else { set i 1 }
        puts $ofile "$seq_temp$number"       
}

 

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


34 минуты назад, lexincton сказал:

Я просто не стал опять писать 

{

global mom_sys_seqnum_start mom_sys_seqnum_incr
set mom_seqnum $mom_sys_seqnum_start

}

Эти переменные я объявил, но всё равно не так.

 

 

Сейчас код выглядит так:  

#ВЫВОД СОДЕРЖИМОГО МАССИВА С ПОМОЩЬЮ ЦИКЛА
global mom_sys_seqnum_start mom_sys_seqnum_incr
set mom_seqnum $mom_sys_seqnum_start

set i 1
foreach number [lsort -ascii $list_tool] {
        set seq_temp ""
        if { $i < 2 } {
                set seq_temp "N$mom_seqnum "
                incr mom_seqnum  $mom_sys_seqnum_incr
                incr i
        } else { set i 1 }
        puts $ofile "$seq_temp $number"
}

 

while { [gets $ifile buf] > 0 } {
       puts $ofile "$buf"
}
close $ifile
close $ofile

MOM_remove_file $tmp_file_name
MOM_open_output_file $ptp_file_name
 

Hide  

И выводит номера кадров отмеченные на фото жёлтым.

Надо чтобы номера кадров были на месте красных отметок.

Снимок.JPG

Изменено пользователем artem-nafanya
Ссылка на сообщение
Поделиться на других сайтах
27 минут назад, artem-nafanya сказал:

И выводит номера кадров отмеченные на фото жёлтым.

Надо чтобы номера кадров были на месте красных отметок

Пост надо с проектом

Ссылка на сообщение
Поделиться на других сайтах
28 минут назад, lexincton сказал:

Пост надо с проектом

Пожалуйста:@lexincton

 

project.7z

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

Автор постпроцессора засунул данные по инструменту в текстовые блоки, которые выводил ПОСЛЕ постпроцессирования в начало файла УП процедурой reprocess. Так как "вклиниться" в эти текстовые блоки не так просто, надо голову ломать как эти блоки разбить на ; T2 / D1, потом номер кадра, потом R00 =  - могу подсказать как в этих текстовых блоках изменить место вывода ; T2 / D1 и нумерация начнется с R00

; **********************
; * DANNIE INSTRUMENTA *
; **********************
N80 CDI001 ; NACHALO DANNIH INSTRUMENTA
;
N10000   R00=2 R01=1 R02=3 R03=0.000 R04=0.000 R05=0.800
     R06=-2.5 R07=42.5 R10=500
     R20=200 R21=5 R22=2
     CWZ001 ; WERKZEUGDATEN ERSTWERKZEUG EINTRAGEN
     ; T2 / D1
;
  R00=3 R01=1 R02=2 R03=0.000 R04=0.000 R05=0.400
     R06=0. R07=0. R10=500
     R20=200 R21=5 R22=3
     CWZ001 ; WERKZEUGDATEN ERSTWERKZEUG EINTRAGEN
     ; T3 / D1
;
N10100   R00=6 R01=1 R02=3 R03=0.000 R04=0.000 R05=0.800
     R06=-2.5 R07=42.5 R10=500
     R20=200 R21=5 R22=6
     CWZ001 ; WERKZEUGDATEN ERSTWERKZEUG EINTRAGEN
     ; T6 / D1
;
 ; T3 / D2
     R00=3 R01=2 R02=3 R03=0.000 R04=0.000 R05=0.400
     R06=0. R07=0. R10=500
     CWZ001 ; WERKZEUGDATEN ERSTWERKZEUG EINTRAGEN
;
N120 CDI002 ; OKONCHANIE DANNIH INSTRUMENTA
N130 STOPRE
N140 R199=0
N150 

В чужих плодах воспаленных мозгов копаться - небольшое удовольствие.......

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, artem-nafanya сказал:

Пожалуйста:@lexincton

 

project.7z

Можно было сделать красивее через списки, но результат необходимый есть (последующие номера тоже можно отформатировать по порядку)

project.rar

 

Как видите, как раз он не гибкий

 

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

Можно было сделать красивее через списки, но результат необходимый есть (последующие номера тоже можно отформатировать по порядку)

project.rar

 

Как видите, как раз он не гибкий

 

Большое спасибо Вам за труд!

Ссылка на сообщение
Поделиться на других сайтах
В 18.01.2018 в 14:51, lexincton сказал:

Потому что ее нет и к тому же ничего не добавляется

 

global list_tool double_tools

if { ![info exists list_tool] } { set list_tool {} }
set row_tool  $mom_tool_number
set bsearch 0
foreach tool $list_tool {
    if { $tool == $row_tool } {
        set bsearch 1
        break
    }
}

if { !$bsearch } {

    lappend list_tool $row_tool

} elseif { ![info exists $double_tools($row_tool)] } { set double_tools($row_tool) 0 }

Если есть смена инструмента с одним и тем же номером, то этот код считает, что это дубликат.

Подскажите как сделать что бы он на это не реагировал?

Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, artem-nafanya сказал:

Если есть смена инструмента с одним и тем же номером, то этот код считает, что это дубликат.

Подскажите как сделать что бы он на это не реагировал?

Без учета номера регистра?

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, lexincton сказал:

Без учета номера регистра?

Тут регистр не отслеживается, только номер инструмента.

Так получается если инструменты в операциях расположены так:

Т2

Т2

Т2

Т6

то нет одинаковых номеров инструментов, и это правильно.

А если так:

Т2

Т2

Т6

Т2

то код находит одинаковые номера инструментов, хотя это один и тот же инструмент Т2.

Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, artem-nafanya сказал:

Тут регистр не отслеживается, только номер инструмента.

Так получается если инструменты в операциях расположены так:

Надо смену инструмента отслеживать? И выводить порядок этой смены?

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

Надо смену инструмента отслеживать? И выводить порядок этой смены?

Если отработал инструмент 1) Т1 и потом произошла смена инструмента на Т2, а потом смена на Т1,

то последний Т1 может быть как новым инструментом с номером совпадающим 1) Т1,так и снова сам первый инструмент 1) Т1.

Ссылка на сообщение
Поделиться на других сайтах
43 минуты назад, artem-nafanya сказал:

Если отработал инструмент 1) Т1 и потом произошла смена инструмента на Т2, а потом смена на Т1,

то последний Т1 может быть как новым инструментом с номером совпадающим 1) Т1,так и снова сам первый инструмент 1) Т1.

И?

5 часов назад, lexincton сказал:

Надо смену инструмента отслеживать? И выводить порядок этой смены?

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

И?

Вроде как массив из $mom_tool_number должен давать список уникальных номеров инструментов, но эта уникальность как бы теряется если есть смена инструмента.

Как отследить сей момент?

Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, artem-nafanya сказал:

Вроде как массив из $mom_tool_number должен давать список уникальных номеров инструментов, но эта уникальность как бы теряется если есть смена инструмента.

 

Т.е. при 

Т2
Т2
Т2
Т6

в списке T2 и Т6, при

Т2

Т2

Т6

Т2

3 инструмента?

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

 

Т.е. при 

Т2
Т2
Т2
Т6

в списке T2 и Т6, при

Т2

Т2

Т6

Т2

3 инструмента?

И там и там 2 инструмента. Но в варианте, когда Т6 находится между Т2, в NX возникает смена инструмента и код:

КОД  

global double_list_tool
global double_tools mom_tool_number
#ПРОВЕРКА НА ОДИНАКОВЫЕ НОМЕРА ИНСТРУМЕНТОВ (ВЫВОД ПРЕДУПРЕЖДЕНИЯ В РЕПРОЦЕССЕ)
if { ![info exists double_list_tool] } { set double_list_tool {} }
set row_tool $mom_tool_number
set bsearch 0
foreach tool $double_list_tool {
    if { $tool == $row_tool } {
        set bsearch 1
        break
    }
}
if { !$bsearch } {
    lappend double_list_tool $row_tool
} elseif { ![info exists double_tools($row_tool)] } { set double_tools($row_tool) 0 }
 

foreach number [array names double_tools]  {
MOM_display_message "ОБНАРУЖЕНЫ ОДИНАКОВЫЕ НОМЕРА ИНСТРУМЕНТОВ T$number"
MOM_output_to_listing_device "ОБНАРУЖЕНЫ ОДИНАКОВЫЕ НОМЕРА ИНСТРУМЕНТОВ T$number"
}

Hide  

отрабатывает, что как бы Т2 до смены инструмента и Т2 после смены инструмента -- это разные инструменты, хотя по факту один и тот же Т2.

Но может быть случай что человек ошибся и реально создал два разных инструмента с одинаковым номером "2".

Вариант с ошибкой человека код отрабатывает верно, а вариант со сменой инструмента -- нет.

 

Поясняющее видео: https://yadi.sk/d/8w8GnWmN3RghEz

 

Изменено пользователем artem-nafanya
Вариант с ошибкой человека код отрабатывает верно, а вариант со сменой инструмента -- нет.
Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, artem-nafanya сказал:

отрабатывает, что как бы Т2 до смены инструмента и Т2 после смены инструмента -- это разные инструменты, хотя по факту один и тот же Т2.

Но может быть случай что человек ошибся и реально создал два разных инструмента с одинаковым номером "2".

Вариант с ошибкой человека код отрабатывает верно, а вариант со сменой инструмента -- нет.

Событие смены инструмента в билдере работает через одно место, чтобы отслеживать смену надо самому писать процедуру

project.rar

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

Событие смены инструмента в билдере работает через одно место, чтобы отслеживать смену надо самому писать процедуру

project.rar

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

Например, список адекватно отображающий номера инструментов, выдаёт известная команда TOOL_LIST (пример в прикреплённом посте). Если получится взять из этого TOOL_LIST массив с номерами инструмента и засунуть их в проверку на одинаковые инструменты, то теоретически должно получиться.

Поясняющее видео: https://yadi.sk/d/5LlLstRJ3RirXA

POST_TOOL_LIST.rar

Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, artem-nafanya сказал:

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

Отслеживать надо, если надо запомнить порядок смены, просто для списка инстр-та это не требуется

10 часов назад, artem-nafanya сказал:

Если получится взять из этого TOOL_LIST массив с номерами инструмента и засунуть их в проверку на одинаковые инструменты, то теоретически должно получиться.

Вариантов масса, можно и так попробовать

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

Вариантов масса, можно и так попробовать

Что-то пока не удаётся объединить TOOL_LIST и проверку на дубли. Не совсем понятно где там массив с номерами инструментов?

Какие есть ещё варианты?

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      @stanislavz если тактовая частота цп ок видать что то с таймерными циклами слишком длинные отсюда такой лаг в работе
    • gudstartup
      да у вас очень древний чемоданчик думаю из 90-х ну его ломать не жалко но если все уже заменили с рабочего то тут даже не знаю что и посоветовать....
    • stanislavz
      Спасибо за ответ. Так этот и был заказан на запас. В машине живой рабочий. Носителя нету, все в памяти hm628128-10 + ээпром.
    • gudstartup
      @stanislavz вы уж сразу еще один контроллер закажите а потом этот доламывайте. а со старым комбинировать не пробовали? у вас там диск или ssd в качестве носителя? может hdd загибается а вы сразу в мат.плату полезли. дисковые операции тоже ввод вывод тормозят...
    • maxx2000
      Подушную малость. Чё там. Уже в упор научились резьбу резать без выходной канавки?
    • ispite
      Здравствуйте, не могу построить стандартную сетку, что не позволяет дальше провести расчёт. Получается сделать сетку "на основе кривизны", но солид отказывается считать, после нажатия кнопки "запустить исследование" происходит сбой. https://disk.yandex.ru/d/D8wvRbYMW1lWjQ
    • ddm
      изготовить по чертежу с последующим покрытием,цинкование ,по 1000 шт каждой позиции ,предложение отправить на почту qwer463@yandex.ru
    • sklide008
      И еще можно ли задать горчие клавиши на кнопки открыть, скрыть и тд?
    • sklide008
      Подскажите, пожалуйста, в инвенторе есть такой пункт упорядочи по алфавиту дерево. Здесь найти такого не могу, пытался treesorter ставить но он добавляет просто в папку а не сортирует в дереве. Есть ли такой макрос чтобы все детали в дереве по порядку и алфавиту шли?
    • stanislavz
      Есть станок с данным контроллером. Все работает. Недавно была проблема с передачей данных - установил запасной контроллер. А запасной контроллер сказал нет работе. Проблема была в программе компьютера для передачи данных. Грустно, досадно, контроллер был куплен как рабочий. Как бы и не горит, но необходимо поправить. Плата управления с процессором mc68020, память hm628128-10. Память буферным питанием от 3 батареек + 0,5 Фарада на плате как буфер для замены батареек на 1 сутки. Лежало долго, без батареек. Симптомы: После первого включения, в памяти были и программы и параметры (0 странность). Честно, удивило. Но - система жутко тормозит, отклик на нажатие кнопки 3-5 секунд. В таком режиме сумел закачать машинные параметры под свой станок. Но это заняло час.. 4 строки и ждет секунд 10 итд. Есть видео. Перекинул с рабочего контроллера, БП, плату плц, ээпром плц - все то же. Проверил осциллографом кварцы живые , частота есть, амплитуда хорошая. 1 странность - после манипуляций по замене батарейки, старые записи из памяти исчезли. Ничего не коротнул. Возможно 0,5 Ф был не заряжен. Там тоже необходимы сутки для зарядки. Но как оно было запечатоно до этого - мистика. 2 странность. Если плата лежит ночь без питания, только с буфером - потом 2-3 минуты работает хорошо. 3 аналогично работает 2-3 минуты если питание отключить и очистить питание памяти (выпаял 0,5 Ф буфер с платы) Проверка памяти на старте есть. Проходит хорошо. На зависает, на холодную пайку не похоже. Шевелил / двигал все. Да и не виснет, именно тормозит. При том если оставить на час - тоже все стабильно плохо. Если набрать быстро 5 символей- экран сразу пуст, но после задержки символы будут на экране. Заказал второй процессор и память. 10 штук. Подавал прямо 5 вольт на память - все так же. Токи потребления между плохой и хорошей платой смогу проверит.    
×
×
  • Создать...