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

Разбиение файла УП


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

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

1. С помощью команды BREAK, которую вставляю в CLDATA на стадии формирования траектории инструмента в Pro/Mfg. Данный способ позволяет после постпроцессирования получить файл внутри которого находятся несколько УП (вместо одной – большой) причем происходит перенумерация кадров УП и постпроцессор вставляет заданный пользователем блок начала и конца УП в каждую программу. Это вроде устраивает, но только на относительно небольших траекториях, к тому же нет возможности автоматически отслеживать объем УП, т.к приходится сначала пропустить траекторию через постпроцессор, потом посмотреть ее объем в килобайтах и только затем вставлять в CLDATA команду BREAK, затем все повторяется снова до получения приемлемого результата.

2. С помощь функции генератора постпроцессора G-Post. Функция DBLCOM со значением «671» позволяет задать максимальную длину ленты в футах. Этим способом программа делится на части нужного объема автоматически, но мне не удается добиться преимуществ первого метода: перенумерации кадров полученных в результате разбиения УП и вставки заданного пользователем в постпроцессоре блока начала УП в каждую программу (блок конца УП вставляется нормально).

Кроме того, хотелось бы иметь возможность делить УП не только по объему, но и по числу строк, а также в результате разбиения получать не один файл, внутри которого находятся несколько УП, а несколько файлов содержащих одну УП.

P.S. Недавно скачал с сайта sprut.ru замечательную программу NCTuner 3.5 потоковый редактор УП которого позволяет делать все, что мне надо, но к сожалению начальство не хочет раскошелиться на его приобретение, хотя сумма не очень большая – 20 тыс. руб. Может вам известны программы с подобными возможностями редактирования УП по более низкой цене.

Буду очень признателен за любую помощь.

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


Уважаемые модераторы, переместите пожалуйста эту тему в вопросы о постах, может быть там кто-нибудь ответит. Очень нужна консультация по этому вопросу.

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

Поправьте, если не понял вопроса, в УП не специалист:

Есть большая УП - файл из строк. Нужно разбить его на части с желаемым количеством строк, перенумерацией и вставкой желаемого начального блока в каждую часть. Почему бы не задать этот вопрос любому программисту? Объясните в чем подвох...

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

Делите 2 способом. Нумерация кадров и шапка настраивается. Скорее всего недоделан ПП. Все должно работать.

В крайнем случае перенумеровать можно в любом редакторе / верификаторе G кода. Например CIMKO Edit. Но, по опыту, стойке не важно с какого номера кадры. Проверьте, может уже ваши стойки берут УП без номера кадров?

Бывали случаи, для ужимания объема программы делал номера кадров от 1 до 99. И так несколько раз в тексте одного фрагмента кода. Все работало.

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

Большое спасибо тем, кто ответил. Согласен с тем, что можно обратиться за помощью к программисту, так было сделано на предприятии на котором я работал до этого, здесь работаю недавно и ещё не совсем освоился.

Также уверен в том, что генератор постпроцессора можно настроить на выполнение поставленной задачи, но к сожалению не хватает знаний по работе с G-Post для Pro/E. Есть руководство на английском и примеры, однако самому мне пока не удается справиться с этой конкретной задачей, поэтому и обратился за помощью. На данный момент задача состоит в том, чтобы заставить постпроцессор вставлять заданный пользователем в настройках постпроцессора блок начала УП в каждую программу при втором варианте деления (пока постпроцессор вставляет блок начала УП только в первую программу, в остальные вставляются лишь заданные по умолчанию команды, например G17, G90 и т.п. Может кто подскажет как это осуществить средствами G-Post?

По поводу перенумерации. Это действительно не является необходимым условием, однако с т.з удобства работы с программой оператора станка очень желательно.

И ещё, был упомянут CIMKO Edit, есть ли в нем возможность делить УП на части?

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

Если не получится средствами GPost, то вышлите любой пример УП (исходный текст и результат после разбиения), попытаюсь спрограммировать на С. Если правильно понял задачу, то делается полчаса.

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

Olivaw, большое вам спасибо за готовность помочь. Попытаюсь пока разобраться сам, может ещё кто на форуме поможет, уверен спецы по GPost здесь есть. Если ничего не получится, обязательно воспользуюсь вашим предложением.

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

Не за что. Абсолютно согласен, что (если возможно) грамотнее и удобнее всё сделать внутри, чем пользоваться сторонними программками - они на крайний случай. Обращайтесь

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

Занимался такой проблемой, в SolidCAM есть команда подсчета количество символов в выводимой строке, приходилось посчитывать обьем выводимой УП и разбивать на кусочки , чтобы не переполнить буфер УЧПУ, в моем случае 2С42, но эта не решение проблемы. Каждый раз подкачивать не удобно и к тому же на отрабатываемой детали после каждого кусочка остается зарез при подкачке следующего . Пришлось набраться нагласи и поправить мозги УЧПУге, вот это вариант. Если интересно Добро пожаловать ко мне на тему "Отработка управляющих программ большого обьема на УЧПУ 2С42"

P.S У меня вопросик , для какой УЧПУге пишите УП?

Может быть ей (УЧПУге) мозги поправить, это лудше чем подгружать огрызки УП, это простите меня, такой гемарой.

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

Есть програмка собственного изготовления

работает под DOS

создана в Q-бейсике

алгоритм простой

указываете размер (например для 2C42-65 использую куски по 20 килобайт)

когда объем достигнут в конце формирует дополниельный кадр Z+20000 от текущего значения

в начале следующей программы Z-20000

нумерация в каждом куске сначала

шапка и окончание

пользуемся давно - несколько лет

программу разбивает сам оператор, по настроению :wink:

выложу через неделю....

исходник наверно не дам...

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

Всем, добрый день. Две недели болел и только сегодня заглянул на форум. Был приятно удивлен, что тема зафиксирована, сначала просто не мог ее найти. 3Dmill и Metan - спасибо за ответы. Metan, если выложите свою программку, обязательно скачаю и опробую. 3Dmill, по поводу УЧПУ пока могу ответить только, что на одном из станков 24К40 - TNC, на другом 6Р13 - точно сказать не могу, но постараюсь разобраться. Решить эту задачу средствами GPost пока не получилось, однако по ходу обнаружил в нем несколько полезных вещей, так что не напрасно вожусь с этим.

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

Double 0671=длина перфоленты в футах,

а вообще посмотрите Common Variables G-Post:

Integer ---> 1876, 2210, 2211, 2212, 2213, 2214, 2215

Double ----> 0671, 0672, 0747,, 0748, 0749

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

BSI, спасибо за совет. Насчет Double 0671 я в курсе, но есть нюансы, которые меня не устраивают (об этом писал в первом посте темы). Пробовал разобраться и с остальными параметрами типа Integer ---> 1876, 2210, 2211, 2212, 2213, 2214, 2215 откровенно говоря пока не разобрался как они работают.

Зато нашел полуавтоматический способ делить УП средствами ПроЕ:

1. Захожу в Customize

2. Выбираю Follow Cut => жму Redefine

3. Жму Split...=>Add

4. В окне CL Data выбираю строку с номером 500 (в зависимости от объема программы, которую хочу получить после разбиения). Повторяю пункт 3 и 4 с интервалом в 500 строк.

5. В окне Create Split Point должна стоять галочка Create Follow Cut Elements. Жму ОК.

6. После первого Follow Cut добавляю три строки 1-Go Delta (в этом окне выбираю подъем по Z в конце программы и подачу подъема); 2- из CL Command вставляю BREAK; 3-из CL Command вставляю COOLNT/FLOOD; 4-Plunge (в этом окне выбираю подачу на врезание по Z в начале следующей программы)

7. Составляю макрос на пункт 6 для автоматической вставки этих команд перед следующими Follow Cut.

Получается неплохо - программы не нуждаются в дальнейшем редактировании в ручную. Кроме того стараюсь создавать Split Point не внутри реза, а на переходе от одного реза к другому, чтобы не было подрезов на детали. Жаль только, что диалог Customize есть не во всех типах обработки. Конечно минус ещё и в том, что способ полуавтоматический, поэтому не буду оставлять попыток настроить постпроцессор.

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

Мы разбиваем программы использую NC Formatter прямо на цеховом компьютере, который стоит у станка. Проблем не бывало.

Один раз настраивается, размер файла, допуски размера в плюс и допуск в минус. Количество стандартных строк в начале, в конце сам определяет.

Несколько критериев разбиение, на G0, в конце прохода, если ZIGZAG, на Z если ZLEVEL и т.д. (задаётся порядок поиска критериев)

Все разбиение занимает несколько секунд. Из одной иногда штук двадцать получается.

Возможно и вам подойдёт подобная программа.

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

Давно незаходил поэтому не знаю принесет ли пользу мой ответ смотря вчем ты работаеш если и пишеш пост процесор в IMS-Post то разбивку можно забить всамом постпроцесоре

зайди в IMS-Post

открой свой постпроцесор

в верхней панельке зайди в Controller-Tape Format у тебя откроется таблица найди там строкуKBytes(0for no limit) и выстав себе сколько килобайт тебе надо

Если ты работаеш в Solid Cam то там тоже есть разбивка чуть пожже пострю и отвечу на этот вопрос тоже

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

Давно незаходил поэтому не знаю принесет ли пользу мой ответ смотря вчем ты работаеш если и пишеш пост процесор в IMS-Post то разбивку можно забить всамом постпроцесоре

зайди в IMS-Post

открой свой постпроцесор

в верхней панельке зайди в Controller-Tape Format у тебя откроется таблица найди там строкуKBytes(0for no limit) и выстав себе сколько килобайт тебе надо

Если ты работаеш в Solid Cam то там тоже есть разбивка чуть пожже пострю и отвечу на этот вопрос тоже

Добрый день. Спасибо за готовность помочь. Сейчас работаю в Pro/Engineer, там для генерации постов используется G-Post.

Ссылка на сообщение
Поделиться на других сайтах
  • 9 лет спустя...
В 10.08.2007 в 09:23, Большой полосатый мух сказал:

Если ты работаеш в Solid Cam то там тоже есть разбивка

Скажите пожалуйста, есть ли такая разбивка в спруткаме?

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

На станке много разных программ. Я все эти программы со станка, скачал 1 файлом. Возможно ли как нибудь разбить 1 текстовый файл на отдельные программы?
Например  если в программе встречается буква "O" то создать новый файл с этим куском программы? 

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

Возможно ли как нибудь разбить 1 текстовый файл на отдельные программы?

Можно. Например, с помощью проги TextPipe.

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

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

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

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

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

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

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

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

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

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

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




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