Страница 3 из 3

Re: Конфигурация для плазморезки с внешним блоком THC

Добавлено: 09 фев 2022, 00:07
Edifier
ex71 писал(а): там не так пишется
Спасибо за код. А можно хоть краткое пояснение к строкам из него? Сейчас для меня это набор цифр и букв.

Re: Конфигурация для плазморезки с внешним блоком THC

Добавлено: 09 фев 2022, 09:12
ex71
в кратце не объяснить.. надо почитать вот это. тут основы написания конфигурации HAL.
потом вспомнить или понять булеву логику и бинарные операции. Когда 1+1=1.
к примеру 1 or 0 = 1 (или). 1 and 0=0 (и)
и на основе этого надо переписать сравнение dir с результатом сравнения motor-pos-cmd и нуля. На выходе будет либо активация порта либо нет, для движения в одну сторону.
для обратного направления можно сравнивать dir через and. Теоретически... Надо пробовать.

Либо писать компонент(модуль) на питоне или сях.

Re: Конфигурация для плазморезки с внешним блоком THC

Добавлено: 09 фев 2022, 17:45
Edifier
ex71 писал(а): надо почитать вот это. тут основы написания конфигурации HAL.
Спасибо. Благодаря вашему примеру кода и бессонной ночи изучения основ, попытался написать свой первый код

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

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

Но я не уверен, что это правильный вариант построения нужной мне логики. В программе, с помощью мониторинга пинов, вроде все работает. Но не будет ли в будущем мой код конфликтовать с чем либо, или сильно грузить комп этим процессом?

Re: Конфигурация для плазморезки с внешним блоком THC

Добавлено: 10 фев 2022, 10:35
ex71
Edifier писал(а): Но не будет ли в будущем мой код конфликтовать с чем либо, или сильно грузить комп этим процессом?
нормально все будет. таких спрятанных алгоритмов много. Весь HAL это подобные связки
Надо просто тестировать на реальном железе. Там еще есть вопрос в точности подстройки оси. То есть когда lcnc все еще дает задание на движение, а привод не может сместиться на такое малое значение и будет постоянно перескакивать ЧЕРЕЗ позицию, и так его будет гонять вверх-вниз в пределах допустим миллиметра.

Что за "free planner" ?

Re: Конфигурация для плазморезки с внешним блоком THC

Добавлено: 10 фев 2022, 13:08
Edifier
ex71 писал(а): Что за "free planner" ?
Хз.
Нашел битовый сигнал, который включается при движении оси . Для каких целей он существует, я не знаю, главное что он подает нужный мне сигнал.

upd. Полез искать что значит этот сигнал и оказалось он показывает свободное перемещение оси. При исполнении программы не активен.

Re: Конфигурация для плазморезки с внешним блоком THC

Добавлено: 10 фев 2022, 14:22
Edifier
Сейчас задумался. Может начать думать в противоположном направлении? С THC подавать сигналы в линукс и затем управлять шаговиком. Так у меня расширяются возможности настроек оси. Но вот есть сомнения по быстродействию. Не будет ли линукс сильно задерживать сигнал при обработке? Еще и с THC скорей всего на мотор подается ШИМ, потому не уверен, что его можно подключить к входному пину контроллера.
В общем поспешил с покупкой этого THC. Не думал, что будет такой головняк

Re: Конфигурация для плазморезки с внешним блоком THC

Добавлено: 10 фев 2022, 20:28
daiman444
ex71 писал(а): Мне же нужно указывать сколько секунд (или миллисекунд) подавать сигнал для THC.
Мне кажется, то что вы ищите, можно сделать гораздо проще. Как я понимаю: вам нужно сделать подпрыжку при прожиге толстого металла. Если я вас правильно понимаю, то вам нужна всего лишь добавленная в уп строчка:

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

M66 P0 L3 Q1
Эта команда задает цифровому пину 0(P0) высокий уровень, или единицу, или истину(L3) ожидая какого либо события на протяжении заданного времени в секундах(Q1). Почему то не вставляется ссылка на описание. Посмотрите документацию на linuxcnc.org в разделе М кодов.

Вы можете вставить на прямую эту команду в уп, а можете вставить ее в макрос прожига. В макросе можно будет параметры P, L и Q сделать так чтобы задавать их из gladevcp например

Re: Конфигурация для плазморезки с внешним блоком THC

Добавлено: 10 фев 2022, 22:07
Edifier
daiman444 писал(а): Мне кажется, то что вы ищите, можно сделать гораздо проще. Как я понимаю: вам нужно сделать подпрыжку при прожиге толстого металла. Если я вас правильно понимаю, то вам нужна всего лишь добавленная в уп строчка:
Проблемы в подпрыжке нет. Мой THC все это умеет делать автономно без участия линукса. И подключить его к дефолтному аксику вообще не проблема. Командами М3 и М5 она нормально управляется.
Но, мне хотелось использовать QTPlasmaC, которая имеет огромное количество полезных функций. К примеру она сама рассчитывает отступ траектории на заданную толщину реза , умеет отключат THC на углах и малых радиусах, параметры врезки указываются в ней, а не в уп. Получается я загрузил единственный файл с уп в линукс и им могу порезать любую толщину металла (для этого достаточно выбрать нужную толщину из списка с заранее установленными параметрами). В обычном аксике мне придется под каждую толщину писать свою уп.
Помимо этого, там можно сразу создавать уп для простых фигур, минуя CAD и Sheetcam
Вот чтоб все это работало, мне нужно подключить мой THC так, чтобы система давала команды подьема и опускания.

Re: Конфигурация для плазморезки с внешним блоком THC

Добавлено: 11 фев 2022, 03:50
daiman444
Edifier писал(а): давала
Ответ на ваши поиски я уже дал😁😁

Re: Конфигурация для плазморезки с внешним блоком THC

Добавлено: 01 июн 2023, 09:39
Oleg_Pvk
odekolon писал(а): 25 окт 2015, 01:17 Обновление!
В связи со сборкой новой плазмы со встроенной логикой THC, дошли руки поправить старую конфигурацию с внешним блоком THC
Конфигурация рабочая, проверенная (кстати старая, работала до сих пор)
Что нового:
- улучшена работа детектора граней
- добавлены кнопки команд
- внешние сигналы вверх и вниз блокируются до начала реза (больше не нужно выставлять время на внешнем блоке)
- добавлена индикация текущей высoты реза (от последнего измерения float sw)
- увеличен шрифт
- мелкие доработки
- удалены ненужные комментарии все немножко "причесано" . Не вылизано, но хотя бы причесано. :hehehe:
- все настройки паралелльных портов - в одном файле (stepper_parort.hal)

выглядит теперь так:plasma2lpt.png
инструкции в файле README
архив с новой конфигурацией:
2LPTplazma.zip
...
Апну тему. Каким поспроцессором в sheetcam вы пользуетесь?
Или если не сложно скиньте пример g-cod какой-нибудь детальки чтобы я мог подобрать\подогнать постпроцессор

П.с. Я ещё в процессе настройки этого конфига возможно появятся другие вопросы

Re: Конфигурация для плазморезки с внешним блоком THC

Добавлено: 01 июн 2023, 12:22
Oleg_Pvk
Пожалуйста помогите запустить конфигурацию из первого сообщения.
В HAL и INI изменил на свои значение из рабочего конфига.
И чтобы я не отправлял на 15 пин всё равно висит что он уперся в лимит
photo_2023-06-01_16-24-38.jpg (2855 просмотров) <a class='original' href='./download/file.php?id=207988&sid=55bf6427412bce3e0d5dcb66db5b4d29&mode=view' target=_blank>Загрузить оригинал (169.73 КБ)</a>
Уже всяко попробовал

Re: Конфигурация для плазморезки с внешним блоком THC

Добавлено: 01 июн 2023, 19:54
Oleg_Pvk
Я начинаю сходить с ума... и так начну описывать и может в процессе описания найдётся решение. Есть желание запустить конфиг из первого поста с внешним блоком 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" инвертирую иначе он не даёт включит станок чтобы по двигать осями

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

# датчик поверхности
# 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 должен загораться только индикатор "дуга"
Едем дальше. Чтобы это проверить нужно захоумить станок но на команду хоум любой из осей станок отвечает ошибкой.
Дальше у меня нет мыслей как действовать. По этому прикреплюю папку с конфигами
configs.zip
(375.74 КБ) 107 скачиваний
Может быть уважаемые форумчани что-то подскажут.

П.с. Пару вопросов не совсем по теме:
1. Как в linux запретить выключать экран при простое? Это очень похоже на аля энергосбережение но из него станок долго выходит. Раньше он заставку показывал я сейчас не вспомню но как-то поборол этот момент. Теперь он просто выключает монитор.
2. Попробовал много способов найти адрес второго порта но не увенчалось успехом либо я чего-то не вижу а оно есть.
В терминале попробовал lspci -v и что из этого есть адрес второго порта и почему в конце только один порт видит и почему у него странный адрес типа "10**" а не "0x**" для меня неизвестно хотя завтра попробую. Может это он и есть
photo_2023-06-01_21-50-15.jpg (2846 просмотров) <a class='original' href='./download/file.php?id=207997&sid=55bf6427412bce3e0d5dcb66db5b4d29&mode=view' target=_blank>Загрузить оригинал (219.05 КБ)</a>
photo_2023-06-01_21-50-17.jpg (2846 просмотров) <a class='original' href='./download/file.php?id=207996&sid=55bf6427412bce3e0d5dcb66db5b4d29&mode=view' target=_blank>Загрузить оригинал (216.05 КБ)</a>
photo_2023-06-01_21-50-19.jpg (2846 просмотров) <a class='original' href='./download/file.php?id=207995&sid=55bf6427412bce3e0d5dcb66db5b4d29&mode=view' target=_blank>Загрузить оригинал (208.01 КБ)</a>
photo_2023-06-01_21-50-22.jpg (2846 просмотров) <a class='original' href='./download/file.php?id=207994&sid=55bf6427412bce3e0d5dcb66db5b4d29&mode=view' target=_blank>Загрузить оригинал (203.65 КБ)</a>
photo_2023-06-01_21-50-13.jpg (2846 просмотров) <a class='original' href='./download/file.php?id=207993&sid=55bf6427412bce3e0d5dcb66db5b4d29&mode=view' target=_blank>Загрузить оригинал (216 КБ)</a>

Re: Конфигурация для плазморезки с внешним блоком THC

Добавлено: 02 июн 2023, 11:07
ex71
Oleg_Pvk писал(а): имеет ли смысл заменить PL4x-G2 на BL - MACH - V1.1 D305 чтобы выводы совпадали с конфигом?
а конфиг прописать не проще??
Oleg_Pvk писал(а): Чтобы это проверить нужно захоумить станок но на команду хоум любой из осей станок отвечает ошибкой.
[TRAJ]
NO_FORCE_HOMING = 1
Oleg_Pvk писал(а): И я не знаю правильная ли это логика работы.
наверное нет.
надо открывать halshow в меню сверху, и там выбрать нужные пины - мониторить их состояние в реальном времени. Для начала убедится что каждый их них загорается отдельно при замыкании соответствующего пина ЛПТ порта.
Дальше надо убедится, что при замыкании нужного пина LCNC делает заданное действие. Up/DOWN заставляют ось Z двигаться в указанном направлении.
ARC_OK это вообще не факт что используется в конфигурации.
Есть аплет для LCNC для работы с плазмой, там и интерфейс другой и кажется обработка Arc_Ok внутри.
пока Arc_Ok не горит - мы в процессе разжига дуги. И никуда ни при каких других обстоятельствах не движемся. UP/DOWN при этом тоже не должны отрабатываться. Так как Арк-ОК это когда у тебя УЖЕ плавится металл.

так же отдельно убедится, что Арк-Ок с ТНС подается когда мы зажгли рабочую дугу и готовы резать.
Ну и отдельно UP/DOWN со стороны ТНС генерятся правильно.
Вот после всего этого можно будет уже связывать все это и проверять логику работы уже LinuxCNC

Re: Конфигурация для плазморезки с внешним блоком THC

Добавлено: 11 июн 2023, 22:06
web123456
Посмотрите здесь все есть .https://forum.linuxcnc.org/plasmac