Jump to content
Sign in to follow this  
BaZuZu

Номер предыдущего инструмента

Recommended Posts

BaZuZu

Здравствуйте....

 

Как можно реализовать вывод предыдущего инструмента в постпроцессоре ?

 

Спрут 10

Share this post


Link to post
Share on other sites


Dantist

Здравствуйте, не могли бы вы пояснить где именно должен быть зайдествован № предыдущего инструмента? 

Где его необходимо будет выводить?

 

Как вариант, можно завести переменную (допустим, PrevTool) в секции Common

 

  ToolCnt: integer       ! счетчик загружаемых инструментов
  PrevTool: Integer;    !№  предыдущего инструмента

 

а в секции LoadTL заполнять эту переменную для второго и последующих инструментов, а для первого инструмента будет или 0, или -1.

! формирует текущий № инструмента + команду на смену

  M = 06; M@ = M-1
  Tool = cld[1]; Tool@ = MaxReal    ! filling Tool register
  FormBlock

  

!В примере выводит в виде комментария № пред. инструмента
  if ToolCnt = 0 then begin  
    OutStr$ = OutStr$ + "(Tool #" + STR(Tool) + " is First)"
  end else begin
    OutStr$ = OutStr$ + "(PrevTool is #" + STR(PrevTool) + ")"
  end
  ToolCnt = ToolCnt + 1
  PrevTool = Tool

 

 

  • Нравится 1

Share this post


Link to post
Share on other sites
BaZuZu
7 часов назад, Dantist сказал:

Здравствуйте, не могли бы вы пояснить где именно должен быть зайдествован № предыдущего инструмента? 

Где его необходимо будет выводить?

 

Как вариант, можно завести переменную (допустим, PrevTool) в секции Common

 

  ToolCnt: integer       ! счетчик загружаемых инструментов
  PrevTool: Integer;    !№  предыдущего инструмента

 

а в секции LoadTL заполнять эту переменную для второго и последующих инструментов, а для первого инструмента будет или 0, или -1.

! формирует текущий № инструмента + команду на смену

  M = 06; M@ = M-1
  Tool = cld[1]; Tool@ = MaxReal    ! filling Tool register
  FormBlock

  

!В примере выводит в виде комментария № пред. инструмента
  if ToolCnt = 0 then begin  
    OutStr$ = OutStr$ + "(Tool #" + STR(Tool) + " is First)"
  end else begin
    OutStr$ = OutStr$ + "(PrevTool is #" + STR(PrevTool) + ")"
  end
  ToolCnt = ToolCnt + 1
  PrevTool = Tool

 

 

 

Будет использоваться в смене инструмента....

 

Смена происходит так...

 

Т01 М12

Т07

Т02 М18

 

 

Т01 М12 - это подготовка инструмента который будет работать

М07 - смена... вместо М06

Т02 М18 - как раз предыдущий инструмент, который отработал и его надо заменить...

 

 

Конечно подготовку можно сделать раньше чтобы время не терять... Но тогда есть вариант запутаться для наладчика... Хотя...

 

Вот такая смена инструмента на ивановце )))

 

 

 

 

Share this post


Link to post
Share on other sites
Dantist

можно попробовать так..

 

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

 

M = 12; M@ = M-1

Tool = cld[1]; Tool@ = MaxReal    ! filling Tool register

 

далее несколько вариантов: 

1) просто вывод строки  вида T01 M12 через команду

outblock   

 

2) вывод через команду formblock (если, допустим надо дополнить строку вида T01 M12 комментариями по инструменту) 

например так:
  FormBlock
  if NextCode=CodeOfCmd("Comment") then begin
    s$ = CLDFile[CLDFile.CurrentFile].Cmd[CLDFile.CurrentCmd+1].Data
    call TransStr(s$)
    OutStr$ = OutStr$ + " (" + s$ + ")"
  end
  Output OutStr$

 

далее вывод смены M7 

  M = 7; M@ = M-1
  OutBlock

 

далее определяемся с предыдущим инструментом

 

  if ToolCnt = 0 then begin   ! если первый инструмент, то ничего делать не нужно, предыдущих не было

 

  end else begin   ! если второй и последующий 
    Prev_Tool@ = Prev_Tool -1    ! необходимо будет добавить регистр T с именем Prev_Tool, чтобы не путать текущий (регистр TOOL), и предыдущий инструмент  
    M = 18; M@ = M-1
    OutBlock
  end
  ToolCnt = ToolCnt + 1
  Prev_Tool = Tool; Prev_Tool@=Prev_Tool

  • Нравится 1

Share this post


Link to post
Share on other sites
BaZuZu
В 2/4/2018 в 01:11, Dantist сказал:

можно попробовать так..

 

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

 

M = 12; M@ = M-1

Tool = cld[1]; Tool@ = MaxReal    ! filling Tool register

 

далее несколько вариантов: 

1) просто вывод строки  вида T01 M12 через команду

outblock   

 

2) вывод через команду formblock (если, допустим надо дополнить строку вида T01 M12 комментариями по инструменту) 

например так:
  FormBlock
  if NextCode=CodeOfCmd("Comment") then begin
    s$ = CLDFile[CLDFile.CurrentFile].Cmd[CLDFile.CurrentCmd+1].Data
    call TransStr(s$)
    OutStr$ = OutStr$ + " (" + s$ + ")"
  end
  Output OutStr$

 

далее вывод смены M7 

  M = 7; M@ = M-1
  OutBlock

 

далее определяемся с предыдущим инструментом

 

  if ToolCnt = 0 then begin   ! если первый инструмент, то ничего делать не нужно, предыдущих не было

 

  end else begin   ! если второй и последующий 
    Prev_Tool@ = Prev_Tool -1    ! необходимо будет добавить регистр T с именем Prev_Tool, чтобы не путать текущий (регистр TOOL), и предыдущий инструмент  
    M = 18; M@ = M-1
    OutBlock
  end
  ToolCnt = ToolCnt + 1
  Prev_Tool = Tool; Prev_Tool@=Prev_Tool

 

Это все делать в comment? 

 

 

 

Share this post


Link to post
Share on other sites
Dantist
2 часа назад, BaZuZu сказал:

Это все делать в comment? 

в LoadTL

Share this post


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.

Sign in to follow this  
  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • Neuvic
    • sadam
      Спасибо. У меня немного другой набор параметров. Пощелкал все, однако, все равно выбор скрытой кромки работает...
    • tulibay
      Простите, ошибочка!
    • brigval
      Ошибочное мнение. В больших организациях изменения в "Экземпляр конструктора" поручают вносить авторам ИИ. Что бы другие подразделения могли продолжать работу уже с учетом сделанных изменений. Не дожидаясь внесения изменений в архиве.
    • leo jackson
      На входе 25 мм, это реально сейчас так и изменить не могу - стоит винтовой компрессор, который поддерживает в системе всегда 8-10 атм. И разводка по цехам уже сделана. Так что без вариантов. Посмотрел на один станок - там примерно такая схема, как на картинке. Только еще шаровый кран на входе стоит для уменьшения давления. Выходы там - 8 мм, у меня на входе инжекторов (потребителей) 10 мм. И там 12 выходов, у меня 16. Нигде сужений нет - стоят обычные фитинги от Camozzi По симуляции получается, что будет неравномерный поток во все выходы. Дуть конечно не постоянно нужно. Вообще, по техпроцессу нужно в один момент жахнуть сразу во все 16 выходов, подержать набор воздуха 5-7 сек и отключить. Тот первоначальный коллектор, который я показывал - он и по симуляции и в реальности хорошо дует в 3 выхода, и плохо (т.е. маленький поток воздуха) во все остальные. В варианте, что на картинке - такая же история. Хота я повторил конструкцию рабочего коллектора.
    • sadam
      Дошли руки проверить... Не то меню?
    • lexx174
      STD_Item я написал от фонаря, для примера. В BMIDE не существует никаких предустановленных типов для стандартных изделий. Их создают администраторы сами, какой тип у вас - вы должны знать сами. Причем не отображаемое имя, а реальное. В моем пример STD_Item это реальное имя типа Item   Про организацию настроек NX можно почитать в этой книге   Администрирование NX http://media.plm.automation.siemens.com/ru_ru/nx/book/chapter-9.pdf   стр.490 (шаблоны)   там же описаны базовые вещи по настройкам
    • fenics555
      Тиски, параллельки, прижимы, патроны... - всё это лучше заусунуть в библиотеку.  Там всё можно организовать по папочкам и как надо.
    • Dish
      Имеется изделие, в маршрутной карте изготовления которого, помимо всего прочего, указано несколько операций сварки. Операционные карты сварки заполняются на форме 1 по ГОСТ 3.1407-86, где сначала в строках "К" указывается перечень деталей, свариваемых в этой операции. Каким образом указать обозначение сборочной единицы, полученной в результате, например, первой операции сварки, если  в КД обозначение имеется только у конечного изделия? То есть, например, есть конечная сборочная единица АБВГ.01.00, состоящая из деталей АБВГ.01.01, АБВГ.01.02, АБВГ.01.03. В маршрутной карте имеется отдельная операция сварки АБВГ.01.01 и АБВГ.01.02, и следующая операция, в результате которой к полученной сборочной единице из АБВГ.01.01 и АБВГ.01.02 приваривается АБВГ.01.03. Так вот если в перечне деталей первой операционной карты сварки указаны АБВГ.01.01 и АБВГ.01.02, то что должно быть указано в перечне деталей и сборочных единиц второй операции, помимо детали АБВГ.01.03?
    • lexx174
      любой отчет rptdesign новый или древний, вы, так или иначе, загружаете в соответствующий набор данных. А дальше зависит как у вас в тимцентре организовано хранение отчетов. Обычно должна быть настройка preference где могут списком перечисляться конкретные наборы данных для каждого отчета
×
×
  • Create New...