Jump to content

Редактирование постпроцессора. Из D_ в H_E_


Recommended Posts

traktorbek

Добрый день, коллеги.

Подскажите где поправить вывод корректора инструмента.

Эрозионный станок Accutex не понимает D1, а понимает H1 (корректор) E1 (Режим обработки).

Постпроцессируются программы стандартным постом MPWFANUC.

Нашел в нём, как можно поправить вывод D на H, перебив "fmt  "D" 4  offset$     #Wire diameter offset" на "fmt  "H" 4  offset$     #Wire diameter offset".

По образу и подобию, просмотрел через дебаггер какие блоки выводят эту переменную, сделал переменную offset1$ и внёс её во все блоки, где фигурирует offset$. 

Под "fmt  "H" 4  offset$     #Wire diameter offset" добавил строку "fmt  "E" 4  offset1$". При постпроцессировании имею следующие ошибки:

Search for defined post variables, strings, postblocks was successful.
PST LINE (456) - Dollar Sign ('$') found terminating user defined variable/string/postblock
PST LINE (803) - The post block output type processing has failed!, , Label has not been defined[52]
PST LINE (804) - The post block output type processing has failed!, , Label has not been defined[30]
PST LINE (508) - Post line can not be identified

 

Из этого ясно, что переменная неверно определена. Но вот где её определить - вопрос. Как понимаю offset$ задаётся не в этом файле поста, а в каком-то общем.

Подскажите, где определить переменную offset1$, чтобы счастье наступило?)

Link to post
Share on other sites


UnPinned posts
hlibhlib
4 часа назад, traktorbek сказал:

Как понимаю offset$ задаётся не в этом файле поста, а в каком-то общем

Вообще-то офсет задаётся в планах, но могу ошибиться, я не знаю эрозию. 

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

Нашел в нём, как можно поправить вывод D на H, перебив "fmt  "D" 4  offset$

А если тебе тупо нужно вывести какой-то знак, чтоб пост его принудительно выводил, то этот энак нужно заключить в Кавычки, по образу литеры "D" или "H".

offset1$ ==> offset,"1"$

Или offset$ ==> offset$, "1"  Пробовать надо.

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

А если тебе тупо нужно вывести какой-то знак, чтоб пост его принудительно выводил, то этот энак нужно заключить в Кавычки, по образу литеры "D" или "H".

offset1$ ==> offset,"1"$

Или offset$ ==> offset$, "1"  Пробовать надо.

Illegal character(s) encountered, Dollar Sign ('$') found terminating user defined variable/string/postblock
PST LINE (803) - The post block output type processing has failed!, , Label has not been defined[52]
PST LINE (803) - The post block output type processing has failed!, , Label was expected but was not found[62], Illegal character(s) encountered
PST LINE (804) - The post block output type processing has failed!, , Label has not been defined[30]
PST LINE (804) - The post block output type processing has failed!, , Label was expected but was not found[40], Illegal character(s) encountered
PST LINE (508) - Post line can not be identified

не прокатило

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

не прокатило

Сбрось в личку или в общий доступ полный Zip2Go, или файл с постом.

На файл и народ подтянется... )

Edited by hlibhlib
Link to post
Share on other sites
GalielO

@traktorbek Вам одновременно с выводом H нужно выводить параметр E? У параметра Е цифра соответствует номеру корректора или всегда равна 1?

Можно пример программы как нужно?

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

@traktorbek Вам одновременно с выводом H нужно выводить параметр E? У параметра Е цифра соответствует номеру корректора или всегда равна 1?

Можно пример программы как нужно?

Нужно параметру Е выводить такое же значение, как параметру Н.

N120 G0 X0. Y0.
N130 M60
N140 M35
N150 M81
N160 S101 H1E1
N170 G42 G1 X10.5665
N180 G2 X0. Y-10.5665 I-10.5665

 

MPWFANUC.pst MPWFANUC_edit.pst

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

Нужно параметру Е выводить такое же значение, как параметру Н.

1.jpg

Link to post
Share on other sites
GalielO

@traktorbek

Попробуйте в посте найти:

pconchg$         #Control setting change
      if gcode$ = 1010, pbld, n$, ccode$, offset$, e$
      else, ccode$, offset$, e$

и заменить на:

pconchg$         #Control setting change
      result = nwards(sblank, offset$)
      if gcode$ = 1010, pbld, n$, ccode$, "H", offset$, "E", offset$, e$
      else, ccode$, "H", offset$, "E", offset$, e$

Не уверен, но должно работать.

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

1.jpg

Должно выводиться HnEn, где n - номер корректора. Т.е. принимать любые значения, заданные программистом на каждый проход

24 минуты назад, GalielO сказал:

@traktorbek

Попробуйте в посте найти:

pconchg$         #Control setting change
      if gcode$ = 1010, pbld, n$, ccode$, offset$, e$
      else, ccode$, offset$, e$

и заменить на:

pconchg$         #Control setting change
      result = nwards(sblank, offset$)
      if gcode$ = 1010, pbld, n$, ccode$, "H", offset$, "E", offset$, e$
      else, ccode$, "H", offset$, "E", offset$, e$

Не уверен, но должно работать.


 
N160 S101 H1 E
N170 G42 G1 X10.5665
N180 G2 X0. Y-10.5665 I-10.5665
N190 X-10.5665 Y0. J10.5665
N200 X0. Y10.5665 I10.5665
N210 X10.5665 Y0. J-10.5665
N220 G40 G1 X0.
N230 S102 H2 E
N240 G42 G1 X10.5665

 

Выводит Е без присвоения значения offset

Link to post
Share on other sites
traktorbek

Судя по всему offset$ уже содержит в себе D, которую я выше заменил на H. А двойной вызов offset$ в одной строке не возможен...

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

@traktorbek Можно проект? Какая версия MCAM?

мастеркам 2021. Файл с примитивной траекторией приложен.

T.mcam

Link to post
Share on other sites
GalielO

@traktorbek там где меняли D на H удалите, а в посте так пропишите:

pconchg$         #Control setting change
      if gcode$ = 1010, pbld, n$, ccode$, "H", offset$, "E", *offset$,  e$
      else, ccode$, "H", offset$, "E", *offset$, e$

А здесь так:

fmt  "" 4  offset$     #Wire diameter offset

  • Нравится 1
  • Чемпион 1
Link to post
Share on other sites
traktorbek
35 минут назад, GalielO сказал:

@traktorbek там где меняли D на H удалите, а в посте так пропишите:

pconchg$         #Control setting change
      if gcode$ = 1010, pbld, n$, ccode$, "H", offset$, "E", *offset$,  e$
      else, ccode$, "H", offset$, "E", *offset$, e$

А здесь так:

fmt  "" 4  offset$     #Wire diameter offset

maxresdefault.jpg

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.




  • Сообщения

    • scorpion1007
      Я уже не помню, давно это было. Лет пять прошло. Там на стойке было ещё какое-то отдельное приложение, где задавалась вся кинематика. Методом тыка и подбором параметров я выставил все в нули
    • Viktor2004
      А вот тут откровенно пишут что калибровочная линия шпинделя почти на миллиметр вглубь шпинделя
    • A_1
      Наверно, многие наладчики и программисты станков с ЧПУ сталкивались с тем, что при переходе с одной системы ЧПУ на другую часто возникают различные затруднения. Чтобы их избежать, нужно как можно лучше изучить эти системы. Например, в Sinumerik есть команда OFFN, которая назначает припуск к запрограммированному контуру. Прямого аналога такой команде в системе FANUC нет, и поэтому при "переводе" программы из Sinumerik, содержащей эту команду на стойку FANUC приходится как-то преодолевать это препятствие. Можно поступить следующим образом. Чтобы воспроизвести смещение фрезы на некоторую величину от запрограммированного контура нам просто нужно, чтобы в корректоре на радиус инструмента было записано значение этого радиуса, увеличенное на эту величину смещения. Изменять значение корректора мы можем из программы, но "трогать" рабочий корректор крайне нежелательно, так как при прерывании программы потеряется его первоначальное значение. Для этой цели лучше использовать свободный корректор, так как количество корректоров обычно больше количества инструментов в магазине станка. Выберем, например, корректор N320. Чтобы записать или считать значение корректора следует обратиться к системной переменной #[13000+N], где N - номер корректора. Так, корректору D320 будет соответствовать переменная #13320, в неё мы и запишем некоторое значение, а потом активируем этот корректор. Но прежде нам нужно считать значение рабочего корректора, в котором записан истинный радиус фрезы. К нему мы тоже обратимся с помощью его номера, но, для универсальности нашего кода будем обращаться не к конкретному корректору, а к тому, который будет активным. Для этого существует ещё одна системная переменная #4107, в которой хранится номер этого активного корректора. Итак, считываем истинный радиус активного инструмента: #1=#[13000+#4107] Да, нужно ещё учесть значение, записанное в износе. К нему можно обратиться аналогично, с помощью переменной #[12000+N]. Тогда код считывания радиуса примет вид: #1=#[13000+#4107]+#[12000+#4107] Теперь запишем это значение в выбранный нами корректор D320: #13320=#1 Преобразуем 2 строки кода в одну заменив #1 в последней строке на её значение из предпоследней: #13320=#[13000+#4107]+#[12000+#4107] Теперь добавим в правой части этого выражения желаемое значение смещения "OFFN", предварительно указав её в той же переменной #1 (можно добавлять и отрицательные значения, впрочем команда OFFN тоже может работать с отрицательными значениями): #1=1.5 (OFFN) #13320=#[13000+#4107]+#[12000+#4107]+#1 Готово. Осталось только активировать наш новый корректор: #1=1.5 (OFFN) #13320=#[13000+#4107]+#[12000+#4107]+#1 D320   Sinumerik: расширенное программирование Параметрическое программирование станков с ЧПУ FANUC Программирование станка с системой ЧПУ FANUC (и Sinumerik) 23070703.BMP
    • Viktor2004
      ну а если инструмент на другой станок с той же оправкой и тем же штревелем переставить. Можно будет просто переписать длину инструмента замеренную на первом станке или нет?
    • soklakov
      малая боковая нагрузка по эффектам будет эквивалентна начальным несовершенствам.
    • VICT0R_1945
      Hello everybody! I present to you a detailed lesson from Ansys on the representation of a threaded connection, where bolts with nuts are represented by beam end elements and prints of contact surfaces. For easy viewing and familiarization with the material of the video, it is uploaded to YouTube: P.S. 1) After testing this technique, a technical error was revealed - contacts are not copied, in order to correct it, enter the numeric value indicated in the screenshot 1. 2) Ansys did not swear at - find the changed names (Named Selected), try it on, as shown in Figure 2.   The original lesson is located at: https://courses.ansys.com/index.php/courses/modeling-the-bolt-and-preload/lessons/homework-quizzes-and-workshop-2/ Readme - Flange_Joint (1).pdf Readme - Flange_Joint.pdf Geometry - Flange_Joint.scdoc
    • gudstartup
      Измерение производится на  tool setter ), длина без инструмента =0, деталь привязывается измерительным щупом - все!  По ходу износа корректируем ловим микроны!
    • david1920
      Вы SIK разбирали и микросхему выпаивали Или переходник паяли Тоже планирую снять   у меня 530
    • Killerchik
      В целом Вы, конечно, правы - но я вот 144% что ошибусь, если буду выставлять от разных баз.
    • lem_on
      Ну вот Виктор, Шура столько строчил, выдумывал, а тут ему все обломили. Какая разница какой инструмент, отбил один раз и потом все подходят независимо от глубины конуса.   
×
×
  • Create New...