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

FAQ/Unigraphics/POST


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

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

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

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

Проще это делать перед занесением, чем потом заморачиваться с извлечением, посмотрите как я сделал с добавкой массива в последних ответах

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


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

Проще это делать перед занесением, чем потом заморачиваться с извлечением, посмотрите как я сделал с добавкой массива в последних ответах

Это?

Показать содержимое  

запись
global list_tool
if { ![info exists list_tool] } { set list_tool {} }
set row_tool [expr $mom_tool_number*100+$mom_tool_adjust_register]
set bsearch 0
foreach tool $list_tool {
    if { $tool == $row_tool } {
        set bsearch 1
        break
    }
}
if { !$bsearch } { lappend list_tool $row_tool }
 
чтение
global list_tool
foreach number [lsort -ascii $list_tool] {
    set t_num [expr int($number/100)]
    set d_num [expr $number-$t_num*100]
    puts $ofile [format "bla bla %s - %s   " $t_num $d_num]
}

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

Не совсем, поищите tool_data_list

Что-то из этого?

Показать содержимое  

set tool_data "$mom_tool_number $mom_tool_adjust_register"
 

if { ![info exists list_tool] } { set list_tool {} }

set row_tool [expr $mom_tool_number*100+$mom_tool_adjust_register]
set bsearch 0
foreach tool $list_tool {
    if { $tool == $row_tool } {
        set bsearch 1
        break
    }
}
if { !$bsearch } {
    lappend list_tool $row_tool
    set tool_data_list($row_tool) $tool_data
}

 

foreach number [lsort -ascii $list_tool] {
        set t_num [expr int($number/100)]
        set d_num [expr $number - $t_num*100]

        puts $ofile "; T$t_num / D$d_num"
        puts $ofile "N$mom_seqnum $tool_data_list($number)"
        incr mom_seqnum $mom_sys_seqnum_incr
}

Hide  

 

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

Что-то из этого?

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

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

добавляйте дубликаты

Что значит добавлять дубликаты? Нужно же наоборот, найти эти дубликаты.

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

Что значит добавлять дубликаты? Нужно же наоборот, найти эти дубликаты.

Так при нахождении инструмента в tool_list добавлять его в другой массив

 

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

Так при нахождении инструмента в tool_list добавлять его в другой массив

 

Не понимаю. Можно поподробнее?

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

Не понимаю. Можно поподробнее?

global tool_double_list

if { ![info exists list_tool] } { set list_tool {} }
set row_tool [expr $mom_tool_number*100+$mom_tool_adjust_register]
set bsearch 0
foreach tool $list_tool {
    if { $tool == $row_tool } {
        set bsearch 1
        break
    }
}
if { !$bsearch } {
    lappend list_tool $row_tool
    set tool_data_list($row_tool) $tool_data
} elseif { ![info exists tool_double_list($row_tool)] } {

    set tool_double_list($row_tool) 0

}
 
foreach number [lsort -ascii $list_tool] {
        set t_num [expr int($number/100)]
        set d_num [expr $number - $t_num*100]
        puts $ofile "; T$t_num / D$d_num"
        puts $ofile "N$mom_seqnum $tool_data_list($number)"
        incr mom_seqnum $mom_sys_seqnum_incr
}

 

foreach double_tool [array names double_tools] {

        set t_num [expr int($double_tool/100)]
        set d_num [expr $double_tool - $t_num*100]

 

        puts $ofile "; Повторно использовался инструмент T$t_num с регистром D$d_num"

}

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

global tool_double_list

if { ![info exists list_tool] } { set list_tool {} }
set row_tool [expr $mom_tool_number*100+$mom_tool_adjust_register]
set bsearch 0
foreach tool $list_tool {
    if { $tool == $row_tool } {
        set bsearch 1
        break
    }
}
if { !$bsearch } {
    lappend list_tool $row_tool
    set tool_data_list($row_tool) $tool_data
} elseif { ![info exists tool_double_list($row_tool)] } {

    set tool_double_list($row_tool) 0

}
 
foreach number [lsort -ascii $list_tool] {
        set t_num [expr int($number/100)]
        set d_num [expr $number - $t_num*100]
        puts $ofile "; T$t_num / D$d_num"
        puts $ofile "N$mom_seqnum $tool_data_list($number)"
        incr mom_seqnum $mom_sys_seqnum_incr
}

 

foreach double_tool [array names double_tools] {

        set t_num [expr int($double_tool/100)]
        set d_num [expr $double_tool - $t_num*100]

 

        puts $ofile "; Повторно использовался инструмент T$t_num с регистром D$d_num"

}

Hide  

Что-то не заработало, хотя переменная объявлена.

Снимок.JPG

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

Что-то не заработало, хотя переменная объявлена

В моем ответе она не объявлена, или tool_data не присваивается значение или она не объявлена, проверьте.

Еще опечатка в цикле

foreach double_tool [array names tool_double_list] {

        set t_num [expr int($double_tool/100)]
        set d_num [expr $double_tool - $t_num*100]

 

        puts $ofile "; Повторно использовался инструмент T$t_num с регистром D$d_num"

}

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

В моем ответе она не объявлена, или tool_data не присваивается значение или она не объявлена, проверьте.

Еще опечатка в цикле

Показать содержимое  

foreach double_tool [array names tool_double_list] {

        set t_num [expr int($double_tool/100)]
        set d_num [expr $double_tool - $t_num*100]

 

        puts $ofile "; Повторно использовался инструмент T$t_num с регистром D$d_num"

}

Hide  

Чтобы не ругалось на tool_data добавил: set tool_data "$mom_tool_number"

Ошибки при постпроцессировании нет, но и дубли не находит.

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

Показать содержимое  

#запись

global tool_double_list mom_tool_number mom_tool_adjust_register
global tool_data
global mom_tool_nose_radius
global mom_tool_x_offset 
global mom_tool_z_offset
global mom_tool_number
global mom_tool_tracking_point 
global array_tool_name
global tool_index_max
global mom_tool_name
global tool_list
global tool_data_list
global list_tool
global mom_tool_type
global mom_tool_adjust_register
global mom_tool_right_corner_radius


set tool_data "$mom_tool_number $mom_tool_adjust_register"

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

if { !$bsearch } {
    lappend list_tool $row_tool
    set tool_data_list($row_tool) $tool_data
} elseif { ![info exists tool_double_list($row_tool)] } {
    set tool_double_list($row_tool) 0
}

 

#чтение

global tool_list
global list_tool
global mom_tool_adjust_register
global mom_tool_name
global mom_next_tool_name
global ptp_file_name
global mom_definition_file_name
global mom_output_file_full_name
global tmp_mess_file
global name_operation
global mom_warning_info
global mom_cam_session_config_file
global ptp_file_name
global array_tool_name
global tool_index_max
global mom_tool_number
global mom_machine_time
global double_tools
global mom_sys_seqnum_start mom_sys_seqnum_incr
global tool_data_list
#__________________________________________________________________________
set mom_seqnum 10 
#__________________________________________________________________________
#НАЧАЛО РЕПРОЦЕССА
set tmp_file_name "${ptp_file_name}_"

if {[file exists $tmp_file_name]} {
MOM_remove_file $tmp_file_name
}

MOM_close_output_file $ptp_file_name
file rename $ptp_file_name $tmp_file_name
set ifile [open $tmp_file_name r]
set ofile [open $ptp_file_name w]

global mom_machine_time mom_group_name mom_operation_name
global mom_tool_count mom_tool_use
global tool_data_name tool_data_diameter tool_data_corner1_radius
global mom_output_file_basename
global mom_logname mom_ug_version mom_date mom_part_name mom_machine_name
global mom_output_file_suffix mom_parent_group_name

   if {[info exists mom_operation_name] == 0} { set mom_operation_name "" }
   if {[info exists mom_group_name] == 0} { set mom_group_name $mom_operation_name }

global total_rapid_length
global total_cut_length
global total_rapid_time
global total_cut_time

#__________________________________________________________________________

set buf ""
#==========================================================================
#ВЫВОД СОДЕРЖИМОГО МАССИВА С ПОМОЩЬЮ ЦИКЛА (ШАПКА СО СПИСКОМ ИНСТРУМЕНТОВ)
foreach number [lsort -ascii $list_tool] {
        set t_num [expr int($number/100)]
        set d_num [expr $number - $t_num*100]
        puts $ofile "; T$t_num / D$d_num"
        puts $ofile "N$mom_seqnum $tool_data_list($number)"
        incr mom_seqnum $mom_sys_seqnum_incr
}

foreach double_tool [array names tool_double_list] {
        set t_num [expr int($double_tool/100)]
        puts $ofile "; Повторно использовался инструмент T$t_num с регистром D$d_num"
}

#__________________________________________________________________________
#ВЫВОД ОСТАЛЬНОЙ ЧАСТИ УП
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  
Ссылка на сообщение
Поделиться на других сайтах
16 минут назад, artem-nafanya сказал:

Ошибки при постпроцессировании нет, но и дубли не находит.

Вроде все правильно, кидайте пост

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

Вроде все правильно, кидайте пост

#запись в процедуре WARNING_TOOLS

#чтение в в процедуре reprocess

 

VERTOR_C-1L_3.1_DOUBLE.7z

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

#запись в процедуре WARNING_TOOLS

#чтение в в процедуре reprocess

 

VERTOR_C-1L_3.1_DOUBLE.7z

 

VERTOR_C-1L_3.1_DOUBLE.rar

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

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

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

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

Так да, я так задачу и видел, напишите подробнее что надо получить

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

Так да, я так задачу и видел, напишите подробнее что надо получить

В операциях обработки NX используется три инструмента: Т2, Т3, Т6.

Код отслеживающий дубли должен оперировать только этими инструментами, безотносительно того как и в каких количествах и в каком порядке они используются в операциях обработки.

Дублем инструмента должна считаться ситуация, если я:

-- создам новый инструмент с номером 2, 3 или 6 и буду использовать его в операциях обработки;

-- если сменю номер у существующего инструмента Т2 на на 6, тогда будет два инструмента с номером 6.

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

В операциях обработки NX используется три инструмента: Т2, Т3, Т6.

Код отслеживающий дубли должен оперировать только этими инструментами, безотносительно того как и в каких количествах и в каком порядке они используются в операциях обработки.

Дублем инструмента должна считаться ситуация, если я:

-- создам новый инструмент с номером 2, 3 или 6 и буду использовать его в операциях обработки;

-- если сменю номер у существующего инструмента Т2 на на 6, тогда будет два инструмента с номером 6.

Т.е. чтобы 2 разных инструмента не были под одним номером?

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

Т.е. чтобы 2 разных инструмента не были под одним номером?

Верно.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • maxx2000
      Я скорее согласен с Надеждой Януарьевной
    • Koels
      Мотора 54 градуса, что на 6 градусов больше соседнего станка, вентеляторы в норме да. Ещё хочу сравнить нагрузку координаты с соседним станком, но пока не дают. У этих двух станков проблемы с охлаждением, на соседнем стоит автомобильный радиатор для охлаждения масла. xD
    • Bot
      Dassault Systèmes Reports Solid First Quarter Results And Reaffirms Full-Year Objectives Просмотр полной статьи
    • Ninja
    • Ninja
      В зимнее время водители устанавливают на колёса специальные цепи против скольжения. В мире разработано множество видов цепей и способов их установки. Японцы применяют "цепи Абэ". Кто этот великий инженер? Это знаменитый японский писатель Кобо Абэ. Для уединенного писательского труда Абэ купил домик в горах. А в горах зима ранняя, снежная, затяжная. Без цепей на колёсах можно и улететь с обрыва. Абэ периодически заводил машину и спускался в долину. Почту получить/отправить, в магазине продукты купить, ящик рисовой водки. (Известное дело: насухую великую книгу не напишешь). В долине приходилось цепи снимать. По правилам цепи запрещается применять при отсутствии на дороге снежного покрова. В те времена для установки/снятия цепи требовалось домкратом поднимать каждое колесо. В машине 4 колеса. Товарищу Абэ приходилось корячиться с домкратом. При этом в самых нелитературных выражениях комментируя политику правящей партии и все домкраты в мире. Купил в магазине бухлишко-закусь. Поехал домой в горы. А там снег, скользко. Цепи требуются. Опять писатель и драматург Абэ домкрат крутит. Всё это насмерть надоело Абэ. Обратился к компаниям-производителям: придумайте способ установки цепей без домкрата! Но производители ничего не придумали. Или не захотели. Тогда Абэ сам придумал способ установки цепей без необходимости поднимать колесо. Послал изобретение на конкурс. И неожиданно получил призовое место и патент. Новый способ установки цепей быстро завоевал популярность. Так и пошло у японцев - "цепи Абэ". Кобо Абэ не получил Нобелевскую премию по литературе. Уже выдвигался, уже все были уверены в том, что он её получит. Но не успели, писатель умер. А это всё дурацкие цепи виноваты. Сколько времени он потерял в установке/снятии цепей? Сколько времени, вместо того чтобы писать, он крутил домкрат? Вот и не успел. https://ru.ruwiki.ru/wiki/Абэ,_Кобо
    • gudstartup
      приемлимо. температуру мотора посмотрите. если вентилятор нормально вращается и его скорость соответствует оригинальному а также контакт в разъеме нормальный а F все равно появляется то даже не знаю что у вас может быть так как привод у вас новый
    • Koels
      Хмм, я думал раз она вылазит даже в простое, то Z координата висит на тормозе и дело не в этом. Спасибо за мысль, щас узнаю. Вообще у нас рядом стоит точно такая же макина, точь в точь и там таким проблем нет. Много заказов и отсутствие специалистов сделало свое дело. :) @gudstartup, 58% нагрузка на координату
    • mrVladimir
      Что-то я немного засомневался. Если решим брать новое ЧПУ, то искать точно такое же необходимо по номеру сзади корпуса (пластикового пластмассового) - так? А если брать только плату (материнскую или как ее лучше назвать...), на которой установлена (запаена) микросхема 1 на моих фото выше, то искать плату необходимо по номеру, который указан на самой плате - так? В моем случае : ЧПУ : A02B-0321-B520. Код на плате : A20B-8201-0081/01A. Если, допустим, мы покупаем ЧПУ A02B-0321-B520 - будет ли это гарантией того, что в нем установлена плата A20B-8201-0081/01A. И можно ли будет его считать таким же. И с отдельно приобретаемой платой тоже самое - если номер на ней полностью совпадает с нашим, значит ли это, что она полностью идентична. P.S. : извиняюсь за , возможно, навязчивые вопросы. Просто не хотелось бы попасть впросак из-за своей некомпетентности. такой файл есть, но мне говорили, что после снятия архивов, его лучше вообще никогда нигде ни использовать. А на каком этапе он нам может понадобиться?. Если, как говорил Виктор, мы зальем архив SRAM на старый модуль (ROM-SRAM), установленный в новое ЧПУ, то и файл OPRMINF не нужен. Правильно же?
    • Slavdos
      Доброе. делюсь 1 внедренным китайцем. купили у ЛЛС MARVEL PRO 6000-3015.HGT , 2 шт , с автоматизацией. станки неплохие, интерфейс русские, достаточно дружелюбен. за автоматизацию зря переплатили, китай похоже в этом сильно уступает европе. из неожиданностей- резка воздухом дает неудаляемый грат, по сути необходимы зачистные станки.
    • Killerchik
      Я 4 комфорки на скоростной шпиндель поставил, в этом же качестве)))))
×
×
  • Создать...