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

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


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 эмодзи.

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

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

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

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

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



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