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

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

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

Сообщение Umnik »

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

А дальше идёт цикл do while, в которых я не особо разбираюсь.
Но вроде как мы запускаем опрос датчиков по разу в млсек.
Если верхний датчик говорит, что лапа ушла, а нижний - что лапа дошла, то устанавливаем номер инструмента #22 и его офсет и завершаем цикл, клапан выключается.
Или, если датчики говорят, что что то не то с лапой, опрос продолжается 4 сек, после чего цикл завершается и клапан выключается.
Правильно я мыслю?
nik1
Мастер
Сообщения: 8408
Зарегистрирован: 02 окт 2012, 07:37
Репутация: 3628
Откуда: Красногорск
Контактная информация:

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

Сообщение nik1 »

Клапан висит на 2 реле , это по идее портсет1
логика похожа, я точно не могу сказать как оно описано програмно
по датчикам могу посмотреть где какой, на памть не помню
Аватара пользователя
mycnc
Мастер
Сообщения: 913
Зарегистрирован: 03 июл 2011, 02:01
Репутация: 623
Контактная информация:

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

Сообщение mycnc »

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

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

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


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

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

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

Сообщение mycnc »

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 раза.
Аватара пользователя
Umnik
Мастер
Сообщения: 2563
Зарегистрирован: 20 июл 2014, 19:32
Репутация: 2152
Настоящее имя: Георгий
Откуда: Калуга
Контактная информация:

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

Сообщение Umnik »

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

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

Сообщение Umnik »

Вот мой теперешний код, мож кому пригодится:
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 раз.
nik1
Мастер
Сообщения: 8408
Зарегистрирован: 02 окт 2012, 07:37
Репутация: 3628
Откуда: Красногорск
Контактная информация:

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

Сообщение nik1 »

Да, запрет нужное дело, надо разбираться :)
У тебя ЦИ тоже номер 22 ?
Последний раз редактировалось nik1 27 фев 2018, 19:44, всего редактировалось 1 раз.
Аватара пользователя
Umnik
Мастер
Сообщения: 2563
Зарегистрирован: 20 июл 2014, 19:32
Репутация: 2152
Настоящее имя: Георгий
Откуда: Калуга
Контактная информация:

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

Сообщение Umnik »

nik1 писал(а):Да, запрет нужное дело, надо разбираться :)
в тебя ЦИ тоже номер 22 ?
угу... Сергей думаю подскажет, что там с запретом))
Про номер спасибо, подправил на свой. У меня 18-й.
ЗЫ: входы контроллера кончились(((
8 штук как-то маловато, оказывается.... Об этом даже не задумывался, когда контроллер покупал. На старом станке вообще ни один не задействовал, т.к. там даже хомления небыло.
Вот думаю, может для датчиков дома два входа задействовать, а два- освободить?
Все равно хомление осей по очереди происходит, а два датчика надо только для выравнивания портала.
Аватара пользователя
mycnc
Мастер
Сообщения: 913
Зарегистрирован: 03 июл 2011, 02:01
Репутация: 623
Контактная информация:

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

Сообщение mycnc »

Screenshot_20180227_114024.png (1862 просмотра) <a class='original' href='./download/file.php?id=133469&sid=27bed8f1f7813ce7c28d9edcc6806f62&mode=view' target=_blank>Загрузить оригинал (172.28 КБ)</a>
В софтовом PLC есть 4 обработчика -
запускаются автоматически по старту софта, выходу из софта, старту выполнения УП и окончанию УП.

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

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

main()
{
  t=gvarget(5400);
  if (t==22)
  {
    gvarset(0xffffff,0);
  };
  exit(99);
};

PS: В этом же обработчике можно делать и другие блокировки, например не давать запускать УП, пока не сделан хоуминг и тд.
Последний раз редактировалось mycnc 27 фев 2018, 20:17, всего редактировалось 1 раз.
nik1
Мастер
Сообщения: 8408
Зарегистрирован: 02 окт 2012, 07:37
Репутация: 3628
Откуда: Красногорск
Контактная информация:

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

Сообщение nik1 »

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

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

Сообщение Umnik »

nik1 писал(а):на новом контролере снова подключу раздельно
какой хочешь новый? Почему решил поменять теперешний?
nik1
Мастер
Сообщения: 8408
Зарегистрирован: 02 окт 2012, 07:37
Репутация: 3628
Откуда: Красногорск
Контактная информация:

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

Сообщение nik1 »

Ет 15 поставлю, который с компом на плате
мой ет1 из первых партий :) 20 входов маловато под все хотелки , да и на новом больше возможностей для разного рода задач
Аватара пользователя
Umnik
Мастер
Сообщения: 2563
Зарегистрирован: 20 июл 2014, 19:32
Репутация: 2152
Настоящее имя: Георгий
Откуда: Калуга
Контактная информация:

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

Сообщение Umnik »

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

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

Сообщение nik1 »

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

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

Сообщение Umnik »

Я вот тоже хотел бы парочку кнопок механических вывести, например пуск и паузу.
Этак можно и до полноценной стойки дойти))
Аватара пользователя
frezeryga
Почётный участник
Почётный участник
Сообщения: 13678
Зарегистрирован: 18 авг 2013, 16:08
Репутация: 5050
Откуда: Жуковский
Контактная информация:

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

Сообщение frezeryga »

Кнопки можно как клавиатуру сделать из кишков клавиатуры.
Аватара пользователя
Umnik
Мастер
Сообщения: 2563
Зарегистрирован: 20 июл 2014, 19:32
Репутация: 2152
Настоящее имя: Георгий
Откуда: Калуга
Контактная информация:

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

Сообщение Umnik »

frezeryga, имеешь ввиду подключить к контроллеру плату от клавиатуры и вместо физических кнопок клавиатуры поставить те, которые понравятся?..
Так-то мысль интересная!
Ты кстати помнится, панель собирал с экраном и клавиатурой. Закончил?
nik1
Мастер
Сообщения: 8408
Зарегистрирован: 02 окт 2012, 07:37
Репутация: 3628
Откуда: Красногорск
Контактная информация:

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

Сообщение nik1 »

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

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

Сообщение frezeryga »

Umnik, датименно так. Панель доделал там клава тоже юсб.
Аватара пользователя
niksooon
Мастер
Сообщения: 2135
Зарегистрирован: 23 июн 2014, 23:18
Репутация: 1201
Откуда: Кашира
Контактная информация:

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

Сообщение niksooon »

а я себе на беспроводной пульт все нужные кнопки вывел и входа на ЕТ-1тем самым сэкономил, ежели какую серию деталей делаю ,то к компу станочному даже не подхожу , всем необходимым с пульта рулю и вокруг станка бегать не надо.......... тачскрин на станочном компе разумеется есть ,но что-то у меня с ним не сложилось, тактильные ощущения от нажатия кнопок на клаве иль пульте как-то привычнее..............
Сделанное правильно — красиво. Если сделанное тебе не нравится — то и работать оно будет хреново. Перевари, пересверли, выпили заново — ну, или хотя бы покрась.
Ответить

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