Страница 14 из 17

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

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

А дальше идёт цикл do while, в которых я не особо разбираюсь.
Но вроде как мы запускаем опрос датчиков по разу в млсек.
Если верхний датчик говорит, что лапа ушла, а нижний - что лапа дошла, то устанавливаем номер инструмента #22 и его офсет и завершаем цикл, клапан выключается.
Или, если датчики говорят, что что то не то с лапой, опрос продолжается 4 сек, после чего цикл завершается и клапан выключается.
Правильно я мыслю?

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

Добавлено: 27 фев 2018, 18:10
nik1
Клапан висит на 2 реле , это по идее портсет1
логика похожа, я точно не могу сказать как оно описано програмно
по датчикам могу посмотреть где какой, на памть не помню

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

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

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

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


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

Соответственно, сменить на номер 10 будет
gvarset(5400,10);

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

Добавлено: 27 фев 2018, 18:55
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);
};

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

Добавлено: 27 фев 2018, 18:57
Umnik
Да, спасибо, уже разобрался на компе станка. Оставил один датчик, для НЗ индуктивного датчика отсутствие сигнала (i7!=0) означает сработку.
По сути код макроса остался тот же, удалил из него все, что касается датчика #6, т.к. у меня датчик всего один, а так же удалил команду на включение - выключение пина, т.к. у меня включать нечего))
Номер инструмента поменял на свой (#18), номер датчика 7 оставил - ибо концевик ЦИ у меня как раз #7.
Теперь, если ЦИ в кронштейн не вставлен, при вызове М468 ничего не происходит. Если вставлен, то номер инструмента меняется на 18, рабочие координаты появляются с офсетом каретки ЦИ.
Но почему то УП при этом запускается, как это заблокировать?
В коде макроса вроде это не реализовано...

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

Добавлено: 27 фев 2018, 19:27
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 разобраться, ну и понять, что там с запретом запуска УП при активированном ЦИ.

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

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

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

Добавлено: 27 фев 2018, 19:41
Umnik
nik1 писал(а):Да, запрет нужное дело, надо разбираться :)
в тебя ЦИ тоже номер 22 ?
угу... Сергей думаю подскажет, что там с запретом))
Про номер спасибо, подправил на свой. У меня 18-й.
ЗЫ: входы контроллера кончились(((
8 штук как-то маловато, оказывается.... Об этом даже не задумывался, когда контроллер покупал. На старом станке вообще ни один не задействовал, т.к. там даже хомления небыло.
Вот думаю, может для датчиков дома два входа задействовать, а два- освободить?
Все равно хомление осей по очереди происходит, а два датчика надо только для выравнивания портала.

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

Добавлено: 27 фев 2018, 19:48
mycnc
Screenshot_20180227_114024.png (2420 просмотров) <a class='original' href='./download/file.php?id=133469&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: В этом же обработчике можно делать и другие блокировки, например не давать запускать УП, пока не сделан хоуминг и тд.

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

Добавлено: 27 фев 2018, 20:12
nik1
Я уже повесил все хомяки на один вход :)
есть конечно минусы такого подключения, но пока так
на новом контролере снова подключу раздельно

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

Добавлено: 27 фев 2018, 22:25
Umnik
nik1 писал(а):на новом контролере снова подключу раздельно
какой хочешь новый? Почему решил поменять теперешний?

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

Добавлено: 28 фев 2018, 08:19
nik1
Ет 15 поставлю, который с компом на плате
мой ет1 из первых партий :) 20 входов маловато под все хотелки , да и на новом больше возможностей для разного рода задач

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

Добавлено: 28 фев 2018, 09:22
Umnik
Ну да, у тя ж автосмена, она тоже поди датчиков немало задействует...
Какие по твоему мнению минусы нескольких концевиков на одном входе?
Для остановки движения достаточно, чтоб сработал хотя бы один.
При хомлении тоже по одному работают...

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

Добавлено: 28 фев 2018, 09:55
nik1
Я еще хочу механических кнопок вывести на панель, это надо еще штук 20 входов
хомяки на одном входе, чисто информативно не нравитсяа
если один в цепи заглючит , то срабатывает общий вход
а так конечно все работает, зет метка серв тоже заведена на один вход

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

Добавлено: 28 фев 2018, 11:22
Umnik
Я вот тоже хотел бы парочку кнопок механических вывести, например пуск и паузу.
Этак можно и до полноценной стойки дойти))

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

Добавлено: 28 фев 2018, 12:51
frezeryga
Кнопки можно как клавиатуру сделать из кишков клавиатуры.

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

Добавлено: 28 фев 2018, 14:02
Umnik
frezeryga, имеешь ввиду подключить к контроллеру плату от клавиатуры и вместо физических кнопок клавиатуры поставить те, которые понравятся?..
Так-то мысль интересная!
Ты кстати помнится, панель собирал с экраном и клавиатурой. Закончил?

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

Добавлено: 28 фев 2018, 14:23
nik1
Себе буду делать механику, по крайней мере для важных кнопок, которые отвечают за перемещения

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

Добавлено: 28 фев 2018, 16:50
frezeryga
Umnik, датименно так. Панель доделал там клава тоже юсб.

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

Добавлено: 28 фев 2018, 21:16
niksooon
а я себе на беспроводной пульт все нужные кнопки вывел и входа на ЕТ-1тем самым сэкономил, ежели какую серию деталей делаю ,то к компу станочному даже не подхожу , всем необходимым с пульта рулю и вокруг станка бегать не надо.......... тачскрин на станочном компе разумеется есть ,но что-то у меня с ним не сложилось, тактильные ощущения от нажатия кнопок на клаве иль пульте как-то привычнее..............