arsenev

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

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

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:

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

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

Поделиться сообщением


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

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

Поделиться сообщением


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

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 есть не во всех типах обработки. Конечно минус ещё и в том, что способ полуавтоматический, поэтому не буду оставлять попыток настроить постпроцессор.

Поделиться сообщением


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

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

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

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

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

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

Поделиться сообщением


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

Давно незаходил поэтому не знаю принесет ли пользу мой ответ смотря вчем ты работаеш если и пишеш пост процесор в 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.

Поделиться сообщением


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

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

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

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

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

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



  • Реклама

  • Сообщения