Jump to content

Время работы инструмента в списке инструмента через PB_CMD_create_tool_list


traktorbek

Recommended Posts

traktorbek

Доброго дня, коллеги.

Задача стоит вывести список инструмента в шапку программы с указанием времени работы каждого инструмента. Для вывод воспользовался имеющейся в NX процедурой PB_CMD_create_tool_list. Но время работы инструмента не выводится.

В PB_CMD_init_tool_list есть переменная $tool_time, которая по логике и собирает время работы со всех операций, но не удалось её вывести, т.е. процесс не читает программу вперёд. Если вывести PB_CMD_create_tool_list, то все необходимые данные получим, и машинное время там есть. Но по ТЗ, оно должно быть в шапке...

 

Подскажите, пожалуйста, как поправить процедуру, чтобы она собрала данные о машинном времени и вывела в начале кода УП

 

Edited by traktorbek
Link to post
Share on other sites


UnPinned posts
5axisCNC

А нет случайно команды чтобы после процедуры прекратил вывод в файл и имеет ли смысл если она есть ее использовать?

Link to post
Share on other sites
mr_Voden
16 часов назад, traktorbek сказал:

Нет примера, как из хвоста программы перенести данные в начало?

Можете тут посмотреть.

1 минуту назад, 5axisCNC сказал:

А нет случайно команды чтобы после процедуры прекратил вывод в файл и имеет ли смысл если она есть ее использовать?

Такая команда есть:  MOM_close_output_file. Смысл ее использовать есть когда надо прекратить вывод в файл)

  • Нравится 1
Link to post
Share on other sites
traktorbek
31.07.2024 в 15:22, mr_Voden сказал:

Можете тут посмотреть.

 

 

По вашей методике в INIT_OUTPUT внёс

global DATA DATA_count
set DATA_count 0
set DATA($DATA_count) "mom_machine_time"
incr DATA_count

 

И разместил в самое начало Старт оф програм

 

OUTPUT разместил в самом конце

 

После инит оутпут поставил процедуру вывода времени

 

Так вот выводит время 10 секунд, т.е. берет существующее на данный момент времени значение, а не то, которое есть в конце ( более 3 минут)

Link to post
Share on other sites
mr_Voden

@traktorbek

9 минут назад, traktorbek сказал:

global DATA DATA_count
set DATA_count 0
set DATA($DATA_count) "mom_machine_time"
incr DATA_count

 

И разместил в самое начало Старт оф програм

То есть вы  внесли в массив инфу о времени которое было при старте всей программы.

9 минут назад, traktorbek сказал:

Так вот выводит время 10 секунд, т.е. берет существующее на данный момент времени значение, а не то, которое есть в конце ( более 3 минут)

А потом говорите, что это не то время которое nx рассчитывает в конце операции)

Советую разобраться в том как работает nx, постбилдер, язык tcl и вообще в программировании. Просто "копипаста" не решит вашу проблему.

 

Link to post
Share on other sites
traktorbek
1 час назад, mr_Voden сказал:

@traktorbek

То есть вы  внесли в массив инфу о времени которое было при старте всей программы.

А потом говорите, что это не то время которое nx рассчитывает в конце операции)

Советую разобраться в том как работает nx, постбилдер, язык tcl и вообще в программировании. Просто "копипаста" не решит вашу проблему.

 

 

Смутило #set DATA($DATA_count) "какая-то инфа", решил что это аргумент, с которым эта конструкция работает.

 

Понял следующее

global DATA DATA_count - объявили массив
set DATA_count 0 - обнулили счётчик

set DATA($DATA_count) "mom_machine_time" - запишет значение в строку массива, а т.к. DATA_count 0, то это запись в первую строку

incr DATA_count - прибавляет значение 1 на каждой итерации считывания этой переменной

 

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

 

перед выводом в моём случае машинного времени, нужно присвоить переменной значение последней строки массива

set mom_machine_time DATA(n), а n - переменное значение от программы к программе

 

Link to post
Share on other sites
mr_Voden
6 часов назад, traktorbek сказал:

set DATA($DATA_count) "mom_machine_time"

set DATA($DATA_count) "$mom_machine_time", если точнее.

6 часов назад, traktorbek сказал:

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

DATA_count-1, очевидно

6 часов назад, traktorbek сказал:

set mom_machine_time DATA(n), а n - переменное значение от программы к программе

Зачем? Наоборот же все. И получать машинное время надо в конце операции, а не в конце программы или в начале.

Link to post
Share on other sites
traktorbek
40 минут назад, mr_Voden сказал:

set DATA($DATA_count) "$mom_machine_time", если точнее.

DATA_count-1, очевидно

Зачем? Наоборот же все. И получать машинное время надо в конце операции, а не в конце программы или в начале.

РАЗВЕ? Мне нужно время всей программы, т.е. последнее значение

Link to post
Share on other sites
  • 2 weeks later...
Stanislav

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

 

 TCut=17 - время резки в минутах.

 

Переменные для использования

        #Инструмент время работы
        global mom_toolpath_time ;#Общее время работы инструмента
        global mom_toolpath_length ;#Общее пройденное растояние
        global mom_toolpath_cutting_time ;#Время резки
        global mom_toolpath_cutting_length ;#Растояние резки

 

%
O00812 (EE8.000.238_CAM)
(SISTEMA KORREKCII INSTRUMENTA -> NA RADIUS)
(Data: 12.08.2024 12:25:39)
(Machine: Vesta_3x | PostVer: 12.01.2024)
(Machine Time: 00:59 | 59 min)
(G54 - Zmin=-40.5 Zmax=26.0 Xmin=-28.0 Xmax=192.0 Ymin=-116.7 Ymax=9.7)

(========== TOOL LIST START ==========)
(T2 SVRazmetD10.0 CND10_D5-90A-1000 D=10.0 L=89.0 PA=90.0grad PL=5.0 SK40ER32L100 Out=59 TCut=1)
(T3 SVD5.0 SVD5.0_D51-0500 D=5.0 FL=52.0 L=86.0 PA=118.0grad SK40ER32L100 Out=61 TCut=1)
(T4 FRD20.0 FRD20_G7-4FS-2000-M D=20.0 FL=45.0 L=100.0 z=4 SK40ER32L100 Out=60 TCut=17)
(T6 SVD4.5 SVD4.5_D51-0450 D=4.5 FL=47.0 L=80.0 PA=118.0grad SK40ER32L100 Out=60 TCut=3)
(T7 SVD4.0 SVD4.0_D51-0400 D=4.0 FL=43.0 L=75.0 PA=118.0grad SK40ER32L100 Out=55 TCut=0)
(T8 FRD8.0 FRD8_G7-4FS-0800-M D=8.0 FL=20.0 L=60.0 z=4 SK40ER32L100 Out=30 TCut=9)
(T11 SVD2.5 SVD2.5_D51-0250 D=2.5 FL=30.0 L=57.0 PA=118.0grad SK40ER32L100 Out=42 TCut=1)
(T12 FRD3.0 FRD3_G7-3FS-0300-MX D=3.0 FL=9.0 L=50.0 z=3 SK40ER32L100 Out=20 TCut=2)
(T13 FRD2.0 FRD2_G7-3FS-0200-MX D=2.0 FL=6.0 L=50.0 z=3 SK40ER32L100 Out=20 TCut=18)
(T14 SVD2.4 SVD2.4_D51-0240 D=2.4 FL=30.0 L=57.0 PA=118.0grad SK40ER32L100 Out=42 TCut=0)
(========== TOOL LIST END ==========)

N1 G40 G64 G94 G80 G90
 
(Operation_1: U1_TOREC)
(T4 FRD20.0 FRD20_G7-4FS-2000-M D=20.0 FL=45.0 L=100.0 z=4 SK40ER32L100 Out=60 TCut=3)
N2 G00 G53 Z0.0 M05
N3 M09
N4 T04 M06
N5 G54

 

  • Нравится 1
Link to post
Share on other sites
  • 2 weeks later...
Stanislav
22.08.2024 в 10:44, tmv сказал:

В PC можно без промежуточных файлов.image.png

 

Это красиво выглядит если вы открываете это на компьютерное. На стойке особенно на фанук, с его экраном, это будет нечитаемый мусор в несколько строк перенесенного текса. На Siemens 840 с большим экраном уже нормально. 

 

Видать, разработчики этого вывода таблицы инструментов, за станком ни разу не стояли. А так все конечно красиво выглядит. 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • Bot
      15 октября в Москве в девятый раз пройдет форум «Развитие. Российские технологии для инженеров». Ежегодный смотр ИТ-решений для промышленности покажет, как разработки, созданные в особо значимых проектах для производства сложной высокотехнологичной продукции, становятся доступными самому широкому кругу предприятий. Организатор форума — консорциум разработчиков программного обеспечения «Развитие» — ежегодно знакомит инженерное сообщество с результатами своей работы. В состав консорциума входят компании АСКОН, ADEM, НТЦ «АПМ», ТЕСИС, Эремекс, «Сигма технология» — вместе они создают сквозное PLM-решение тяжелого класса для проектирования жизненного цикла изделия и управления им. В этом году РАЗВИТИЕ’24 соберет более 500 руководителей ИТ-служб предприятий, руководителей инженерных и производственных служб, инженеров-экспертов по проектированию. Участники форума увидят: как реализуется MBSE-подход к проектированию изделий в PLM-решении консорциума [...] View the full article
    • malvi.dp
      Инструменты-Вычислить-Массовые характеристики-Ставим птичку на "Создать ф-цию центра тяжести" Он появляется в дереве проектирования и в модели Еще ЦТ можно отобразить на чертеже: для этого на соответствующем виде выбираем его в дереве проектирования ПКМ-Отобразить Возможно, также, поставить справочные размеры от ЦТ к геометрии как в модели так и в чертеже.
    • lux59
      сконструировать смогу, но вот про центр тяжести ни чего не знаю, где его смотреть то? вот совсем даже не знаю что можно такое, я то как думал сконструирую сборку и через симуляцию посмотрю достаточно нет длины ног, в двух словах если можно про центр тяжести и если видео какое есть вообще буду благодарен, чуть позже все сконструирую и доложу о результатах,    не мультик мне не нужен)
    • mortinio
      этот WZMAKRO.H? Да, в нем.     MG_WZ_STATUS_WIEDERHERST                  M_GR34BS.DEF  :   92   M2995 м2995  завтра попробую его найти, в PLC?  Вообще не понятно почему в одних станках есть инициализация шпинделя в хелпе T0 in spindel (спасении инструмента), а в других нет, это опция или что непонятно, тут есть только инициализация магазина.  
    • gudstartup
      странно что mdi не работает ведь в методе устранения этой ошибки описано Error message DCM: Tool status unknown Cause of error You tried to use dynamic collision monitoring (DCM) without an active tool. Corrective action - Run a tool call in order to activate the tool data. - Set the machine parameter MP7300 so that tool data are not automatically erased (for method of action, see User's Manual). After changing MP7300, run a tool call in order to activate the tool data.   Выполните вызов инструмента, чтобы активировать данные инструмента. - Установите параметр станка MP7300 так, чтобы данные инструмента не стирались автоматически (метод действия см. в руководстве пользователя). После изменения MP7300 выполните вызов инструмента, чтобы активировать данные инструмента.   у меня в симудяторе работает
    • gudstartup
      этот WZMAKRO.H? но эти функции тоже исполнить нельзя если только plc править  жаль что mdi не пашет. проблему  решил бы бэкап но у вас его нет  сфоткайте этот меркер MG_WZ_STATUS_WIEDERHERST                  M_GR34BS.DEF  :   92   M2995 м2995
    • mortinio
      Заходил в МР7300 и менял от 0 до 7 (7 стояло по умолчанию)безрезультатно, с перезагрузками и без.(Только визуально заметил на экране там где номер инструмента отображается либо ничего либо символ X). В MDI не даёт зайти вообще не при каких обстоятельствах, если можно было зайти в MDI то проблема была бы решена наверное. Нашел сегодня любопытный файл в plc-там описание и условия для смены инструмента в разных режимах.Завтра попробую найти его снова закиню сюда его, перевел переводчиком- там всё так сладко описано, но как это реализовать не представляю. M02 ,M00,M30  позволяет ввести но не в MDI  а с програмной клавиши, и обороты шпинделя сменить и оси подвигать можно без инициализации, а в MDI не заходит ну никак.
    • Guhl
      Так это все в ладдере прописывается
    • Кот-Васька
      И М-коды тоже. И комбинации клавиш. У них даже вход в параметры включаются/ выключаются комбинацией клавиш на пульте...
    • Николай Тихомиров
      Всем доброго вечера. Много приходится пользоваться инструментом "Переместить компонент". Возможно ли как-то изменить предустановки в его менеджере? В частности, каждый раз приходится выбирать из списка опцию "Дельта XYZ". Очень хотелось бы чтобы она там была по умолчанию. Возможно есть другие формы этого инструмента. Очень было бы неполхо иметь что-то совсем быстрое по типу того же Blender: переместить (G), нужная ось (X, Y, Z) вводим значение смещения. Ну и в общем - можно ли менять предустановки того или иного инструмента?
×
×
  • Create New...