Powermill 2016 ошибка постпроцессора broken connection

Небольшие вопросы по fanuc и не только

Автор:

mannul · Опубликовано: 14 часов назад

G05.1 Q1 R1 — грубая высокоскоростная обработка,  подача на углах не меняется, углы срезаются, контур не соответствует заданному.

G05.1 Q1 R5 — высокоскоростная обработка, баланс скорость-качество, замедление на углах, углы по прежнему может срезать.

G05.1 Q1 R10 — точная высокоскоростная обработка, значительное замедление на углах, углы не срезаются, контур соответсвует заданному в пределах точности станка.

G05.1 Q0 — выключение.

Приветствую!

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

Сейчас покажу как можно самостоятельно сделать модель станка.

Разумеется, нужно сначала смоделировать сам станок в любой CAD программе (да хоть в Blender или 3DS Max) в упрощённой версии, но что бы все размеры и позиции максимально совпадали.

Я это сделал в привычном FreeCad 0.19, на примере станка Aman 3040 800W:

Исходник:  Machine-Aman3040.zip (FreeCad 0.19 и должен быть установлен верстак A2Plus).
Он немного не совпадает с реальным станком, т.к. я вносил свои изменения в конструкцию.
Вы можете самостоятельно переделать, если что-то будет сильно не совпадать или пишите — по возможности сделаю 1:1.

Дальше необходимо разбить станок на составляющие части, а именно на неподвижные (станина), и подвижные (оси X, Y, Z).

В PowerMill при создании станка есть два понятия: «head» (головка) и «table» (стол).
Инструмент крепится к головке и перемещается вместе с ней (соответственно и перемещаются все оси). 

Заготовка же располагается на столе и, грубо говоря, стол является системой координат.
Нюанс в том, что стол то же может перемещаться — например, в случае наличия поворотного устройства (ось A), или же стол это ось Y,
а следовательно будет перемещаться координатная система.

В моём случае поворотного устройства нет и стол так же неподвижен.

Теперь нужно сделать отдельные файлы для неподвижных и подвижных частей:  станина, ось Y, ось X, ось Z (вместе со шпинделем).

Вот так выглядят по отдельности:

То есть станина и каждая ось — весь набор составляющих.

Важно: не перемещайте составляющие при сохранении — для них всех должна сохранятся единая система координат (точка отсчёта).

Сохраняем каждый файл в формате *.STEP (в случае FreeCAD) или, к примеру, в SolidWorks  *.sldprt.

Теперь нужно каждый файл сконвертировать в составляющую станка для PowerMill (файл в формате dmt).

Запускаем PowerMill, в верхнем меню File -> Import model (можете в списке типов файлов посмотреть поддерживаемые для экспорта из вашей CAD) и ничего не меняя сразу делаем экспорт File -> Export Model,  в типе файла выбираем «Autodesk Manufacturin Triangles (*.dmt)», и выбираем какую-нить папку. Так проделываем со всеми файлами.

У меня вот так:

Все эти файлы я буду в дальнейшем называть «части станка».

Теперь нам нужно описать для PowerMill где какие части станка и что они могут.

Кстати, подробная документация (MTDUserManual) в конце поста.

Сначала поясню, что нам нужно определиться с тем,  какие перемещения от каких зависят.

В случае моего станка ось Z зависит от оси X, а она в свою очередь зависит от оси Y, а они зависят от положения head (головки)

Зависимость выясняется просто — что вместе с чем «ездит» от того и зависит. То есть, к примеру, при перемещении оси Y на 100 миллиметров — вместе с ней поедет по Y и ось X, а вместе с ними поедет и ось Z (можно на реальном станке поперемещать, что бы понять, что имел ввиду перемещение оси Z  по оси X и Y).

Если был бы 5и координатный станок, то было бы так же, но дополнительно ось U зависела бы от W, а они зависели бы от положения table (стола), так как заготовка крепится к нему.

Ладно, по ходу может станет понятнее.

Создаём в папке, в которую сохраняли файлы на предыдущем шаге,  пустой текстовый файл и сразу меняем у него расширение на «*.mtd» и открываем его на редактирование. Кстати, удобнее всего это делать в Notepad++.

Файл пишется в формате xml. 

Кто не вкурсе, то в кратце и упрощённо: всё состоит из «блоков».

<name>  начинает блок name
   вложенные блоки
</name> заканчивает блок name

name — просто название блока. Каждый блок должен быть начат и закончен как на примере выше.
В блок может быть вложен другой блок. Так же у блоков могут быть параметры: 

<name  param=»value»>
   вложенные блоки
</name>

Где param — название параметра, а value — его значение. Параметры прописываются только в начале блока.

Если в блоке нет содержимого, то можно воспользоваться «короткой записью»:

<name param=»value» />   То есть начали блок, объявили параметр (не обязательно) и закончили блок.

Блоки считываются и обрабатываются программой PowerMill и каждый блок (и параметр) имеет для неё значение.

Мы так же можем указать комментарий — то, что будет проигнорировано программой:

<!—  весь этот текст будет проигнорирован  —>

Таким образов в файле я буду писать комментарии для вас.

Так, пока что этих понятий должно хватить.

Пишем:

<?xml version=»1.0″ ?>      <!— Даём понять, что документ в xml формате —>

<machine xmlns=»x-schema:PowermillMachineTool» POST=»SimPost.»>    <!— Начинаем описание станка. Задаём постпроцессор симуляции. —>

   <machine_part>  <!— неподвижные комоненты—>
      <model_list>
         <dmt_file>
            <path FILE=»Frame.dmt» />
            <rgb R=»100″ G=»100″ B=»200″ />
         </dmt_file>
      </model_list>
   </machine_part>

Блок machine_part описывает какую-либо часть станка. В нашем случае это станина целиком, т.к. она неподвижна.
Вложенный блок dmt_file говорит, что мы сейчас укажем файл, откуда брать часть станка.
Во вложенном блоке path  мы указываем путь до файла с этой частью и его название. Так как файл с описанием у нас лежит в той же папке, что и файлы частей станка, то путь указывать не нужно (путь относительный текущей папки, в которой наш файл с описанием станка).Во вложенном блоке rgb мы можем указать цвет детали в формате RGB (можно взять значения из палитры Фотошопа), в моём случае для станины указал сиреневый.
Да, блоков dmt_file, то есть составляющих одной части, может быть несколько
<dmt_file>
…..
<dmt_file>

<dmt_file>
…..
<dmt_file>

Это если вам нужно, к примеру, по разному раскрасить каждую составляющую станины. Мне же, пока что, ни к чему.

Прописываем стол:

   <machine_part NAME=»table» > <!— Стол у нас не двигается. Если двигался бы, то делаете по аналогии с блоком head, он чуть ниже  —>
   </machine_part>

Здесь мы указали часть, отвечающую за стол. Да, она пустая, так как стол у нас неподвижен.
Чуть дальше мы укажем систему координат стола и её расположение.

Теперь же прописываем оси:

    <!— Описания осей —>  
    <machine_part>
        <axis>   <!— указываем PowerMill, что эта часть станка является «осью» —>  
            <control_info ADDRESS=»Y» MIN=»0″ MAX=»400″ VALUE=»260″ />    <!— указываем, какой именно, где она сейчас и ограничения перемещений —>
            <simple_linear I=»0″ J=»1″ K=»0″ />   <!— указываем тип перемещения а так же как она направлена в пространстве (как будет перемещаться) —>
        </axis>    
        <model_list>   <!— Укажем, из каких файлов состоит эта часть станка —>
            <dmt_file>
                <path FILE=»AxisY.dmt» />
                <rgb R=»200″ G=»200″ B=»200″ />
            </dmt_file>
        </model_list>

                
        <machine_part>  <!— Вложенный блок части станка, так как от оси Y зависит ось X —>
            <axis>
                <control_info ADDRESS=»X» MIN=»0″ MAX=»300″ VALUE=»170″ />
                <simple_linear I=»1″ J=»0″ K=»0″ />
            </axis>    
            <model_list>
                <dmt_file>
                    <path FILE=»AxisX.dmt» />
                    <rgb R=»200″ G=»200″ B=»200″ />
                </dmt_file>
            </model_list>            

            <machine_part>  <!— Вложенный блок части станка, так как от оси X зависит ось Z —>
                <axis>
                    <control_info ADDRESS=»Z» MIN=»0″ MAX=»80″ VALUE=»20″ />
                    <simple_linear I=»0″ J=»0″ K=»-1″ />
                </axis>    
                <model_list>
                    <dmt_file>
                        <path FILE=»AxisZ.dmt» />
                        <rgb R=»200″ G=»200″ B=»200″ />
                    </dmt_file>
                </model_list>

            
               <!— Вложенный блок виртуальной части станка head. Тем самым мы указываем PowerMill где по зависимостям находится головка. И, к примеру, если нужно  будет головку переместить по Y на 100 мм, то так же по Y на 100 мм будут перемещены предыдущие machine_parts   —>
                <machine_part NAME=»head»>
                </machine_part>    

                
            </machine_part>
        </machine_part>    
    </machine_part>        

Надеюсь, понятно про вложенность.

Пояснение по поводу: <control_info ADDRESS=»Z» MIN=»0″ MAX=»80″ VALUE=»20″ /> 

В параметрах MIN и MAX мы указываем пределы перемещений для оси (в мм). 
Параметр VALUE указывает где сейчас расположена часть станка в CAD редакторе относительно нуля по расстоянию (когда ось доехала до минимума). Поэтому проще всего перед экспортом переместить в соответствующее место и что бы положение части станка оказалось таким же, как и на реальном станке. За ноль я считаю положение при срабатывании концевого датчика.

Кстати, можно так же указать параметр HOME и задать какое-либо значение — тогда, при нажатии кнопки Home в управлении станком PowerMill оси будут перемещены в это значение.

Пояснение по поводу: <simple_linear I=»0″ J=»0″ K=»-1″ /> 

Название блока говорит о том, что это просто линейное перемещение.
В параметрах I, J, K мы задаём вектор направления, в котором будет перемещаться часть станка. В данном случае по Z будет сверху вниз отсчёт вестись. Да, возможно перемещение и под углом (установив, к примеру, 0.5 в K и J).
Для поворотного нужно название simple_rotary (в параметрах нужно также будет указать координаты X Y Z — центр вращения).

Указываем положение глобальной системы координат:

<table_attach_point PART=»table» X=»-154″ Y=»7″ Z=»54.5″  I=»0″ J=»0″ K=»1″ />

В этом блоке мы указываем, где для PowerMill будет начинаться глобальная система координат и как она будет ориентирована и к какой части станка привязана (что бы она перемещалась вместе с ней).

Вот про что речь:

Относительно глобальной системы координат располагается заготовка.

Где она должна располагаться? Рекомендую в том месте, куда станок приходит в ноль (домашняя позиция) при поиске начал и откуда идёт увеличение координат по X и Y. 
НО, учитывая, что на Aman 3040 нет концевых датчиков (которые всё же лучше поставить самостоятельно для удобства), то за 0 можно принять положение, когда каждая ось отогнана «до упора» (вручную на станке).
Значения берёте из вашей CAD программы относительно всё той же системы координат, в которой сохраняли. Ориентацию так же нужно будет поставить, что бы направление системы координат PowerMill соответствовала то, что на станке (в управляющей станком программе).
Скачав исходник моего станка можете глянуть координаты компонента HomePointer что бы более понятно стало. 

Указываем точку привязки инструмента:

<head_attach_point PART=»head» X=»19.5″ Y=»267.0″ Z=»141.5″ I=»0″ J=»0″ K=»1″ />    

Это координаты и ориентация, где будет инструмент (фреза) и куда направлена. В нашем случае логично, что на выходе из шпинделя сверху вниз. Соответственно из CAD, в которой делали станок, берём эти координаты, относительно глобальных.

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

ВАЖНО:

Блоки table_attach_point  и head_attach_point  должны располагаться первыми внутри блока machine. В исходниках всё правильно. В посте указал в таком порядке для более лёгкого осмысления что за чем.

Постпроцессор:

Так же можно и нужно указать постпроцессор симуляции для этого станка в блоке machine:

<machine  xmlns=»x-schema:PowermillMachineTool»   POST=»SimPost.» >

В данном случае это штатный PowerMill постпроцессор для симуляции. Есть ещё  «pmpMultiaxis.*», но про них крайне мало информации, так что если удастся разобраться подробнее, допишу этот параграф.

Дополнительно:

Можно указать ещё процесс смены инструмента.  Но т.к. он у всех разный описывать здесь не буду. В документации, есть что-то про это.

Что бы была проверка на столкновения, то у блоков machine_part нужно указать параметр NAME со значением на ваше усмотрение.

Ну и в общем то на этом всё.

Теперь, как тестировать наш «станок»:

1. В PowerMill создаёте новый проект. 
2. В левой панели Станки -> импорт станка:

3. Выбираете наш файл Aman3040.mtd

4. Будет ошибка «Постпроцессор установлен но не может быть сконфигурирован»:

Что бы её не было нужно указать постпроцессор, как именно написал выше в соответствующем параграфе.

5.  Станок импортировался.

6. Можем перемещать оси в ручном режим, для этого правой кнопкой на станке и в контекстной менюшке нажать «Положение»:

7. Дальше как обычно — импортируем какую-либо тестовую модель, создаём какую-либо обработку, выбираем инструмент и запускаем симуляцию траектории. Профиль патрона, пока что, можно не создавать. 

8. Инструмент встанет куда нужно и сможем увидеть, правильно ли всё сделали.

Примечания: PowerMill может проверять на столкновения, поэтому, чем больше будет составляющих и частей станка, тем более производительный компьютер нужен. Не увлекайтесь с точностью повторения станка — только самое главное, что может повлиять на работу или за что может задеть инструмент. Так же могут быть ложные срабатывания — тогда в CAD нужно будет подправить модель, к примеру, если сделали каретки подвижными на валах, то нужно увеличить диаметр отверстия в каретке (на пару соток достаточно обычно).

Все исходники: Machine-Aman3040.zip

Отдельно готовый станок для импорта:  

Готовый станок с повороткой вдоль Y:  

Постпроцессор для LinuxCNC:

Документация по разработке: MTDUserGuide.pdf

ВАЖНО:  После скачивания распаковать архив и импортировать станок как написано выше. Модель станка не точная копия Aman3040 и могут быть отличая в расположении/размерах, т.к. я вносил изменения в свой станок. Если что-то будет сильно отличаться — измерьте и напишите, внесу изменения. Либо можете всё сделать самостоятельно исходники все в архиве.

Содержание

  1. Не удается запустить powermill из за ошибки файла авторизации paf error 52 line 17
  2. Прикрепленные изображения
  3. Прикрепленные изображения
  4. Подготовка к восстановлению
  5. Проверка файловой системы
  6. Попытка 1: zero_damaged_pages
  7. Попытка 2: reindex
  8. Попытка 3: SELECT, LIMIT, OFFSET
  9. Попытка 4: снять дамп в текстовом виде
  10. Попытка 5: SELECT, FROM, WHERE > Неудачи делают нас сильнее. Не стоит никогда сдаваться, нужно идти до конца и верить в себя и свои возможности. Поэтому я решил попробовать ешё один вариант: просто просмотреть все записи в базе данных по одному. Зная структуру моей таблицы (см. выше), у нас есть поле id, которое является уникальным (первичным ключом). В таблице у нас 1 628 991 строк и id идут по порядку, а это значит, что мы можем просто перербрать их по одному:

Не удается запустить powermill из за ошибки файла авторизации paf error 52 line 17

Отредактировано Monlen (16-11-2009 18:12:12)

Power Mill 8 уроки на русском

Для тех кто не нашёл: PowerMILL 10 (PM10006_RC4_Full_200907)

Отредактировано Посетитель (17-02-2010 00:34:37)

и конечно пилюля :

приветствую всех форумчан! мне нужна помощь. Я работаю на токарном станке ТПА 1200. И мне уже очень надоела встроенная управляющая программа. хочется найти программу, которая работает под управлением windows xp. Кто-нибудь сможет мне в этом помочь или хотя бы дать совет куда мне обратиться?

Если у вас установлен вылеченный ArtCam 2009 то пелюля для PowerMILL 10 работать скорее всего не будет.Если у вас стоит вторая операционка тогда все будет OK.

Если у вас установлен вылеченный ArtCam 2009

ArtCam 2009 и PowerMILL 10, конечно вместе не работают. смотря как запускать и нужно ли вам это? Лично мне нравится ArtCam(время и простота написания УП) , но приходится и PowerMILL использовать, некоторые УП пишутся дольше, но отличаются почти в двое по времени обработки и могое другое.

Скачал PM10006_SP5_Full_201002+delcam_flexlm_new_crk. пробовал ставить отправляет к производителю за новым кодом авторизации, не знаю что делать. помогите ПЛЗ

к производителю за новым кодом авторизации — сам ответил на свой вопрос.

Скачивай что угодно и ставь что хочешь, только для себя определи сначала зачем это те надо.
Зачем Арт и зачем Милл? А не работает, ПОТОМУ ЧТО ЧИТАТЬ НАДО.
Для кого это пишут ? flexlm_new_crk — СМОТРЕЛ, если ДА, то ПРОЧЕСТЬ НАДО.
Как устанавливать, что б работало.
. купил комп, принес домой, а он работает , что делать? — В розетку включи! -О спасиб заработал

а у рм10 сколько траекторий для 4хосевой?

лабаю в 8.
10 пока не смотрел-работы много
сильно отличается ))))

. это что-то между калькулятором и компьютером, примерно так .

не нашел таблетку на 10
просьба поделиться.
заранее благодарен

так искать и себя на форуме потеряете.

таблетка в посте №8 выше , проверил только что — всё работает, а если вам не видно ссылку , так это всё просто:
выложите ТУТ что не жалко , но и не бред.
или без флудеразма ответь или .
А нужно ещё и правила форума почитать — удачи.

я работаю по металу.
сильно вам завидую,глядя на ваши работы!

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

Каката ваенка. китайцы на такое не способны.

Отредактировано valb (07-05-2010 10:32:52)

Вопрос по постпроцессору. У меня станок RJ 1212 програмное обеспечение Type3D в ArtCam постпроцессор указывать не надо но вPowerMill нужно .Вопрос какой и где его взять.

А CNC router попрет на этой проге?

А мы в милле венеру фрезернули ) теперь у начальства на столе стоит, если фотку найду выложу
хорошая система, дорогая только

А мы в милле венеру фрезернули

А материал какой?

Машина какая? DMV с Haidenhain 530?

Отредактировано MiRu (10-06-2010 18:00:57)

ВT-1500 Economic, дюралюминий

Сейчас будет бан.Исправляйтесь.

Всем привет! Назрела необходимость освоить PowerMILL , но никак немогу всунуть свой постпроцессор в эту прогу . Станок у меня китаец WOODPECKER HS 1325

Материал стопудово алюминий, станок вероятно maho (не принципиально, главное вектор отклонения достаточный шоб был), знакомая моделька, видел в DELCAME-Москва, есть модификации по круче, с головой и крыльчаткой в виде шляпы. Делалась в софте для моделирования таких вещей ( именно торс тела, статуэтки).

Совет:
Лучше лицензии бывает только лицензия. Те кто серъезно занимается лучше брать софт в опытную эксплуатацию, у оф диллера, (только для предприятий)

дорогое оно зараза. у мя 10ка стоит весч хорошая,
в москве даа они там извращались будь здоров, коллега тогда фотку прислал ))) причем вроде бы говорил что они данную фигню на каком то токарном делали :О
Мне в милле больше всего нравится использование 3D модели заготовки и детали и стратегий обработки дофига,
конкурентом до их уровня еще растиии. жалко только фрезерная (((

травы накурилса? Или тебе 7 лет?

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

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

* Intel® Core™2 Quad Q9550 (2.83GHz, 1333MHz FSB, 12MB L2 Cache, Quad Core) 375W
* 8GB (4 x 2.0GB DIMM) 800MHZ ECC Dual Channel Memory (требует 64-bit O/S)
* 512MB PCIe x16 nVidia Quadro FX 3700 (MRGA15), DualMonitor DVI или VGA Graphics Card
* 2 x 320GB (7,200 rpm) SATA 3.0Gb/s Hard Drive с NCQ и 16MB DataBurst Cache™
* Genuine Windows Vista® Business x64 SP1

Если главным моментом для вас является время вычисления, то два четырехъядерных процессора помогут выполнять вычисления в фоновом и активном режиме на максимальной скорости .

* 2 x Intel® Xeon® X5450 (3.00GHz, 1333MHz, 2x6MB Cache, Quad Core)
* 16GB, 667MHz, ECC Memory (8x2GB)
* 512MB PCIe x16 nVidia Quadro FX 3700 (MRGA15), Dual Monitor DVI или VGA Graphics Card
* 2 x 320GB (7,200 rpm) SATA 3.0Gb/s Hard Drive с NCQ и 16MB DataBurst Cache™
* Genuine Windows Vista® Business x64 SP1 WITH Media

пост 37 там написано, поиск там не умер , и гугл поможет
и зачем писать в разных темах одно и тоже

В пилюле из поста №7 касперский нашел троян-блокиратор.

как импортировать модель в формате igs.

почитав отзывы — повермил и арткам не совместимы, и надо сервера безопасности переключать
гугля случайно наткнулся на описание железа для нормальной работы этих прог (чуть не офигел, игровые сервера меньше требуют )

На самом деле необязательно такую тачку иметь, начиная с 10 Milla идет поддержка многоядерности, по сравнению с 9 Millom 10 работает на порядок быстрее, в 11 версии оптимизировали и добавили стратегии обработки, поменяли интерфейс, а движок вычислений практически неизменился от 10 milla. у меня ноут ACER 9330 (1.6 turion 64×2. 4 gb оперативы , тянет нормально и в фоне и так. ArtCam у меня 2008SP5 у него таблетка отдельная(не flex), вместе работают.

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

там смотря чего делать. на обычные обработки и средней машины хватает а если какую нибудь 5д обработку с ограничением наклона, с маленьким гребешком обработки с замудреным инструментом можно на все выходные оставлять спокойно. хотя у мя оперативы гиг ничегго работаем. но для комфортной работы конечно гига 2 надо.

и кстати в фоновом режиме считается вроде прилично быстрее. только пока считает комп лучше не трогать

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

Ну может Unigraphics NX7 поможет? Описание установки есть, все работает отлично, есть встроенный Post Builder для написания собственных постпроцессоров, или правки имеющихся (что проще). Плюс еще и импортировать в NX7 можно очень многое, моделировать, рассчитывать бог знает сколько. все что нужно — в одной программе. Я начинал еще с 4-й версии, и не собираюсь менять. Хотя как-то пробовал Power Mill, но количество задаваемых параметров при обработке детали меня никак не устроило.

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

Тихо сам с собою я веду беседу.
Предупреждение Вам.
Если никто не ответил-значит либо вопрос действительно глупый или не кто не может дать 100% ответ.Флудить не надо.

PowerMill может работать с самодельным станком?

Ему все равно какой станок, лишь бы постпроцессор соответсвующий был.

Господа!
Ни у кого не завалялся 4-х или 5-ти осевой постпроцессор Powermill?

Нужен для Mach3, но можно и любой другой.
Желательно с расширением *.pmopt (Postprocessor)

Все, всем спасибо за участие, уже написал сам.

для начала нужно почитать описаловку к установке, типа файла ReadMe.txt или Install.nfo, или что там было вместе с Вашей крякой.

Решил переходить с ArtCAM на PowerMill, пока изучаю новый, для меня софт, но уже впечатляет.
Автор ПО тот-же, но разница — просто поразительная. (стратегии, доработки, многоосевые. )
Если все получится — выложу отчет!

Отредактировано as-mechanic (24-10-2010 00:29:12)

as-mechanic, Я тоже решил подсесть на етот софт но исключительно из за многоосевой обработки, подцепил к станку поворотную ось, а к проге постпроцессор под мач найти не получается , а у тебя как успехи с поиском постпроцессора, нашел или еще нет?

Отредактировано Vektor_Z (25-10-2010 23:44:42)

Есть ли у кого документация по постпроцессорам, как их пишут и т.д., в чем разница между 3х и 4х осевым (то, что в количестве осей, это я понимаю). Несколько раз смотре PowerMill но где взять пост процессор под 4х осевую не знаю, 3 оси из арткама работают через G-code (tap).&?

Написал!
Взял за основу Fanuc.pmopt (идет в комплекте с Delcam Postprocessor), поковырялся денек, и добился чтобы он выдавал текст программы такой, как мне нужно. Чего и Вам советую.

Есть ли у кого документация по постпроцессорам, как их пишут и т.д., в чем разница между 3х и 4х осевым (то, что в количестве осей, это я понимаю). Несколько раз смотре PowerMill но где взять пост процессор под 4х осевую не знаю, 3 оси из арткама работают через G-code (tap).&?

Я тоже не нашел документации, но разобраться можно и самому.

Отредактировано as-mechanic (26-10-2010 18:04:13)

Разобраться то можно, но без документации это дело затянется на долго, без гарантии получения результата. Я сам PowerMill давно не устанавливал, там вместе с дистрибутивом совсем никакой доки, даже на английском нет?

И так, у меня — получилось.
вот первая деталь:
моделировалась в 3DsMax, генерация УП — PowerMill.
Размер изделия:
1200х270х99 мм
Материал — Ольха

И, собственно отчет, как обещал, прошу не придираться — это лично мое мнение:
1. Недостатки программы
— отсутствие встроенного моделировщика.
— плохо (почти никак) реализована возможность ручного ввода контуров, линий (простейших элементов построения) для операций 2D и 2.5D.
— для нормальной работы необходимо ещё иметь и уметь пользоваться PowerShape (вот это точно не входило в мои планы, но может все изменится).

2. Достоинства
— Высочайшая скорость работы с фасетными моделями, по сравнению с MasterCAM и NX (Unigraphics) (сравниваю с тем, с чем приходилось либо столкнуться(MasterCAM) либо работать(NX)). а в многоосевой обработке — ИМХО -лидер.
— Ввод исходных данных более понятен, но и более прост чем в NX.
— Весьма гибкая программа в плане работы со стратегиями 3D обработки.
— Очень понравилась возможность обрезки сгенерированной УП (например не обрабатывать какой либо участок поверхности)
— Впечатлило построение границ доработки, как по диаметрам фрез(указываются диаметры первой и второй фрезы и все — контура готовы), так и по модели материала (генерируется модель оставшегося материала).
— При переходе с ArtCAM явно заметно повышение качества обработанной поверхности, очень хорошо реализована стратегия 3D смещения.
— Очень понравилась стратегия однопроходной доработки углов, особенно пространственных.

3. Просто понравилось.
— После постпроцессирования корректно выводятся дуги (G2, G3) во всех плоскостях (G17, G18, G19) автоматом.
— В стратегии 3D Выборки плавность врезания между проходами, переход от прохода к проходу идет по дуге, за счет этого появляется, эдакая, танцевальная плавность в движениях станка.
— Скругление траектории в переходах — тоже красиво, при больших значениях радиуса скругления.
— Возможность использования в качестве заготовки отдельную модель (скажем ступенчатую, как для для детали на фото)

Анатолий, чтоб голову не ломать, достаточно посмотреть готовый G-код. там скорости идут после команды F

я не силен в g кодах, но как я понимаю там указан маршрут с командой f. а как определить, что маршрут по дуге и маршрут по прямой?

Если стандартный ISO-вский код, то по прямой -G1 команда, по радиусу G2,G3 в зависимости от направления. Открываешь в обычном блокноте готовый файл, в строку поиска букву F и смотришь где какие скорости

Анатолий,
Читайте документацию по g-кодам. Все основные понятия достаточно просты и в интернете море информации на эту тему.
При визуализации в power mill фреза перемещается по точкам (кнопка «Показать точки» чтобы их увидеть). Соответственно если имеется длинный отрезок с начальной и конечной точкой, то вы увидите скачок от точки к точке. Если точек будет много, то будет казаться что он движется медленно и плавно.
Скорости движения инструмента при работе на станке и визуализация никак не связаны.
На станке есть понятия режимов точного останова (G61) и постоянной скорости (G64).В режиме точного останова, станок отрабатывает каждый кадр выполняя полный цикл ускорения и замедления двигателей. Т.е. если будет движение по прямой запрограммированной не двумя, а к примеру четырьмя точками, то инструмент будет двигаться по этой прямой полностью останавливаясь в каждой этой точке и заново ускоряясь. В режиме постоянной скорости станок будет поддерживать постоянную заданную вами скорость перемещения на всем пути. По умолчанию всегда активна постоянная скорость.
В документации это все есть. Настоятельно рекомендую ознакомиться с g-кодами.

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

В руссифицированных версиях (даже той, которую пытается поствить Ivan и которые тут не обсуждаются ) есть отличный русский хелп. Так что с отдельным мануалом можно не заморачиваться. Все версии, начиная с 8.0. прекрасно встают на Win7

ах ты ленивый редуктор, гугли сам чего ты людей по пустякам напрягаешь

ах ты ленивый редуктор, гугли сам чего ты людей по пустякам напрягаешь

Прикрепленные изображения

Все замечания и нравоучения носят исключительно юмористический характер.Ни коим образом не затрагивают честь и достоинство собеседника облезлого Кота с форточки.

Кто людям помогает — тот тратит время зря.

Хорошими делами прославиться нельзя.

версия вроде сказали проверенная.ощибку исправил. после поправки УП создается нормально.
теперь не могу найти как сохранить УП. желателько в tap.

Прикрепленные изображения

Флешка должна стоять в USB

всем привет.устанавил POWER MILL 2012 SP4. у меня XP SP3.нормально запускается.ощибок не выдает.модель открывается,выбираю заготовку,фрезу,стратегию обработки потом ВЫЧИСЛЕНИЕ и все.и ничего не происходит.как будто программа виснет и все.(фото прилагаю).
посоветуйте,может кто сталкивался.
спасибо.

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

Когда выберете надо будет загрузить. Если выбрали PowerMill 2010 RC1 или PowerMILL 10.0.06 , то после установки у многих появляется ошибка «PAF. «. Это если Вы создали не правильно «Server» или «Переменные среды». Как создать, «Server» , там всё разложено по картинкам. С созданием, «Переменные среды», не каждый поймёт. Я попробую Вам с этим помочь. Начнём:

На рабочем столе компа ярлык «компьютер», на него нажимаем с начало левую кнопку мышки, а потом правую. На появившемся окне нажимаем «свойства». Выходит вот это окно

На этом нажимаем «изменить параметры». Появляется вот это

На нём нажимаем «дополнительно», выходит вот это окно

нажимаем «переменные среды», появляется вот это окно

На этом окне мы создаём «переменные среды пользователя» и «системные переменные».
С начало нажимаем «создать. » на «переменные среды пользователя», появляется вот это

В этом окне на первой строке записываем всё как на картинке, без пробелов. На второй пишем 1700@?, знак вопроса это имя вашего компьютера. На примере в этом окне я написал имя master. Всё пишем без пробелов и нажимаем «ок».
Потом создаём «системную переменную». Делаем всё тоже самое как на окне, что выше.
Перезагружаем комп и запускаем программу. Должно получится.

Как устанавливать PowerMill_2012_sp4 в папках написано всё подробно, главное внимательно читать.

И ещё, «Когда устанавливаете прогу и сервер, всё открывайте от имени администратора, особенно касается у кого Windows 7 64 bit»

Хочу поделиться с вами моим первым успешным опытом восстановления полной работоспособности базы данных Postgres. С СУБД Postgres я познакомился пол года назад, до этого опыта администрирования баз данных у меня не было совсем.

Я работаю полу-DevOps инженером в крупной IT-компании. Наша компания занимается разработкой программного обеспечения для высоконагруженных сервисов, я же отвечаю за работоспособность, сопровождение и деплой. Передо мной поставили стандартную задачу: обновить приложение на одном сервере. Приложение написано на Django, во время обновления выполняются миграции (изменение структуры базы данных), и перед этим процессом мы снимаем полный дамп базы данных через стандартную программу pg_dump на всякий случай.

Во время снятия дампа возникла непредвиденная ошибка (версия Postgres – 9.5):

Ошибка «invalid page in block» говорит о проблемах на уровне файловой системы, что очень нехорошо. На различных форумах предлагали сделать FULL VACUUM с опцией zero_damaged_pages для решения данной проблемы. Что же, попрробеум…

Подготовка к восстановлению

ВНИМАНИЕ! Обязательно сделайте резервную копию Postgres перед любой попыткой восстановить базу данных. Если у вас виртуальная машина, остановите базу данных и сделайте снепшот. Если нет возможности сделать снепшот, остановите базу и скопируйте содержимое каталога Postgres (включая wal-файлы) в надёжное место. Главное в нашем деле – не сделать хуже. Прочтите это.

Поскольку в целом база у меня работала, я ограничился обычным дампом базы данных, но исключил таблицу с повреждёнными данными (опция -T, —exclude-table=TABLE в pg_dump).

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

Проверка файловой системы

В моём случае файловая система с базой данных была примонтирована в «/srv» и тип был ext4.

Останавливаем базу данных: systemctl stop postgresql@9.5-main.service и проверяем, что файловая система никем не используется и её можно отмонтировать с помощью команды lsof:
lsof +D /srv

Мне пришлось ещё остановить базу данных redis, так как она тоже исползовала «/srv». Далее я отмонтировал /srv (umount).

Проверка файловой системы была выполнена с помощью утилиты e2fsck с ключиком -f (Force checking even if filesystem is marked clean):

Далее с помощью утилиты dumpe2fs (sudo dumpe2fs /dev/mapper/gu2—sys-srv | grep checked) можно убедиться, что проверка действительно была произведена:

e2fsck говорит, что проблем на уровне файловой системы ext4 не найдено, а это значит, что можно продолжать попытки восстановить базу данных, а точнее вернуться к vacuum full (само собой, необходимо примонтирвоать файловую систему обратно и запустить базу данных).

Если у вас сервер физический, то обязательно проверьте состояние дисков (через smartctl -a /dev/XXX) либо RAID-контроллера, чтобы убедиться, что проблема не на аппаратном уровне. В моём случае RAID оказался «железный», поэтому я попросил местного админа проверить состояние RAID (сервер был в нескольких сотнях километров от меня). Он сказал, что ошибок нет, а это значит, что мы точно можем начать восстановление.

Попытка 1: zero_damaged_pages

Подключаемся к базе через psql аккаунтом, обладающим правами суперпользователя. Нам нужен именно суперпользователь, т.к. опцию zero_damaged_pages может менять только он. В моём случае это postgres:

psql -h 127.0.0.1 -U postgres -s [database_name]

Опция zero_damaged_pages нужна для того, чтобы проигнорировать ошибки чтения (с сайта postgrespro):

При выявлении повреждённого заголовка страницы Postgres Pro обычно сообщает об ошибке и прерывает текущую транзакцию. Если параметр zero_damaged_pages включён, вместо этого система выдаёт предупреждение, обнуляет повреждённую страницу в памяти и продолжает обработку. Это поведение разрушает данные, а именно все строки в повреждённой странице.

Включаем опцию и пробуем делать full vacuum таблицы:

К сожалению, неудача.

Мы столкнулись с аналогичной ошибкой:

pg_toast – механизм хранения «длинных данных» в Postgres, если они не помещаются в одну страницу (по умолчанию 8кб).

Попытка 2: reindex

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

reindex завершился без проблем.

Однако это не помогло, VACUUM FULL аварийно завершался с аналогичной ошибкой. Поскольку я привык к неудачам, я стал искать советов в интернете дальше и наткнулся на довольно интересную статью.

Попытка 3: SELECT, LIMIT, OFFSET

В статье выше предлагали посмотреть таблицу построчно и удалить проблемные данные. Для начала необходимо было просмотреть все строки:

В моём случае таблица содержала 1 628 991 строк! По-хорошему необходимо было позаботиться о партициирвоании данных, но это тема для отдельного обсуждения. Была суббота, я запустил вот эту команду в tmux и пошёл спать:

К утру я решил проверить, как обстоят дела. К моему удивлению, я обнаружил, что за 20 часов было просканировано только 2% данных! Ждать 50 дней я не хотел. Очередной полный провал.

Но я не стал сдаваться. Мне стало интересно, почему же сканирование шло так долго. Из документации (опять на postgrespro) я узнал:

OFFSET указывает пропустить указанное число строк, прежде чем начать выдавать строки.
Если указано и OFFSET, и LIMIT, сначала система пропускает OFFSET строк, а затем начинает подсчитывать строки для ограничения LIMIT.

Применяя LIMIT, важно использовать также предложение ORDER BY, чтобы строки результата выдавались в определённом порядке. Иначе будут возвращаться непредсказуемые подмножества строк.

Очевидно, что вышенаписанная команда была ошибочной: во-первых, не было order by, результат мог получиться ошибочным. Во-вторых, Postgres сначала должен был просканировать и пропустить OFFSET-строк, и с возрастанием OFFSET производительность снижалась бы ещё сильнее.

Попытка 4: снять дамп в текстовом виде

Далее мне в голову пришла, казалось бы, гениальная идея: снять дамп в текстовом виде и проанализировать последнюю записанную строку.

Но для начала, ознакомимся со структурой таблицы ws_log_smevlog:

В нашем случае у нас есть столбец «id», который содержал уникальный идентификатор (счётчик) строки. План был такой:

  1. Начинаем снимать дамп в текстовом виде (в виде sql-команд)
  2. В определённый момент времени снятия дампа бы прервалось из-за ошибки, но тектовый файл всё равно сохранился бы на диске
  3. Смотрим конец текстового файла, тем самым мы находим идентификатор (id) последней строки, которая снялась успешно

Снятия дампа, как и ожидалось, прервался с той же самой ошибкой:

Далее через tail я просмотрел конец дампа (tail -5 ./my_dump.dump) обнаружил, что дамп прервался на строке с id 186 525. «Значит, проблема в строке с id 186 526, она битая, её и надо удалить!» – подумал я. Но, сделав запрос в базу данных:
«select * from ws_log_smevlog where обнаружилось, что с этой строкой всё нормально… Строки с индексами 186 530 — 186 540 тоже работали без проблем. Очередная «гениальная идея» провалилась. Позже я понял, почему так произошло: при удаленииизменении данных из таблицы они не удаляются физически, а помечаются как «мёртвые кортежи», далее приходит autovacuum и помечает эти строки удалёнными и разрешает использовать эти строки повторно. Для понимания, если данные в таблице меняются и включён autovacuum, то они не хранятся последовательно.

Попытка 5: SELECT, FROM, WHERE > Неудачи делают нас сильнее. Не стоит никогда сдаваться, нужно идти до конца и верить в себя и свои возможности. Поэтому я решил попробовать ешё один вариант: просто просмотреть все записи в базе данных по одному. Зная структуру моей таблицы (см. выше), у нас есть поле id, которое является уникальным (первичным ключом). В таблице у нас 1 628 991 строк и id идут по порядку, а это значит, что мы можем просто перербрать их по одному:

Если кто не понимает, команда работает следующим образом: просматривает построчно таблицу и отправляет stdout в /dev/null, но если команда SELECT проваливается, то выводится текст ошибки (stderr отправляется в консоль) и выводится строка, содержащая ошибку (благодаря ||, которая означает, что у select возникли проблемы (код возврата команды не 0)).

Мне повезло, у меня были созданы индексы по полю id:

А это значит, что нахождение строки с нужным id не должен занимать много времени. В теории должно сработать. Что же, запускаем команду в tmux и идём спать.

К утру я обнаружил, что просмотрено около 90 000 записей, что составляет чуть более 5%. Отличный результат, если сравнивать с предыдущим способом (2%)! Но ждать 20 дней не хотелось…

Источник

SergeyT

Новичок
Сообщения: 4
Зарегистрирован: 08 апр 2017, 09:46
Репутация: 0
Настоящее имя: Sergey
Контактная информация:

PowerMill вопрос

Подскажите новичку.
Установил PowerMill16sp13 (Так же с ним установил Exchange16r3 и Postprocessor2013r2sp4)
Открываю stl модель, сделанную в арткаме.
Создаю ск, траектории и тд.
Затем при создании ns файла пункт, где нужно выбрать постпроцессор, не активен. Т.е. я просто на просто не могу выбрать какой либо постпроцессор. Что я делаю не так?

Аватара пользователя

michael-yurov

Почётный участник
Почётный участник
Сообщения: 11525
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4595
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: PowerMill вопрос

Сообщение

michael-yurov » 08 апр 2017, 12:24

Вероятно не установлена программа-постпроцессор.
У повермила отдельная программа занимается записью NC файлов.
Собственно и для чтения 3d моделей так же требуется отдельная программа-конвертер.
Хотя STL, скорее всего, откроется и без конвертера.

SergeyT

Новичок
Сообщения: 4
Зарегистрирован: 08 апр 2017, 09:46
Репутация: 0
Настоящее имя: Sergey
Контактная информация:

Re: PowerMill вопрос

Сообщение

SergeyT » 08 апр 2017, 13:34

установлена программа postprocessor2013r2sp4. в папке programfilesdelcampostprocessor65 присутствует. сам екзешник pmpost запускается, никаких ошибок не выдает.
удалил его, поставил другой — postprocessor68. Так же все работает. Но все равно в создании нсфайла нет выбора постпроцессора. :(

Аватара пользователя

michael-yurov

Почётный участник
Почётный участник
Сообщения: 11525
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4595
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: PowerMill вопрос

Сообщение

michael-yurov » 08 апр 2017, 14:26

Т.е. здесь не дает выбрать файл настроек постпроцессора? Даже справа кнопочка для открытия файла не активна?
Или выбирать не из чего?

Вложения
2017-04-08_16-24-43.png (8667 просмотров) <a class='original' href='./download/file.php?id=108427&sid=1f5472467fb5c1a32c385322ee22e368&mode=view' target=_blank>Загрузить оригинал (59.67 КБ)</a>

Аватара пользователя

niksooon

Мастер
Сообщения: 2090
Зарегистрирован: 23 июн 2014, 23:18
Репутация: 1193
Откуда: Кашира
Контактная информация:

Re: PowerMill вопрос

Сообщение

niksooon » 08 апр 2017, 17:03

лезем в инструменты- опции- nc-файлы — вывод ……….тип файла указываем NC файл, после этого окно с выбором ПП станет активным…………

Сделанное правильно — красиво. Если сделанное тебе не нравится — то и работать оно будет хреново. Перевари, пересверли, выпили заново — ну, или хотя бы покрась.

SergeyT

Новичок
Сообщения: 4
Зарегистрирован: 08 апр 2017, 09:46
Репутация: 0
Настоящее имя: Sergey
Контактная информация:

Re: PowerMill вопрос

Сообщение

SergeyT » 13 апр 2017, 12:36

Есть еще несколько моментов, надеюсь на вашу помощь.
И так в павермиле имеется модель траектории ск и тд, переходим к записи
Создаю нс файл
Добавляю туда траектории
Жму «записать»
Вылетает ошибка постпроцессора broken connection
Поискал решение проблемы на форумах, получилось так:
при создании нс файла в настройках выбираю не нсфайл а траектория фрезы
Добавляю траектории
Жму «записать»
Получаю кат файл.
Открываю его в pmpost.
Правой кнопкой — процессировать.
Получаю tap файл.
А теперь вопросы:
1. tap — тот самый формат который нужен для мач3?
2. какой файл постпроцессора использовался при роцессировании? Другими словами, как можно процессировать катфайл используя файлы pmoptz (фанук или другие)?
3. Можно ли как то решить проблему с broken connection? В интернете внятного решения не нашел.

Аватара пользователя

michael-yurov

Почётный участник
Почётный участник
Сообщения: 11525
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4595
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: PowerMill вопрос

Сообщение

michael-yurov » 13 апр 2017, 12:39

SergeyT писал(а):3. Можно ли как то решить проблему с broken connection?

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

Аватара пользователя

Константин23

Мастер
Сообщения: 483
Зарегистрирован: 06 апр 2015, 16:52
Репутация: 62
Настоящее имя: Константин
Откуда: Krasnodar
Контактная информация:

Re: PowerMill вопрос

Сообщение

Константин23 » 13 апр 2017, 20:14

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

Подтверждаю) было такое
Обычно один PM тянет за собой свой пост.
При переустановке PM я забывал сносить его и получал такую ошибку

Есть много, друг Горацио, такого, что и не снилось нашим мудрецам….
В.Шекспир «Гамлет», д. 1, сц. 5

Аватара пользователя

vovafed

Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

Re: PowerMill вопрос

Сообщение

vovafed » 06 сен 2018, 09:45

SergeyT писал(а):3. Можно ли как то решить проблему с broken connection

апну старую тему может кому поможет
сохраняю простые 3 осевые программы нормально выводит nc файл
на сложной 4 осевой вываливается broken connection
в оке вывода

Код: Выделить всё

 It is strongly NOT recommended to use FROM point after 1st toolpath is started and before the last one is not finished.
Toolpath: 4_1; Commands: First Move After Toolchange
Multiaxis error!
Can't reach desired tool direction ( Tool vector: X = -1.000; Y =  0.000; Z =  0.000)
7183 Records Processed (50 percent complete).
Multiaxis error!
Can't reach desired tool direction ( Tool vector: X = -1.000; Y =  0.000; Z =  0.000)
Complete

перевод

Код: Выделить всё

Настоятельно не рекомендуется использовать FROM point после запуска 1st toolpath и до завершения последнего.
Траектории: 4_1; команды: первый ход после смены инструмента
Нескольких ошибка оси!
Не удается достичь нужного направления инструмента (вектор инструмента: X = -1.000; Y = 0.000; Z = 0.000)
Обработано 7183 записи (завершено 50%).
Нескольких ошибка оси!
Не удается достичь нужного направления инструмента (вектор инструмента: X = -1.000; Y = 0.000; Z = 0.000)
Полный

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

Аватара пользователя

Faldum

Опытный
Сообщения: 127
Зарегистрирован: 11 янв 2016, 07:42
Репутация: 7
Настоящее имя: Вячеслав
Откуда: Кузбасс
Контактная информация:

Поворот заготовки в PowerMill

Сообщение

Faldum » 24 май 2019, 18:47

Друзья, подскажите, пожалуйста, как расположить заготовку правильно (поворотная ось — Х).

Вложения
Скриншот 2019-05-24 22.44.16.png (5754 просмотра) <a class='original' href='./download/file.php?id=163243&sid=1f5472467fb5c1a32c385322ee22e368&mode=view' target=_blank>Загрузить оригинал (215.59 КБ)</a>

mannul

Новичок
Сообщения: 6
Зарегистрирован: 13 мар 2019, 11:33
Репутация: 2
Контактная информация:

Re: PowerMill вопрос

Сообщение

mannul » 27 май 2019, 08:26

Faldum писал(а):Друзья, подскажите, пожалуйста, как расположить заготовку правильно (поворотная ось — Х).

Создайте систему координат, где ось Z проходит вдоль оси заготовки. Укажите ее при создании заготовки-цилиндра и все получится.

#101

OFFLINE
 

Viktor82

  • Пол:Мужчина
  • Город:Тула
  • Из:Тула

Отправлено 14 Февраль 2016 — 21:12

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

Граждане, помогите пожалуйста разобраться с такой проблемой. Сделал постпроцессор в Delcam PostProcessor 2012, файл с расширением .pmoptz, на PowerMill 2012 все работает отлично. Мне надо этот постпроцессор пользовать на PowerMill 9, он файл с расширением .pmoptz не видит вообще. Как мне преобразовать мой постпроцессор под старый PowerMill?

С уважением, Виктор

  • 0

  • Наверх


#102

OFFLINE
 

ic002

ic002

  • Пол:Женщина
  • Город:Украина Кривой Рог
  • Интересы:разработка постпроцессоров для станков с ЧПУ. Работа в CAM — FeatureCam, Powermill.
  • Из:г.Кривой Рог

Отправлено 17 Февраль 2016 — 01:14

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

Граждане, помогите пожалуйста разобраться с такой проблемой. Сделал постпроцессор в Delcam PostProcessor 2012, файл с расширением .pmoptz, на PowerMill 2012 все работает отлично. Мне надо этот постпроцессор пользовать на PowerMill 9, он файл с расширением .pmoptz не видит вообще. Как мне преобразовать мой постпроцессор под старый PowerMill?

С уважением, Виктор

Под старый Powermill не получится использовать версию выше , поэтому прийдеться переделывать постпроцессор заново. 

  • 0

  • Наверх


#103

OFFLINE
 

Viktor82

Viktor82

  • Пол:Мужчина
  • Город:Тула
  • Из:Тула

Отправлено 09 Апрель 2016 — 15:43

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

Хотел сделать вывод данных о шаге обработке и припуске в программе, никак не могу найти какие параметры за это отвечают в Postprocessor 2012. Подскажите пожалуйста как они называются.

С уважением, Виктор

  • 0

  • Наверх


#104

OFFLINE
 

Zebra

Отправлено 25 Апрель 2016 — 14:33

Тоже было бы интересно как вообще делается постпроцессор ?  Вот есть станок 5 осей . Знаю плече по оси Z как в бить это в опст ? или я что не правильно понял.

  • 0

  • Наверх


#105

OFFLINE
 

RomperStomper7777

RomperStomper7777

  • Из:Житомир

Отправлено 25 Апрель 2016 — 18:07

Тоже было бы интересно как вообще делается постпроцессор ?  Вот есть станок 5 осей . Знаю плече по оси Z как в бить это в опст ? или я что не правильно понял.

постпроцессор для 5 осевого станка стоит 800 бачей, так просто без специальных знаний и опыта сам не сделаешь

  • 0

  • Наверх


#106

OFFLINE
 

syncomp

syncomp

    Абитуриент

  • Пользователи+
  • Pip

  • 8 сообщений
  • Из:Калуга

Отправлено 26 Апрель 2016 — 00:03

Форумчане, помогите!

Столкнулся с проблемой. Есть постпроцессор с РМ-8. Установил себе РМ2012. Постпроцессор от старой версии работает. Но бывают ошибки. Открыл этот пост в PMPost и сохранил. В РМ создал cut-файл. Новым(пересохраненным) постом процессирую cut-файл. Все прекрасно постится, Программа без ошибок. Но если создаю NC-файл в РМ и потом записываю, tap-файл не создается, появляется окно с ощибкой — «Ошибка постпроцессора-Broken connection». Что происходит? Почему так получается?

  • 0

  • Наверх


#107

OFFLINE
 

Zebra

Отправлено 27 Апрель 2016 — 15:38

постпроцессор для 5 осевого станка стоит 800 бачей, так просто без специальных знаний и опыта сам не сделаешь

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

  • 0

  • Наверх


#108

OFFLINE
 

Viktor82

Viktor82

  • Пол:Мужчина
  • Город:Тула
  • Из:Тула

Отправлено 28 Апрель 2016 — 17:04

Тоже было бы интересно как вообще делается постпроцессор ?  Вот есть станок 5 осей . Знаю плече по оси Z как в бить это в опст ? или я что не правильно понял.

Постпроцессор вообще делается в программе Delcam Postprocessor, я брал за основу Fanuc.pmopt (это что-то вроде демо версии от Delcam, плавает в интернете) и переделывал под конкретный станок

  • 0

  • Наверх


#109

OFFLINE
 

yaso73

yaso73

  • Пол:Мужчина
  • Город:Новосибирск
  • Интересы:Очень люблю жить.Очень не люблю когда мне мешают этим заниматься.
  • Из:Новосибирск

Отправлено 28 Апрель 2016 — 17:28

Постпроцессор вообще делается в программе Delcam Postprocessor

:good: Всё верно.Берется либо стандартный фануковский пост(три оси) и с ним работаем,либо пишется с нуля.Выбирается кинематика и пр.

Литературка кое-какая по сети бродит — искать надо.САПР2000 — форум,можно там покопать.Там мужики сидят умные,периодически литературой перебрасываются.И даже иногда советуют тем,кто делает сам(но надо дорасти до уровня вопросов грамотных).

Потом берём симко-эдит.Правильно настраиваем там машину и смотрим,что получилось.Тоже не пять минут разбираться.

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

Если этот путь пройден и в симко видим правильные перемещения — можно подкрадываться к станку.

Методом проб и ошибок,с нуля,займёт минимум три месяца.Но,вероятно больше.Если уже юзер 80-го уровня,то меньше.От собственного настроя и уровня подготовки зависит.

:hi:

  • 1

Все замечания и нравоучения носят исключительно юмористический характер.Ни коим образом не затрагивают честь и достоинство собеседника облезлого Кота с форточки.

Кто людям помогает — тот тратит время зря.

Хорошими делами прославиться нельзя.

  • Наверх


#110

OFFLINE
 

belorez

belorez

  • Пол:Мужчина
  • Из:Белгород

Отправлено 09 Май 2016 — 16:49

Я только начал освоение повермила и понимаю, что на первых порах вопросов лучше не задавать(потому как они в этот период как правило глупые), но всё же интересно: почему, после того как я в delcam postprocessor-е сделал исправления в fanuc.mpot  и сохранил, он перестал быть mpot а стал mpotz? При этом запись NC файла проходит нормально с помощью этого мпотца и результат получается желаемый.

  • 0

Одна голова хорошо, а две лучше. Русская народная чпу поговорка.

  • Наверх


#111

OFFLINE
 

DSP1

DSP1

  • Пол:Мужчина
  • Город:МО

Отправлено 10 Май 2016 — 23:26

почему, после того как я в delcam postprocessor-е сделал исправления в fanuc.mpot и сохранил, он перестал быть mpot а стал mpotz?

Если перейдете на ранние версии , всё будет в мпотах ( Мауэрпил_опт_файл ) :) .

  • 1

  • Наверх


#112

OFFLINE
 

andrey-kalin

andrey-kalin

  • Пол:Мужчина
  • Из:СССР

Отправлено 24 Август 2016 — 11:09

Приветствую  есть такой вопрос   постоянно  приходится удалять  вот такие строки кто  мог бы подправить пост 

  пост + уп

  • 0

  • Наверх


#113

OFFLINE
 

andrey-kalin

andrey-kalin

  • Пол:Мужчина
  • Из:СССР

Отправлено 31 Август 2016 — 09:39

Приветствую  есть такой вопрос   постоянно  приходится удалять  вот такие строки кто  мог бы подправить пост 

  пост + уп

наверно я один такой

  • 0

  • Наверх


#114

OFFLINE
 

lkbyysq

lkbyysq

  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 31 Август 2016 — 11:08

наверно я один такой

Некорректно поставлена задача.

1. Зачем удалять то, что в скобках?

2. Чтобы убить «Н01» сильно не думая, в посте надо убить «tool length ;»  в следующих случаях и аналогичных:

До кучи можно убить и то, что сиреневым выделено (касательно третьей картинки). 

3. Чтобы убить в первых строках то, что не нравится, видимо надо поковыряться здесь

Можете кроме процента все убить.

4. По аналогии можете и остаток убить, сами там поанализируйте.

ЗЫ Сам то я в постпроцессорах нуб (!!!), всяко Вам виднее, что делать.

Сообщение отредактировал lkbyysq: 31 Август 2016 — 11:21

  • 0

  • Наверх


#115

OFFLINE
 

andrey-kalin

andrey-kalin

  • Пол:Мужчина
  • Из:СССР

Отправлено 31 Август 2016 — 13:17

Некорректно поставлена задача.

1. Зачем удалять то, что в скобках?

Затем после создания УП  ПРОГРАММА Ncstudio 10  не даёт  запуск станка для работы  вот приходится постоянно  удалять  в уп те строки что   на скрине

  • 0

  • Наверх


#116

OFFLINE
 

lkbyysq

lkbyysq

  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 31 Август 2016 — 15:56

NcStudio 10 знает что такое скобки и корректно их отрабатывает.
Советую Вам подучить матчасть, иначе всю жизнь можно положить на удаление строчек из УП.

Сообщение отредактировал lkbyysq: 31 Август 2016 — 15:57

  • 0

  • Наверх


#117

OFFLINE
 

andrey-kalin

andrey-kalin

  • Пол:Мужчина
  • Из:СССР

Отправлено 31 Август 2016 — 22:17

NcStudio 10 знает что такое скобки и корректно их отрабатывает.
Советую Вам подучить матчасть, иначе всю жизнь можно положить на удаление строчек из УП.

может и не сами скобки а то  что внутри  их  но суть проблемы  не меняет  посмотри на видео  https://yadi.sk/d/pTDn2U1-udx7p

  • 0

  • Наверх


#118

OFFLINE
 

yaso73

yaso73

  • Пол:Мужчина
  • Город:Новосибирск
  • Интересы:Очень люблю жить.Очень не люблю когда мне мешают этим заниматься.
  • Из:Новосибирск

Отправлено 01 Сентябрь 2016 — 12:17

У Вас версия постарше моей.Ваши посты не открываются.Скопируйте свой пост.Откройте копию программой постпроцессора(она у Вас по умолчанию есть),и там в три тыка всё это удаляется.Ничего там хитрого.

  • 0

Все замечания и нравоучения носят исключительно юмористический характер.Ни коим образом не затрагивают честь и достоинство собеседника облезлого Кота с форточки.

Кто людям помогает — тот тратит время зря.

Хорошими делами прославиться нельзя.

  • Наверх


#119

OFFLINE
 

andrey-kalin

andrey-kalin

  • Пол:Мужчина
  • Из:СССР

Отправлено 01 Сентябрь 2016 — 12:43

У Вас версия постарше моей.Ваши посты не открываются.Скопируйте свой пост.Откройте копию программой постпроцессора(она у Вас по умолчанию есть),и там в три тыка всё это удаляется.Ничего там хитрого.

Если бы знал что  да как ((Вот обратился к Вам пост в расширение  «OPT»

  • 0

  • Наверх


#120

OFFLINE
 

lkbyysq

lkbyysq

  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 01 Сентябрь 2016 — 12:48

Кот, хорош мудрствовать, arbeiten sofort schneller!

Сообщение отредактировал lkbyysq: 01 Сентябрь 2016 — 12:49

  • 0

  • Наверх


Приветствую!

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

Сейчас покажу как можно самостоятельно сделать модель станка.

Разумеется, нужно сначала смоделировать сам станок в любой CAD программе (да хоть в Blender или 3DS Max) в упрощённой версии, но что бы все размеры и позиции максимально совпадали.

Я это сделал в привычном FreeCad 0.19, на примере станка Aman 3040 800W:

Исходник:  Machine-Aman3040.zip (FreeCad 0.19 и должен быть установлен верстак A2Plus).
Он немного не совпадает с реальным станком, т.к. я вносил свои изменения в конструкцию.
Вы можете самостоятельно переделать, если что-то будет сильно не совпадать или пишите — по возможности сделаю 1:1.

Дальше необходимо разбить станок на составляющие части, а именно на неподвижные (станина), и подвижные (оси X, Y, Z).

В PowerMill при создании станка есть два понятия: «head» (головка) и «table» (стол).
Инструмент крепится к головке и перемещается вместе с ней (соответственно и перемещаются все оси). 

Заготовка же располагается на столе и, грубо говоря, стол является системой координат.
Нюанс в том, что стол то же может перемещаться — например, в случае наличия поворотного устройства (ось A), или же стол это ось Y,
а следовательно будет перемещаться координатная система.

В моём случае поворотного устройства нет и стол так же неподвижен.

Теперь нужно сделать отдельные файлы для неподвижных и подвижных частей:  станина, ось Y, ось X, ось Z (вместе со шпинделем).

Вот так выглядят по отдельности:

То есть станина и каждая ось — весь набор составляющих.

Важно: не перемещайте составляющие при сохранении — для них всех должна сохранятся единая система координат (точка отсчёта).

Сохраняем каждый файл в формате *.STEP (в случае FreeCAD) или, к примеру, в SolidWorks  *.sldprt.

Теперь нужно каждый файл сконвертировать в составляющую станка для PowerMill (файл в формате dmt).

Запускаем PowerMill, в верхнем меню File -> Import model (можете в списке типов файлов посмотреть поддерживаемые для экспорта из вашей CAD) и ничего не меняя сразу делаем экспорт File -> Export Model,  в типе файла выбираем «Autodesk Manufacturin Triangles (*.dmt)», и выбираем какую-нить папку. Так проделываем со всеми файлами.

У меня вот так:

Все эти файлы я буду в дальнейшем называть «части станка».

Теперь нам нужно описать для PowerMill где какие части станка и что они могут.

Кстати, подробная документация (MTDUserManual) в конце поста.

Сначала поясню, что нам нужно определиться с тем,  какие перемещения от каких зависят.

В случае моего станка ось Z зависит от оси X, а она в свою очередь зависит от оси Y, а они зависят от положения head (головки)

Зависимость выясняется просто — что вместе с чем «ездит» от того и зависит. То есть, к примеру, при перемещении оси Y на 100 миллиметров — вместе с ней поедет по Y и ось X, а вместе с ними поедет и ось Z (можно на реальном станке поперемещать, что бы понять, что имел ввиду перемещение оси Z  по оси X и Y).

Если был бы 5и координатный станок, то было бы так же, но дополнительно ось U зависела бы от W, а они зависели бы от положения table (стола), так как заготовка крепится к нему.

Ладно, по ходу может станет понятнее.

Создаём в папке, в которую сохраняли файлы на предыдущем шаге,  пустой текстовый файл и сразу меняем у него расширение на «*.mtd» и открываем его на редактирование. Кстати, удобнее всего это делать в Notepad++.

Файл пишется в формате xml. 

Кто не вкурсе, то в кратце и упрощённо: всё состоит из «блоков».

<name>  начинает блок name
   вложенные блоки
</name> заканчивает блок name

name — просто название блока. Каждый блок должен быть начат и закончен как на примере выше.
В блок может быть вложен другой блок. Так же у блоков могут быть параметры: 

<name  param=»value»>
   вложенные блоки
</name>

Где param — название параметра, а value — его значение. Параметры прописываются только в начале блока.

Если в блоке нет содержимого, то можно воспользоваться «короткой записью»:

<name param=»value» />   То есть начали блок, объявили параметр (не обязательно) и закончили блок.

Блоки считываются и обрабатываются программой PowerMill и каждый блок (и параметр) имеет для неё значение.

Мы так же можем указать комментарий — то, что будет проигнорировано программой:

<!—  весь этот текст будет проигнорирован  —>

Таким образов в файле я буду писать комментарии для вас.

Так, пока что этих понятий должно хватить.

Пишем:

<?xml version=»1.0″ ?>      <!— Даём понять, что документ в xml формате —>

<machine xmlns=»x-schema:PowermillMachineTool» POST=»SimPost.»>    <!— Начинаем описание станка. Задаём постпроцессор симуляции. —>

   <machine_part>  <!— неподвижные комоненты—>
      <model_list>
         <dmt_file>
            <path FILE=»Frame.dmt» />
            <rgb R=»100″ G=»100″ B=»200″ />
         </dmt_file>
      </model_list>
   </machine_part>

Блок machine_part описывает какую-либо часть станка. В нашем случае это станина целиком, т.к. она неподвижна.
Вложенный блок dmt_file говорит, что мы сейчас укажем файл, откуда брать часть станка.
Во вложенном блоке path  мы указываем путь до файла с этой частью и его название. Так как файл с описанием у нас лежит в той же папке, что и файлы частей станка, то путь указывать не нужно (путь относительный текущей папки, в которой наш файл с описанием станка).Во вложенном блоке rgb мы можем указать цвет детали в формате RGB (можно взять значения из палитры Фотошопа), в моём случае для станины указал сиреневый.
Да, блоков dmt_file, то есть составляющих одной части, может быть несколько
<dmt_file>
…..
<dmt_file>

<dmt_file>
…..
<dmt_file>

Это если вам нужно, к примеру, по разному раскрасить каждую составляющую станины. Мне же, пока что, ни к чему.

Прописываем стол:

   <machine_part NAME=»table» > <!— Стол у нас не двигается. Если двигался бы, то делаете по аналогии с блоком head, он чуть ниже  —>
   </machine_part>

Здесь мы указали часть, отвечающую за стол. Да, она пустая, так как стол у нас неподвижен.
Чуть дальше мы укажем систему координат стола и её расположение.

Теперь же прописываем оси:

    <!— Описания осей —>  
    <machine_part>
        <axis>   <!— указываем PowerMill, что эта часть станка является «осью» —>  
            <control_info ADDRESS=»Y» MIN=»0″ MAX=»400″ VALUE=»260″ />    <!— указываем, какой именно, где она сейчас и ограничения перемещений —>
            <simple_linear I=»0″ J=»1″ K=»0″ />   <!— указываем тип перемещения а так же как она направлена в пространстве (как будет перемещаться) —>
        </axis>    
        <model_list>   <!— Укажем, из каких файлов состоит эта часть станка —>
            <dmt_file>
                <path FILE=»AxisY.dmt» />
                <rgb R=»200″ G=»200″ B=»200″ />
            </dmt_file>
        </model_list>

                
        <machine_part>  <!— Вложенный блок части станка, так как от оси Y зависит ось X —>
            <axis>
                <control_info ADDRESS=»X» MIN=»0″ MAX=»300″ VALUE=»170″ />
                <simple_linear I=»1″ J=»0″ K=»0″ />
            </axis>    
            <model_list>
                <dmt_file>
                    <path FILE=»AxisX.dmt» />
                    <rgb R=»200″ G=»200″ B=»200″ />
                </dmt_file>
            </model_list>            

            <machine_part>  <!— Вложенный блок части станка, так как от оси X зависит ось Z —>
                <axis>
                    <control_info ADDRESS=»Z» MIN=»0″ MAX=»80″ VALUE=»20″ />
                    <simple_linear I=»0″ J=»0″ K=»-1″ />
                </axis>    
                <model_list>
                    <dmt_file>
                        <path FILE=»AxisZ.dmt» />
                        <rgb R=»200″ G=»200″ B=»200″ />
                    </dmt_file>
                </model_list>

            
               <!— Вложенный блок виртуальной части станка head. Тем самым мы указываем PowerMill где по зависимостям находится головка. И, к примеру, если нужно  будет головку переместить по Y на 100 мм, то так же по Y на 100 мм будут перемещены предыдущие machine_parts   —>
                <machine_part NAME=»head»>
                </machine_part>    

                
            </machine_part>
        </machine_part>    
    </machine_part>        

Надеюсь, понятно про вложенность.

Пояснение по поводу: <control_info ADDRESS=»Z» MIN=»0″ MAX=»80″ VALUE=»20″ /> 

В параметрах MIN и MAX мы указываем пределы перемещений для оси (в мм). 
Параметр VALUE указывает где сейчас расположена часть станка в CAD редакторе относительно нуля по расстоянию (когда ось доехала до минимума). Поэтому проще всего перед экспортом переместить в соответствующее место и что бы положение части станка оказалось таким же, как и на реальном станке. За ноль я считаю положение при срабатывании концевого датчика.

Кстати, можно так же указать параметр HOME и задать какое-либо значение — тогда, при нажатии кнопки Home в управлении станком PowerMill оси будут перемещены в это значение.

Пояснение по поводу: <simple_linear I=»0″ J=»0″ K=»-1″ /> 

Название блока говорит о том, что это просто линейное перемещение.
В параметрах I, J, K мы задаём вектор направления, в котором будет перемещаться часть станка. В данном случае по Z будет сверху вниз отсчёт вестись. Да, возможно перемещение и под углом (установив, к примеру, 0.5 в K и J).
Для поворотного нужно название simple_rotary (в параметрах нужно также будет указать координаты X Y Z — центр вращения).

Указываем положение глобальной системы координат:

<table_attach_point PART=»table» X=»-154″ Y=»7″ Z=»54.5″  I=»0″ J=»0″ K=»1″ />

В этом блоке мы указываем, где для PowerMill будет начинаться глобальная система координат и как она будет ориентирована и к какой части станка привязана (что бы она перемещалась вместе с ней).

Вот про что речь:

Относительно глобальной системы координат располагается заготовка.

Где она должна располагаться? Рекомендую в том месте, куда станок приходит в ноль (домашняя позиция) при поиске начал и откуда идёт увеличение координат по X и Y. 
НО, учитывая, что на Aman 3040 нет концевых датчиков (которые всё же лучше поставить самостоятельно для удобства), то за 0 можно принять положение, когда каждая ось отогнана «до упора» (вручную на станке).
Значения берёте из вашей CAD программы относительно всё той же системы координат, в которой сохраняли. Ориентацию так же нужно будет поставить, что бы направление системы координат PowerMill соответствовала то, что на станке (в управляющей станком программе).
Скачав исходник моего станка можете глянуть координаты компонента HomePointer что бы более понятно стало. 

Указываем точку привязки инструмента:

<head_attach_point PART=»head» X=»19.5″ Y=»267.0″ Z=»141.5″ I=»0″ J=»0″ K=»1″ />    

Это координаты и ориентация, где будет инструмент (фреза) и куда направлена. В нашем случае логично, что на выходе из шпинделя сверху вниз. Соответственно из CAD, в которой делали станок, берём эти координаты, относительно глобальных.

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

ВАЖНО:

Блоки table_attach_point  и head_attach_point  должны располагаться первыми внутри блока machine. В исходниках всё правильно. В посте указал в таком порядке для более лёгкого осмысления что за чем.

Постпроцессор:

Так же можно и нужно указать постпроцессор симуляции для этого станка в блоке machine:

<machine  xmlns=»x-schema:PowermillMachineTool»   POST=»SimPost.» >

В данном случае это штатный PowerMill постпроцессор для симуляции. Есть ещё  «pmpMultiaxis.*», но про них крайне мало информации, так что если удастся разобраться подробнее, допишу этот параграф.

Дополнительно:

Можно указать ещё процесс смены инструмента.  Но т.к. он у всех разный описывать здесь не буду. В документации, есть что-то про это.

Что бы была проверка на столкновения, то у блоков machine_part нужно указать параметр NAME со значением на ваше усмотрение.

Ну и в общем то на этом всё.

Теперь, как тестировать наш «станок»:

1. В PowerMill создаёте новый проект. 
2. В левой панели Станки -> импорт станка:

3. Выбираете наш файл Aman3040.mtd

4. Будет ошибка «Постпроцессор установлен но не может быть сконфигурирован»:

Что бы её не было нужно указать постпроцессор, как именно написал выше в соответствующем параграфе.

5.  Станок импортировался.

6. Можем перемещать оси в ручном режим, для этого правой кнопкой на станке и в контекстной менюшке нажать «Положение»:

7. Дальше как обычно — импортируем какую-либо тестовую модель, создаём какую-либо обработку, выбираем инструмент и запускаем симуляцию траектории. Профиль патрона, пока что, можно не создавать. 

8. Инструмент встанет куда нужно и сможем увидеть, правильно ли всё сделали.

Примечания: PowerMill может проверять на столкновения, поэтому, чем больше будет составляющих и частей станка, тем более производительный компьютер нужен. Не увлекайтесь с точностью повторения станка — только самое главное, что может повлиять на работу или за что может задеть инструмент. Так же могут быть ложные срабатывания — тогда в CAD нужно будет подправить модель, к примеру, если сделали каретки подвижными на валах, то нужно увеличить диаметр отверстия в каретке (на пару соток достаточно обычно).

Все исходники: Machine-Aman3040.zip

Отдельно готовый станок для импорта:  

Готовый станок с повороткой вдоль Y:  

Постпроцессор для LinuxCNC:

Документация по разработке: MTDUserGuide.pdf

ВАЖНО:  После скачивания распаковать архив и импортировать станок как написано выше. Модель станка не точная копия Aman3040 и могут быть отличая в расположении/размерах, т.к. я вносил изменения в свой станок. Если что-то будет сильно отличаться — измерьте и напишите, внесу изменения. Либо можете всё сделать самостоятельно исходники все в архиве.

Содержание

  1. Не удается запустить powermill из за ошибки файла авторизации paf error 52 line 17
  2. Прикрепленные изображения
  3. Прикрепленные изображения
  4. Подготовка к восстановлению
  5. Проверка файловой системы
  6. Попытка 1: zero_damaged_pages
  7. Попытка 2: reindex
  8. Попытка 3: SELECT, LIMIT, OFFSET
  9. Попытка 4: снять дамп в текстовом виде
  10. Попытка 5: SELECT, FROM, WHERE > Неудачи делают нас сильнее. Не стоит никогда сдаваться, нужно идти до конца и верить в себя и свои возможности. Поэтому я решил попробовать ешё один вариант: просто просмотреть все записи в базе данных по одному. Зная структуру моей таблицы (см. выше), у нас есть поле id, которое является уникальным (первичным ключом). В таблице у нас 1 628 991 строк и id идут по порядку, а это значит, что мы можем просто перербрать их по одному:

Не удается запустить powermill из за ошибки файла авторизации paf error 52 line 17

Отредактировано Monlen (16-11-2009 18:12:12)

Power Mill 8 уроки на русском

Для тех кто не нашёл: PowerMILL 10 (PM10006_RC4_Full_200907)

Отредактировано Посетитель (17-02-2010 00:34:37)

и конечно пилюля :

приветствую всех форумчан! мне нужна помощь. Я работаю на токарном станке ТПА 1200. И мне уже очень надоела встроенная управляющая программа. хочется найти программу, которая работает под управлением windows xp. Кто-нибудь сможет мне в этом помочь или хотя бы дать совет куда мне обратиться?

Если у вас установлен вылеченный ArtCam 2009 то пелюля для PowerMILL 10 работать скорее всего не будет.Если у вас стоит вторая операционка тогда все будет OK.

Если у вас установлен вылеченный ArtCam 2009

ArtCam 2009 и PowerMILL 10, конечно вместе не работают. смотря как запускать и нужно ли вам это? Лично мне нравится ArtCam(время и простота написания УП) , но приходится и PowerMILL использовать, некоторые УП пишутся дольше, но отличаются почти в двое по времени обработки и могое другое.

Скачал PM10006_SP5_Full_201002+delcam_flexlm_new_crk. пробовал ставить отправляет к производителю за новым кодом авторизации, не знаю что делать. помогите ПЛЗ

к производителю за новым кодом авторизации — сам ответил на свой вопрос.

Скачивай что угодно и ставь что хочешь, только для себя определи сначала зачем это те надо.
Зачем Арт и зачем Милл? А не работает, ПОТОМУ ЧТО ЧИТАТЬ НАДО.
Для кого это пишут ? flexlm_new_crk — СМОТРЕЛ, если ДА, то ПРОЧЕСТЬ НАДО.
Как устанавливать, что б работало.
. купил комп, принес домой, а он работает , что делать? — В розетку включи! -О спасиб заработал

а у рм10 сколько траекторий для 4хосевой?

лабаю в 8.
10 пока не смотрел-работы много
сильно отличается ))))

. это что-то между калькулятором и компьютером, примерно так .

не нашел таблетку на 10
просьба поделиться.
заранее благодарен

так искать и себя на форуме потеряете.

таблетка в посте №8 выше , проверил только что — всё работает, а если вам не видно ссылку , так это всё просто:
выложите ТУТ что не жалко , но и не бред.
или без флудеразма ответь или .
А нужно ещё и правила форума почитать — удачи.

я работаю по металу.
сильно вам завидую,глядя на ваши работы!

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

Каката ваенка. китайцы на такое не способны.

Отредактировано valb (07-05-2010 10:32:52)

Вопрос по постпроцессору. У меня станок RJ 1212 програмное обеспечение Type3D в ArtCam постпроцессор указывать не надо но вPowerMill нужно .Вопрос какой и где его взять.

А CNC router попрет на этой проге?

А мы в милле венеру фрезернули ) теперь у начальства на столе стоит, если фотку найду выложу
хорошая система, дорогая только

А мы в милле венеру фрезернули

А материал какой?

Машина какая? DMV с Haidenhain 530?

Отредактировано MiRu (10-06-2010 18:00:57)

ВT-1500 Economic, дюралюминий

Сейчас будет бан.Исправляйтесь.

Всем привет! Назрела необходимость освоить PowerMILL , но никак немогу всунуть свой постпроцессор в эту прогу . Станок у меня китаец WOODPECKER HS 1325

Материал стопудово алюминий, станок вероятно maho (не принципиально, главное вектор отклонения достаточный шоб был), знакомая моделька, видел в DELCAME-Москва, есть модификации по круче, с головой и крыльчаткой в виде шляпы. Делалась в софте для моделирования таких вещей ( именно торс тела, статуэтки).

Совет:
Лучше лицензии бывает только лицензия. Те кто серъезно занимается лучше брать софт в опытную эксплуатацию, у оф диллера, (только для предприятий)

дорогое оно зараза. у мя 10ка стоит весч хорошая,
в москве даа они там извращались будь здоров, коллега тогда фотку прислал ))) причем вроде бы говорил что они данную фигню на каком то токарном делали :О
Мне в милле больше всего нравится использование 3D модели заготовки и детали и стратегий обработки дофига,
конкурентом до их уровня еще растиии. жалко только фрезерная (((

травы накурилса? Или тебе 7 лет?

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

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

* Intel® Core™2 Quad Q9550 (2.83GHz, 1333MHz FSB, 12MB L2 Cache, Quad Core) 375W
* 8GB (4 x 2.0GB DIMM) 800MHZ ECC Dual Channel Memory (требует 64-bit O/S)
* 512MB PCIe x16 nVidia Quadro FX 3700 (MRGA15), DualMonitor DVI или VGA Graphics Card
* 2 x 320GB (7,200 rpm) SATA 3.0Gb/s Hard Drive с NCQ и 16MB DataBurst Cache™
* Genuine Windows Vista® Business x64 SP1

Если главным моментом для вас является время вычисления, то два четырехъядерных процессора помогут выполнять вычисления в фоновом и активном режиме на максимальной скорости .

* 2 x Intel® Xeon® X5450 (3.00GHz, 1333MHz, 2x6MB Cache, Quad Core)
* 16GB, 667MHz, ECC Memory (8x2GB)
* 512MB PCIe x16 nVidia Quadro FX 3700 (MRGA15), Dual Monitor DVI или VGA Graphics Card
* 2 x 320GB (7,200 rpm) SATA 3.0Gb/s Hard Drive с NCQ и 16MB DataBurst Cache™
* Genuine Windows Vista® Business x64 SP1 WITH Media

пост 37 там написано, поиск там не умер , и гугл поможет
и зачем писать в разных темах одно и тоже

В пилюле из поста №7 касперский нашел троян-блокиратор.

как импортировать модель в формате igs.

почитав отзывы — повермил и арткам не совместимы, и надо сервера безопасности переключать
гугля случайно наткнулся на описание железа для нормальной работы этих прог (чуть не офигел, игровые сервера меньше требуют )

На самом деле необязательно такую тачку иметь, начиная с 10 Milla идет поддержка многоядерности, по сравнению с 9 Millom 10 работает на порядок быстрее, в 11 версии оптимизировали и добавили стратегии обработки, поменяли интерфейс, а движок вычислений практически неизменился от 10 milla. у меня ноут ACER 9330 (1.6 turion 64×2. 4 gb оперативы , тянет нормально и в фоне и так. ArtCam у меня 2008SP5 у него таблетка отдельная(не flex), вместе работают.

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

там смотря чего делать. на обычные обработки и средней машины хватает а если какую нибудь 5д обработку с ограничением наклона, с маленьким гребешком обработки с замудреным инструментом можно на все выходные оставлять спокойно. хотя у мя оперативы гиг ничегго работаем. но для комфортной работы конечно гига 2 надо.

и кстати в фоновом режиме считается вроде прилично быстрее. только пока считает комп лучше не трогать

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

Ну может Unigraphics NX7 поможет? Описание установки есть, все работает отлично, есть встроенный Post Builder для написания собственных постпроцессоров, или правки имеющихся (что проще). Плюс еще и импортировать в NX7 можно очень многое, моделировать, рассчитывать бог знает сколько. все что нужно — в одной программе. Я начинал еще с 4-й версии, и не собираюсь менять. Хотя как-то пробовал Power Mill, но количество задаваемых параметров при обработке детали меня никак не устроило.

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

Тихо сам с собою я веду беседу.
Предупреждение Вам.
Если никто не ответил-значит либо вопрос действительно глупый или не кто не может дать 100% ответ.Флудить не надо.

PowerMill может работать с самодельным станком?

Ему все равно какой станок, лишь бы постпроцессор соответсвующий был.

Господа!
Ни у кого не завалялся 4-х или 5-ти осевой постпроцессор Powermill?

Нужен для Mach3, но можно и любой другой.
Желательно с расширением *.pmopt (Postprocessor)

Все, всем спасибо за участие, уже написал сам.

для начала нужно почитать описаловку к установке, типа файла ReadMe.txt или Install.nfo, или что там было вместе с Вашей крякой.

Решил переходить с ArtCAM на PowerMill, пока изучаю новый, для меня софт, но уже впечатляет.
Автор ПО тот-же, но разница — просто поразительная. (стратегии, доработки, многоосевые. )
Если все получится — выложу отчет!

Отредактировано as-mechanic (24-10-2010 00:29:12)

as-mechanic, Я тоже решил подсесть на етот софт но исключительно из за многоосевой обработки, подцепил к станку поворотную ось, а к проге постпроцессор под мач найти не получается , а у тебя как успехи с поиском постпроцессора, нашел или еще нет?

Отредактировано Vektor_Z (25-10-2010 23:44:42)

Есть ли у кого документация по постпроцессорам, как их пишут и т.д., в чем разница между 3х и 4х осевым (то, что в количестве осей, это я понимаю). Несколько раз смотре PowerMill но где взять пост процессор под 4х осевую не знаю, 3 оси из арткама работают через G-code (tap).&?

Написал!
Взял за основу Fanuc.pmopt (идет в комплекте с Delcam Postprocessor), поковырялся денек, и добился чтобы он выдавал текст программы такой, как мне нужно. Чего и Вам советую.

Есть ли у кого документация по постпроцессорам, как их пишут и т.д., в чем разница между 3х и 4х осевым (то, что в количестве осей, это я понимаю). Несколько раз смотре PowerMill но где взять пост процессор под 4х осевую не знаю, 3 оси из арткама работают через G-code (tap).&?

Я тоже не нашел документации, но разобраться можно и самому.

Отредактировано as-mechanic (26-10-2010 18:04:13)

Разобраться то можно, но без документации это дело затянется на долго, без гарантии получения результата. Я сам PowerMill давно не устанавливал, там вместе с дистрибутивом совсем никакой доки, даже на английском нет?

И так, у меня — получилось.
вот первая деталь:
моделировалась в 3DsMax, генерация УП — PowerMill.
Размер изделия:
1200х270х99 мм
Материал — Ольха

И, собственно отчет, как обещал, прошу не придираться — это лично мое мнение:
1. Недостатки программы
— отсутствие встроенного моделировщика.
— плохо (почти никак) реализована возможность ручного ввода контуров, линий (простейших элементов построения) для операций 2D и 2.5D.
— для нормальной работы необходимо ещё иметь и уметь пользоваться PowerShape (вот это точно не входило в мои планы, но может все изменится).

2. Достоинства
— Высочайшая скорость работы с фасетными моделями, по сравнению с MasterCAM и NX (Unigraphics) (сравниваю с тем, с чем приходилось либо столкнуться(MasterCAM) либо работать(NX)). а в многоосевой обработке — ИМХО -лидер.
— Ввод исходных данных более понятен, но и более прост чем в NX.
— Весьма гибкая программа в плане работы со стратегиями 3D обработки.
— Очень понравилась возможность обрезки сгенерированной УП (например не обрабатывать какой либо участок поверхности)
— Впечатлило построение границ доработки, как по диаметрам фрез(указываются диаметры первой и второй фрезы и все — контура готовы), так и по модели материала (генерируется модель оставшегося материала).
— При переходе с ArtCAM явно заметно повышение качества обработанной поверхности, очень хорошо реализована стратегия 3D смещения.
— Очень понравилась стратегия однопроходной доработки углов, особенно пространственных.

3. Просто понравилось.
— После постпроцессирования корректно выводятся дуги (G2, G3) во всех плоскостях (G17, G18, G19) автоматом.
— В стратегии 3D Выборки плавность врезания между проходами, переход от прохода к проходу идет по дуге, за счет этого появляется, эдакая, танцевальная плавность в движениях станка.
— Скругление траектории в переходах — тоже красиво, при больших значениях радиуса скругления.
— Возможность использования в качестве заготовки отдельную модель (скажем ступенчатую, как для для детали на фото)

Анатолий, чтоб голову не ломать, достаточно посмотреть готовый G-код. там скорости идут после команды F

я не силен в g кодах, но как я понимаю там указан маршрут с командой f. а как определить, что маршрут по дуге и маршрут по прямой?

Если стандартный ISO-вский код, то по прямой -G1 команда, по радиусу G2,G3 в зависимости от направления. Открываешь в обычном блокноте готовый файл, в строку поиска букву F и смотришь где какие скорости

Анатолий,
Читайте документацию по g-кодам. Все основные понятия достаточно просты и в интернете море информации на эту тему.
При визуализации в power mill фреза перемещается по точкам (кнопка «Показать точки» чтобы их увидеть). Соответственно если имеется длинный отрезок с начальной и конечной точкой, то вы увидите скачок от точки к точке. Если точек будет много, то будет казаться что он движется медленно и плавно.
Скорости движения инструмента при работе на станке и визуализация никак не связаны.
На станке есть понятия режимов точного останова (G61) и постоянной скорости (G64).В режиме точного останова, станок отрабатывает каждый кадр выполняя полный цикл ускорения и замедления двигателей. Т.е. если будет движение по прямой запрограммированной не двумя, а к примеру четырьмя точками, то инструмент будет двигаться по этой прямой полностью останавливаясь в каждой этой точке и заново ускоряясь. В режиме постоянной скорости станок будет поддерживать постоянную заданную вами скорость перемещения на всем пути. По умолчанию всегда активна постоянная скорость.
В документации это все есть. Настоятельно рекомендую ознакомиться с g-кодами.

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

В руссифицированных версиях (даже той, которую пытается поствить Ivan и которые тут не обсуждаются ) есть отличный русский хелп. Так что с отдельным мануалом можно не заморачиваться. Все версии, начиная с 8.0. прекрасно встают на Win7

ах ты ленивый редуктор, гугли сам чего ты людей по пустякам напрягаешь

ах ты ленивый редуктор, гугли сам чего ты людей по пустякам напрягаешь

Прикрепленные изображения

Все замечания и нравоучения носят исключительно юмористический характер.Ни коим образом не затрагивают честь и достоинство собеседника облезлого Кота с форточки.

Кто людям помогает — тот тратит время зря.

Хорошими делами прославиться нельзя.

версия вроде сказали проверенная.ощибку исправил. после поправки УП создается нормально.
теперь не могу найти как сохранить УП. желателько в tap.

Прикрепленные изображения

Флешка должна стоять в USB

всем привет.устанавил POWER MILL 2012 SP4. у меня XP SP3.нормально запускается.ощибок не выдает.модель открывается,выбираю заготовку,фрезу,стратегию обработки потом ВЫЧИСЛЕНИЕ и все.и ничего не происходит.как будто программа виснет и все.(фото прилагаю).
посоветуйте,может кто сталкивался.
спасибо.

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

Когда выберете надо будет загрузить. Если выбрали PowerMill 2010 RC1 или PowerMILL 10.0.06 , то после установки у многих появляется ошибка «PAF. «. Это если Вы создали не правильно «Server» или «Переменные среды». Как создать, «Server» , там всё разложено по картинкам. С созданием, «Переменные среды», не каждый поймёт. Я попробую Вам с этим помочь. Начнём:

На рабочем столе компа ярлык «компьютер», на него нажимаем с начало левую кнопку мышки, а потом правую. На появившемся окне нажимаем «свойства». Выходит вот это окно

На этом нажимаем «изменить параметры». Появляется вот это

На нём нажимаем «дополнительно», выходит вот это окно

нажимаем «переменные среды», появляется вот это окно

На этом окне мы создаём «переменные среды пользователя» и «системные переменные».
С начало нажимаем «создать. » на «переменные среды пользователя», появляется вот это

В этом окне на первой строке записываем всё как на картинке, без пробелов. На второй пишем 1700@?, знак вопроса это имя вашего компьютера. На примере в этом окне я написал имя master. Всё пишем без пробелов и нажимаем «ок».
Потом создаём «системную переменную». Делаем всё тоже самое как на окне, что выше.
Перезагружаем комп и запускаем программу. Должно получится.

Как устанавливать PowerMill_2012_sp4 в папках написано всё подробно, главное внимательно читать.

И ещё, «Когда устанавливаете прогу и сервер, всё открывайте от имени администратора, особенно касается у кого Windows 7 64 bit»

Хочу поделиться с вами моим первым успешным опытом восстановления полной работоспособности базы данных Postgres. С СУБД Postgres я познакомился пол года назад, до этого опыта администрирования баз данных у меня не было совсем.

Я работаю полу-DevOps инженером в крупной IT-компании. Наша компания занимается разработкой программного обеспечения для высоконагруженных сервисов, я же отвечаю за работоспособность, сопровождение и деплой. Передо мной поставили стандартную задачу: обновить приложение на одном сервере. Приложение написано на Django, во время обновления выполняются миграции (изменение структуры базы данных), и перед этим процессом мы снимаем полный дамп базы данных через стандартную программу pg_dump на всякий случай.

Во время снятия дампа возникла непредвиденная ошибка (версия Postgres – 9.5):

Ошибка «invalid page in block» говорит о проблемах на уровне файловой системы, что очень нехорошо. На различных форумах предлагали сделать FULL VACUUM с опцией zero_damaged_pages для решения данной проблемы. Что же, попрробеум…

Подготовка к восстановлению

ВНИМАНИЕ! Обязательно сделайте резервную копию Postgres перед любой попыткой восстановить базу данных. Если у вас виртуальная машина, остановите базу данных и сделайте снепшот. Если нет возможности сделать снепшот, остановите базу и скопируйте содержимое каталога Postgres (включая wal-файлы) в надёжное место. Главное в нашем деле – не сделать хуже. Прочтите это.

Поскольку в целом база у меня работала, я ограничился обычным дампом базы данных, но исключил таблицу с повреждёнными данными (опция -T, —exclude-table=TABLE в pg_dump).

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

Проверка файловой системы

В моём случае файловая система с базой данных была примонтирована в «/srv» и тип был ext4.

Останавливаем базу данных: systemctl stop postgresql@9.5-main.service и проверяем, что файловая система никем не используется и её можно отмонтировать с помощью команды lsof:
lsof +D /srv

Мне пришлось ещё остановить базу данных redis, так как она тоже исползовала «/srv». Далее я отмонтировал /srv (umount).

Проверка файловой системы была выполнена с помощью утилиты e2fsck с ключиком -f (Force checking even if filesystem is marked clean):

Далее с помощью утилиты dumpe2fs (sudo dumpe2fs /dev/mapper/gu2—sys-srv | grep checked) можно убедиться, что проверка действительно была произведена:

e2fsck говорит, что проблем на уровне файловой системы ext4 не найдено, а это значит, что можно продолжать попытки восстановить базу данных, а точнее вернуться к vacuum full (само собой, необходимо примонтирвоать файловую систему обратно и запустить базу данных).

Если у вас сервер физический, то обязательно проверьте состояние дисков (через smartctl -a /dev/XXX) либо RAID-контроллера, чтобы убедиться, что проблема не на аппаратном уровне. В моём случае RAID оказался «железный», поэтому я попросил местного админа проверить состояние RAID (сервер был в нескольких сотнях километров от меня). Он сказал, что ошибок нет, а это значит, что мы точно можем начать восстановление.

Попытка 1: zero_damaged_pages

Подключаемся к базе через psql аккаунтом, обладающим правами суперпользователя. Нам нужен именно суперпользователь, т.к. опцию zero_damaged_pages может менять только он. В моём случае это postgres:

psql -h 127.0.0.1 -U postgres -s [database_name]

Опция zero_damaged_pages нужна для того, чтобы проигнорировать ошибки чтения (с сайта postgrespro):

При выявлении повреждённого заголовка страницы Postgres Pro обычно сообщает об ошибке и прерывает текущую транзакцию. Если параметр zero_damaged_pages включён, вместо этого система выдаёт предупреждение, обнуляет повреждённую страницу в памяти и продолжает обработку. Это поведение разрушает данные, а именно все строки в повреждённой странице.

Включаем опцию и пробуем делать full vacuum таблицы:

К сожалению, неудача.

Мы столкнулись с аналогичной ошибкой:

pg_toast – механизм хранения «длинных данных» в Postgres, если они не помещаются в одну страницу (по умолчанию 8кб).

Попытка 2: reindex

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

reindex завершился без проблем.

Однако это не помогло, VACUUM FULL аварийно завершался с аналогичной ошибкой. Поскольку я привык к неудачам, я стал искать советов в интернете дальше и наткнулся на довольно интересную статью.

Попытка 3: SELECT, LIMIT, OFFSET

В статье выше предлагали посмотреть таблицу построчно и удалить проблемные данные. Для начала необходимо было просмотреть все строки:

В моём случае таблица содержала 1 628 991 строк! По-хорошему необходимо было позаботиться о партициирвоании данных, но это тема для отдельного обсуждения. Была суббота, я запустил вот эту команду в tmux и пошёл спать:

К утру я решил проверить, как обстоят дела. К моему удивлению, я обнаружил, что за 20 часов было просканировано только 2% данных! Ждать 50 дней я не хотел. Очередной полный провал.

Но я не стал сдаваться. Мне стало интересно, почему же сканирование шло так долго. Из документации (опять на postgrespro) я узнал:

OFFSET указывает пропустить указанное число строк, прежде чем начать выдавать строки.
Если указано и OFFSET, и LIMIT, сначала система пропускает OFFSET строк, а затем начинает подсчитывать строки для ограничения LIMIT.

Применяя LIMIT, важно использовать также предложение ORDER BY, чтобы строки результата выдавались в определённом порядке. Иначе будут возвращаться непредсказуемые подмножества строк.

Очевидно, что вышенаписанная команда была ошибочной: во-первых, не было order by, результат мог получиться ошибочным. Во-вторых, Postgres сначала должен был просканировать и пропустить OFFSET-строк, и с возрастанием OFFSET производительность снижалась бы ещё сильнее.

Попытка 4: снять дамп в текстовом виде

Далее мне в голову пришла, казалось бы, гениальная идея: снять дамп в текстовом виде и проанализировать последнюю записанную строку.

Но для начала, ознакомимся со структурой таблицы ws_log_smevlog:

В нашем случае у нас есть столбец «id», который содержал уникальный идентификатор (счётчик) строки. План был такой:

  1. Начинаем снимать дамп в текстовом виде (в виде sql-команд)
  2. В определённый момент времени снятия дампа бы прервалось из-за ошибки, но тектовый файл всё равно сохранился бы на диске
  3. Смотрим конец текстового файла, тем самым мы находим идентификатор (id) последней строки, которая снялась успешно

Снятия дампа, как и ожидалось, прервался с той же самой ошибкой:

Далее через tail я просмотрел конец дампа (tail -5 ./my_dump.dump) обнаружил, что дамп прервался на строке с id 186 525. «Значит, проблема в строке с id 186 526, она битая, её и надо удалить!» – подумал я. Но, сделав запрос в базу данных:
«select * from ws_log_smevlog where обнаружилось, что с этой строкой всё нормально… Строки с индексами 186 530 — 186 540 тоже работали без проблем. Очередная «гениальная идея» провалилась. Позже я понял, почему так произошло: при удаленииизменении данных из таблицы они не удаляются физически, а помечаются как «мёртвые кортежи», далее приходит autovacuum и помечает эти строки удалёнными и разрешает использовать эти строки повторно. Для понимания, если данные в таблице меняются и включён autovacuum, то они не хранятся последовательно.

Попытка 5: SELECT, FROM, WHERE > Неудачи делают нас сильнее. Не стоит никогда сдаваться, нужно идти до конца и верить в себя и свои возможности. Поэтому я решил попробовать ешё один вариант: просто просмотреть все записи в базе данных по одному. Зная структуру моей таблицы (см. выше), у нас есть поле id, которое является уникальным (первичным ключом). В таблице у нас 1 628 991 строк и id идут по порядку, а это значит, что мы можем просто перербрать их по одному:

Если кто не понимает, команда работает следующим образом: просматривает построчно таблицу и отправляет stdout в /dev/null, но если команда SELECT проваливается, то выводится текст ошибки (stderr отправляется в консоль) и выводится строка, содержащая ошибку (благодаря ||, которая означает, что у select возникли проблемы (код возврата команды не 0)).

Мне повезло, у меня были созданы индексы по полю id:

А это значит, что нахождение строки с нужным id не должен занимать много времени. В теории должно сработать. Что же, запускаем команду в tmux и идём спать.

К утру я обнаружил, что просмотрено около 90 000 записей, что составляет чуть более 5%. Отличный результат, если сравнивать с предыдущим способом (2%)! Но ждать 20 дней не хотелось…

Источник

Понравилась статья? Поделить с друзьями:
  • Powerman online 1000 коды ошибок
  • Powerful стиральная машина коды ошибок
  • Powerflex 753 коды ошибок
  • Powerflex 40p ошибки
  • Powercfg exe ошибка