М-команды Linux CNC EMC2

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
gecrby
Новичок
Сообщения: 18
Зарегистрирован: 12 июн 2013, 23:22
Репутация: 3
Откуда: Mogilev
Контактная информация:

М-команды Linux CNC EMC2

Сообщение gecrby »

Добрый вечер,

прошу помощи в расширении М-команд Linux CNC EMC2.
Для включения/отключения исполнительных 4 устройств в гибочном станке использовать следующие М команды
1 исполнительный механизм М3 или М4 включить, М5 выключить
2 исполнительный механизм М7 иди М8 включить, М9 выключить

Как управлять оставшимися устройствами не знаю
3 исполнительный механизм ?? включить, ?? выключить
4 исполнительный механизм ?? включить, ?? выключить
Было бы достаточно добавить
M10 –пиноль вперед; M11 – пиноль назад;
M12 – зажим поворотной оси; M13 – разжим поворотной оси;
С чего начать и где, не представляю.
Спасибо.
P.S.
Управление через Driver 5 Axis Interfase Board HY-ZK-01
Проблему залипания реле в этом устройстве пока не убрал.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение nkp »

gecrby писал(а):M10 –пиноль вперед; M11 – пиноль назад;M12 – зажим поворотной оси; M13 – разжим поворотной оси;
можно пойти несколькими путями:
если версия емс 2.6 - то определить именно указанные коды
другой вариант - создать коды навроде М111 ,М112 и т.д. - с тем же функционалом
==============
создаем файл с названием допустим M112
в него пишем:
#!/bin/bash
halcmd setp parport.0.pin-14-out True
exit 0
ложим в папку с ж-кодами ,указанную в ини файле в разделе "DISPLAY"
делаем файл исполняемым
-----------------
теперь при выполнении кода M112 пин парпорта 14 станет активным - к нему цепляем реле (к примеру)
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение nkp »

если программа пишеться с помощью CAMa , и на выходе имеем как раз М10,11,12,13 - то можно прописать в фильтре емс замены (к примеру там
где встретим М12 - выполнять М112)
и так для всех подобных пар...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение nkp »

с таким же успехом можно использовать коды M64 - M65
команда M64 P0 - сделает активным пин motion.digital-out-00
к нему коннектим нужный пин порта или платы меса например
команда M65 P0 - "выключит" наш пин
-----------
таких пинов можно прописать необходимое количество...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение Nick »

Да, лучше всего использовать стандартные M64-M65 и просто менять номера выходных пинов.
Аватара пользователя
gecrby
Новичок
Сообщения: 18
Зарегистрирован: 12 июн 2013, 23:22
Репутация: 3
Откуда: Mogilev
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение gecrby »

nkp писал(а):с таким же успехом можно использовать коды M64 - M65
команда M64 P0 - сделает активным пин motion.digital-out-00
к нему коннектим нужный пин порта или платы меса например
команда M65 P0 - "выключит" наш пин
-----------
таких пинов можно прописать необходимое количество...
Спасибо, беру паузу, при первом успехе все подробно опишем.
Аватара пользователя
gecrby
Новичок
Сообщения: 18
Зарегистрирован: 12 июн 2013, 23:22
Репутация: 3
Откуда: Mogilev
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение gecrby »

Если не трудно по шагам подскажите в каких конфигурационных файлах следует сделать изменения для команд М64/М65, чтобы они стали доступны в axis.ngc.
P.S.
Driver 5 Axis Interfase Board HY-ZK-01
Проблему залипания реле в этом устройстве убрал, фрагмент схемы в приложении
Вложения
Driver 5 Axis Interfase Board HY-ZK-01 (5950 просмотров) <a class='original' href='./download/file.php?id=17220&mode=view' target=_blank>Загрузить оригинал (109.46 КБ)</a>
Driver 5 Axis Interfase Board HY-ZK-01
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение nkp »

как вариант - пишем в standard_pinout.hal внизу:
net pin-M64_1 motion.digital-out-00 parport.0.pin-03-out
теперь в любую программу (ж-код) пишем где то в середине :
M64 P0
а в конце:
M65 P0
запускаем, проверяем - пин 03 парпорта после первой команды - "включается"
после второй - "выключается"
Выделение(017).jpg (5945 просмотров) <a class='original' href='./download/file.php?id=17230&mode=view' target=_blank>Загрузить оригинал (178.99 КБ)</a>
программа для примера:
spiral.ngc
(129 байт) 952 скачивания
зы
номер пина парпорта поставить нужный (свободный)
Аватара пользователя
gecrby
Новичок
Сообщения: 18
Зарегистрирован: 12 июн 2013, 23:22
Репутация: 3
Откуда: Mogilev
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение gecrby »

Гибочный станок. Работает, но не настраивается на новые типы ТЭН (5924 просмотра) <a class='original' href='./download/file.php?id=17242&mode=view' target=_blank>Загрузить оригинал (55.21 КБ)</a>
Гибочный станок. Работает, но не настраивается на новые типы ТЭН
Спасибо, все заработало.
M64 P0, M64 P1,M64 P2, M64 P3 - включают реле
M65 P0, M65 P1,M65 P2, M65 P3 - выключают

P.S. После проверки кода будем пытаться заменить закрытое китайскими друзьями ПО на гибочном станке.
В нем установлены серво привод 2, 1.5 и 0.6 кВт. с контроллерами, но это новая тема...
Спасибо!
Ace of spades
Новичок
Сообщения: 12
Зарегистрирован: 22 авг 2014, 15:03
Репутация: 0
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение Ace of spades »

nkp писал(а):если версия емс 2.6 - то определить именно указанные коды
Здравствуйте!
Подскажите как именно определить указанные коды?
У меня станок 16А20. Я хочу научить ЧПУ работать с платой БУ вместо старой НЦ31.
Мне необходимо по команде М2, М3, М5, М6, М8, М9, М30, М38, М39, М40 установить выходной исгнал "Будет смена М" и код Мкоманды в двоично десятичном виде на выход ЧПУ(на вход БУ), и по входному сигналу от платы БУ(входЧПУ) "Разрешение ввода кадра" определить что Мкоманда отработала правильно и разрешить дальнейшее выполнение программы.
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение verser »

Ace of spades писал(а):
nkp писал(а):если версия емс 2.6 - то определить именно указанные коды
Здравствуйте!
Подскажите как именно определить указанные коды?
http://linuxcnc.org/docs/html/remap/str ... _remapping
Ace of spades
Новичок
Сообщения: 12
Зарегистрирован: 22 авг 2014, 15:03
Репутация: 0
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение Ace of spades »

verser спасибо!
Немного начал везжать :thinking:
Насколько я понял, если в INI файле прописать:

REMAP=M40 ngc=m40

то по команде М40 у меня начнет выполнятся файл m40.ngc.
А как мне сказать из этого файла в HAL что прошла команда М40 :attention: и по выполнению электроавтоматикой этой команды :rail: сказать системе что команда отработала :good: ?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение nkp »

Ace of spades писал(а):Я хочу научить ЧПУ работать с платой БУ вместо старой НЦ31.Мне необходимо по команде М2, М3, М5, М6, М8, М9, М30, М38, М39, М40 установить выходной исгнал "Будет смена М" и код Мкоманды в двоично десятичном виде на выход ЧПУ(на вход БУ), и по входному сигналу от платы БУ(входЧПУ) "Разрешение ввода кадра" определить что Мкоманда отработала правильно и разрешить дальнейшее выполнение программы.
что за плата - "БУ" ??
может какой талмуд есть?
смена инструмента на токарную голову неоднократно описана на форуме...
Ace of spades
Новичок
Сообщения: 12
Зарегистрирован: 22 авг 2014, 15:03
Репутация: 0
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение Ace of spades »

nkp писал(а):что за плата - "БУ" ??
Это плата управления электроавтоматикой станка.
Она получает от чпу сигналы "Будет смена М" или "Будут смена Т", двоично-десятичный код М или Т команды и сигнал "Считывание" и после последнего снимает сигнал "Разрещение ввода кадра(РВК)" и выполняет полученую М или Т команду. После выполнения команды плата снова выставляет сичнал "РВК" и чпу может снова обрабатывать М иТ команды.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение Serg »

Ace of spades писал(а):А как мне сказать из этого файла в HAL что прошла команда М40 :attention: и по выполнению электроавтоматикой этой команды :rail: сказать системе что команда отработала :good: ?
Например с помощью halcmd можно не только поменять значение любого пина, но и даже изменить конфигурацию HAL "на лету"... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ace of spades
Новичок
Сообщения: 12
Зарегистрирован: 22 авг 2014, 15:03
Репутация: 0
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение Ace of spades »

UAVpilot писал(а):Например с помощью halcmd можно не только поменять значение любого пина, но и даже изменить конфигурацию HAL "на лету"... :)
Для того чтобы менять любые пины нужно сначала их создать.
Вопрос остаётся как его создать!
Ace of spades писал(а):А как мне сказать из этого файла в HAL что прошла команда М40 :attention:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение Serg »

Ace of spades писал(а):Вопрос остаётся как его создать!
Что значит "как создать"? Нужно написать HAL-конфиг для вашего случая или процитировать документацию?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение nkp »

Ace of spades писал(а):А как мне сказать из этого файла в HAL что прошла команда М40
в файл M40.ngc прописать: Это изменит пин motion.digital-out-00 в True
=========
по плате бу:
это плата от нц-31 ???
что будет использоваться с емс2 в станке???
если меса - то зачем тогда плата бу ???
можно в двух словах о плане модернизации станка???
Ace of spades
Новичок
Сообщения: 12
Зарегистрирован: 22 авг 2014, 15:03
Репутация: 0
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение Ace of spades »

nkp писал(а):по плате бу:
это плата от нц-31 ???
что будет использоваться с емс2 в станке???
если меса - то зачем тогда плата бу ???
можно в двух словах о плане модернизации станка???
Плата БУ от НЦ31.
Оставляю её по 2 причи нам:
- она два года назад была заменена на современный аналог на новой элементной базе;
- это сокращает обемы работ по замене чпу.

Купил месу 7и77 к ней хочу подключить датчики, цапы и связы с БУ.
Станок пока работает со старой НЦхой. Ламать её не спешу пока месу не запущу.
nkp писал(а):в файл M40.ngc прописать:
M64 P0
А как чпухе сказать что команда выполняется или выполнена, или если через какоето время она не выполнится то произошла ошибка электроавтоматики?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: М-команды Linux CNC EMC2

Сообщение nkp »

Ace of spades писал(а):Купил месу 7и77
этого хватает для 16а20 без танцев с бу ...
(но тут конечно - хозяин - барин...)
============
Ace of spades писал(а):А как чпухе сказать
вот кусок ладдера(схема электроавтоматики)
(кстати - это кусок от полной схемаы для смены инструмента токарника):
Выделение_052.png (5456 просмотров) <a class='original' href='./download/file.php?id=32431&mode=view' target=_blank>Загрузить оригинал (30 КБ)</a>
смысл тут простой - если за время таймера (20с в примере) пин не изменится - включаем "выход"
=============
имхо - сделай на месе смену - все уже отработано...(я помогу если что))
Последний раз редактировалось nkp 26 авг 2014, 16:56, всего редактировалось 1 раз.
Ответить

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