M100 to M199 User Defined Commands

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
dinkata
Мастер
Сообщения: 1025
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 389
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: M100 to M199 User Defined Commands

Сообщение dinkata »

Nick писал(а): не понятно зачем?
dinkata писал(а):работаю (пока в проект )смена оборудование ЧПУ ЗИТ 500 на Linuxcnc на токарной и на трехкоординатной фрезер.
Сейчас операторьй работают с М42 -Tailstock forward ;М43 -Tailstock backward ;М44 -Tailstock up ;М45 -Tailstock down .
Буду смена делат пока на 1 станок ,а у нас они 6 токарньйе и 3 3осньйе фрезерньйе ,и хочется минималние отличия бьйли от
старьйе комнандьй и новьйе .Поетому хочу ввести вьйполнение с М1хх ,например М142,143,144,145.
Операторьй будут работат некоторьйе время с новая и старьйе систем ,чтоб не путалис .
Я сейчас борба с софтом Linuxcnc ,пока вьйучит ,потом с консервативньйе операторьй ,потом с начальство для бюджет ... :hehehe:
А если бог со мной и все пойдет хорошо на первой станок с Linuxcnc вьйброшу все ето старо железо ,намучилис с ним и ставлю Linuxcnc.
Последний раз редактировалось dinkata 22 янв 2015, 17:17, всего редактировалось 2 раза.
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: M100 to M199 User Defined Commands

Сообщение Serg »

Nick писал(а):Это понятно, не понятно зачем? :)
Чтоб не вставлять кучу команд в УП или MDI. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: M100 to M199 User Defined Commands

Сообщение nkp »

dinkata писал(а):,и хочется минималние отличия бьйли отстарьйе комнандьй и новьйе
так может тогда посмотреть в сторону переназначения кодов?
тогда уж всё будет точно соответствовать...
Аватара пользователя
dinkata
Мастер
Сообщения: 1025
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 389
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: M100 to M199 User Defined Commands

Сообщение dinkata »

nkp писал(а):так может тогда посмотреть в сторону переназначения кодов?
Если я бьйл такой знаток и смог сделат и ето ... :hehehe: я не могу простой скриптик сделат ,а вьй предлагаете более сложная процедура .
Ребята (думаю могу так ,мне 60 лет ) мне на етот форум очен приятно ,у вас хорошое общение .
Ну давайте так, ест ли знаток напишет ето в скрипт :

вариант1.С код М 142 установит на 2 сек classicladder.0.in-45 в 1

вариант2 .С код М 143 установит classicladder.0.in-46 в 1
и смотрет когда hm2_5i25.0.7i77.0.0.input-10 сделает переход с 0 на 1
тогда установит classicladder.0.in-46 в 0

Сколько слов ушли ... :lol1: зачем ?
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
dinkata
Мастер
Сообщения: 1025
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 389
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: M100 to M199 User Defined Commands

Сообщение dinkata »

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

Re: M100 to M199 User Defined Commands

Сообщение nkp »

M142

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

#!/bin/bash
 halcmd setp classicladder.0.in-45 1
 sleep 2 
 halcmd setp classicladder.0.in-45 0
exit 0
==========
M143

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

#!/bin/bash
 halcmd setp classicladder.0.in-46 1
 sleep .5 
 halcmd setp classicladder.0.in-46 0
exit 0
net name1 hm2_5i25.0.7i77.0.0.input-10 => classicladder.0.in-02
сигнал для "работы":
net name2 classicladder.0.out-02 =>
схемка: сигнал для "работы" - это пин , к которому нужно коннектить то , что у тебя должно было коннектиться к classicladder.0.in-46
Аватара пользователя
dinkata
Мастер
Сообщения: 1025
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 389
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: M100 to M199 User Defined Commands

Сообщение dinkata »

nkp писал(а):что у тебя должно
Спасибо nkp, вчера вечером расматривал руководство bash ,расматривал руководство M100 to M199 User Defined Commands ,не все понятно.
Понял однако почему меня не понимаете :D .Я привьйк к другому програмирование и логика у меня иногда идет не в то стороне
которая вьй считаете правильная ,так что извините если что то .
nkp писал(а):M143
да,так и думаю сделат ,еще раз спасибо.
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
dinkata
Мастер
Сообщения: 1025
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 389
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: M100 to M199 User Defined Commands

Сообщение dinkata »

Вот что получилос ,вьйкладаваю чтоб бьйло полезно другим новичкам как мной .
В ини файл указьйваем путь к файлам М1хх : PROGRAM_PREFIX = /home/хххх/linuxcnc/configs/хххх/subprg
с gedit создаем файл с именем М142 :

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

#!/bin/bash
halcmd setp classicladder.0.in-45 1
sleep 2
halcmd setp classicladder.0.in-45 0 
exit 0
После его сохранение и закрьйтие ,правой кнопки открьйваем свойства и делаем файл исполняемой.Так и для М143;144;145 с той разнице
что у меня М142 работает 2 сек (sleep 2 ), а другие по 0,5 ,только импулс ,потом реле самоблокируется.Все файльй в папку subprg.
Вложения
CLtailstock.JPG (4804 просмотра) <a class='original' href='./download/file.php?id=41489&sid=1b3941742055b8a0a8f120cfe6ee436a&mode=view' target=_blank>Загрузить оригинал (67.67 КБ)</a>
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: M100 to M199 User Defined Commands

Сообщение Serg »

dinkata писал(а): В ини файл указьйваем путь к файлам М1хх : PROGRAM_PREFIX = /home/хххх/linuxcnc/configs/хххх/subprg
Это путь к файлам с УП по умолчанию, т.е. при загрузке УП файлы будут искаться там. Тут полезно указывать каталог, где хранятся ваши УП, например /home/хххх/Documents

А вот для M-файлов и прочих подпрограмм, применяемых в данной конфигурации linuxcnc лучше указывать

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

[RS274NGC]
SUBROUTINE_PATH = subprg
USER_M_PATH = subprg
Причем именно в виде относительного (относительно вашего ini) пути, а не абсолютного - тогда каталог с конфигурацией можно будет спокойно перемещать и переименовывать.
Если надо, то можно несколько путей указать через ":"

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

SUBROUTINE_PATH = subprg:../../nc_files
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
dinkata
Мастер
Сообщения: 1025
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 389
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: M100 to M199 User Defined Commands

Сообщение dinkata »

UAVpilot писал(а):А вот для M-файлов и прочих подпрограмм
O K спасибо
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Гагарин
Опытный
Сообщения: 142
Зарегистрирован: 18 июн 2015, 17:25
Репутация: 13
Настоящее имя: Юрий
Контактная информация:

Re: M100 to M199 User Defined Commands

Сообщение Гагарин »

Решил добавить свою M-команду. В ней можно передавать два аргумента: P и Q. НО они передаются в виде float. Если аргумент не задан в MDI, то в bash передается -1,0000000. Но никак не пойму как в bash сделать условный оператор

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

#!/bin/bash
if (( $1 > 0 ))     
then
  echo "больше ноля"
else
  echo "меньше или равно нулю"
fi           
echo
Подобный код работает с целочисленными аргументами, а с float не работает. Как можно, например, отбросить дробную часть?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: M100 to M199 User Defined Commands

Сообщение Serg »

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

if (( $(echo "$1 > 0" | bc -l) ))
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

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