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

постпроцессоры


skimen

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

22 часа назад, Dantist сказал:

Почитал про NexToolNum, его использовать оказалось намного проще, т.к это внутренняя функция самой программы.

Подредактировал фануковский пост, с GFindCld  не стал заморечиваться.  Dantist спасиба

 

program LoadTl
    aaa: array of real
    if Tool<>99 then begin
      output "G91 G0 G28 Z0."
      output "M1"
    end

  number_of_tools = number_of_tools + 1
  output "N"+str(number_of_tools)
  if CycleOn=1 then begin CycleOn=0; Cycle=80 end

  Tool = cld[1]; Tool@ = MaxReal    ! filling Tool register     ! Это я удалил
  M = 06; M@ = M-1

 

  if FirstTool = 0 then begin        ! это вставил
    FirstTool = cld[1]                 
  end
  nttl  = NexToolNum        
  if nttl > 0 then begin
    Tool_ = nttl
  end else begin
    Tool_ =  FirstTool
  end

  Msm=6; Msm@=Maxreal
  Call OutBl

    Msp = 0; Msp@ = Msp;
    S=0; S@=S


  IsFirstMove = 1    ! tool change mark
  X = MaxReal; X@ = MaxReal
  Y = MaxReal; Y@ = MaxReal
  Z = MaxReal; Z@ = MaxReal
end

Изменено пользователем Rinats
Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...


  • 2 недели спустя...

Добрый день.

Дорабатываю стандартный пост под карусель с NC200. Следующие момент пока не смог победить:

1. Как заставить постпроцессор вывести в УП символ кавычек - " ? Этот же символ используется в самом посте, как служебный, для разделения, и соотв. пост воспринимает его как "для внутреннего пользования". Может можно как-то через код аски?

 

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

Может можно как-то через код аски?

Виктор, чувствуется рука мастера!. Хорошо заданный вопрос уже содержит половину ответа, да ? ;)

допустим надо вывести такую строчку в текст УП: (DIS,"Standard")  

cs$ = "(DIS,"+Chr(34)+"Standart"+Chr(34)+")" 

output cs$ 

Изменено пользователем Dantist
Ссылка на сообщение
Поделиться на других сайтах

Вот! Я ведь догадывался, чувствовал, можно сказать, что есть путь :). Как когда-то, когда html писался вручную, некоторые символы тоже приходилось обходить.

 

Спасибо! Сейчас попробую. Как раз для DIS-а и надо было, и для меток для безусловного перехода - операторы вручную листают программу по кадру, но мне-то стыдно так делать, если надо с середины запустить :).

Работает. Еще раз спасибо!

 Output "(DIS, "+Chr(34) + CLData$ + Chr(34) +  " )"

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

Можно считать пост для карусели 1Е512/1Е516 с NC200 готовым. Правка, конечно, самая примитивная без использования всех возможностей спрутовского языка постов и среды разработки.

Что удалось/пришлось сделать:

Вывод в начале программы названия файла

закомментированная заготовка безусловного перехода в начале

Выход в станочный ноль G79X0Z0 в начале, конце программы и перед каждой сменой инстурмента

М0 перед каждой сменой инструмента(по-хорошему надо М01, но на этих стойках нет отдельной кнопки типа OptionStop, а трехбуквенные коды - операторы ладно хоть REL знают)

Смена инструмента в формате нц-эшки(Т2.2 М6)

Перед каждой сменой - метка безусловного перехода в формате Т+номер инструмента

Ограничение оборотов жестко забито 150/мин, такие станки(опять же по-хорошему это надо определять в проекте спурта и чтобы оттуда автоматом цеплялось в УП, но я пошел по самому простому пути).

Включение оборотов с выбором второго диапазона тоже забито жестко

Так же тупо вручную жестко при каждой смене прописаны подготовительные G-коды 90,97,95,40

Включение постоянной скорости резания после перемещения в начальную точку и пауза 3сек. Для этого пришлось использовать команду поста для охлаждения, тем более охлаждения на этих станках все равно нет

Вывод подачи в каждый кадр с рабочим перемещением - для запуска "вручную" с середины программы.

Смена круговой интерполяции от стандарта - вместо G2 - G3 и наоборот. Это можно в стойке поправить, но уже имеется не один десяток программ, и все уже привыкли.

 

По трудо- и мозгоемкости примерно сравнимо с правкой фануковского поста солида для той же нц-эшки. Спрутовская среда разработки конечно помогла, но не сильно, т.к. изучать ее досконально некогда, а без этого пользы от нее не сильно много. Солидовский пост просто в блокноте правил. Ну и конечно без инструкций ничего бы вообще не вышло.

 

Кстати, так и не нашел в приложении описания структуры

массива <CLD>, может опять торопился и не там смотрел...

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

Кстати, так и не нашел в приложении описания структуры

массива <CLD>, может опять торопился и не там смотрел...

Возможно, действительно не удалось найти сразу, она была в справке (F1 - в окне генератора постов),  либо дублируется на сайте  https://www.sprut.ru/files/Inp11/documentation/html_thecldatadictionary.htm

Описание команд доступно в разделе 

5bacc7b20c423__cldata.thumb.PNG.4832e7217d7babae2c0685de72013c0b.PNG

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

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

CLD[1/2/5/34/58] - это что? А где там номер инструмента? Где переключение с рабочего хода на ускоренный?

Кое-что можно "выловить" из текста поста, к чему-то обратиться через глобальные переменные, а остальное - тайна, покрытая мраком...

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

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

Виктор, не разочаровывайте меня... Для Человека тыка - Вы слишком сразу как-то сдались :)

3 часа назад, VicktorVR сказал:

CLD[1/2/5/34/58] - это что?

как бы здесь по-проще сказать..

файл CLData, которую формирует SprutCAM содержит набор технологических команд.

 

Для примера скопировал часть файла CLData сюда:

1. STRUCTURE  ON(71), TYPE "HeaderSection", Comment "$Header$"
2. STRUCTURE  ON(71), TYPE "String", Comment "Начало"
3. PPFUN      TECHINFO(58), 250, -204.944, -13.335, -5, 327.5, 212.176, 417, 10, 0, -5, 0, -12.5, -12.5, -335.5, 12.5, 12.5, 1, 3, 0, 0.05, 0.02, 0, 0, 0, 8, 3.3, 16.5, 0, 0, 8, 0, 0, 0, 2, 1929.151, 10000, 100, 100, 100, 100, 100, 300, 1933.38, 1.073, 4.4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0
4. COMMENT    "Черновая послойная"
5. ORIGIN     X 0, Y 0, Z 120, PPFUN 0, N 54, A 0, B 0, C 0
6. LOADTL     N 8, X 0, Y 0, Z 20, D 3.3, M -8, K 8, L 16.5, P 0, A 0, R 0, H 0, RC 0, PLANE XY(33), Dur 60, HID 8, NX 0, NY 0, NZ 1, NW 0, RevolverID AxisT
7. COMMENT    "@3mm EndMill"
8. PLANE      XY
9. SPINDL     ON(71), NO 1929.151, K 0, MODE RPM(0)
10. CUTCOM     ON(71), LENGTH(9)8, X 0, Y 0, Z 0, N 0, 

 

Во-время обработки, генератор постпроцессоров разбирает каждую команду, для этого есть обработчики этих команд (ну это итак я думаю было ясно).

Так вот, находясь в любом обработчике (допусти возьмем команду Spindl) попробуем ее разобрать : 

  SPINDL     ON(71), NO 1929.151, K 0, MODE RPM(0)

 

Откроем ссылку на описание этой команды  https://www.sprut.ru/files/Inp11/documentation/html_spindle.htm

CLD_spindl.thumb.PNG.ca6d655946bedf94553c31bdc528c24a.PNG

Получается, что в команде Spindel - передается часть информации касающаяся:

 cld[1]  - это включение/выключение шпинделя,

В нашем примере cld[1] равно 71, т.е шпиндель включается, значение оборотов (cld[2]) будет выведено в текст УП  1929.151, cld[4] =0 - значит в об/мин 

 

У каждой команды, набор параметров различен, поэтому в каждом обработчике значение CLD[1]  - разное как по смыслу, так и по значению.

Открываю описание каждой команды - можно понять, что передается в ней (какие параметры за что отвечают)

 

Есть одно исключение: команда PPFUN - она содержит в себе параметры из разных команд, и из нее можно "выудить" предварительную информацию

https://www.sprut.ru/files/Inp11/documentation/ppfuntechinfocommand.htm

 

4 часа назад, VicktorVR сказал:

А где там номер инструмента?

Номер инструмента - в команде LoadTL (либо 26й параметр cld[26] в PPFUN)

 

4 часа назад, VicktorVR сказал:

Где переключение с рабочего хода на ускоренный?

2 команды в CLData отвечают за подачи: RAPID и Feedrat 

 

Ссылка на сообщение
Поделиться на других сайтах
В 27.09.2018 в 13:41, VicktorVR сказал:

Кстати, так и не нашел в приложении описания структуры

массива <CLD>, может опять торопился и не там смотрел...

Для начала рекомендую посмотреть этот ролик. Ролик старый, но для понимания принципов разработки постов в SprutCAM - самое то.

 

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

Здравствуйте, подскажите, пожалуйста где и куда чего надо дописать, что бы подправить постпроцессор.

Необходимо воткнуть одну строку перед сменой инструмента

 

как сейчас 

39 L X-4.386Y+27.652 R0
40 L Z+5. R0
41 L Z+10. R0 F MAX
42 TOOL CALL 8Y S3150
43 L X+0.Y+21.8 R0 F MAX
44 L Z+2.5 R0 F MAX
45 L Z-5. R0 F300 M13
46 CC X+0.Y+20.4

 

как надо

39 L X-4.386Y+27.652 R0
40 L Z+5. R0
41 L Z+10. R0 F MAX
43 Z+200. R0 M06
45 TOOL CALL 8Z S3150
46 L X+0.Y+21.8 R0 F MAX
47 L Z+2.5 R0 F MAX
48 L Z-5. R0 F300 M13

Ссылка на сообщение
Поделиться на других сайтах
В 08.11.2018 в 16:11, Meler сказал:

Необходимо воткнуть одну строку перед сменой инструмента

Добрый день, @Meler

В 08.11.2018 в 16:11, Meler сказал:

43 Z+200. R0 M06

возможно, эта строка появится в результате настроек самого проекта (правила подводов/отводов)

 

Отличие в этой строчке? Насколько я заметил, еще в строке вызова TOOL CALL есть отличия (Y S3150 в первом блоке, а должно быть Z S3150)

Если это тоже надо менять, то возможно дело в имени регистра. Надо в посте найти регистр с таким именем (Y S), и заменить его на Z S.

 

 

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

Добрый день, @Meler

возможно, эта строка появится в результате настроек самого проекта (правила подводов/отводов)

 

Отличие в этой строчке? Насколько я заметил, еще в строке вызова TOOL CALL есть отличия (Y S3150 в первом блоке, а должно быть Z S3150)

Если это тоже надо менять, то возможно дело в имени регистра. Надо в посте найти регистр с таким именем (Y S), и заменить его на Z S.

 

 

Спасибо. Уже решили проблему в посте.

Правда времени заняло кучу.

Изменено пользователем Meler
не все дописал, что следовало
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
  • 8 месяцев спустя...

Доброго времени суток. Не можете подсказать, где можно найти постпроцессоры и сами 3D модели станков Doosan Puma 240 (i стойка), Doosan lynx 220 (Oi-TC стойка), Doosan lynx (i стойка) для SprutCAM 12

Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...
В 10/21/2019 в 09:43, epsxe сказал:

Здравствуйте. Требуется пост на токарный станок для SprutCam. Стойка Sinumerik 802D sl

Посмотрите этот, может подойдет

Sinumerik 828.zip

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

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

Из 12ой версии убрали Окуму. Может у кого из 10й версии остались посты на OKUMA Genos, OKUMA LB, OKUMA Multus? Спасибо заранее.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
В 12/5/2019 в 06:52, Dmitriiy сказал:

Из 12ой версии убрали Окуму. Может у кого из 10й версии остались посты на OKUMA Genos, OKUMA LB, OKUMA Multus? Спасибо заранее.

Если для SprutCAM то посмотри этот. Только надо проверять, ни каких гарантий.

Multus.sppx

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

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

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

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

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

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

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

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

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

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

    • legan



  • Сообщения

    • Fedor
      "ГОСТ Р 57700.10-2018"  Удивительный пункт 5.3.1.   А если элементы квадратичные или более того кубичные или с более сложной структурой ?    Методы основаны на математике, а на математику тоже госты собираются написать ?   :) Валидация это вам не верификация   https://ru.wikipedia.org/wiki/Валидация    :):):) 
    • Alexey8107
      Вобщем результаты. В обед перед окном еще раз прошелся по своей памяти, сравнил две старые платы(одна от взорванного PSM, вторая от ремонта с рекуперацией. Я точно помню что лет 5 назад ремонтировали SPM), оставшиеся от ремонта. Начал подозревать что они обе слишком подозрительно похожи друг на друга, по сути отличаются только номиналами трансформаторов тока и совсем мелкими деталями... И понимаю что память мне сильно изменяет! Обе платы от PSM, но разной мощности. И действительно в SPM стоит плата хоть и похожа, но отличия значительные. Так что решил сразу замахнуть PSM. Станок сразу запустился. Осталось только загадкой, почему неисправный PSM в соло вчера показывал "-". Сегодня запустил на операционном столе и вижу "1", точно так же в соло. Вобщем пока свяжусь с фануком, пока уладим административные дела, пока проплатим, попробую в нем аккуратно поковыряться.
    • aalex_b
      Добрый день. ЧПУ TNC426. Станок с поворотной головой: есть вертикальное положение и есть горизонтальное. Так же поворотный стол, ось С Вышел из строя HDD. Восстановил данные через акроникс, сделав образ с соседнего аналогичного станка. Станок поехал, все зашевелилось Но теперь не знаю, как настроить ему точки смены инструмента, трансформацию и поворот оси C. Где подсмотреть инструкцию, что измерять и как измерять, куда вносить данные, в какие параметры. Прошу совета и помощи. Никогда это не делал.
    • Jesse
      За прошедшее десятилетие (ухх, как же время летит!) уже были вопросы про локальные пластические деформации в статическом расчете и про локальные формы потери устойчивости. В обоих случаях на все эти "локальности" можно подзабить. В первом случае у меня даже шаблонная фразочка есть, которую я в отчёты вставляю, ссылаясь на ГОСТ Р 57700.10-2018. Это всё хорошо. Но что у нас с цикликой? К примеру, есть вал насоса, который в процессе работы изгибается. В валу есть шпоночные отверствия, всякие переходы вплоть до радиуса R=0.25 мм и прочая мелкая ересь, где развиваются большие напряжения, превышающие предел выносливости материала.. В то время как в основной толще материала напряжения на порядок меньше предела выносливости и там всё ок. Как быть в этой ситуации? Ведь разрушение в процессе многоцикловой усталости происходит в результате зарождения и роста микротрещин. То есть по идее в этом радиусе R=0.25 мм трещинка пойдёт и разрушит весь весь вал за условные 10^12 циклов? Или не разрушит? Если не разрушит, то как обосновать, что не разрушит? С точки зрения физики/МДТТ мы знаем, что в статике у пластичного материала в малой области превысится предел текучести, появится небольшая область течения, и на этом всё. "Пластика" дальше не пойдёт. МОжно даже просчитать и проверить для успокоения души, что пластических шарниров не будет. Но в многоцикловой усталости мы ничего расчетом проверить не можем как все эти "неприятные локальности" себя поведут за 10^12 циклов. Только кривые Веллера и т.п. Ну и результаты упругого расчета..   Какой эмпирико-нормативный опыт есть у человечества, чтоб показать, что разрушения и катастрофического роста трещины НЕ произойдёт за большое кол-во циклов, если в небольшом объеме материала по результатам упругого расчета напряжения превышают предел выносливости?
    • malvi.dp
    • Srgwell
      Библиотеки не все подключены. Там другие какие то были включены. При чем сбиваются иногда
    • Snake 60
      @clavr  Попробовал в 2024-м так и есть, не хочет перепривязывать размеры, настройки не нашел :(
    • Snake 60
    • gudstartup
      @Alexey8107 учитывая то что иногда станок все же включается то похоже на плохой контакт или высохшую емкость у нас на старом svm альфа были случайные ошибки 8 9 именно из за емкости. фанук их умудрился так замаскировать между  двумя  разъемами еле нашли,,,
    • vad0000
      DELEM предлагает такой метод Приходит партия металла, Вы в ЧПУ вводите уголок 100*100., и получаете развёртку. Изготавливаете ее, и далее гнете. Одна сторона у Вас получится 100, если конечно правильно настроен упор, а другая никогда не получится 100, либо больше, либо меньше. Cybelec для каждого материала предлагает 10 различных поправок. Т.е. согнул один раз уголок, и получил поправку на всю партию металла. Пришла новая партия, согнули ещё один уголок. Все понятно?
×
×
  • Создать...