[WIKI] Создание конфигурации простого автомата от чайника

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

[WIKI] Создание конфигурации простого автомата от чайника

Сообщение Ворон226 »

Часто возникает необходимость создания конфигурации простого автомата на LinuxCNC.
Попробую сделать это тут для новичков (к коим и себя отношу).

А начнем с постановки задачи.

Задача.
Сконфигурировать простой автомат "Планшетный широкоформатный сканер" на базе LinuxCNC со своей панелью управления и встроенной перепрограммируемой программой обработки заготовки.

Для начала определим необходимые направления работы:
1. Описание логики работы сканера
2. Создание файла INI
3. Создание визуальной панели
4. Создание связей между HAL, визуальной панелью и программами/подпрограммами
5. Создание HAL
6. Написание программы сканирования
7. Способы проверки и тестирования конфигурации

Продолжу вечером...
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

Добавил алгоритм работы программы сканера. Почти сделал саму программу - к выходным тему закончу. Останется только править ;)
И, конечно, сделаю HAL для имитации работы графической программы (линии задержки и закольцовка пинов связи программы сканирования с графической программой)...
Хочешь быть счастливым? Будь им!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Nick »

+1. Кстати, а агрегат у тебя уже есть?
Будет видео работы всего этого дела?
А то человекв первые увидевший такую тему врядли что-то поймет... А так посмотрит видео и сразу проникнется :)
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

Nick писал(а):Кстати, а агрегат у тебя уже есть?
Есть большой фрезер (1700 х 2700), на котором мы и опробируем все идеи. И двушпиндельный, и сканер, а скоро и ещё один начнем... (пока секрет)

Видео добавлю. И картинки нарисую.
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

Дописал программу сканирования - покритикуйте, пожалуйста.

Осталось сделать рисунки, прописать в HAL "имитатор" графической программы (формирователь ответов с задержками) и опробовать на станке. После чего выложу видео...

И хочется сделать "вкусняшку" в виде световой сигнализации.
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

Что-то возникли сомнения о правильности прописывания конфигурации в INI ...
Хочу, чтобы у автомата не было HOME-ов.
Нужно ли в этом случае прописывать пределы по осям? Ведь у меня крайние положения отслеживаются концевыми датчиками, а координаты начала и окончания (рабочая зона) определяется самим оператором.
Как-то не вяжутся со всем этим :
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 250.0
MAX_ACCELERATION = 600.0
STEPGEN_MAXACCEL = 650.0
SCALE = 67.86
FERROR = 1
MIN_FERROR = 0.25
MIN_LIMIT = -0.001
MAX_LIMIT = 1500.0

HOME_OFFSET = 0.0

[AXIS_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 150.0
MAX_ACCELERATION = 200.0
STEPGEN_MAXACCEL = 250.0
SCALE = 67.86
FERROR = 1
MIN_FERROR = 0.25
MIN_LIMIT = -0.001
MAX_LIMIT = 2700.0

HOME_OFFSET = 0.0

Или все нормально?
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Serg »

Ворон226 писал(а):Нужно ли в этом случае прописывать пределы по осям? Ведь у меня крайние положения отслеживаются концевыми датчиками, а координаты начала и окончания (рабочая зона) определяется самим оператором.
Обязательно. Иначе при попытке уехать в HOME получишь ошибку превышения лимитов.

P.S. Я б MIN_LIMIT и HOME_OFFSET делал-бы -1..-5, чтоб гарантированно съезжать с датчика после поиска.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

UAVpilot писал(а):
Ворон226 писал(а):Нужно ли в этом случае прописывать пределы по осям? Ведь у меня крайние положения отслеживаются концевыми датчиками, а координаты начала и окончания (рабочая зона) определяется самим оператором.
Обязательно. Иначе при попытке уехать в HOME получишь ошибку превышения лимитов.

P.S. Я б MIN_LIMIT и HOME_OFFSET делал-бы -1..-5, чтоб гарантированно съезжать с датчика после поиска.
Так у меня же:
[TRAJ]
NO_FORCE_HOMING = 1
Никаких хомов. Включил и поехал. Если вдруг наехал на датчик предела, то HAL отрабатывает движение от датчика до съезда...
Вот в чем дело.
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Serg »

Тогда смысла в MIN_LIMIT и MAX_LIMIT вообще нет.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

Убрал в [AXIS_0] и [AXIS_1]:

HOME = 0.0
MIN_LIMIT = ...
MAX_LIMIT = ...
HOME_OFFSET = 0.0

Проверил - все работает...
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

Проверяю дальше...

Назначение переменных проходит на ура.
А вот при запуске программы сканирования Axis (я проверяю, прикрутив доп.панель к AXIS-у) ругается -
"Нулевое ожидание с типом ожидания не равным немедленному возврату"

Я подумал, что это относится к строкам
M66 E0 L3
...
M66 E1 L3
...
M66 E1 L3

и переписал их так:
M66 E0 L1
...
M66 E1 L1
...
M66 E1 L1

- не помогло...
Вложения
Снимок-7.png (2479 просмотров) <a class='original' href='./download/file.php?id=35553&sid=0432f82618aa3d3fd1128ee3758e0daf&mode=view' target=_blank>Загрузить оригинал (126.59 КБ)</a>
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

А при загрузке автомата - выскакивает такое сообщение: (см. скан)

И где копать?
Вложения
Снимок-8.png (2477 просмотров) <a class='original' href='./download/file.php?id=35554&sid=0432f82618aa3d3fd1128ee3758e0daf&mode=view' target=_blank>Загрузить оригинал (113.95 КБ)</a>
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Serg »

Ворон226 писал(а):"Нулевое ожидание с типом ожидания не равным немедленному возврату"
Если выбираешь режим ожидания сигнала, то задавай и время ожидания...
Ворон226 писал(а):И где копать?
Очевидно предварительно определить #<_x0>
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

UAVpilot писал(а): Ворон226 писал(а):И где копать?


Очевидно предварительно определить #<_x0>
И как предварительно определить, если эти глобальные переменные используются в автоматически загружаемой программе при запуске? Я их определяю позднее, при выставлении начальных и конечных координат... Или отказаться от глобальных и использовать обычные переменные?
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение nkp »

Ворон226 писал(а):не помогло...
наверно
или L0 пользовать...
или Q определять...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

Да-да... исправил и в Вики:
M66 P0 L3 Q1

А вот с глобальными переменными пока нет... Все, конечно работает, перемещается... Но ругается при загрузке. А не хотелось бы.
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение nkp »

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

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение nkp »

мы можем "свою" переменную прописать в .var файл : и , переопределяя ее в работе, новое значение будет сохраняться
в этом файле после выхода из емс...
-------------
в ини

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

[RS274NGC]

PARAMETER_FILE =        stepper.var
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

Т.е. в VAR прописать:

_X0 0.0
_Y0 0.0
_X_MAX 0.0
_Y_MAX 0.0

а в INI:
[RS274NGC]

PARAMETER_FILE = skan.var

и все?
Пробую...
... не работает. В мануале на русском нет описания VAR :(
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение nkp »

в .var прописать

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

123  0.000
а в загружаемый по дефолту код что то примерно такое:
#<_X0 > = #123
а "переписать" новое значение в конце :
#123 = #<_X0 >
=============
не помню всех детелей алгоритма - так бы точней подсказал...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

nkp писал(а):в .var прописать

123 0.000
а в загружаемый по дефолту код что то примерно такое:
#<_X0 > = #123
а "переписать" новое значение в конце :
#123 = #<_X0 >
Вроде не получится...
Вот загружаю я программу в автозагрузке, в которой в первых строках:
#<_X0 > = #123
Никто не ругается... Программа ждет своего исполнения.
Я перемещаю автомат в начальную точку и присваиваю переменной <_X0> некоторое значение.
Запускаю программу на выполнение и... первой же строкой гроблю значение переменной строкой
#<_X0 > = #123

Если только в подпрограмме назначения не прописать начальную координату не глобальной переменной <_X0>, а переменной 123 !!! Т.е. так:

o<ust0> sub

M66 E0 L0
#123 = #5399
M66 E1 L0
#124 = #5399

o<ust0> endsub
Хочешь быть счастливым? Будь им!
Ответить

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