Управление контроллером MK1 и MK2 (planet-cnc)

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение selenur »

Я ведь забыл о том что в контроллере есть разъем jog, в который и предназначен для ручного управления, там достаточно только кнопок ;-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение Karbofos »

расширил установки управления, добавил переводы. сейчас надо прикрутить всё это дело к программе. сегодня начну тестировать, завтра должно быть готово. сейчас в отпуске, так что больше могу сделать. так примерно выглядит окошко:
Вложения
cnc-control1.png (2919 просмотров) <a class='original' href='./download/file.php?id=55227&mode=view' target=_blank>Загрузить оригинал (52.23 КБ)</a>
cnc-control2.png (2919 просмотров) <a class='original' href='./download/file.php?id=55228&mode=view' target=_blank>Загрузить оригинал (45.92 КБ)</a>
Moonglow
Опытный
Сообщения: 117
Зарегистрирован: 16 окт 2013, 09:24
Репутация: 108
Откуда: Москва
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение Moonglow »

Можно ли будет задавать свои комбинации для движения ?
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение Karbofos »

Moonglow писал(а):Можно ли будет задавать свои комбинации для движения ?
переназначение клавиш? да, можно прикрутить тоже, но на этой неделе обещать не могу
Moonglow
Опытный
Сообщения: 117
Зарегистрирован: 16 окт 2013, 09:24
Репутация: 108
Откуда: Москва
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение Moonglow »

Karbofos писал(а):переназначение клавиш?
Да, я думаю будет удобно для большей гибкости.
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение Karbofos »

добавлю. если получится, даже на этой неделе. в дополнительном табуляторе.
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение Karbofos »

Всем привет!
Вот картинка программы, собранной на Qt5. Сборка переключается в файле CMakeLists.txt установкой USE_QT_VERSION в значение 5
Собираются оба варианта на линуксе, но возможны отличия при работе, их нужно отловить и исправить.
Сейчас делаю расширение для клавиш пользователя. Быстро сделать не обещаю, т.к. надо корешу помочь обои переклеить. :) А это в другом городе, так что к среде буду дома и продолжу.
Вложения
cnc-qt5.png (2836 просмотров) <a class='original' href='./download/file.php?id=55505&mode=view' target=_blank>Загрузить оригинал (90.57 КБ)</a>
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение Karbofos »

Приветствую!
Сделал кнопки пользователя в третьем табуляторе. Переделываю под этот функционал сканирование поверхности.
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение Karbofos »

добрый вечер, буду краток.
исправил: сканирование поверхности, отрисовка таблицы; отображение инструмента в OpenGL во время обработки поверхности. Сейчас делаю оптимизацию отображения: выдача всего объекта целиком, будет возможно отображать сложные объекты быстро, без тормозов. Но для этого нужно времени, чтобы исправить. Может пару дней, может и неделю.
Аватара пользователя
tooshka
Почётный участник
Почётный участник
Сообщения: 1803
Зарегистрирован: 24 окт 2012, 14:26
Репутация: 209
Настоящее имя: Андрей
Откуда: Нижний Новгород
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение tooshka »

Выглядит уже серьезно. Заказал у чинайцев подделку МК-1 где то тащится, придет попробую софт.
Милая, ты услышь меня
под окном стою со своим я ЧПУ! (Протяжно; с надрывом; форте)
Внимание!!! Чрезмерное увлечение ЧПУ приводит к проблемам в семейных отношениях!
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение Karbofos »

Приветствую!
Переделал выдачу объекта, сейчас матрица цвета и матрица координат выдаются в один приём, OpenGL сам заботится о распаралелливании отрисовки, циклы не нужны:

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

    glPushMatrix();

    glEnable(GL_VERTEX_ARRAY);
    glEnable(GL_COLOR_ARRAY);
    glDisable(GL_NORMAL_ARRAY);
    glDisable(GL_TEXTURE_COORD_ARRAY);

    glLineWidth(0.3f);

    // запись workArray идентична &workArray[0]
    glVertexPointer(3, GL_FLOAT, 0, workArray); // массив координат
    glColorPointer(3, GL_FLOAT, 0, colorArray); // массив цвета
    glDrawArrays(GL_LINE_STRIP, 0, workNum); // количество элементов массива

    // select with 3.0 the current cut of object
    if (Task::StatusTask == Waiting) {
        int numSelectStart = Task::posCodeStart - 1;
        int numSelectStop = Task::posCodeEnd - 1;
        glLineWidth(3.0f);
        glVertexPointer(3, GL_FLOAT, 0, &workArray[numSelectStart]); // numSelectStart - адрес начала отрисовки 
        glColorPointer(3, GL_FLOAT, 0, &colorArray[numSelectStart]);
        glDrawArrays(GL_LINE_STRIP, 0, numSelectStop - numSelectStart - 1);
    } else {
        int numSelect = parent->cnc->numberComleatedInstructions() - 1;
        glLineWidth(3.0f);
        glVertexPointer(3, GL_FLOAT, 0, &workArray[numSelect]); // numSelect - адрес начала отрисовки 
        glColorPointer(3, GL_FLOAT, 0, &colorArray[numSelect]);
        glDrawArrays(GL_LINE_STRIP, 0, 2); // линия состоит из 2 элементов
    }

    glDisable(GL_VERTEX_ARRAY);
    glDisable(GL_COLOR_ARRAY);
    glEnable(GL_NORMAL_ARRAY);
    glEnable(GL_TEXTURE_COORD_ARRAY);

    glPopMatrix();
Исходники проактуализировал на гитхабе.
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение Karbofos »

Прикрутил к программе окно с информацией о железяке, продолжаю возиться с парсерами.
На выходных обновлю исходники
Вложения
devinfo.png (2604 просмотра) <a class='original' href='./download/file.php?id=57450&mode=view' target=_blank>Загрузить оригинал (65.32 КБ)</a>
drey82
Мастер
Сообщения: 639
Зарегистрирован: 24 авг 2014, 10:29
Репутация: 82
Настоящее имя: Drey
Откуда: Воронеж
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение drey82 »

хочу сказать большое спасибо, за вашу разработку, пару раз пробовал прикольно, работает, правда настроить сразу не получилось, а так очень даже хорошо, мне как для хобби - за глаза хватит
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение selenur »

drey82 писал(а):хочу сказать большое спасибо, за вашу разработку, пару раз пробовал прикольно, работает, правда настроить сразу не получилось, а так очень даже хорошо, мне как для хобби - за глаза хватит
Ещё пока, почти все настройки нужно делать в родной программе от контроллера, в нашей программе пока только количество импульсов настраивается. Но если есть вопросы по настройке, спрашивай, подскажу..... :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
RaimixLv
Новичок
Сообщения: 13
Зарегистрирован: 07 сен 2015, 19:46
Репутация: 0
Настоящее имя: Раймонд
Откуда: Рига , Латвия
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение RaimixLv »

доброго время суток всем, мне проблема . скачал ваш софт , и как то не хочет работать, открываю club-cnc logo.nc , но не коректно показывает в 3Д , и при запуске X и Y оси куда то мочат в без конечность, и СТОП не работает. сегодня собрал сей девайс, прошил с офф. сайта. Оригинальная прога работает идеально но с ограничениями (лицензию не покупал). может поможете решить проблему. работаю на windows 10 pro X64, пробовал тоже на Windows 7 enterprise X86, ровно такие же проблемы. пробовал скачивать все версии программы с форума не одна не заработала нормально. связь с девайсом есть , концевики паботают, мануально крутануть все оси можно, а вот г-код глючит конкретно. пробовал просто квадрат в кореле нарисовать и конвертировать в г-код, тот же глюк :(
Вложения
Картинка при открывание club-cnc logo.nc (2532 просмотра) <a class='original' href='./download/file.php?id=57606&mode=view' target=_blank>Загрузить оригинал (162.84 КБ)</a>
Картинка при открывание club-cnc logo.nc
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение Karbofos »

Приветствую!
На мышке попробуйте колёсико покрутить, это масштаб. Может быть в этом дело.
RaimixLv
Новичок
Сообщения: 13
Зарегистрирован: 07 сен 2015, 19:46
Репутация: 0
Настоящее имя: Раймонд
Откуда: Рига , Латвия
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение RaimixLv »

Karbofos писал(а):Приветствую!
На мышке попробуйте колёсико покрутить, это масштаб. Может быть в этом дело.
да нет , пробовал по всякому, если на конструкторе набрал пару точек типа трёх угольник, то всё ОК и 3Д ОК, а как начинается цифры за дробю , как (10.234) и с минусами типа ( -10.234) так зависает всё и ось уходит в безконечность. помогает только сброс процессора, но если отсоединить девайс то всеровно ось продолжает фигачить , пока не остановиш девайс с EMERGENCY кнопкой .

пример:
G1 X10.234 Y0 Z0
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение selenur »

Есть предположение, что у меня косяк работы со знаком разделителя целой и дробной части, сегодня проверю работу при разных локальных настройках.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение selenur »

Посмотри тут: На второй закладке, есть окно куда выводится отладочная информация, и в случае проблемм разбора данных там должно быть что нибудь.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Karbofos
Опытный
Сообщения: 121
Зарегистрирован: 11 июн 2015, 10:40
Репутация: 85
Настоящее имя: Эдя Калиновский
Откуда: Ганновер
Контактная информация:

Re: Управление контроллером mk1 (planet-cnc)

Сообщение Karbofos »

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

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

    QString n = QString::number(1.01);
    toDecimalPoint = (n.indexOf(",") > 0) ? ',' : '.'; // если запятая найдена в тексте
    fromDecimalPoint = (toDecimalPoint == ',') ? '.' : ',';
ну и потом при чтении

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

  lineStream = lineStream.replace(fromDecimalPoint, toDecimalPoint);
Ответить

Вернуться в «Windows / Mach»