Спасибо за код. А можно хоть краткое пояснение к строкам из него? Сейчас для меня это набор цифр и букв.
Конфигурация для плазморезки с внешним блоком THC
-
- Мастер
- Сообщения: 714
- Зарегистрирован: 18 май 2019, 13:23
- Репутация: 96
- Настоящее имя: Андрей
- Контактная информация:
Re: Конфигурация для плазморезки с внешним блоком THC
в кратце не объяснить.. надо почитать вот это. тут основы написания конфигурации HAL.
потом вспомнить или понять булеву логику и бинарные операции. Когда 1+1=1.
к примеру 1 or 0 = 1 (или). 1 and 0=0 (и)
и на основе этого надо переписать сравнение dir с результатом сравнения motor-pos-cmd и нуля. На выходе будет либо активация порта либо нет, для движения в одну сторону.
для обратного направления можно сравнивать dir через and. Теоретически... Надо пробовать.
Либо писать компонент(модуль) на питоне или сях.
потом вспомнить или понять булеву логику и бинарные операции. Когда 1+1=1.
к примеру 1 or 0 = 1 (или). 1 and 0=0 (и)
и на основе этого надо переписать сравнение dir с результатом сравнения motor-pos-cmd и нуля. На выходе будет либо активация порта либо нет, для движения в одну сторону.
для обратного направления можно сравнивать dir через and. Теоретически... Надо пробовать.
Либо писать компонент(модуль) на питоне или сях.
-
- Новичок
- Сообщения: 20
- Зарегистрирован: 14 окт 2017, 18:48
- Репутация: 1
- Настоящее имя: Владимир
- Контактная информация:
Re: Конфигурация для плазморезки с внешним блоком THC
Спасибо. Благодаря вашему примеру кода и бессонной ночи изучения основ, попытался написать свой первый код
Код: Выделить всё
loadrt and2 count=2
addf and2.0 servo-thread
addf and2.1 servo-thread
loadrt not count=1
addf not.0 servo-thread
net signal-step and2.0.in0 and2.1.in0 <= joint.2.free-tp-enable
net signal-dir and2.0.in1 not.0.in <= stepgen.2.dir
net signal-dir-invert and2.1.in1 <= not.0.out
net up-z and2.0.out => parport.0.pin-07-out
net down-z and2.1.out => parport.0.pin-08-out
-
- Мастер
- Сообщения: 714
- Зарегистрирован: 18 май 2019, 13:23
- Репутация: 96
- Настоящее имя: Андрей
- Контактная информация:
Re: Конфигурация для плазморезки с внешним блоком THC
нормально все будет. таких спрятанных алгоритмов много. Весь HAL это подобные связки
Надо просто тестировать на реальном железе. Там еще есть вопрос в точности подстройки оси. То есть когда lcnc все еще дает задание на движение, а привод не может сместиться на такое малое значение и будет постоянно перескакивать ЧЕРЕЗ позицию, и так его будет гонять вверх-вниз в пределах допустим миллиметра.
Что за "free planner" ?
-
- Новичок
- Сообщения: 20
- Зарегистрирован: 14 окт 2017, 18:48
- Репутация: 1
- Настоящее имя: Владимир
- Контактная информация:
Re: Конфигурация для плазморезки с внешним блоком THC
Хз.
Нашел битовый сигнал, который включается при движении оси . Для каких целей он существует, я не знаю, главное что он подает нужный мне сигнал.
upd. Полез искать что значит этот сигнал и оказалось он показывает свободное перемещение оси. При исполнении программы не активен.
-
- Новичок
- Сообщения: 20
- Зарегистрирован: 14 окт 2017, 18:48
- Репутация: 1
- Настоящее имя: Владимир
- Контактная информация:
Re: Конфигурация для плазморезки с внешним блоком THC
Сейчас задумался. Может начать думать в противоположном направлении? С THC подавать сигналы в линукс и затем управлять шаговиком. Так у меня расширяются возможности настроек оси. Но вот есть сомнения по быстродействию. Не будет ли линукс сильно задерживать сигнал при обработке? Еще и с THC скорей всего на мотор подается ШИМ, потому не уверен, что его можно подключить к входному пину контроллера.
В общем поспешил с покупкой этого THC. Не думал, что будет такой головняк
В общем поспешил с покупкой этого THC. Не думал, что будет такой головняк
-
- Мастер
- Сообщения: 304
- Зарегистрирован: 18 май 2019, 15:24
- Репутация: 31
- Настоящее имя: Дмитрий
- Контактная информация:
Re: Конфигурация для плазморезки с внешним блоком THC
Мне кажется, то что вы ищите, можно сделать гораздо проще. Как я понимаю: вам нужно сделать подпрыжку при прожиге толстого металла. Если я вас правильно понимаю, то вам нужна всего лишь добавленная в уп строчка:
Код: Выделить всё
M66 P0 L3 Q1
Вы можете вставить на прямую эту команду в уп, а можете вставить ее в макрос прожига. В макросе можно будет параметры P, L и Q сделать так чтобы задавать их из gladevcp например
Американский форум: задал вопрос — получил ответ.
Израильский форум: задал вопрос — получил вопрос.
Русский форум: задал вопрос и потом долго выслушиваешь какой ты м*дак.
https://youtube.com/channel/UCv22xgeww0FIzS9n4VrT2TA
Израильский форум: задал вопрос — получил вопрос.
Русский форум: задал вопрос и потом долго выслушиваешь какой ты м*дак.
https://youtube.com/channel/UCv22xgeww0FIzS9n4VrT2TA
-
- Новичок
- Сообщения: 20
- Зарегистрирован: 14 окт 2017, 18:48
- Репутация: 1
- Настоящее имя: Владимир
- Контактная информация:
Re: Конфигурация для плазморезки с внешним блоком THC
Проблемы в подпрыжке нет. Мой THC все это умеет делать автономно без участия линукса. И подключить его к дефолтному аксику вообще не проблема. Командами М3 и М5 она нормально управляется.
Но, мне хотелось использовать QTPlasmaC, которая имеет огромное количество полезных функций. К примеру она сама рассчитывает отступ траектории на заданную толщину реза , умеет отключат THC на углах и малых радиусах, параметры врезки указываются в ней, а не в уп. Получается я загрузил единственный файл с уп в линукс и им могу порезать любую толщину металла (для этого достаточно выбрать нужную толщину из списка с заранее установленными параметрами). В обычном аксике мне придется под каждую толщину писать свою уп.
Помимо этого, там можно сразу создавать уп для простых фигур, минуя CAD и Sheetcam
Вот чтоб все это работало, мне нужно подключить мой THC так, чтобы система давала команды подьема и опускания.
-
- Мастер
- Сообщения: 304
- Зарегистрирован: 18 май 2019, 15:24
- Репутация: 31
- Настоящее имя: Дмитрий
- Контактная информация:
Re: Конфигурация для плазморезки с внешним блоком THC
Американский форум: задал вопрос — получил ответ.
Израильский форум: задал вопрос — получил вопрос.
Русский форум: задал вопрос и потом долго выслушиваешь какой ты м*дак.
https://youtube.com/channel/UCv22xgeww0FIzS9n4VrT2TA
Израильский форум: задал вопрос — получил вопрос.
Русский форум: задал вопрос и потом долго выслушиваешь какой ты м*дак.
https://youtube.com/channel/UCv22xgeww0FIzS9n4VrT2TA
-
- Кандидат
- Сообщения: 93
- Зарегистрирован: 06 июл 2014, 16:24
- Репутация: 1
- Откуда: Sverdlovskay obl. Pervouralsk
- Контактная информация:
Re: Конфигурация для плазморезки с внешним блоком THC
Апну тему. Каким поспроцессором в sheetcam вы пользуетесь?odekolon писал(а): ↑25 окт 2015, 01:17 Обновление!
В связи со сборкой новой плазмы со встроенной логикой THC, дошли руки поправить старую конфигурацию с внешним блоком THC
Конфигурация рабочая, проверенная (кстати старая, работала до сих пор)
Что нового:
- улучшена работа детектора граней
- добавлены кнопки команд
- внешние сигналы вверх и вниз блокируются до начала реза (больше не нужно выставлять время на внешнем блоке)
- добавлена индикация текущей высoты реза (от последнего измерения float sw)
- увеличен шрифт
- мелкие доработки
- удалены ненужные комментарии все немножко "причесано" . Не вылизано, но хотя бы причесано.
- все настройки паралелльных портов - в одном файле (stepper_parort.hal)
выглядит теперь так:plasma2lpt.png
инструкции в файле README
архив с новой конфигурацией:
2LPTplazma.zip
...
Или если не сложно скиньте пример g-cod какой-нибудь детальки чтобы я мог подобрать\подогнать постпроцессор
П.с. Я ещё в процессе настройки этого конфига возможно появятся другие вопросы
-
- Кандидат
- Сообщения: 93
- Зарегистрирован: 06 июл 2014, 16:24
- Репутация: 1
- Откуда: Sverdlovskay obl. Pervouralsk
- Контактная информация:
Re: Конфигурация для плазморезки с внешним блоком THC
Пожалуйста помогите запустить конфигурацию из первого сообщения.
В HAL и INI изменил на свои значение из рабочего конфига.
И чтобы я не отправлял на 15 пин всё равно висит что он уперся в лимит Уже всяко попробовал
В HAL и INI изменил на свои значение из рабочего конфига.
И чтобы я не отправлял на 15 пин всё равно висит что он уперся в лимит Уже всяко попробовал
-
- Кандидат
- Сообщения: 93
- Зарегистрирован: 06 июл 2014, 16:24
- Репутация: 1
- Откуда: Sverdlovskay obl. Pervouralsk
- Контактная информация:
Re: Конфигурация для плазморезки с внешним блоком THC
Я начинаю сходить с ума... и так начну описывать и может в процессе описания найдётся решение. Есть желание запустить конфиг из первого поста с внешним блоком THC. THC CHCUFA2.0. Блог выдаёт сигналы вниз/вверх/дуга ок.
Имею ПК у которого на материнской плате есть порт с адресом 0X378 этот lpt соединён с платой коммутации PLC4x-G2 (осталась ещё от самого первого фрезера) и через этот порт настроил движение по осям и включение пилотной дуги помощью реле. Датчиков HOME нету (они есть но не подключены). Датчик проб в планах установить.
Ещё есть второй LPT вставленный в слот PCI но я пока не нашёл его адрес. Есть вторая плата коммутации BL - MACH - V1.1 D305. Лежит свободная.
Первый вопрос - имеет ли смысл заменить PL4x-G2 на BL - MACH - V1.1 D305 чтобы выводы совпадали с конфигом?
На данный момент в файле stepper_parport.hal я измени всё что касается движения осей и также поправил в plasma2lpt.ini параметры. Данные брал из рабочего конфига "мой станок"
При установке Ydir 8 ногу на порт 0x378 (LPT на материнской плате) EMC при запуске валится в ошибку.
Если закомментировать строку "net TorchOn parport.1.pin-08-out" EMC загружается. И это несмотря на то что эта строка относится к второму порту. Ок! Т.к. у меня нету (не подключены) концевиков то и реле включения висит на 14 ноге то меняю пины следующим образом:
-все пределы на второй лпт
-все сигналы от THC на первый порт
- строку "net FloatSwitch <= parport.1.pin-12-in-not" инвертирую иначе он не даёт включит станок чтобы по двигать осями
В итоге происходит следующее:
- можно по двигать всеми осями
- при подачи тестового сигнала от THC вниз/вверх на панельке справа загораться соответствующий зелёный марке (вврех\вниз) и как не странно горит ещё маркер "дуга"
-Но! При подаче сигнала дуга ОК горит индикатор дуги и оба маркера вверх\вниз. При снятии этого сигнала ни один из индикаторов не горит.
И я не знаю правильная ли это логика работы. Я считал что при подаче сигнала "дуга ок" от THC должен загораться только индикатор "дуга"
Едем дальше. Чтобы это проверить нужно захоумить станок но на команду хоум любой из осей станок отвечает ошибкой.
Дальше у меня нет мыслей как действовать. По этому прикреплюю папку с конфигами Может быть уважаемые форумчани что-то подскажут.
П.с. Пару вопросов не совсем по теме:
1. Как в linux запретить выключать экран при простое? Это очень похоже на аля энергосбережение но из него станок долго выходит. Раньше он заставку показывал я сейчас не вспомню но как-то поборол этот момент. Теперь он просто выключает монитор.
2. Попробовал много способов найти адрес второго порта но не увенчалось успехом либо я чего-то не вижу а оно есть.
В терминале попробовал lspci -v и что из этого есть адрес второго порта и почему в конце только один порт видит и почему у него странный адрес типа "10**" а не "0x**" для меня неизвестно хотя завтра попробую. Может это он и есть
Имею ПК у которого на материнской плате есть порт с адресом 0X378 этот lpt соединён с платой коммутации PLC4x-G2 (осталась ещё от самого первого фрезера) и через этот порт настроил движение по осям и включение пилотной дуги помощью реле. Датчиков HOME нету (они есть но не подключены). Датчик проб в планах установить.
Ещё есть второй LPT вставленный в слот PCI но я пока не нашёл его адрес. Есть вторая плата коммутации BL - MACH - V1.1 D305. Лежит свободная.
Первый вопрос - имеет ли смысл заменить PL4x-G2 на BL - MACH - V1.1 D305 чтобы выводы совпадали с конфигом?
На данный момент в файле stepper_parport.hal я измени всё что касается движения осей и также поправил в plasma2lpt.ini параметры. Данные брал из рабочего конфига "мой станок"
При установке Ydir 8 ногу на порт 0x378 (LPT на материнской плате) EMC при запуске валится в ошибку.
Если закомментировать строку "net TorchOn parport.1.pin-08-out" EMC загружается. И это несмотря на то что эта строка относится к второму порту. Ок! Т.к. у меня нету (не подключены) концевиков то и реле включения висит на 14 ноге то меняю пины следующим образом:
-все пределы на второй лпт
-все сигналы от THC на первый порт
- строку "net FloatSwitch <= parport.1.pin-12-in-not" инвертирую иначе он не даёт включит станок чтобы по двигать осями
Код: Выделить всё
# датчик поверхности
# 12 pin 1 LPT
net FloatSwitch <= parport.1.pin-12-in-not
# Внешний ЕСТОП
net ExtEStop parport.0.pin-10-in
#net ExtEStop parport.0.pin-10-in-not
# пределы X
#net both-home-x <= parport.1.pin-12-in
# пределы Y
#net both-home-y <= parport.1.pin-13-in
# пределы Z
net LimitZ parport.1.pin-15-in-not
# сигналы THC
# от второго порта
# сигнал включить горелку
net TorchOn parport.0.pin-14-out
# сигнал Есть дуга
net ArcOK <= parport.0.pin-13-in-not
# внешний сигнал "опустить горелку"
net py_moveDown <= parport.0.pin-11-in-not
# внешний сигнал "поднять горелку"
net py_moveUp <= parport.0.pin-12-in-not
- можно по двигать всеми осями
- при подачи тестового сигнала от THC вниз/вверх на панельке справа загораться соответствующий зелёный марке (вврех\вниз) и как не странно горит ещё маркер "дуга"
-Но! При подаче сигнала дуга ОК горит индикатор дуги и оба маркера вверх\вниз. При снятии этого сигнала ни один из индикаторов не горит.
И я не знаю правильная ли это логика работы. Я считал что при подаче сигнала "дуга ок" от THC должен загораться только индикатор "дуга"
Едем дальше. Чтобы это проверить нужно захоумить станок но на команду хоум любой из осей станок отвечает ошибкой.
Дальше у меня нет мыслей как действовать. По этому прикреплюю папку с конфигами Может быть уважаемые форумчани что-то подскажут.
П.с. Пару вопросов не совсем по теме:
1. Как в linux запретить выключать экран при простое? Это очень похоже на аля энергосбережение но из него станок долго выходит. Раньше он заставку показывал я сейчас не вспомню но как-то поборол этот момент. Теперь он просто выключает монитор.
2. Попробовал много способов найти адрес второго порта но не увенчалось успехом либо я чего-то не вижу а оно есть.
В терминале попробовал lspci -v и что из этого есть адрес второго порта и почему в конце только один порт видит и почему у него странный адрес типа "10**" а не "0x**" для меня неизвестно хотя завтра попробую. Может это он и есть
-
- Мастер
- Сообщения: 714
- Зарегистрирован: 18 май 2019, 13:23
- Репутация: 96
- Настоящее имя: Андрей
- Контактная информация:
Re: Конфигурация для плазморезки с внешним блоком THC
а конфиг прописать не проще??Oleg_Pvk писал(а): имеет ли смысл заменить PL4x-G2 на BL - MACH - V1.1 D305 чтобы выводы совпадали с конфигом?
[TRAJ]
NO_FORCE_HOMING = 1
наверное нет.Oleg_Pvk писал(а): И я не знаю правильная ли это логика работы.
надо открывать halshow в меню сверху, и там выбрать нужные пины - мониторить их состояние в реальном времени. Для начала убедится что каждый их них загорается отдельно при замыкании соответствующего пина ЛПТ порта.
Дальше надо убедится, что при замыкании нужного пина LCNC делает заданное действие. Up/DOWN заставляют ось Z двигаться в указанном направлении.
ARC_OK это вообще не факт что используется в конфигурации.
Есть аплет для LCNC для работы с плазмой, там и интерфейс другой и кажется обработка Arc_Ok внутри.
пока Arc_Ok не горит - мы в процессе разжига дуги. И никуда ни при каких других обстоятельствах не движемся. UP/DOWN при этом тоже не должны отрабатываться. Так как Арк-ОК это когда у тебя УЖЕ плавится металл.
так же отдельно убедится, что Арк-Ок с ТНС подается когда мы зажгли рабочую дугу и готовы резать.
Ну и отдельно UP/DOWN со стороны ТНС генерятся правильно.
Вот после всего этого можно будет уже связывать все это и проверять логику работы уже LinuxCNC
-
- Кандидат
- Сообщения: 50
- Зарегистрирован: 16 май 2017, 12:34
- Репутация: 0
- Откуда: Тимашевск
- Контактная информация:
Re: Конфигурация для плазморезки с внешним блоком THC
Посмотрите здесь все есть .https://forum.linuxcnc.org/plasmac