EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

Вот рабочий последний вариант скнопками Пуск,Стоп,Толчек.
Кнопки работают как надо кроме Стоп.
19 ступень сделал на толчек
Вложения
RABOHAI_1516F1.tar.gz
Последний вариант
(24.98 КБ) 916 скачиваний
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

Валерий писал(а):Кнопки работают как надо
чёт я значит упустил(хотя ошибок при запуске не выдает))
у тебя так работает?
out.ogv.tar
(1000 КБ) 265 скачиваний
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

Так только после Стоп все муфты выключаются.

У нас сейчас 15 ступень выключаешь кнопкой Стоп : все муфты отключаются, а должно как нажал кнопу Стоп
пойти торможение по ступеням в нашем случае 14,11(Как будто переключили на первую ступень) и затем окончательный тормоз включение муфт тормоза 8,9.
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

Вот примерно так.
Вложения
out-1.tar.gz
(1.68 МБ) 926 скачиваний
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

Валерий писал(а):Вот примерно так.
ну я как бы остаюсь при своем мнении :) - разгон (если уж он сконструирован, должен работать всегда...
а так получается,что он работает только тогда,когда меняешь скорость при вкл кнопке "пуск" ;)
но если так устраивает :wik:
на твоем видео это тоже хорошо видно - просто после "набора " галетником ты быстро включаешь кнопку пуск(и еще идет разгон) ,а если подождать секунд 10,то уже никакого набора не будет(ну это видно и при самом первом включении(сразу выставилась 18-я ступень,без всякого перехода 11-14-17)
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

nkp писал(а):разгон (если уж он сконструирован, должен работать всегда...
Да,разгон должен работать всегда,у нас после нажатия кнопки Стоп и затеп Пуск эго нет.
Наверное надо обнулять переменную%IW0 после каждого нажатия Стоп.
Еще не пробовал
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

nkp писал(а):а если подождать секунд 10,то уже никакого набора не будет
Точно, а я этого не заметил.
Я хотел сделать разгон после включения кнопки Пуск и торможение после Стоп
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

нужно обыгрывать вариант со строкой в accel:
if (!enable){return;}
(для просмотра содержимого нажмите на ссылку)

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

/* sudo halcompile --install accel.comp */
component accel "1516F1";

pin in s32 in ;
pin out s32 out ;
pin in float delay = 1.0;
pin in bit enable ;

function _;
license "GPL";
variable int  old_in = 0;
variable double timer;

;;
FUNCTION(_) {
if (!enable){return;}
if (old_in > in){
  if ( old_in >= 11 &&  old_in <14 ){
     if (in < 11){
        out = 11;
        timer += fperiod;
        if(timer >= delay) {
          timer = 0.0;
          out = in;
          old_in = in;
          return ;
        }
        else{
          return ;
        }
      } 
       out = in;
       old_in = in;   
  }
  else  if (old_in >= 14 &&  old_in < 17 ){
     if(in < 14){
        out = 14;
        timer += fperiod;
        if(timer >= delay) {
          timer = 0.0;
          out = in;
          old_in = 11;
          return ;
        }
        else{
          return ;
        }         
     }
     out = in;
     old_in = in; 
  }
  else  if (old_in >= 17 ){
     if (in <17){
        out = 17;
        timer += fperiod;
        if(timer >= delay) {
          timer = 0.0;
          old_in = 14;
          return ;
        }
        else{
          return ;
        }         
    }
    out =  in;
    old_in = in;
  } 
  else {
     out = in;
     old_in = in;
  }
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if (in > old_in){
  if (in >= 11 &&  in < 14 ){
     if (old_in<11){
        out = 11;
        timer += fperiod;
        if(timer >= delay) {
          timer = 0.0;
          out = in;
          old_in = in;
       return ;
       }
     else{
       return ;
     }        
     }
     out = in; 
     old_in = in;
  }
  else  if (in >= 14 &&  in < 17 ){
     if(old_in <11){
        out = 11;
        timer += fperiod;
        if(timer >= delay) {
          timer = 0.0;
          out = 11;
          old_in = 12;
          return ;
        }
        else{
          return ;
        }         
     }
     if (old_in<14 && old_in>11) {
        out = 14;
        timer += fperiod;
        if(timer >= delay) {
          timer = 0.0;
          out = in;
          old_in = in;
          return ;
        }
        else{
          return ;
        }       
     }
     out = in; 
     old_in = in;
  }
  else  if (in >= 17 ){
     if (old_in<11){
        out = 11;
        timer += fperiod;
        if(timer >= delay) {
          timer = 0.0;
          out = 11;
          old_in = 12;
          return ;
        }
        else{
          return ;
        }        
     }
     if (old_in<14 && old_in>11) {
        out = 14;
        timer += fperiod;
        if(timer >= delay) {
          timer = 0.0;
          out = 14;
          old_in = 15;
          return ;
        }
        else{
          return ;
        }
     }
     if (old_in>14) {
        out = 17;
        timer += fperiod;
        if(timer >= delay) {
          timer = 0.0;
          out = in;
          old_in = in;
          return ;
        }
        else{
          return ;
        }
     }     
     out = in; 
     old_in = in;
  }
  else {
     out = in;
     old_in = in;
  }
}
}

RABOHAI.tar
(10 КБ) 238 скачиваний
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

так разгон работает (но опять же - только первый раз)
потом в old остается значение и не дает разгон повторно((
ну и стоп нужно продумать
вобщем этот момент нужно проработать,потом с тормозом доразобраться...
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

Попробывал,да один раз.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

RABO.tar
(50 КБ) 239 скачиваний
так вроде лучше
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

чтоб было наглядней:
Выделение_075.png (2456 просмотров) <a class='original' href='./download/file.php?id=92169&mode=view' target=_blank>Загрузить оригинал (36.75 КБ)</a>
то есть "перенес" mux.1.s32 между wsum и accel
ну и добавил нулевое значение в ладдер для 8,9 ступени(тормоз)
Выделение_076.png
Выделение_076.png (7.75 КБ) 2456 просмотров
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

да,и код accel без изменений
то есть - без if (!enable){return;}
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

Да намного лучше.
Только эти ЭМ8 и Эм9 должны отключатся как остановится планшайба ну секунд через 1.5-2 потом подберем.
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

Еще один нюанс заметил, если на 18 ступени сделать Стоп и затем включить толчек, толчек работает,но когда отключишь
толчек у нас перебирает все муфта без нажатия кнопки Пуск
Вложения
out.tar.gz
(1.21 МБ) 913 скачиваний
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

R.tar
(40 КБ) 223 скачивания
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

Класс! Вроде все работает.
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

Есть у нас джостик на четыре положения и одна кнопка сверху.Галетник на семь положений выбор режимов работы.
Первые четыре положения это фиксированные подачи-ступени 1,7,11,18,включаются "двигателем установочных перемещений"
Пятая -рабочая подача включается "муфтой рабочей подачи".шестая седьмая режим фазки когда горизонтальная и вертикальная подачи идут одновременно. "IN"-это входа контроля прохождения сигналов с галетника,джостика и т.д.

Галетник переключаем в пятое положение "рабочая подача", на джостике выбираем наравление "вверх,вниз,и т.д."
нажимаем кнопку "Пуск подачи" на джостие, у нас должны включится муфта направления "вверх" ЭМ5,
муфта "рабочей подачи" ЭМ7, лампочка на пулте "супорт в работе", И смотря на какой ступени с 1 по 18 стоит галетник
должны включится муфты ЭМ8-ЭМ15 ступений. Кнопка "Пуск подачи при этом должна встать на самоблокировку,до тех пор пока не переключишь галетник режимов работы или джостик направления ,
При Ручном установочном перемещени 5мм\мин,46мм\мин,160мм\мин,1800мм\мин должны включатся ступени 1,7,11,18
Практический также только в место муфты рабочей подачи должен вкючится "двигатель установочных перемещений"
а кнопка пуск не должна вставать на самоблокировку (пока держишь вкючено) и выбор ступений с 1 по 18 (accelXZ)как я понял не должен в это время реагировать на переключение
Но и при выключение во всех случаях должна срабатывать муфта тормоза ЭМ3 или ЭМ4.
Какие компоненты применить,в этом случае?
Вложения
Снимок.png (2416 просмотров) <a class='original' href='./download/file.php?id=92239&mode=view' target=_blank>Загрузить оригинал (225.93 КБ)</a>
RABOHAI_1516F1.tar.gz
(26.42 КБ) 927 скачиваний
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

ого, это всё надо "переварить" еще :)
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

У самого голова кругом идет.
Может еще что нибудь упустил,про конечные выключатели (ограничения перемещений,аврийный стоп) пока не описывал
Ответить

Вернуться в «LinuxCNC»