Страница 14 из 19
Re: Смена инструмента на токарнике
Добавлено: 25 фев 2020, 18:25
Serg
Ваш компонент никуда не подключен.
Re: Смена инструмента на токарнике
Добавлено: 25 фев 2020, 18:42
tokarka63
Усе, нашел косяк!))
loadrt test
addf test servo-thread
net knopka test.knopka <= parport.0.pin-12-in
net led test.led <= parport.0.pin-17-out
заработало!!!)))
так и знал, мелочь каую нить пропустил!)
Теперь на долго затихну, револьверка пришла, осталось ее разобрать, помыть-почистить-модернизировать(установить датчики-флажки для датчиков), адаптировать к станку....потом продолжу!))
Всем спасибо!
Re: Смена инструмента на токарнике
Добавлено: 27 фев 2020, 18:59
tokarka63
Киньте пожалуйста в меня ссылкой, на тот СИ который используется в linuxcnc )
Re: Смена инструмента на токарнике
Добавлено: 27 фев 2020, 19:07
nkp
tokarka63 писал(а):Киньте пожалуйста в меня ссылкой, на тот СИ который используется в linuxcnc )
попробую "перевести" вопрос:
требуется описание синтаксиса ,который используется в компонентах
угадал?
пост #248
Re: Смена инструмента на токарнике
Добавлено: 27 фев 2020, 19:49
tokarka63
nkp писал(а):угадал?
Почти) не могу понять почему не работает инвертирование типа " a =~a; "
"a" может иметь значение 1 или 0, объявляю переменную "pin out bit a = 0;" после запуска "а=1" и все
Re: Смена инструмента на токарнике
Добавлено: 27 фев 2020, 20:14
nkp
но для правильного ответа нужен код
Re: Смена инструмента на токарнике
Добавлено: 27 фев 2020, 20:21
nkp
tokarka63 писал(а):pin out bit a = 0;
может там нужно просто переменную объявить
Re: Смена инструмента на токарнике
Добавлено: 27 фев 2020, 20:24
tokarka63
nkp писал(а):a = !a;
это просто заменит 1 на 0 и все, я хочу, чтоб с каждым циклом менялось значение)
Сейчас пытаюсь изобразить....нажали на кнопку-зажгли 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. на МК это работает!)
Re: Смена инструмента на токарнике
Добавлено: 27 фев 2020, 20:31
nkp
Код: Выделить всё
pin in bit knopka ;
pin out bit led ;
FUNCTION(_){
if(knopka)led=1;
if(!knopka)led=0;
}
Re: Смена инструмента на токарнике
Добавлено: 27 фев 2020, 20:38
nkp
вот полностью код компонента
(в коменте команда компиляции)
Код: Выделить всё
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;
Re: Смена инструмента на токарнике
Добавлено: 27 фев 2020, 20:41
nkp
извиняюсь - только сейчас дочитал - кнопка-тумблер нужна
тогда всё что выше - не считается

Re: Смена инструмента на токарнике
Добавлено: 27 фев 2020, 20:42
tokarka63
Меня не поняли
tokarka63 писал(а):Сейчас пытаюсь изобразить....нажали на кнопку-зажгли led, еще раз нажали-потушили led
По вашему коду....кнопка отпущена-горим, кнопка нажата -не горим)
nkp писал(а):тогда всё что выше - не считается
Ага ))
Re: Смена инструмента на токарнике
Добавлено: 27 фев 2020, 21:04
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;}
Re: Смена инструмента на токарнике
Добавлено: 27 фев 2020, 21:15
Maxekb77
Посмотри компонент toggle
Re: Смена инструмента на токарнике
Добавлено: 27 фев 2020, 21:18
nkp
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;
}
}
}
Re: Смена инструмента на токарнике
Добавлено: 27 фев 2020, 21:53
tokarka63
nkp
Спасибо за код, завтра попробую-обдумаю)
Re: Смена инструмента на токарнике
Добавлено: 28 фев 2020, 12:36
tokarka63
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
т.е. получается, на прямую ни выход, ни переменную не проинвертировать
Спасибо
Re: Смена инструмента на токарнике
Добавлено: 08 окт 2020, 19:46
tokarka63
Приветствую!!!
Не прошло и года, как я продолжил развлекаться с револьверкой!)
Возник вопрос, на который, не удалось найти ответа.
С какой частотой идет обращение к компоненту!?
Re: Смена инструмента на токарнике
Добавлено: 08 окт 2020, 20:42
Maxekb77
Быстро

Re: Смена инструмента на токарнике
Добавлено: 08 окт 2020, 23:54
tokarka63
Это я уже понял!)
Сколько надо посчитать попугаев, для секундной задержки?)