Смена инструмента на токарнике
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Смена инструмента на токарнике
Ваш компонент никуда не подключен.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Мастер
- Сообщения: 393
- Зарегистрирован: 10 фев 2020, 18:39
- Репутация: 13
- Настоящее имя: Виталий
- Контактная информация:
Re: Смена инструмента на токарнике
Усе, нашел косяк!))
loadrt test
addf test servo-thread
net knopka test.knopka <= parport.0.pin-12-in
net led test.led <= parport.0.pin-17-out
заработало!!!)))
так и знал, мелочь каую нить пропустил!)
Теперь на долго затихну, револьверка пришла, осталось ее разобрать, помыть-почистить-модернизировать(установить датчики-флажки для датчиков), адаптировать к станку....потом продолжу!))
Всем спасибо!
loadrt test
addf test servo-thread
net knopka test.knopka <= parport.0.pin-12-in
net led test.led <= parport.0.pin-17-out
заработало!!!)))
так и знал, мелочь каую нить пропустил!)
Теперь на долго затихну, револьверка пришла, осталось ее разобрать, помыть-почистить-модернизировать(установить датчики-флажки для датчиков), адаптировать к станку....потом продолжу!))
Всем спасибо!
-
- Мастер
- Сообщения: 393
- Зарегистрирован: 10 фев 2020, 18:39
- Репутация: 13
- Настоящее имя: Виталий
- Контактная информация:
Re: Смена инструмента на токарнике
Киньте пожалуйста в меня ссылкой, на тот СИ который используется в linuxcnc )
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Смена инструмента на токарнике
попробую "перевести" вопрос:tokarka63 писал(а):Киньте пожалуйста в меня ссылкой, на тот СИ который используется в linuxcnc )
требуется описание синтаксиса ,который используется в компонентах
угадал?
пост #248
-
- Мастер
- Сообщения: 393
- Зарегистрирован: 10 фев 2020, 18:39
- Репутация: 13
- Настоящее имя: Виталий
- Контактная информация:
Re: Смена инструмента на токарнике
Почти) не могу понять почему не работает инвертирование типа " a =~a; "nkp писал(а):угадал?
"a" может иметь значение 1 или 0, объявляю переменную "pin out bit a = 0;" после запуска "а=1" и все
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Смена инструмента на токарнике
Код: Выделить всё
a = !a;
Последний раз редактировалось nkp 27 фев 2020, 20:22, всего редактировалось 1 раз.
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Смена инструмента на токарнике
может там нужно просто переменную объявитьtokarka63 писал(а):pin out bit a = 0;
Код: Выделить всё
variable тип имя;
-
- Мастер
- Сообщения: 393
- Зарегистрирован: 10 фев 2020, 18:39
- Репутация: 13
- Настоящее имя: Виталий
- Контактная информация:
Re: Смена инструмента на токарнике
это просто заменит 1 на 0 и все, я хочу, чтоб с каждым циклом менялось значение)nkp писал(а):a = !a;
Сейчас пытаюсь изобразить....нажали на кнопку-зажгли led, еще раз нажали-потушили led
потихоньку разбираюсь, что как работает и мучительно вспоминаю СИ )
pin in bit knopka = 0;
pin out bit led = 0;
pin out bit b = 0;
UNCTION(_)
{
if((b==1)&& !knopka)
{
b=0;
led=~led;
}
if (knopka)
{
b =1;
}
}
P.S. на МК это работает!)
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Смена инструмента на токарнике
Код: Выделить всё
pin in bit knopka ;
pin out bit led ;
FUNCTION(_){
if(knopka)led=1;
if(!knopka)led=0;
}
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Смена инструмента на токарнике
вот полностью код компонента
(в коменте команда компиляции)
(в коменте команда компиляции)
Код: Выделить всё
component knopka"knopka";
//sudo halcompile --install knopka.comp
pin in bit knopka;
pin out bit led;
function _;
license "GPL";
;;
if(knopka)led=1;
if(!knopka)led=0;
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Смена инструмента на токарнике
извиняюсь - только сейчас дочитал - кнопка-тумблер нужна
тогда всё что выше - не считается
тогда всё что выше - не считается
-
- Мастер
- Сообщения: 393
- Зарегистрирован: 10 фев 2020, 18:39
- Репутация: 13
- Настоящее имя: Виталий
- Контактная информация:
Re: Смена инструмента на токарнике
Меня не поняли
По вашему коду....кнопка отпущена-горим, кнопка нажата -не горим)tokarka63 писал(а):Сейчас пытаюсь изобразить....нажали на кнопку-зажгли led, еще раз нажали-потушили led
Ага ))nkp писал(а):тогда всё что выше - не считается
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Смена инструмента на токарнике
Код: Выделить всё
pin in bit knopka;
pin out bit led;
variable int iter;
function _;
license "GPL";
;;
if(knopka & !iter){led=1;}
if(knopka & iter) {led=0;}
if(!knopka){iter=led;}
- Maxekb77
- Мастер
- Сообщения: 1658
- Зарегистрирован: 05 окт 2013, 00:04
- Репутация: 285
- Настоящее имя: Максим
- Откуда: Екатеринбург
- Контактная информация:
Re: Смена инструмента на токарнике
Посмотри компонент toggle
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Смена инструмента на токарнике
зачем?Maxekb77 писал(а):Посмотри компонент toggle
Код: Выделить всё
component toggle "'push-on, push-off' from momentary pushbuttons";
pin in bit in "button input";
pin io bit out "on/off output";
param rw u32 debounce = 2 "debounce delay in periods";
option data toggle_data;
function _ nofp;
license "GPL";
;;
typedef struct {
int debounce_cntr;
int debounced;
} toggle_data;
FUNCTION(_) {
if (( debounce < 1 ) || ( debounce > 10000 )) {
/* set a sane value, we don't want 2 million second delays */
debounce = 2;
}
if ( in ) {
/* pressed */
data.debounce_cntr++;
if ( data.debounce_cntr >= debounce ) {
data.debounce_cntr = debounce;
if ( data.debounced == 0 ) {
/* toggle output */
out = !out;
}
data.debounced = 1;
}
} else {
/* not pressed */
data.debounce_cntr--;
if ( data.debounce_cntr <= 0 ) {
data.debounce_cntr = 0;
data.debounced = 0;
}
}
}
-
- Мастер
- Сообщения: 393
- Зарегистрирован: 10 фев 2020, 18:39
- Репутация: 13
- Настоящее имя: Виталий
- Контактная информация:
Re: Смена инструмента на токарнике
nkp
Спасибо за код, завтра попробую-обдумаю)
Спасибо за код, завтра попробую-обдумаю)
-
- Мастер
- Сообщения: 393
- Зарегистрирован: 10 фев 2020, 18:39
- Репутация: 13
- Настоящее имя: Виталий
- Контактная информация:
Re: Смена инструмента на токарнике
Работает!))nkp писал(а):Код: Выделить всё
pin in bit knopka; pin out bit led; variable int iter; function _; license "GPL"; ;; if(knopka & !iter){led=1;} if(knopka & iter) {led=0;} if(!knopka){iter=led;}
вне зависимости как объявлена переменная
pin out bit
variable int
т.е. получается, на прямую ни выход, ни переменную не проинвертировать
Спасибо
-
- Мастер
- Сообщения: 393
- Зарегистрирован: 10 фев 2020, 18:39
- Репутация: 13
- Настоящее имя: Виталий
- Контактная информация:
Re: Смена инструмента на токарнике
Приветствую!!!
Не прошло и года, как я продолжил развлекаться с револьверкой!)
Возник вопрос, на который, не удалось найти ответа.
С какой частотой идет обращение к компоненту!?
Не прошло и года, как я продолжил развлекаться с револьверкой!)
Возник вопрос, на который, не удалось найти ответа.
С какой частотой идет обращение к компоненту!?