ClassicLadder (CL)

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: ClassicLadder (CL)

Сообщение nkp »

jo_key писал(а):о нормальной работе
но всегда остается "ненормальная" ))
а это лучше чем ничего ;)
а если ее называть "нормальной" ,то и проблема исчезает :)
jo_key
Почётный участник
Почётный участник
Сообщения: 262
Зарегистрирован: 19 сен 2011, 14:49
Репутация: 30
Настоящее имя: Евгений
Откуда: Украина, Харьков
Контактная информация:

Re: ClassicLadder (CL)

Сообщение jo_key »

да, согласен, модно и scale-ом компенсировать
Аватара пользователя
mikehv
Мастер
Сообщения: 2103
Зарегистрирован: 14 авг 2013, 10:10
Репутация: 1170
Откуда: Иваново
Контактная информация:

Re: ClassicLadder (CL)

Сообщение mikehv »

Подскажите люди. Делаю автосмену заготовок для одного станка. Управление пневмоцилиндрами и одной рабочей осью. Если с цилиндрами все элементарно, то вот с осью засада. Как из ладдера заставить сместиться ось Z в нужную координату? Или придется делать компонент HAL? Вот этого ни разу не делал.
И еще не определился с М кодом. Заготовок по сути бесконечное количество. Думал использовать М60.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: ClassicLadder (CL)

Сообщение Serg »

Из CL скорее всего никак.
Просто в HAL несложно:
на входы mux подаёшь значения координат куда надо перемещаться, управляющим входом будешь их переключать (например из CL), выход mux подаёшь на вход limit3, которым ограничиваешь скорость и ускорение, выход limit3 на вход pid или stepgen...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
mikehv
Мастер
Сообщения: 2103
Зарегистрирован: 14 авг 2013, 10:10
Репутация: 1170
Откуда: Иваново
Контактная информация:

Re: ClassicLadder (CL)

Сообщение mikehv »

UAVpilot писал(а):на входы mux подаёшь значения координат куда надо перемещаться, управляющим входом будешь их переключать (например из CL), выход mux подаёшь на вход limit3, которым ограничиваешь скорость и ускорение, выход limit3 на вход pid или stepgen...
Ок спасибо. сейчас поковыряю.
Аватара пользователя
mikehv
Мастер
Сообщения: 2103
Зарегистрирован: 14 авг 2013, 10:10
Репутация: 1170
Откуда: Иваново
Контактная информация:

Re: ClassicLadder (CL)

Сообщение mikehv »

Как то не очень понятно. Можете для примера строчку написать? С остальным вроде нормально получается. Меняю через М6Т0. По идее надо еще сигнал когда ось доедет до позиции.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: ClassicLadder (CL)

Сообщение Serg »

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

setp mux2.0.in0 10
setp mux2.0.in1 100
net M6T0 mux2.0.sel

net coord mux2.0.out => limit3.0.in

setp limit3.0.maxv VVVVV
setp limit3.0.maxa AAAAA

net cmd limit3.0.out => pid.0.command near.0.in1

net fb => pid.0.feedback near.0.in2

net in-position <= near.0.out
Как-то так. Не проверял и мелкие подробности опустил.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
mikehv
Мастер
Сообщения: 2103
Зарегистрирован: 14 авг 2013, 10:10
Репутация: 1170
Откуда: Иваново
Контактная информация:

Re: ClassicLadder (CL)

Сообщение mikehv »

У меня управление через stepgen. При попытке подключить выход limit3 к stepgen.2.position-cmd естественным образом ругается, т.к. он уже подключен. Как это можно обойти?
Попробовал объединить через or2, но ругается т.к. тип сигнала float.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: ClassicLadder (CL)

Сообщение Serg »

Я не понял сразу, подумал, что разговор про совсем отдельную ось.
Если это обычная ось Z, то нужно переопределить M6 и внутри перемещать её обычными G0/G1.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
mikehv
Мастер
Сообщения: 2103
Зарегистрирован: 14 авг 2013, 10:10
Репутация: 1170
Откуда: Иваново
Контактная информация:

Re: ClassicLadder (CL)

Сообщение mikehv »

У меня по М6 запускается программа Ладдера. С этим можно совместить? Есть еще MDI COMMАND может это можно использовать?
И как переопределить?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: ClassicLadder (CL)

Сообщение Serg »

mikehv писал(а):С этим можно совместить?
Да.
mikehv писал(а):Есть еще MDI COMMАND может это можно использовать?
MDI не работает при выполнении УП.
mikehv писал(а):И как переопределить?
http://linuxcnc.org/docs/2.7/html/remap/remap.html
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
mikehv
Мастер
Сообщения: 2103
Зарегистрирован: 14 авг 2013, 10:10
Репутация: 1170
Откуда: Иваново
Контактная информация:

Re: ClassicLadder (CL)

Сообщение mikehv »

Тоесть придется писать скрипт на Python?
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: ClassicLadder (CL)

Сообщение Сергей Саныч »

mikehv писал(а):Тоесть придется писать скрипт на Python?
Не обязательно. Часто бывает достаточно подпрограммы в G-кодах.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
mikehv
Мастер
Сообщения: 2103
Зарегистрирован: 14 авг 2013, 10:10
Репутация: 1170
Откуда: Иваново
Контактная информация:

Re: ClassicLadder (CL)

Сообщение mikehv »

А как это будет выглядеть? Для примера допустим надо ось Z довести до координаты 150.0 . Включается это движение пином из ладдера. По достижении позиции в ладдер желательно сигнал подать, хотя можно и по таймеру это сделать.
Уже голова кипит от информации. Ничего конкретного не могу найти.
Причем просто подпрограмму сделать для движения цилиндров и осей можно, но есть еще концевик и как его сигнал обработать G кодами ума не приложу
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: ClassicLadder (CL)

Сообщение Serg »

Из G-кода можно читать и писать HAL-пины: M62 - M68.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
mikehv
Мастер
Сообщения: 2103
Зарегистрирован: 14 авг 2013, 10:10
Репутация: 1170
Откуда: Иваново
Контактная информация:

Re: ClassicLadder (CL)

Сообщение mikehv »

Сделал через М62-68. Всем спасибо. Очень все просто оказалось. Единственный момент, такое ощущение, что программа не построчно выполняется, а вся сразу. Может синтаксис нарушен у меня.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: ClassicLadder (CL)

Сообщение nkp »

есть в жкодах емс очень нужная конструкция:

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

    M66 P1 L3 Q3 ;
    O151 if [#5399 LT 0]
        (abort, ожидалось:  ИМ)
    O151 endif
есть потребность "перевести" это на "язык" Hal (ладдер как вариант)
----------------
конструкций таких подряд с десяток , нужен и функционал и идентификация ошибок...
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: ClassicLadder (CL)

Сообщение Serg »

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

Re: ClassicLadder (CL)

Сообщение nkp »

такая конструкция вроде выполняет то же самое:
Выделение_167.png (3464 просмотра) <a class='original' href='./download/file.php?id=153737&sid=3ce88f50d7ea96b1409b988dbe20e6c8&mode=view' target=_blank>Загрузить оригинал (71.8 КБ)</a>
================
B1-Q0 - включаем узел
подтверждение ждем (тамер ) на I0
если не дожидаемся - активируется Q1
с него наверно (учитывая,что подобных блоков будет много)нужно будет брать сигнал на компонент message
http://linuxcnc.org/docs/2.7/html/man/m ... age.9.html
здесь ,пожалуй,самое большое неудобство ;)
==============
если сигнал подтверждения пришел уже после таймаута, все равно ничего не включится(Q1 на самоподхвате)
Ответить

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