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

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 пользователей

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



  • Сообщения

    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
    • Борман
    • gudstartup
      а ведь все работало...
×
×
  • Создать...