У меня так и сделано. Работает.Александр_ писал(а): тогда при размыкании цифрового выхода ток пропадет во всей цепи и все оси остановятся. так?
Ввод в эксплуатацию ЧПУ системы на основе контроллера Kflop.
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2181
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
- AlexNikov
- Мастер
- Сообщения: 1212
- Зарегистрирован: 05 янв 2014, 20:09
- Репутация: 721
- Настоящее имя: Алексей
- Откуда: Томск
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Ответ был дан для Fishman, и по конкретному вопросу - как выдать сигнал с к-флоп после окончания работы ж-кода.Александр_ писал(а):зачем? вопос был по мотивам поста №5 этой темы.AlexNikov писал(а):Завершение выполнения g-кода обычно сопровождается командой М5 или М30, повесьте на них активацию кого-либо пина в KMotionCNC.
там показан пример для одной оси. если там цифровой выход замыкает перемычку для активации оси то логично по-моему, последовательно все оси подключить - по аналогии с сигналом ALM. тогда при размыкании цифрового выхода ток пропадет во всей цепи и все оси остановятся. так?
-
fishman
- Кандидат
- Сообщения: 83
- Зарегистрирован: 14 сен 2015, 22:04
- Репутация: 9
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Спасибо! Будем пробоватьAlexNikov писал(а):Ответ был дан для Fishman, и по конкретному вопросу - как выдать сигнал с к-флоп после окончания работы ж-кода.Александр_ писал(а):зачем? вопос был по мотивам поста №5 этой темы.AlexNikov писал(а):Завершение выполнения g-кода обычно сопровождается командой М5 или М30, повесьте на них активацию кого-либо пина в KMotionCNC.
там показан пример для одной оси. если там цифровой выход замыкает перемычку для активации оси то логично по-моему, последовательно все оси подключить - по аналогии с сигналом ALM. тогда при размыкании цифрового выхода ток пропадет во всей цепи и все оси остановятся. так?
-
Александр_
- Мастер
- Сообщения: 1743
- Зарегистрирован: 24 дек 2013, 17:47
- Репутация: 122
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
попытался сегодня настроить сигнал ServoOn и как обычно, с первого раза не получилось 
Отключил через СигмаВин "Servo is always ON", собрал цепочку из четырех сервопаков, последовательно выводя сигнал S-ON с каждого. Дальше как и нужно было, завел в Каналог и вставил кусочек кода в файл инициализации. При нажатии кнопки INIT KmotionCNC не ругается, но оси не оживают. Сами провода точно спаял правильно - вынул из Каналога 2 провода - на нихВольта как и нужно. Замкнул их между собой - оси включаются. То есть не срабатывает именно перемычка на Каналоге. Может, какая-то орфографическая неточность в С-файле? Прикрепил его.
Отключил через СигмаВин "Servo is always ON", собрал цепочку из четырех сервопаков, последовательно выводя сигнал S-ON с каждого. Дальше как и нужно было, завел в Каналог и вставил кусочек кода в файл инициализации. При нажатии кнопки INIT KmotionCNC не ругается, но оси не оживают. Сами провода точно спаял правильно - вынул из Каналога 2 провода - на нихВольта как и нужно. Замкнул их между собой - оси включаются. То есть не срабатывает именно перемычка на Каналоге. Может, какая-то орфографическая неточность в С-файле? Прикрепил его.
- Вложения
-
- Setup Gcode 4 axis setub.zip
- (1.28 КБ) 402 скачивания
Заходите в гости: www.pandicon.net www.graver36.ru
- AlexNikov
- Мастер
- Сообщения: 1212
- Зарегистрирован: 05 янв 2014, 20:09
- Репутация: 721
- Настоящее имя: Алексей
- Откуда: Томск
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
(ch0->Enable && ch1->Enable && ch2->Enable) мб тут ошибка? Какой бит включает оси, 144? К каким пинам к-аналога подключена активация осей?Александр_ писал(а):попытался сегодня настроить сигнал ServoOn и как обычно, с первого раза не получилось
Отключил через СигмаВин "Servo is always ON", собрал цепочку из четырех сервопаков, последовательно выводя сигнал S-ON с каждого. Дальше как и нужно было, завел в Каналог и вставил кусочек кода в файл инициализации. При нажатии кнопки INIT KmotionCNC не ругается, но оси не оживают. Сами провода точно спаял правильно - вынул из Каналога 2 провода - на нихВольта как и нужно. Замкнул их между собой - оси включаются. То есть не срабатывает именно перемычка на Каналоге. Может, какая-то орфографическая неточность в С-файле? Прикрепил его.
Последний раз редактировалось AlexNikov 13 окт 2015, 15:33, всего редактировалось 1 раз.
-
Александр_
- Мастер
- Сообщения: 1743
- Зарегистрирован: 24 дек 2013, 17:47
- Репутация: 122
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
подключал все как в примере в первых постах этой темы. 144 бит
Заходите в гости: www.pandicon.net www.graver36.ru
- AlexNikov
- Мастер
- Сообщения: 1212
- Зарегистрирован: 05 янв 2014, 20:09
- Репутация: 721
- Настоящее имя: Алексей
- Откуда: Томск
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
ну так у вас вроде каналы на привода не ch0-ch2 а ch4-ch7Александр_ писал(а):подключал все как в примере в первых постах этой темы. 144 бит
-
Александр_
- Мастер
- Сообщения: 1743
- Зарегистрирован: 24 дек 2013, 17:47
- Репутация: 122
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
а, и правда, может именно из-за этого. спасибо! подправлю
Заходите в гости: www.pandicon.net www.graver36.ru
-
Александр_
- Мастер
- Сообщения: 1743
- Зарегистрирован: 24 дек 2013, 17:47
- Репутация: 122
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
как правильно завести сигналы ALARM в кфлоп/каналог? цепочкой из ALARM-ов сервопаков шунтировать цепь S-on? Или завести эту цепочку в свободный цифровой выход и как-то настроить чтобы при выпадении ошибки каналог отключал S-ON?ukr-sasha писал(а):У меня так и сделано. Работает.
Заходите в гости: www.pandicon.net www.graver36.ru
-
Александр_
- Мастер
- Сообщения: 1743
- Зарегистрирован: 24 дек 2013, 17:47
- Репутация: 122
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
не получается ли некоторого противоречия в описании к каналогу?
на сайте кфлопа есть заметка про подключение аналоговых сервоусилителей Advanced Motion к каналогу. на схеме видно, что в сервоусилитель заводится дифференциальный выход энкодера и они же через сервоусилитель идут в каналог замыкая цепочку ОС. С другой стороны, просмотрел по каталогу Advanced Motion сервоусилители с энкодером - на всех что нашел вход энкодера типа "открытый коллектор", а значит и энкодер должен быть такой же.
на сайте кфлопа есть заметка про подключение аналоговых сервоусилителей Advanced Motion к каналогу. на схеме видно, что в сервоусилитель заводится дифференциальный выход энкодера и они же через сервоусилитель идут в каналог замыкая цепочку ОС. С другой стороны, просмотрел по каталогу Advanced Motion сервоусилители с энкодером - на всех что нашел вход энкодера типа "открытый коллектор", а значит и энкодер должен быть такой же.
Заходите в гости: www.pandicon.net www.graver36.ru
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Входы не бывают "открытый коллектор", такими бывают только выходы.
Выход может быть и "открытый коллектор" и дифференциальный одновременно.
Выход может быть и "открытый коллектор" и дифференциальный одновременно.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
rz90
- Новичок
- Сообщения: 31
- Зарегистрирован: 27 май 2014, 08:33
- Репутация: 4
- Откуда: Екатеринбург
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Всем привет, нужна помощь! Пытаюсь разобраться с управлением автосмены инструмента. Отредактировал файл, но он еще далек от верного варианта, на недостающие скобочки можно пока не обращать внимания, номера пинов тоже не принципиальны.
У станка следующий алгоритм работы
https://youtu.be/zi93cBBHXRM
У станка следующий алгоритм работы
https://youtu.be/zi93cBBHXRM
Код: Выделить всё
#include "KMotionDef.h"
// T O O L C H A N G E R S E Q U E N C E
//
// define state that the tool changer may be in
enum {T_IDLE,T_WORKING};
#define TOOL_VAR 20 // Tool changer desired new tool Var
#define TOOL_STATE_VAR 19 // Tool changer state is saved globally in this Var
#define LAST_TOOL_VAR 18 // Tool changer Last tool position is saved globally in this Var
#define ZHOME 0 // Absolute Position of Z Axis Home
#define ZTOOLPOS ****** // Absolute Position of Z Axis For Top Of Tool Slot
int *ChangerState = &persist.UserData[TOOL_STATE_VAR];
int *Tool = &persist.UserData[TOOL_VAR];
int *LastTool = &persist.UserData[LAST_TOOL_VAR];
double ToolTime;
// Returns Current Tool Number
int CurrentTool(void){
int ToolNum = 0;
}
if (ReadBit(140)){
return ToolNum;
}
// Moves Magazine To Specified Slot
void MoveMagazine(int tool){
int delta = tool - CurrentTool(); // how far to move
if (delta>10) delta-=20; // optimize direction
if (delta<-10) delta+=20;
printf("Moving Magazine %d Slots\n", delta);
StepMagazine(delta);
return;
}
// Moves Magazine By Specified Number Of Slots
void StepMagazine(int delta){
if (!ReadBit(???) && (Pos(2) < -100)) ????????????????
}
{
printf("Error Spindle In Invalid Position\n");
*ChangerState = T_IDLE; // go idle
} else {
int i = 0;
int dir;
if (delta > 0){
SetBit(148);
While(ReadBit(141);
if (ReadBit(141)){
ClearBit(148);
{
dir = 1;
} else {
SetBit(149);
While(ReadBit(141);
if (ReadBit(141)){
ClearBit(149);
{
dir = -1;
}
while (delta != i){
while(ReadBit(140)){
WaitNextTimeSlice();
}
while(!ReadBit(140)){
WaitNextTimeSlice();
}
i += dir;
}
ClearBit(149);
ClearBit(148);
return;
}
}
main()
{
{
/// T O O L C H A N G E R S T A R T
if (*ChangerState == T_IDLE)
{
*ChangerState = T_WORKING;
// Spindle stop
Move(3,0); // move a-axis to 0
// Move Z Axis To TOOL Position
Move(2, ZTOOLPOS);
while (!CheckDone(2)) ;
if (!chan[2].Enable) return 1;
// Wait For Z Axis To Stop Moving
while (!CheckDone(2)) ;
if (!chan[2].Enable) return 1;
if (*LastTool==0)
{
printf("Error Magazine Position Never Defined\n");
*ChangerState = T_IDLE; // go idle
return;
}
else if (*Tool > 20 || *Tool < 1)
{
printf("Invalid Tool Number %d\n",*Tool);
*ChangerState = T_IDLE; // go idle
return;
}
else if (*Tool == *LastTool)
{
printf("Requested Tool (#%d) Already In Position\n",*Tool);
*ChangerState = T_IDLE; // go idle
return;
}
else
{
// Move Magazine To Last Tool Position If Not Already There
if (CurrentTool() != *LastTool){
MoveMagazine(*LastTool);
}
// Move Magazine into position of tool slot
SetBit(144);
While(ReadBit(136);
if (ReadBit(136)){
ClearBit(144);
}
// Unclamp Tool Освободить инструмент
SetBit(145);
While(ReadBit(137);
if (ReadBit(137)){
ClearBit(145);
}
printf("tool Unclamped\n");
//Up Z-Axis
MoveRel(2,150); // 150 mm
// Wait For Z Axis To Stop Moving
while (!CheckDone(2)) ;
if (!chan[2].Enable) return 1;
// Move Magazine To Desired Tool Position
MoveMagazine(*Tool);
// Check If Current Tool Is Desired Tool
if (CurrentTool() == *Tool)
{
printf("Tool Clamp\n");
Move(2, ZTOOLPOS);
while (!CheckDone(2)) ;
if (!chan[2].Enable) return 1;
// Clamp Tool
SetBit(146);
While(ReadBit(138);
if (ReadBit(138)){
ClearBit(146);
} else {
printf("Wrong Tool Slot - %d/n", CurrentTool());
return;
}
// Move Magazine into home position
SetBit(147);
While(ReadBit(139);
if (ReadBit(139)){
ClearBit(147);
// Move Z Axis To Home Position
Move(2, ZHOME);
while (!CheckDone(2)) ;
if (!chan[2].Enable) return 1;
printf("Tool Change Complete\n");
*LastTool = *Tool; // remember where we are
*ChangerState = T_IDLE;
}
}
}
}
-
Александр_
- Мастер
- Сообщения: 1743
- Зарегистрирован: 24 дек 2013, 17:47
- Репутация: 122
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
а как это понять по энкодеру?UAVpilot писал(а):Входы не бывают "открытый коллектор", такими бывают только выходы.
Выход может быть и "открытый коллектор" и дифференциальный одновременно.
вот есть он в продаже: выходы А, А-, В,В-,Z, Z-, напряжение 5 вольт. можно его подключить туда где требуется на вход только А и В сигналы?
Заходите в гости: www.pandicon.net www.graver36.ru
-
Дмитро
- Почётный участник

- Сообщения: 1060
- Зарегистрирован: 14 сен 2013, 01:20
- Репутация: 1139
- Настоящее имя: Дмитрий
- Откуда: Киев
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Подключаете только A, B, Z(если требуется).Александр_ писал(а):можно его подключить туда где требуется на вход только А и В сигналы?
-
Александр_
- Мастер
- Сообщения: 1743
- Зарегистрирован: 24 дек 2013, 17:47
- Репутация: 122
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
так и я о том же, но тут мне присоветовали:
"Дифференциальый выход нельзя напрямую подключать к TTL входу. Нужен преобразователь из дифференциального в однополярный сигнал TTL уровня. Хотя усилитель, может иметь как дифференциальный, так и TTL вход.
Дело не столько в инвертированном сигнале дифпары. Дело в уровнях. По дифпаре сигнал передается потенциалом +-12, или +-24В. А выход типа открытый коллектор при срабатывании тика энкодера, открывает ключ, ко коллектору которого присоединена линия передачи сигнала к усилителю. Фактически открытый коллектор, при срабатывании тика энкодера коротит сигнальный провод линии на землю. А когда нет тика отключает сигнальную линию от земли. Принцип передачи сигнала разный в дифпаре - изменяемый потенциал, открытый коллектор - изменение сопротивления на конце сигнальной линии. Прямое подключение вряд ли заработает. Да и усилитель не поймет, что у него на входе творится. В худшем случае, что-то сгорит. Хотя разъемы разны типов энкодеров, вряд ли совпадут."
"Дифференциальый выход нельзя напрямую подключать к TTL входу. Нужен преобразователь из дифференциального в однополярный сигнал TTL уровня. Хотя усилитель, может иметь как дифференциальный, так и TTL вход.
Дело не столько в инвертированном сигнале дифпары. Дело в уровнях. По дифпаре сигнал передается потенциалом +-12, или +-24В. А выход типа открытый коллектор при срабатывании тика энкодера, открывает ключ, ко коллектору которого присоединена линия передачи сигнала к усилителю. Фактически открытый коллектор, при срабатывании тика энкодера коротит сигнальный провод линии на землю. А когда нет тика отключает сигнальную линию от земли. Принцип передачи сигнала разный в дифпаре - изменяемый потенциал, открытый коллектор - изменение сопротивления на конце сигнальной линии. Прямое подключение вряд ли заработает. Да и усилитель не поймет, что у него на входе творится. В худшем случае, что-то сгорит. Хотя разъемы разны типов энкодеров, вряд ли совпадут."
Заходите в гости: www.pandicon.net www.graver36.ru
-
Дмитро
- Почётный участник

- Сообщения: 1060
- Зарегистрирован: 14 сен 2013, 01:20
- Репутация: 1139
- Настоящее имя: Дмитрий
- Откуда: Киев
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Ничего не сгорит, у меня маховички напрямую подключены к kflop, на трех станках, горелым не пахнет.Александр_ писал(а): В худшем случае, что-то сгорит
-
Александр_
- Мастер
- Сообщения: 1743
- Зарегистрирован: 24 дек 2013, 17:47
- Репутация: 122
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
так если взять энкодер с дифференциальным выходом А, А-, В, В-, Z, Z-, завести половину этих сигналов в сервоусилитель то как на выходе он отдаст снова 4 сигнала чтобы в каналог завести?
Заходите в гости: www.pandicon.net www.graver36.ru
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
А- - это инвертированный А.
Дифф. сигнал используется только в длинных проводах, чтобы помехи/наводки не могли испортить передаваемый сигнал, внутри обрабатывающей электроники сигнал обычный.
Прямые сигналы проинвертирует и получит недостающие.Александр_ писал(а):как на выходе он отдаст снова 4 сигнала
Дифф. сигнал используется только в длинных проводах, чтобы помехи/наводки не могли испортить передаваемый сигнал, внутри обрабатывающей электроники сигнал обычный.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
Vitalik
- Почётный участник

- Сообщения: 48
- Зарегистрирован: 20 авг 2014, 19:26
- Репутация: 30
- Настоящее имя: Виталий
- Откуда: Горишние Плавни
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Подскажите пожалуйста, у меня при настройке пид для оси зет ошибка позиционирования получается не меньше 20 импульсов. Энкодер 17 бит, но программно задано 2048 импульсов на оборот. В пересчете на мм эта ошибка выходит в 0.0163мм (ШВП с шагом 5мм, редукция 1 к 3). При обработке рельефа на пластике вылазят разные ступеньки, после поднятия оси до плоскости безопасности и опускания . Такое выходит как раз из-за ошибки? (Надеюсь понятно объяснил)
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Покажи рельеф или нарисуй его в PaintVitalik писал(а):При обработке рельефа на пластике вылазят разные ступеньки
Если обрабатывать шарик при 0,02мм будут ступеньки.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.