Разбираемся в софте контроллеров mycnc

Контроллеры, драйверы, датчики, управляющие устройства.

Re: Разбираемся в софте контроллеров mycnc

Сообщение Umnik » 27 фев 2018, 15:44

Если portset(1) активирует клапан, то до это пункта программа и не дойдет никогда, т.к. до него опрашиваются датчики. А откуда могут пойти изменения в сигналах датчиков, если лапа ещё не опускалась?
Либо тогда надо предположить, что i6 нижний датчик, i7 - верхний.
Тогда логика такова, что сначала опрашиваем нижний датчик. Если от него есть сигнал - завершаем программу. Если сигнала нет - опрашиваем верхний. Если от верхнего сигнала нет (лапа отошла) - завершаем программу.
Если все ок (лапа в верхнем положении), включаем клапан

А дальше идёт цикл do while, в которых я не особо разбираюсь.
Но вроде как мы запускаем опрос датчиков по разу в млсек.
Если верхний датчик говорит, что лапа ушла, а нижний - что лапа дошла, то устанавливаем номер инструмента #22 и его офсет и завершаем цикл, клапан выключается.
Или, если датчики говорят, что что то не то с лапой, опрос продолжается 4 сек, после чего цикл завершается и клапан выключается.
Правильно я мыслю?
Аватара пользователя
Umnik
Мастер
 
Сообщения: 1643
Зарегистрирован: 20 июл 2014, 19:32
Откуда: Калуга
Репутация: 1233
Медальки:
Настоящее имя: Георгий

Re: Разбираемся в софте контроллеров mycnc

Сообщение nik1 » 27 фев 2018, 18:10

Клапан висит на 2 реле , это по идее портсет1
логика похожа, я точно не могу сказать как оно описано програмно
по датчикам могу посмотреть где какой, на памть не помню
nik1
Мастер
 
Сообщения: 7648
Зарегистрирован: 02 окт 2012, 07:37
Откуда: Красногорск
Репутация: 3408
Медальки:

Re: Разбираемся в софте контроллеров mycnc

Сообщение mycnc » 27 фев 2018, 18:41

Umnik писал(а):Сергей, может вы подскажете, как можно организовать относительно несложным способом (если таковой существует) уж если не защиту от запуска УП с активированным ЦИ, то хотя бы автоматическое переключение с одной каретки (шпиндель) на другую (центроискатель).
Было бы здорово, если бы вы добавили в новую версию это дело.
Быть может, в виде двух макросов М468 и М469, с краткими комментариями по поводу их редактирования - типа, концевик на лапе заведен на вход №такой-то - меняем значение такой-то переменной в коде.
Чтоб не особо специалист в программировании, вроде меня, смог бы разобраться))


Номер инструмента отображен в глобальной переменной #5400.
При записи в эту переменную система меняет номер инструмента и применяет смещения и длину инструмента для этого номера из таблицы инструмента.

Чтобы изменить номер инструмента из g-кода достаточно записать необходимое число в 5400 с помощью команды
G10L80 P_Номер_переменной_ Q_значение_

Например, сменить на номер 20 -
G10L80 P5400 Q20


В PLC доступ к переменным очсуществляется через функции
"gvarset" - записать
"gvarget" - прочитать

Соответственно, сменить на номер 10 будет
gvarset(5400,10);
Аватара пользователя
mycnc
Мастер
 
Сообщения: 797
Зарегистрирован: 03 июл 2011, 02:01
Репутация: 541

Re: Разбираемся в софте контроллеров mycnc

Сообщение mycnc » 27 фев 2018, 18:55

PLC для nik1 делалось прямо на машине, у меня не было копии, пришлось доставать с сервера -

Код: Выделить всёРазвернуть
//Опустить лапу

main()
{
timer=0;

      i6=portget(6);//измерение
if (i6!=0)
{
exit(99);
};
      i7=portget(7);//измерение
if (i7==0)
{
exit(99);
};

portset(1);

   texit=timer+6000;
   do
   {
      timer++;
      i6=portget(6);//измерение
      i7=portget(7);//измерение

if (i7==0)
{
      if (i6!=0)
      {

t=gvarget(5400);
gvarset(1400,t);
gvarset(5400,22);

exit(99);
      };
};
   }while(timer<texit);

exit(99);

};


Но если убрать все проверки, то код упрощается примерно до такого (это М468 опускание лапы)

Код: Выделить всёРазвернуть
main()
{
  portset(1);
  timer=1000;do { timer--;}while(timer>0);//Пауза на 1 секунду на опускание лапы

  t=gvarget(5400);  //Посмотреть, какой инструмент сейчас текущий
  gvarset(1400,t);   //Запомнить его в регистре #1400, чтобы вернуть в исходное состояние при поднятии лапы
  gvarset(5400,22); //Установить номер 22 - номер для лапы

  exit(99);

};


(это М469 поднятие лапы)
Код: Выделить всёРазвернуть
main()
{
  portclr(1);
  timer=1000;do { timer--;}while(timer>0);//Пауза на 1 секунду на поднятие лапы

  t=gvarget(1400);  //Посмотреть, какой инструмент был до лапы
  gvarset(5400,t);   //Установить его как номер инструмента

  exit(99);
};
Последний раз редактировалось mycnc 27 фев 2018, 19:01, всего редактировалось 2 раз(а).
Аватара пользователя
mycnc
Мастер
 
Сообщения: 797
Зарегистрирован: 03 июл 2011, 02:01
Репутация: 541

Re: Разбираемся в софте контроллеров mycnc

Сообщение Umnik » 27 фев 2018, 18:57

Да, спасибо, уже разобрался на компе станка. Оставил один датчик, для НЗ индуктивного датчика отсутствие сигнала (i7!=0) означает сработку.
По сути код макроса остался тот же, удалил из него все, что касается датчика #6, т.к. у меня датчик всего один, а так же удалил команду на включение - выключение пина, т.к. у меня включать нечего))
Номер инструмента поменял на свой (#18), номер датчика 7 оставил - ибо концевик ЦИ у меня как раз #7.
Теперь, если ЦИ в кронштейн не вставлен, при вызове М468 ничего не происходит. Если вставлен, то номер инструмента меняется на 18, рабочие координаты появляются с офсетом каретки ЦИ.
Но почему то УП при этом запускается, как это заблокировать?
В коде макроса вроде это не реализовано...
Аватара пользователя
Umnik
Мастер
 
Сообщения: 1643
Зарегистрирован: 20 июл 2014, 19:32
Откуда: Калуга
Репутация: 1233
Медальки:
Настоящее имя: Георгий

Re: Разбираемся в софте контроллеров mycnc

Сообщение Umnik » 27 фев 2018, 19:27

Вот мой теперешний код, мож кому пригодится:
main()
{
timer=0;

i7=portget(7);
if (i7!=0)
{
exit(99);
};

texit=timer+4000;
do
{
timer++;
i7=portget(7);

if (i7==0)
{

t=gvarget(5400);
gvarset(1400,t);
gvarset(5400,18);

exit(99);
};
}while(timer<texit);




exit(99);

};

Теперь надо с M469 разобраться, ну и понять, что там с запретом запуска УП при активированном ЦИ.
Последний раз редактировалось Umnik 27 фев 2018, 19:40, всего редактировалось 1 раз.
Аватара пользователя
Umnik
Мастер
 
Сообщения: 1643
Зарегистрирован: 20 июл 2014, 19:32
Откуда: Калуга
Репутация: 1233
Медальки:
Настоящее имя: Георгий

Re: Разбираемся в софте контроллеров mycnc

Сообщение nik1 » 27 фев 2018, 19:38

Да, запрет нужное дело, надо разбираться :)
У тебя ЦИ тоже номер 22 ?
Последний раз редактировалось nik1 27 фев 2018, 19:44, всего редактировалось 1 раз.
nik1
Мастер
 
Сообщения: 7648
Зарегистрирован: 02 окт 2012, 07:37
Откуда: Красногорск
Репутация: 3408
Медальки:

Re: Разбираемся в софте контроллеров mycnc

Сообщение Umnik » 27 фев 2018, 19:41

nik1 писал(а):Да, запрет нужное дело, надо разбираться :)
в тебя ЦИ тоже номер 22 ?

угу... Сергей думаю подскажет, что там с запретом))
Про номер спасибо, подправил на свой. У меня 18-й.
ЗЫ: входы контроллера кончились(((
8 штук как-то маловато, оказывается.... Об этом даже не задумывался, когда контроллер покупал. На старом станке вообще ни один не задействовал, т.к. там даже хомления небыло.
Вот думаю, может для датчиков дома два входа задействовать, а два- освободить?
Все равно хомление осей по очереди происходит, а два датчика надо только для выравнивания портала.
Аватара пользователя
Umnik
Мастер
 
Сообщения: 1643
Зарегистрирован: 20 июл 2014, 19:32
Откуда: Калуга
Репутация: 1233
Медальки:
Настоящее имя: Георгий

Re: Разбираемся в софте контроллеров mycnc

Сообщение mycnc » 27 фев 2018, 19:48

Разбираемся в софте контроллеров mycnc Screenshot_20180227_114024.png


В софтовом PLC есть 4 обработчика -
запускаются автоматически по старту софта, выходу из софта, старту выполнения УП и окончанию УП.

В обработчик старта надо добавить проверку, что текущий инструмент - это лапа
и остановить выполнение -недокументированная команда записи в регистр - gvarset(0xffffff,0);

Код: Выделить всёРазвернуть
main()
{
  t=gvarget(5400);
  if (t==22)
  {
    gvarset(0xffffff,0);
  };
  exit(99);
};



PS: В этом же обработчике можно делать и другие блокировки, например не давать запускать УП, пока не сделан хоуминг и тд.
Последний раз редактировалось mycnc 27 фев 2018, 20:17, всего редактировалось 1 раз.
Аватара пользователя
mycnc
Мастер
 
Сообщения: 797
Зарегистрирован: 03 июл 2011, 02:01
Репутация: 541

Re: Разбираемся в софте контроллеров mycnc

Сообщение nik1 » 27 фев 2018, 20:12

Я уже повесил все хомяки на один вход :)
есть конечно минусы такого подключения, но пока так
на новом контролере снова подключу раздельно
nik1
Мастер
 
Сообщения: 7648
Зарегистрирован: 02 окт 2012, 07:37
Откуда: Красногорск
Репутация: 3408
Медальки:

Re: Разбираемся в софте контроллеров mycnc

Сообщение Umnik » 27 фев 2018, 22:25

nik1 писал(а):на новом контролере снова подключу раздельно

какой хочешь новый? Почему решил поменять теперешний?
Аватара пользователя
Umnik
Мастер
 
Сообщения: 1643
Зарегистрирован: 20 июл 2014, 19:32
Откуда: Калуга
Репутация: 1233
Медальки:
Настоящее имя: Георгий

Re: Разбираемся в софте контроллеров mycnc

Сообщение nik1 » 28 фев 2018, 08:19

Ет 15 поставлю, который с компом на плате
мой ет1 из первых партий :) 20 входов маловато под все хотелки , да и на новом больше возможностей для разного рода задач
nik1
Мастер
 
Сообщения: 7648
Зарегистрирован: 02 окт 2012, 07:37
Откуда: Красногорск
Репутация: 3408
Медальки:

Re: Разбираемся в софте контроллеров mycnc

Сообщение Umnik » 28 фев 2018, 09:22

Ну да, у тя ж автосмена, она тоже поди датчиков немало задействует...
Какие по твоему мнению минусы нескольких концевиков на одном входе?
Для остановки движения достаточно, чтоб сработал хотя бы один.
При хомлении тоже по одному работают...
Аватара пользователя
Umnik
Мастер
 
Сообщения: 1643
Зарегистрирован: 20 июл 2014, 19:32
Откуда: Калуга
Репутация: 1233
Медальки:
Настоящее имя: Георгий

Re: Разбираемся в софте контроллеров mycnc

Сообщение nik1 » 28 фев 2018, 09:55

Я еще хочу механических кнопок вывести на панель, это надо еще штук 20 входов
хомяки на одном входе, чисто информативно не нравитсяа
если один в цепи заглючит , то срабатывает общий вход
а так конечно все работает, зет метка серв тоже заведена на один вход
nik1
Мастер
 
Сообщения: 7648
Зарегистрирован: 02 окт 2012, 07:37
Откуда: Красногорск
Репутация: 3408
Медальки:

Re: Разбираемся в софте контроллеров mycnc

Сообщение Umnik » 28 фев 2018, 11:22

Я вот тоже хотел бы парочку кнопок механических вывести, например пуск и паузу.
Этак можно и до полноценной стойки дойти))
Аватара пользователя
Umnik
Мастер
 
Сообщения: 1643
Зарегистрирован: 20 июл 2014, 19:32
Откуда: Калуга
Репутация: 1233
Медальки:
Настоящее имя: Георгий

Re: Разбираемся в софте контроллеров mycnc

Сообщение frezeryga » 28 фев 2018, 12:51

Кнопки можно как клавиатуру сделать из кишков клавиатуры.
Аватара пользователя
frezeryga
Почётный участник
Почётный участник
 
Сообщения: 12037
Зарегистрирован: 18 авг 2013, 16:08
Откуда: Жуковский
Репутация: 4139
Медальки:

Re: Разбираемся в софте контроллеров mycnc

Сообщение Umnik » 28 фев 2018, 14:02

frezeryga, имеешь ввиду подключить к контроллеру плату от клавиатуры и вместо физических кнопок клавиатуры поставить те, которые понравятся?..
Так-то мысль интересная!
Ты кстати помнится, панель собирал с экраном и клавиатурой. Закончил?
Аватара пользователя
Umnik
Мастер
 
Сообщения: 1643
Зарегистрирован: 20 июл 2014, 19:32
Откуда: Калуга
Репутация: 1233
Медальки:
Настоящее имя: Георгий

Re: Разбираемся в софте контроллеров mycnc

Сообщение nik1 » 28 фев 2018, 14:23

Себе буду делать механику, по крайней мере для важных кнопок, которые отвечают за перемещения
nik1
Мастер
 
Сообщения: 7648
Зарегистрирован: 02 окт 2012, 07:37
Откуда: Красногорск
Репутация: 3408
Медальки:

Re: Разбираемся в софте контроллеров mycnc

Сообщение frezeryga » 28 фев 2018, 16:50

Umnik, датименно так. Панель доделал там клава тоже юсб.
Аватара пользователя
frezeryga
Почётный участник
Почётный участник
 
Сообщения: 12037
Зарегистрирован: 18 авг 2013, 16:08
Откуда: Жуковский
Репутация: 4139
Медальки:

Re: Разбираемся в софте контроллеров mycnc

Сообщение niksooon » 28 фев 2018, 21:16

а я себе на беспроводной пульт все нужные кнопки вывел и входа на ЕТ-1тем самым сэкономил, ежели какую серию деталей делаю ,то к компу станочному даже не подхожу , всем необходимым с пульта рулю и вокруг станка бегать не надо.......... тачскрин на станочном компе разумеется есть ,но что-то у меня с ним не сложилось, тактильные ощущения от нажатия кнопок на клаве иль пульте как-то привычнее..............
Сделанное правильно — красиво. Если сделанное тебе не нравится — то и работать оно будет хреново. Перевари, пересверли, выпили заново — ну, или хотя бы покрась.
Аватара пользователя
niksooon
Мастер
 
Сообщения: 1320
Зарегистрирован: 23 июн 2014, 23:18
Откуда: Кашира
Репутация: 805
Медальки:

Пред.След.

Вернуться в Электроника

Кто сейчас на конференции

Зарегистрированные пользователи: basurman971, Bing [Bot], Google [Bot], Majestic-12 [Bot], UAVpilot, Yandex [bot], шпиндель

Reputation System ©'