Что за зверь Kflop?
- michael-yurov
- Почётный участник
- Сообщения: 11626
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4634
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Что за зверь Kflop?
Разобрался, как из пользовательского скрипта выполнить какую-нибудь из основных команд (пуск / стоп / пауза / изменить подачу / изменить значение в окошках рабочих координат / или выполнить функцию пользовательской кнопки).
Так же можно выполнить любую команду G-кода, как в строке MDI
Например, написал сейчас скрипт, который вызывает паузу, выключает шпиндель, и поднимает фрезу на 20 мм
Подробнее вот здесь: http://dynomotion.com/Help/KMotionCNC/K ... rKFLOP.htm
Если нужно будет по русски и на примерах - помогу.
Так же можно выполнить любую команду G-кода, как в строке MDI
Например, написал сейчас скрипт, который вызывает паузу, выключает шпиндель, и поднимает фрезу на 20 мм
Подробнее вот здесь: http://dynomotion.com/Help/KMotionCNC/K ... rKFLOP.htm
Если нужно будет по русски и на примерах - помогу.
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2180
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Что за зверь Kflop?
В студию бы примерчик...
- michael-yurov
- Почётный участник
- Сообщения: 11626
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4634
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Что за зверь Kflop?
Работает это примерно так - требуемое действие сохраняется в переменную Persist Var.ukr-sasha писал(а):В студию бы примерчик...
Эта переменная предается в KMotionCNC
KMotionCNC видит, что в этой переменной что-то есть, и в зависимости от содержимого выполняет требуемые действия,
Затем KMotionCNC обнулят эту переменную, чтобы дать понять контроллеру, что все сделано
Если не ошибаюсь - все это происходит примерно 10 раз в секунду.
В общем - все, что нужно уже написано в файле "KFLOPtoPCCmdExamples.c"
В начале файла осуществляются различные действия для примера, а во второй половине файла определены функции для удобства вызова команд.
Тестовые действия я закрыл, как ремарки "//"
И еще отключил вывод ответов в консоль
Вот, что получилось (этот скрипт ничего не делает, но в нем определены все необходимые функции):
Код: Выделить всё
#include "KMotionDef.h"
int DoPC(int cmd);
int DoPCFloat(int cmd, float f);
int DoPCInt(int cmd, int i);
int MsgBox(char *s, int Flags);
int SetVars(int poff, int varoff, int n);
int GetVars(int varoff, int n, int poff);
main()
{
int Answer;
double *pD = (double *)persist.UserData;
// DoPC(PC_COMM_ESTOP);
// DoPC(PC_COMM_HALT);
// DoPC(PC_COMM_EXECUTE);
// DoPC(PC_COMM_SINGLE_STEP);
// DoPCFloat(PC_COMM_SET_FRO,0.25f);
// DoPCFloat(PC_COMM_SET_FRO_INC,1.1f);
// DoPCFloat(PC_COMM_SET_X,0.0);
// DoPCFloat(PC_COMM_SET_Y,0.0);
// DoPCFloat(PC_COMM_SET_Z,2.25);
// DoPCInt(PC_COMM_USER_BUTTON,3);
// DoPCInt(PC_COMM_MCODE,3);
// Answer = MsgBox("Hello World",MB_YESNO|MB_ICONEXCLAMATION);
// if (Answer == IDYES)
// printf("Answer is Yes\n");
// else
// printf("Answer is No\n");
// MDI("G0 X1.2 Y2.2 Z3.3");
// MDI("M5");
// MoveRel(2,28800); // Move to Z=20 mm (1440 steps/mm)
// put 3 double values in the persist vars
// pD[10] = 123.456;
// pD[11] = 1000.0;
// pD[12] = 999.9;
// transfer up to the GCode Vars
// SetVars(100,3,10); // Upload 3 to GCode 100 from persist 10
// MDI("#100 = [#100 + 1]");
// read them back into different persist Vars
// GetVars(100,3,13); // Download 3 from GCode 100 to persist 13
// printf("%f %f %f\n",pD[13],pD[14],pD[15]);
}
int SetVars(int varoff, int n, int poff)
{
persist.UserData[PC_COMM_PERSIST+2] = n; // number of elements
persist.UserData[PC_COMM_PERSIST+3] = poff; // persist offset (doubles)
return DoPCInt(PC_COMM_SET_VARS,varoff); // Var index and Cmd
}
int GetVars(int varoff, int n, int poff)
{
persist.UserData[PC_COMM_PERSIST+2] = n; // number of elements
persist.UserData[PC_COMM_PERSIST+3] = poff; // persist offset (doubles)
return DoPCInt(PC_COMM_GET_VARS,varoff); // Var index and Cmd
}
#define GATH_OFF 0 // define the offset into the Gather buffer where strings are passed
// Trigger a message box on the PC to be displayed
// defines for MS Windows message box styles and Operator
// response IDs are defined in the KMotionDef.h file
int MsgBox(char *s, int Flags)
{
char *p=(char *)gather_buffer+GATH_OFF*sizeof(int);
int i;
do // copy to gather buffer w offset 0
{
*p++ = *s++;
}while (s[-1]);
persist.UserData[PC_COMM_PERSIST+2] = Flags; // set options
DoPCInt(PC_COMM_MSG,GATH_OFF);
return persist.UserData[PC_COMM_PERSIST+3];
}
// put the MDI string (Manual Data Input - GCode) in the
// gather buffer and tell the App where it is
int MDI(char *s)
{
char *p=(char *)gather_buffer+GATH_OFF*sizeof(int);
int i;
do // copy to gather buffer w offset 0
{
*p++ = *s++;
}while (s[-1]);
// issue the command an wait till it is complete
// (or an error - such as busy)
return DoPCInt(PC_COMM_MDI,GATH_OFF);
}
// Put a Float as a parameter and pass the command to the App
int DoPCFloat(int cmd, float f)
{
int result;
persist.UserData[PC_COMM_PERSIST+1] = *(int*)&f;
return DoPC(cmd);
}
// Put an integer as a parameter and pass the command to the App
int DoPCInt(int cmd, int i)
{
int result;
persist.UserData[PC_COMM_PERSIST+1] = i;
return DoPC(cmd);
}
// Pass a command to the PC and wait for it to handshake
// that it was received by either clearing the command
// or changing it to a negative error code
int DoPC(int cmd)
{
int result;
persist.UserData[PC_COMM_PERSIST]=cmd;
do
{
WaitNextTimeSlice();
}while (result=persist.UserData[PC_COMM_PERSIST]>0);
//printf("Result = %d\n",result);
return result;
}
DoPC(PC_COMM_ESTOP); // E-Стоп (не проверял)
DoPC(PC_COMM_HALT); // Пауза
DoPC(PC_COMM_EXECUTE); // Запуск выполнения УП (не проверял)
DoPC(PC_COMM_SINGLE_STEP); // выполнить одну строку УП (не проверял)
DoPCFloat(PC_COMM_SET_FRO,0.25f); // задает скорость подачи (не проверял)
DoPCFloat(PC_COMM_SET_FRO_INC,1.1f); // вероятно - увеличивает скорость подачи (не проверял)
DoPCFloat(PC_COMM_SET_X,0.0);
DoPCFloat(PC_COMM_SET_Y,0.0);
DoPCFloat(PC_COMM_SET_Z,2.25); // установить значение в окошке координаты Z равным 2,25 мм
DoPCInt(PC_COMM_USER_BUTTON,3); // вызов пользовательской кнопки (не проверял)
DoPCInt(PC_COMM_MCODE,3); // вероятно - выполняет M-код (не проверял)
Answer = MsgBox("Hello World",MB_YESNO|MB_ICONEXCLAMATION); // выводит диалоговое окно (не проверял)
if (Answer == IDYES)
printf("Answer is Yes\n");
else
printf("Answer is No\n");
MDI("G0 X1.2 Y2.2 Z3.3"); // Выполнить в окне MDI команду G0 X1.2 Y2.2 Z3.3
MDI("M5"); // остановить шпиндель (запустится программа, привязанная к этой функции)
MoveRel(2,5000); // поднять ось Z на 5000 импульсов
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Но есть сложности.
Во первых - нужно быть внимательным и следить за тем в какой ветке выполняется подпрограмма, чтобы не возникло проблем при вызове новой программы в ветке выполняющейся.
Во вторых - если повесить подпрограмму на пользовательскую кнопку - Kmotion CNC может зависнуть, если для запуска выбрать параметр "выполнить и ждать завершения"
В третьих - между действиями, связанными с движением станка и действиями связанными с обращением к интерфейсу иногда стоит добавить паузу, иначе скрипт не дождется плавного снижения скорости.
В четвертых - если в скрипте использовать команду MDI("M5"), то после нажатия "продолжить" программа не предложит запустить шпиндель, т.к. помнит, что до этого была команда M5. Я заменил ее на выключение пина, управляющего шпинделем.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Что за зверь Kflop?
Ну если автору денег хватает, то наверно никакого.michael-yurov писал(а): UAVpilot писал(а):а про линукс там ничего не говорят?
Вроде бы ничего не слышно. Да и какой в этом смысл?
С какими?michael-yurov писал(а):С драйверами и библиотеками придется что-то делать
Я посмотрел слегка - там ничего сугубо виндового нет, кроме GUI-тулкита. Миграция на другой тулкит подобной софтины - это максимум неделя по вечерам после работы да ещё и с перекурами. Видимо ему действительно денег хватает.michael-yurov писал(а):Программу то KMotionCNC, наверное, реально переделать под Linux,
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- michael-yurov
- Почётный участник
- Сообщения: 11626
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4634
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Что за зверь Kflop?
Так а в чем сложность установки widows? В цене? Или для промышленности виндлус не вариант.
Драйвер - это я про драйвер USB устройства.
А библиотека (DLL) - та, которая нужна для общения программы с драйвером.
Автору бы, хотя бы под виндоус до ума бы довести. В программе еще многое нуждается в доработке. Автору явно не хватает времени.
Драйвер - это я про драйвер USB устройства.
А библиотека (DLL) - та, которая нужна для общения программы с драйвером.
Автору бы, хотя бы под виндоус до ума бы довести. В программе еще многое нуждается в доработке. Автору явно не хватает времени.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Что за зверь Kflop?
Причин множество. В том числе и ужасная нестабильность десктопной венды - эта ОС заточена исключительно на общение с юзером и только. В этом плане можно было-бы согласится разве-что на wince, но подозреваю, что и портирование в wince автор не асилит.michael-yurov писал(а):Так а в чем сложность установки widows? В цене? Или для промышленности виндлус не вариант.
Ну и с сертификацией по безопасности у венды серьёзные проблемы.
Поверьте программеру линуксовому и виндовому - в линуксе всё это гораздо проще и легче делается, а общение между программой и устройством не меняется, даже наверяка можно будет использовать тот-же самый C-код, если он грамотно написан.michael-yurov писал(а):Драйвер - это я про драйвер USB устройства.
А библиотека (DLL) - та, которая нужна для общения программы с драйвером.
Итого Kflop для производства негодится даже в варианте под винду - случится какой-нибудь баг, мешающий вашему производству, а у автора банально времени не хватит на его исправление...michael-yurov писал(а):Автору бы, хотя бы под виндоус до ума бы довести. В программе еще многое нуждается в доработке. Автору явно не хватает времени.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- tooshka
- Почётный участник
- Сообщения: 1803
- Зарегистрирован: 24 окт 2012, 14:26
- Репутация: 209
- Настоящее имя: Андрей
- Откуда: Нижний Новгород
- Контактная информация:
Re: Что за зверь Kflop?
Думаю для трехосного фрезера без автосмены инструмента нормальный вариант. Если городить еще что то может ни времени не знаний не хватить.UAVpilot писал(а):Итого Kflop для производства негодится даже в варианте под винду - случится какой-нибудь баг, мешающий вашему производству, а у автора банально времени не хватит на его исправление...
Милая, ты услышь меня
под окном стою со своим я ЧПУ! (Протяжно; с надрывом; форте)
Внимание!!! Чрезмерное увлечение ЧПУ приводит к проблемам в семейных отношениях!
под окном стою со своим я ЧПУ! (Протяжно; с надрывом; форте)
Внимание!!! Чрезмерное увлечение ЧПУ приводит к проблемам в семейных отношениях!
- michael-yurov
- Почётный участник
- Сообщения: 11626
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4634
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Что за зверь Kflop?
Заранее прошу прощения у любителей Linux. Я лишь выскажу свое мнение.
Сколько не пытался работать с Linux - ничего путнего у меня не вышло.
Тормозит, зависает, не работают различные функции и т.д. т.п. Я так понял, что линукс нужно очень хорошо знать, чтобы удалось им внятно пользоваться.
У меня с банальными вещами проблемы всегда возникали - с видеокартой, мышкой, клавиатурой, сетевой картой, подключением к интернету,.. что уж говорить о чем то более серьезном!
А windows - наоборот меня радует. Никогда не зависает, не тупит. Синий экран я видел только, когда осуществлял откровенно опасные и некорректные действия. Я семерку установил еще, когда вышел пре-релиз 7600. С тех пор так и работаю, не переустанавливая, хотя железо с того момента полностью поменял уже 3 или 4 раза. Ни разу у меня компьютер просто так не завис. Боее того - пока не было кэширующего SSD, я старался не перезагружать систему, а просто отправлял компьютер в сон. И так, без перезагрузки компьютер работал неделями или даже месяцами. При этом я использую на нем очень тяжелые приложения.
Так, что, мне кажется, дело не в системе, а в том, кому что привычнее.
Другой вопрос в программах. Вот в этом - согласен. Под windows написано очень много всякого говна, которое некорректно работает и может порушить систему, например, захватив аппаратные ресурсы, или, замусорив и не очистив память, или изменив настройки системы под себя.
Но ведь можно просто этой дрянью (я про такие программы) не пользоваться!
Сколько не пытался работать с Linux - ничего путнего у меня не вышло.
Тормозит, зависает, не работают различные функции и т.д. т.п. Я так понял, что линукс нужно очень хорошо знать, чтобы удалось им внятно пользоваться.
У меня с банальными вещами проблемы всегда возникали - с видеокартой, мышкой, клавиатурой, сетевой картой, подключением к интернету,.. что уж говорить о чем то более серьезном!
А windows - наоборот меня радует. Никогда не зависает, не тупит. Синий экран я видел только, когда осуществлял откровенно опасные и некорректные действия. Я семерку установил еще, когда вышел пре-релиз 7600. С тех пор так и работаю, не переустанавливая, хотя железо с того момента полностью поменял уже 3 или 4 раза. Ни разу у меня компьютер просто так не завис. Боее того - пока не было кэширующего SSD, я старался не перезагружать систему, а просто отправлял компьютер в сон. И так, без перезагрузки компьютер работал неделями или даже месяцами. При этом я использую на нем очень тяжелые приложения.
Так, что, мне кажется, дело не в системе, а в том, кому что привычнее.
Другой вопрос в программах. Вот в этом - согласен. Под windows написано очень много всякого говна, которое некорректно работает и может порушить систему, например, захватив аппаратные ресурсы, или, замусорив и не очистив память, или изменив настройки системы под себя.
Но ведь можно просто этой дрянью (я про такие программы) не пользоваться!
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Что за зверь Kflop?
Unix (linux) - дружественная ОС, только она разборчива в выборе друзей.
Тут привычная виндово-лузерская стратегия "запустить и потыкать" не прокатывает, тут все делается в расчёте на то, что юзер сначала читает документацию, а потом пробует запускать и работать.
В плане надёжности могу только опираться на собственный опыт (примерно с 84 года): венда в некоторй степени является "чёрным ящиком", который либо работает, либо нет. Если он вдруг перестал работать, то в документации есть самый минимум информации, позволяющий его починить, в большинстве случаев (серьёзных) починка представляет собой процедуру "всё снести и поставить/настроить заново". Это хорошо работает дома у "глупого юзера", которого можно заставить потратить на это несколько вечеров. Но это очен плохо сказывается на производстве, где время простоя обходится дорого.
Ещё важный момент - официальный саппорт. Вы пробовали обращаться в поддержку Microsoft по вопросу не описанному во встроенной поддержке? Как быстро была решена ваша пролема и была-ла она решена? А по поддержке их серверных продуктов обращались? Далеко вас послали за ваши деньги?.. Или взять тот-же RedHat - у меня был опыт, когда производитель одной железки стал поставлять её модификацию в которой обнаружилась ошибка. Я решил, что это баг линукса и обратился в саппорт RedHat - они в течении суток предложили способ обойти ошибку, а в течении примерно недели нагнули производителя железки, чтобы они исправили баг.
Ну и по поводу работы месяцами без перезагрузки:
Вы лицензию на венду внимательно читали? Там прямым текстом сказано, что нормальная работа обещается только в течении 180 дней после установки.
А вот вам кстати один из linux'ов:
И у меня тут таких не один десяток.
Ну а самый долгоживущий проект с линуксом - это систмеа автоматического управления вакуумной печью для спекания керамики объёмом ~2 кубометра и мощностью 4.5 мегаватта (термозащита для боеголовок и т.п ), всем этим управляет комп с Pentium2-266MHz на борту, в промышленной эксплуатации с 2001 года. Рядом есть похожая печь и с ней работает другая команда - там решение на виндовом серваке + рабочая станция, примерно с 2007 года там всё ещё опытная эксплуатация и разработчики уже даже помещение для себя там оборудовали.
Тут привычная виндово-лузерская стратегия "запустить и потыкать" не прокатывает, тут все делается в расчёте на то, что юзер сначала читает документацию, а потом пробует запускать и работать.
В плане надёжности могу только опираться на собственный опыт (примерно с 84 года): венда в некоторй степени является "чёрным ящиком", который либо работает, либо нет. Если он вдруг перестал работать, то в документации есть самый минимум информации, позволяющий его починить, в большинстве случаев (серьёзных) починка представляет собой процедуру "всё снести и поставить/настроить заново". Это хорошо работает дома у "глупого юзера", которого можно заставить потратить на это несколько вечеров. Но это очен плохо сказывается на производстве, где время простоя обходится дорого.
Ещё важный момент - официальный саппорт. Вы пробовали обращаться в поддержку Microsoft по вопросу не описанному во встроенной поддержке? Как быстро была решена ваша пролема и была-ла она решена? А по поддержке их серверных продуктов обращались? Далеко вас послали за ваши деньги?.. Или взять тот-же RedHat - у меня был опыт, когда производитель одной железки стал поставлять её модификацию в которой обнаружилась ошибка. Я решил, что это баг линукса и обратился в саппорт RedHat - они в течении суток предложили способ обойти ошибку, а в течении примерно недели нагнули производителя железки, чтобы они исправили баг.
Ну и по поводу работы месяцами без перезагрузки:
Вы лицензию на венду внимательно читали? Там прямым текстом сказано, что нормальная работа обещается только в течении 180 дней после установки.
А вот вам кстати один из linux'ов:
Код: Выделить всё
# uptime
14:19:24 up 2186 days, 11:08, 31 users, load average: 1.13, 1.11, 1.13
И у меня тут таких не один десяток.
Ну а самый долгоживущий проект с линуксом - это систмеа автоматического управления вакуумной печью для спекания керамики объёмом ~2 кубометра и мощностью 4.5 мегаватта (термозащита для боеголовок и т.п ), всем этим управляет комп с Pentium2-266MHz на борту, в промышленной эксплуатации с 2001 года. Рядом есть похожая печь и с ней работает другая команда - там решение на виндовом серваке + рабочая станция, примерно с 2007 года там всё ещё опытная эксплуатация и разработчики уже даже помещение для себя там оборудовали.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Мастер
- Сообщения: 8408
- Зарегистрирован: 02 окт 2012, 07:37
- Репутация: 3628
- Откуда: Красногорск
- Контактная информация:
Re: Что за зверь Kflop?
Все, теперь точно уйду на люникс
Тем более мой контроллер изначально под него делали
Тем более мой контроллер изначально под него делали
-
- Новичок
- Сообщения: 8
- Зарегистрирован: 09 май 2013, 10:28
- Репутация: -2
- Контактная информация:
Re: Что за зверь Kflop?
Народ! подскажите реально ли с этим контролёром реализовать автомат. смену инструмента, подачу сож. и прочие атрибуты станкобытия... или же это реализуется отдельным интерфейсом?
И если я возьму KFLOP 8-axis MCB (http://refit.uaprom.net/p1314765-osevoj ... henij.html) потянет ли он аналоговое управление сервой или же нужно покупать к нему « Kanalog»?
И если я возьму KFLOP 8-axis MCB (http://refit.uaprom.net/p1314765-osevoj ... henij.html) потянет ли он аналоговое управление сервой или же нужно покупать к нему « Kanalog»?
-
- Зачётный участник
- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6192
- Откуда: Казахстан.
- Контактная информация:
Re: Что за зверь Kflop?
если сервами управлять по степ/диру пойдет Кфлоп, если нужно именно аналогове управление то нужен еще каналог.gosha-sys писал(а):И если я возьму KFLOP 8-axis MCB (http://refit.uaprom.net/p1314765-osevoj ... henij.html) потянет ли он аналоговое управление сервой или же нужно покупать к нему « Kanalog»?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2180
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Что за зверь Kflop?
Либо паять преобразователь ШИМ- 10В.
-
- Зачётный участник
- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6192
- Откуда: Казахстан.
- Контактная информация:
Re: Что за зверь Kflop?
сделать можно СОЖ ваПще наверно просто релюху подключить к КФЛОПуgosha-sys писал(а): подскажите реально ли с этим контролёром реализовать автомат. смену инструмента, подачу сож. и прочие атрибуты станкобытия... или же это реализуется отдельным интерфейсом?
смену тож можно реализовать.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- michael-yurov
- Почётный участник
- Сообщения: 11626
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4634
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Что за зверь Kflop?
Да, вполне реально реализовать. Нужно будет написать небольшие управляющие программки на Си, которые будут выполняться на стороне контроллера (при чем может выполняться одновременно до 8 программ в разных потоках).gosha-sys писал(а):Народ! подскажите реально ли с этим контролёром реализовать автомат. смену инструмента, подачу сож. и прочие атрибуты станкобытия... или же это реализуется отдельным интерфейсом?
И если я возьму KFLOP 8-axis MCB (http://refit.uaprom.net/p1314765-osevoj ... henij.html) потянет ли он аналоговое управление сервой или же нужно покупать к нему « Kanalog»?
С интерфейсами - сложнее. Но можно назначить на стандартном интерфейсе пользовательские кнопки, которые будут выполнять нужные функции.
С аналоговым управлением - тоже возможно, но не просто.
Я собираюсь подключить к нему аналоговые сервы, но ля этого придется сделать преобразователь ШИМ -> напряжение,
при чем хочу сделать быстрый преобразователь на микроконтроллере, измеряющий скважность импульсов, генерируемых килофлопом, и сразу же устанавливающий требуемое аналоговое значение,
а не сглаживать ШИМ последовательность RC фильтром.
Хотя, может быть, и простой вариант не плох, раз уж можно его задумчивость скомпенсировать дифференциальной составляющей.
- michael-yurov
- Почётный участник
- Сообщения: 11626
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4634
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Что за зверь Kflop?
Много думал - почему у меня KFlop поддтормаживает на маленьких криволинейных участках траектории, там где радиус кривизны менее 0,5 мм...
(речь про дуговые сегменты, которые не параллельны базовым плоскостям и которые не получается сохранить дуговыми сегментами)
Сегодня додумался!
Причина была в том, что постпроцессор сохранял в УП с недостаточной точностью (4 знака после запятой), и получается, что маленькие дуги разбиваются на прямолинейные участки слишком грубо и между маленькими прямолинейными отрезками получается слишком большой угол,
и система останавливается в вершинах, воспринимая это, как изломы траектории.
Увеличил количество знаков после запятой и все стало быстро и плавно
P.S. Я уж думал, что килофлоп тоже не идеален и имеет какие-то ограничения или ошибки в планировщике... уже расстроился.
Уже думал, что все-таки придется покупать более дорогую систему управления...
А оказалось - сам дурак.
(речь про дуговые сегменты, которые не параллельны базовым плоскостям и которые не получается сохранить дуговыми сегментами)
Сегодня додумался!
Причина была в том, что постпроцессор сохранял в УП с недостаточной точностью (4 знака после запятой), и получается, что маленькие дуги разбиваются на прямолинейные участки слишком грубо и между маленькими прямолинейными отрезками получается слишком большой угол,
и система останавливается в вершинах, воспринимая это, как изломы траектории.
Увеличил количество знаков после запятой и все стало быстро и плавно
P.S. Я уж думал, что килофлоп тоже не идеален и имеет какие-то ограничения или ошибки в планировщике... уже расстроился.
Уже думал, что все-таки придется покупать более дорогую систему управления...
А оказалось - сам дурак.
Последний раз редактировалось michael-yurov 04 сен 2013, 16:57, всего редактировалось 1 раз.
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2180
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Что за зверь Kflop?
О, СПАСИБО!!!
Сколько знаков поставил?
Сколько знаков поставил?
- michael-yurov
- Почётный участник
- Сообщения: 11626
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4634
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Что за зверь Kflop?
Ну, мне кажется достаточно было бы и 4, но я поставил 5.ukr-sasha писал(а):О, СПАСИБО!!!
Сколько знаков поставил?
При этом, конечно, и траектория должна быть рассчитана с достаточной точностью, а не просто цифры добавлены.
Я еще обнулил в настройках планировщика линеаризацию (не уверен, что это стоило делать, но я побоялся, что она может создать обратный эффект),
а пороговый угол у меня - 15° Получается, что для KMotionCNC пофигу, как сохранена траектория - дугами, или линейными отрезками, он способен двигаться по ней одинаково хорошо.
P.S.
Я еще увеличил масштаб в Windows, и теперь на мониторе 1280 x 1024 точек интерфейс программы выглядит довольно аккуратно!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Что за зверь Kflop?
По просьбам трудящихся, некоторые сообщения были перенесены в новую тему: Linux vs Windows... once again #1
- michael-yurov
- Почётный участник
- Сообщения: 11626
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4634
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Что за зверь Kflop?
Ааа, приколюха!
Том на своем сайте видео моего станка выложил, как пример работы килофлопа: http://www.dynomotion.com/KFLOP.html
Том на своем сайте видео моего станка выложил, как пример работы килофлопа: http://www.dynomotion.com/KFLOP.html