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

Расчет времени(Timing) при генерации программы


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

@Carmen  Здравствуйте, можно вас попросить немного разъяснить работу с процедурами  т.к. у меня не получается при включении процедур при генерации кода выдает сообщение что надо обратно отключить процедуры не нет и при трассировке никаких доп. операторов не появляется (@LOOP)    

Безымянный.jpg

222.jpg

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


2 часа назад, Povar1 сказал:

Здравствуйте, можно вас попросить немного разъяснить работу с процедурами  т.к. у меня не получается при включении процедур при генерации кода выдает сообщение что надо обратно отключить процедуры не нет и при трассировке никаких доп. операторов не появляется (@LOOP)    

 

 

Чтобы такой ошибки не было и появились подпрограммы в файле уп, надо отключить в файле станка трансформацию программы.

Структура программы => Стандартная => Трансформация программы -- поставить Нет.

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

Не совсем по теме топика

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

Ссылка на сообщение
Поделиться на других сайтах
  • 1 год спустя...
26.06.2019 в 17:07, Carmen сказал:

@init_post
    ...

    global string W_file_name
    global integer total_time
    global logical UFlag<<30>>
    ...
    total_time      = 0
    UFlag<<2>>      = false   ; --==  Calculate job time Flag  ==--
    ...
endp

 

@start_of_file
    local numeric file_leng
    { '!! open file = header0 !!' }
    file_leng = strlen(g_file_name) - 4
    W_file_name = left(g_file_name,file_leng)
       ; before tools definition
    {nl, '%'}
    {nl, 'O'(program_number-index_split_file+1), ' (', W_file_name, ')'}
    local string hr,min,sec
    hr = left(time, 2)
    min = substr(time,4,2)
    sec = substr(time,7,2)
    {nl, '(DATE#'date, ' TIME#'hr,'-'min,'-'sec, ')'}
    {nl, '( GENERATED BY 'upper(user_account), ' )'}
    {nb, '(SUBROUTINES# O'first_proc_number, ' .. O'last_proc_number, ')'}
    if home_number gt 6
        {nb, '( --== MAIN HOME G54 P'(home_number - 6), ' ==-- )'}
    else
        {nb, '( --== MAIN HOME G'(53 + home_number), ' ==-- )'}
    endif
    {nl, '!! close file = header0 !!' }    
    {nl, '!! open file = header1 !!' }
    if rotate_used then
        gcode = 69


        {nb, 'G'gcode}
    endif
    {nb, 'G49 G40 G0 G80 G90 G94'}
    ...
    {nl, '!! close file = header1 !!' }
    {nl, '!! open file = tool_header !!' }
endp

 

@start_program
    {nl, '!! close file = tool_header !!' }
    ....
    {nl, '!! open file = body !!' }
endp

 

@end_of_file
    ...
    {nl, '%'}
    {nl, '!! close file = body !!' }
    {nl, '!! open file = header0 !!' }

    local integer hr min
    hr  = 0
    min = 0
    
    while total_time >= 3600
       hr = hr + 1
       total_time = total_time - 3600
    endw
    while total_time >= 60
       min = min + 1
       total_time = total_time - 60
    endw    

    {nl,  '( --== TOTAL TIME# ', tostr(hr:'z2.0(p)'), '-', tostr(min:'z2.0(p)'), '-', tostr(total_time:'z2.0(p)'),  ' ==-- )'}
    
    {nl, '!! close file = header0 !!' }
    {nl, '!! open file =' W_file_name, '.NC !!' }
    {nl, '!! copy file = header0 !!' }
    {nl, '!! copy file = header1 !!' }
    {nl, '!! copy file = tool_header !!' }
    {nl, '!! copy file = body !!' }
    {nl, '!! delete file = header0 !!' }
    {nl, '!! delete file = header1 !!' }
    {nl, '!! delete file = tool_header !!' }
    {nl, '!! delete file = body !!' }
endp

 

@call_proc
    ...

    {nb, 'M98 P'label}

    {' ('upper(message)}
    
   if job_time <> ''
        UFlag<<2>> = true
        call @calc_job_time
        {')'}
        UFlag<<2>> = false
    else
        {')'}
    endif

    ....

endp

 

@start_of_job
    if job_time <> ''
        {nl, ' ('}
        call @calc_job_time
        {')'}
    endif
...
endp

 

@calc_job_time

    local integer seconds_job
    local string hr,min,sec
    
    hr = left(job_time, strlen(job_time)-6)
    min = substr(job_time,strlen(job_time)-4, 2)
    sec = right(job_time, 2)
    seconds_job = tonum(sec) + (tonum(min)*60) + (tonum(hr)*3600)
    if UFlag<<2>>
        total_time = total_time + seconds_job
    endif
    if !UFlag<<2>>
        {'JOB TIME#'}
    endif
    {hr,'-'min,'-'sec}
endp

 

@change_tool
    total_time = total_time + 10

    ....

endp

 

Наваяла под фанук

полное время пишется в шапке

 

1f7fffcb8f56527766ad3f20e7752a9c.jpeg

 

87c0bc00c8b00d452a9227c1bac6755f.jpeg

 

с такими настройками vmid

 

 

 

Только что, Андрей2165 сказал:

Добрый день, попытался подправить пост по вашей схеме, но не получилось. Не могли бы вы более подробно описать как правильно вставить в имеющийся пост. Можно в почту smirnov-1965@mail.ru

 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      вы тоже думаете что можно все компоненты чпу заменить и ничего не изменится и предупреждение о том чтобы oprminf не восстанавливали на другой машине которое фанук встроил даже в загрузчик это просто алармисткий текст и ничего не будет..... ну и ну и где написано что она mate как например здесь с чего тогда базовый чпу mate если гл.плата не mate мне непонятно из-за экрана что ли
    • статист
      Охренеть, ни за что бы не догадался. Хоть бы словом где обмолвились об этом в документации. Короче нужна команда EMODIF, E_ID, 3, N_ID где E_ID - номер элемента, который мы собираемся модифицировать. Так как используется BEAM188, то у него не два узла оказывается рассматривается, а три, где первые два принадлежат элементу, а третий узел - направляющий. И соответственно число 3 - это номер узла балки, который мы собираемся модифицировать, то есть направляющий узел. И мы этот узел соответственно заменяем на узел с номером N_ID. И тогда сечение реально вращается. Разобрался по этому видео.    
    • Александр1979
      Материнка такая в руководстве есть. На 0i-D я менял материнку, опции не слетели. 
    • gudstartup
      @Viktor2004 кстати конкретно модели автора в руководстве нет хотя оно последней редакции 18 года
    • Viktor2004
      конкретно на этой не менял. На каких менял, написал выше
    • gudstartup
      какие платы и на каких системах вот в чем ворос конкретно на этой возникут проблемы
    • Viktor2004
      ну да. А то что я менял платы это мои бредовые фантазии   Ну исправили в паспорте. И что?
    • gudstartup
      это догадки и гадание на кофейной гуще а япривожу документ где написано про то что прочитайте пункт 4.11 а там представляете вот что 4) Замена печатной платы может привести к изменению идентификационного номера ЧПУ. Проверьте это на Экран ЧПУ. Если оно отличается от описанного в техническом паспорте, исправьте его.  
    • Viktor2004
      я менял все платы. И на форуме наверное не я один их менял. И никто еще не писал что при этом у него слетел сертификат Возможно ID номера проверяются только в момент установки опции, а когда они уже установлены и мирно хранятся в OPRM INF возможно ти уже на ID наплевать
    • gudstartup
      для кого это написано CAUTION Before replacing a printed circuit board, be sure to read Section 4.11, “OPTION INFORMATION FILE” to confirm the procedure.  
×
×
  • Создать...