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

Пишу постпроцессор-нужна помощь


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

Помогите реализовать круговую интерполяцию или посоветуйте доки в нете. Посоветуйте реализацию интерфейса юзера. Пишу под DOS потому что не доверяю винде в вопросах работы с внешними портами. Другие операционные системы не было времени изучать.

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


Ежели вы пишете постпроцессор под конкретный станок и причем в DOS, то лучшим решением будет реализация интерфейса с юзером на уровне командной строки. Что то типа c:post myclfile

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

Я не готов "выдрать" из своего продукта описание реализации круговой интерполяции(мы умеем интерполировать 7-ью разными способами + поддерживать любой другой), поскольку это просто долго и вряд ли исходники на С++ вас обрадуют.

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

См. <noindex>http://www.magic-software.com/</noindex>

Там исходники С++ и описания алгоритмов (pdf).

Например, fitting точек окружностью, прямой, сферой и т.д.

aefimov

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

Спасибо посмотрю.

Подробнее: программа является интерпретатором управляющей программы и выдает через внешнюю плату(ISA) сигналы управления перемещением по каждой оси в отдельности:STEP и DIR.Один STEP равен одному дискретному сдвигу по какой-либо оси. Сигналы поступают на сигнальный процессор от MOTOROLA, который обрабатывает их и выдает PWM для управления асинхронными двигателями переменного тока. Программа претендует на универсальность.Есть файл инициализации. Задание программы намного интереснее чем командная строка в досе. Написал линейную интерполяцию,проблемы с ускоренным движением по окружности, то бишь с круновой...

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

Сударь, сие уже не постпроцессор, это пожалуй собственно устройство ЧПУ будет. Может, Вас заинтересует <noindex>www.LinuxCNC.org</noindex>. Насколько помню, там есть исходники, ссылки, поимеры создания  станков ЧПУ.

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

Да, это такое занятное DNC+1/2 контроллера движения в одном флаконе. Интересно будет посмотреть на результат усилий.

Всяческих вам, Джонни успехо в этом начинании!

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

Ты можешь что-нибудь посоветовать? Перед нами стоит задача создать не самую сложную систему управления станками. Хотим свое чтоб было. У нас где-то такая концепция. Что здесь не так? Как это лучше сделать? Интересная область деятельности-мы в ней пока новички.

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

  johnnie, а если не секрет, для каких станков систему управления делаете?

(Отредактировал(а) IBV - 12:41 - 6 Апр., 2002)

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

Quote: from Guest on 15:24 - 6 Апр., 2002

Советские токарные и обрабатывающие центры. Названия точного не помню. Но доки у нас по ним есть.

А если по точнее....

аЙв.

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

1. Станок токарный патронно-центровой с числовым програмным управлением(модели 16А20Ф3)

2. По центру позже скажу.

А что?

Можешь помочь с реализацией круговой интерполяции для 2-осей по которым выдаются сигналы STEP, через точно просчитанные интервалы времени?

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

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

А вот книжечку могу посоветовать моих преподов любимых (П П Серебреницкого и Гжирова)

Программирование оборудования с ЧПУ Л. Машиностроение, 90. Там и материала немного есть, и библиография ничего.

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

спасибо bigBUG.

не подскажешь где бы мне ее достать?

у нас тут с бумажной литературой небольшие проблемы, может в нете где есть?

Что ты думаешь о передаче информации с компьютера на приводы осей посредством сигналов PULSE и DIR , обратной связи в комп о реальном перемещении осей.(двигатели и приводы у нас асинхронные)

комп читая прогу в G-кодах, просто задает посредством сигналов PULSE с какой скоростью та или иная ось должна перемещаться, а привод уже апроксимирует все ипульсы в плавное движение двигателя. Один ипульс-означает сдвинуться на заданную дискрету, период импульса-означает скорость данного движения на одну дискрету. процесс непрерывный, движение соответственно тоже. Что в этом методе плохого, почему он так не нравится проетировщику привода(на мотороле) и чем его можно заменить.

структура системы такая: уп->эвм->привод<->IPM<->двигатель.(для одной оси)

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

Уважаемый johnnie!

Не зря Вам Den давал ссылку на <noindex>http://www.ilnuxcnc.org</noindex>...

Посетите этот сайт, там найдёте много полезных линков , включая готовый дистриб CNC на базе Linux , и сходите на первоисточник <noindex>http://www.isd.mel.nist.gov/projects/emc/emcsoft.html</noindex>

Здесь вы найдёте исходники EMC (Enhanced Machine Controller) для Unix и WinNT и real-time patch для Linux.

Тут же примеры API (действующие) для параллельного порта  и специализированной платы Servo To Go <noindex>http://www.servotogo.com/</noindex> (от 2 до 8 осей) для управления любыми типами приводов.

На сайте Servo To Go есть real-time patch для Win 9x (что вызывает радостный смех..) и для WinNT4-5 (то немного обнадёживает).

Если вы совсем уж не любите WIN и Linux то на <noindex>http://www.metalworking.com/shareware.html</noindex> найдёте действующие CNC app для DOS, вроде там даже исходник на Бейсик был

По этой <noindex>http://www.mendonet.com/cnclinks/</noindex> ссылке есть полезные линки по теме.

Конкретно в вашем случае, при управлении заданием dir & step лучше применить шаговые двигатели с соотв. приводами это позволит обойтись без датчиков обратной связи, но требует ШД с большим числом шаг/оборот. Если применить ШД 200-500 шаг/оборот (наиболее ходовые) точность позиционирования при шаге шариковой пары 10 мм составит 0.05-0.02 мм , тут о круговой интерполяции можно и не думать. Можно применить micro-step серво привод или серво привод с асинхронным двигателем.

По моему мнению, решение CNC с управлением через пареллельный порт и ШД без обратной связи , приемлемо для модернизации станков с ручным управлением до ЧПУ , для черновой обработки.

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

Можно конечно разработать эту плату самим, насколько это выгодно?

Платы управления типа Servo To Go в зависимости от числа осей стоят от 500 до 1000$.

В данный момент я как раз занимаюсь проектированием и изготовлением небольшого гравировально-фрезерного станка.

Рабочие перемещения будут в районе 200х150х50.

Управляться будет от LinuxCNC через параллельный порт и приводиться посредством ШД 200 шагов/оборот. ШД будут работать в полушаговом режиме (400 ш/о) через ходовой винт шагом 1 мм. Точность позиционирования (теоретическая) 0.0025 мм ну а практически пока станка ещё нет.

Если опыт окажется удачным займусь этим поплотнее.

Пожелайте мне удачи!

Всего!

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

Радий - Удачи!

Я тут почитал, и понял, что ничего не понял, Джонни я сам в электронике - дуб тот еще, книгу могу мог бы просто дать в печатном виде, но далековато до вас, хотя будете проходить - милости просим.

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

удачи тебе Kamilovich!!!

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

за линки спасибо-посмотрю

всегда ваш...

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

По этому линку <noindex>http://www.ipc2u.ru/e/cat.nsf/0!openview&r...cttocategory=op</noindex>

есть PCI карты для управления различными типами приводов от 2 до 6 координат.

К примеру  PCI-8132

Координатных осей 2

Импульсные входы шифратора

Импульсных входов на координату 3

Входные сигналы Фаза А; Фаза В; Метка (Z)

Тип входов Дифференциальный

Входное напряжение Логическая 1 3.5..24В

Логический 0 0..3В

Разрядность счетчика 28бит

Максимальная входная частота  2.4МГц

Режимы шифратора Квадратурный; Больше/Меньше; Импульс/Направление

Гальваническая изоляция 2500В

Импульсные выходы генератора

Импульсных выходов на координату 2

Тип выходов OK

Максимальное выходное напряжение 30В

Нагрузочная способность 20мА

Режимы генератора CW/CCW; DIR/OUT

Разрядность счетчика 28бит

Максимальная выходная частота  2.4МГц

Компаратор положения 24бит

Дискретный ввод

Каналов дискретного ввода Всего 30

Конечные выключатели ограничения перемещения (на координату) +End Limit; -End Limit; +Slow-Down; -Slow-Down; Origin

Интерфейс сервопривода (на координату) In-Position INP; Alarm ALM; Error Counter Clear ERC; Ready RDY

Каналов дискретного ввода Общего назначения 16

Входное напряжение Логическая 1 3.5..30В

Логический 0 0..3В

Входное сопротивление 4.7кОм

Гальваническая изоляция 2500В

Дискретный вывод

Каналов дискретного вывода Всего 18

Специального назначения Servo On/Off

Общего назначения 16

Тип дискретных выходов Открытый коллектор ОК

Коммутируемое напряжение 30В

Коммутируемый ток 20мА

Гальваническая изоляция 2500В

Дискретный ввод-вывод

Каналов двунаправленного дискретного ввода-вывода 2

Управление перемещением

Режимы перемещения Непрерывное; Абсолютное; Относительное; Синхронное; Ручной режим; Изменение скорости "на лету"; Линейная интерполяция; Круговая интерполяция; Спиральная интерполяция; Движение по контуру; Возврат в начальное положение

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

Есть и нужный Вам вариант управления dir & step.....

к ним очень просто подключатся BE178

Всего!

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

... Управляться будет от LinuxCNC через параллельный порт и приводиться посредством ШД 200 шагов/оборот. ШД будут работать в полушаговом режиме (400 ш/о) через ходовой винт шагом 1 мм. Точность позиционирования (теоретическая) 0.0025 мм ну а практически пока станка ещё нет...

ДШИ-200 подикась используете? А что полный шаг 200 ш/о не получается?

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

2 ACB//

<ДШИ-200 подикась используете? >

Да нет.... DynaSyn Uni - polar 4SHG Round type ø56mm x 39mm

<noindex>http://info.tactnet.co.jp/janome/e/

</noindex> что полный шаг 200 ш/о не получается? >

В смысле ????

Привод выбраный мною может управлять ШД в  3 режимах - волновой , шаговый и полушаговый.

Волновой режим даёт наименьший момент на валу , шаговый наибольший , полушаговый средний между ними но 400 ш/о и соответственно бо'льшую плавность хода и точность. В принципе на приводе джипером можно будет выбирать режим работы.

По этому линку <noindex>http://www.compumotor.com/catalog_eng_ref.htm</noindex> можно  найти более подробную информацию о ШД и приводах для них.

Всего!

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • niagara39
      Причина все еще не найдена... Но заметил, что сразу после включения в меню диагностики появляется следующее предупреждающее сообщение: 10155 M: Y-axis: Y-axis and X-axis not coupled , но причина его появления и его смысл неизвестны
    • maxx2000
      скажите, Вам уже делали эти детали? Вы себе представляете как и главное  чем, можно обработать внутренние углы без скругления на вашей детали? Разве что проволокой. НО оно же стоить будет как крыло от боинга. 
    • Sivolap36
      Спасибо за информацию. А как определили, что нижний  инкрементный? Спасибо. Как то я пролистал наверное. Благодарю
    • Jesse
      deleted этого я и хотел узнать у товарищей форумчан :-) вот для сферы оценка есть: присоед. масса воды равна половине от объёма сферы может кто в справочнике каком видел сколько для рабочих колёс присоединять надо..) мне тоже кажется там серьёзная отстройка должна получиться..   не спец в насосах и лопаточных машинах..)) у меня вот тяк: да это геморр... ещё и приложить его надо как-то к валу. Кстати, я вообще говоря собирался для модальника взять модель только вала, с колёса учесть в виде сосредоточ. масс с моментами инерции. Законно ли это, не сильно исказит расчёт СЧ? И ещё непонятка: куда присоединять эту массу? Прям в шпоночное отверстие вала?: Или вдоль всей окружности куда садится колесО?   не не , там не биссектриса. \Гляньте мою картинку выше из Вики. И все картинки такие для ДК что в сети нашлись. Там явно BW и  FW явно не зеркальные отражения друг друга относ-но гориз-й прямой, проведённой через ординату СЧ для нулевой частоты вращения ротора...   откуда вы знаете что сбалансировано? идеальной балансировки не существует   вот прям так в отчёте и напишу!:D точка Меня другой вопрос волнует.. Что центробеж. сила и гироскоп. момент пропорц-ны квадрату частоты вращенеия, т.е. на больших частотах может появиться вилка... Мне нужно где-то найти оценку, возможно опять таки относительно СЧ когда нет вращения..
    • Irukanjii
      Уважаемые коллеги, доброго времени суток! Прошу Вас рассмотреть возможность изготовления 5 комплектов изделий из стали 08Х18Н10 (материал предоставим). Всего необходимо изготовить 5 "мам" и 5 "пап". На производстве нам требуется высокая точность шлифовки, т.к. потом будем наносить хромирование.  По ссылке на мэил диск будут доступны чертежи каждой детали и 3d модели в SolidWorks (также прошу отнестись с пониманием, если какие-то детали будут не совсем точные, не долго работаю в SolidWorks, но постарался соблюсти все габариты) https://cloud.mail.ru/public/T72n/CS1Cc8Bnt   Ответ можно присылать на почту ned@bvbmail.ru, либо в этой теме. 
    • Александр1979
      Информация по номерам для заказа есть в руководстве "B-65515", также информация есть в руководствах "B-65302" и "B-65262"      
    • gudstartup
      а чего тут искать то первый это абсолютный на 1000000 имп\об bi типа второй ai инкрементальный xз но нав 4000000 имп\об разъем подключения описан в схеме. инфа передается по цифровому протоколу обмена. кое что есть тут   в старых описаниях таких датчиков у фанука нет  
    • anykeyto
      У нас AC. Так то я понимаю, что G108 это переключить режим шпинделя из оборотов в координату С. Но я почему про нее спросил, потому что в мануале к G07.1, в примере программки указывалось таким образом, что сначала включали G108 (хотя это может для токарки, а для фрезера и не надо совсем), а потом уже остальное.   G07.1 это как раз цилиндрическая интерполяция, то есть преобразование оси С из угла в миллиметры, то есть как бы разворачивает цилиндр в плоскость. Ну как я это понял. Проблема у меня встала в том, как именно программируются такие действия. Пробовал на основе примеров из мануала, стойка выдает ошибки. в чем проблема непонятно из-за китайской стойки и некорректного перевода. Ну и вообще хочется пощупать, как это вообще работает именно на фрезерном ОЦ.   Тут еще засада в том, что на 5-оснике из-за RTCP станок не дает одновременно перемещаться одновременно по осям XY и С например...  Я понимаю, что такое надо в САМ системах делать, но есть потребность в упрощенном варианте и со стойки писать, у нас с технологами проблема... G68.1, 68.2, 68.3  это преобразование характеристической СК, развороты короче координат G53.1, G53.2 - фактически активирование поворота стола с RTCP и без... 
    • ДОБРЯК
      А собственные вектора вы как будете находить для любой размерности? :=)
    • Sivolap36
      Добрый день. Прошу подсказать в каком мануале есть описание энкодеров моторов, где-то видел, сейчас нем могу вспомнить.  Вот например два энкодера по ним ищу инфу  
×
×
  • Создать...