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

Расчет времени(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 пользователей

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




×
×
  • Создать...