Вкладки в pyvcp. Автопереключение

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

Re: Вкладки в pyvcp. Автопереключение

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

Старую версию N700Evfd заменил на новую?
Покажи, как именно ругается после замены N700Evfd.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
elephant007
Мастер
Сообщения: 857
Зарегистрирован: 18 ноя 2012, 13:12
Репутация: 332
Откуда: Сибирь, Томск
Контактная информация:

Re: Вкладки в pyvcp. Автопереключение

Сообщение elephant007 »

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

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

Debug file information:
Can not find -sec MOT -var MOT -num 1 
Can not find -sec IO -var IO -num 1 
Can not find -sec LINUXCNC -var NML_FILE -num 1 
Can not find -sec EMC -var NML_FILE -num 1 
custom_postgui.hal:11: Pin 'spindle-vfd.base-freq' does not exist
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: Вкладки в pyvcp. Автопереключение

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

elephant007 писал(а):custom_postgui.hal:11: Pin 'spindle-vfd.base-freq'
замени в своем custom_postgui.hal spindle-vfd.base-freq на spindle-vfd.motor-freq
Чудес не бывает. Бывают фокусы.
Аватара пользователя
elephant007
Мастер
Сообщения: 857
Зарегистрирован: 18 ноя 2012, 13:12
Репутация: 332
Откуда: Сибирь, Томск
Контактная информация:

Re: Вкладки в pyvcp. Автопереключение

Сообщение elephant007 »

ага ,помогло, еще поправил названия пинов при привязки к компонентам панелей относительно тока и напряжения.

теперь тормозит вот тут:

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

Debug file information:
Can not find -sec MOT -var MOT -num 1 
Can not find -sec IO -var IO -num 1 
Can not find -sec LINUXCNC -var NML_FILE -num 1 
Can not find -sec EMC -var NML_FILE -num 1 
custom_postgui.hal:21: Pin 'not.2.in' does not exist
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: Вкладки в pyvcp. Автопереключение

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

В главном hal-файле есть такие строчки?

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

loadrt not count=3
addf not.0 base-thread
addf not.1 base-thread
addf not.2 base-thread
Если нет, добавь.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
elephant007
Мастер
Сообщения: 857
Зарегистрирован: 18 ноя 2012, 13:12
Репутация: 332
Откуда: Сибирь, Томск
Контактная информация:

Re: Вкладки в pyvcp. Автопереключение

Сообщение elephant007 »

Есть такое дело, добавил.
теперь не нравится вот такое

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

custom_postgui.hal:32: Pin 'pyvcp.tabs.0.raise' does not exist
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: Вкладки в pyvcp. Автопереключение

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

Можешь пока эту строчку просто закомментировать. Надо менять компонент управления вкладками (собственно, что и обсуждалось в этой теме). Буду в понедельник на работе - сброшу. А так всё должно заработать, но переключение вкладок будет только ручное.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
elephant007
Мастер
Сообщения: 857
Зарегистрирован: 18 ноя 2012, 13:12
Репутация: 332
Откуда: Сибирь, Томск
Контактная информация:

Re: Вкладки в pyvcp. Автопереключение

Сообщение elephant007 »

Понял, мне этот вариант самый подходящий.
Подскажи, пожалуйста, как привязать к системе датчик длины инструмента. Это делается в этом файле tool_measure.ngc?
у меня оно читает из linuxcnc.var текущее положение и поехал вниз.
едет сколько то и пишет - неизвестный М-код.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: Вкладки в pyvcp. Автопереключение

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

elephant007 писал(а):как привязать к системе датчик длины инструмента.
Для этого служат подпрограммы zero_z.ngc, tool_measure_g30.ngc и get_tls_coord.ngc
Постпроцессор после команды смены инструмента должен вставлять вызов подпрограммы tool_measure_g30.

Порядок работы такой.
1. Намечаем на столе станка место, где будет стоять датчик длины инструмента (где угодно, лишь бы не мешал обработке, но был в пределах досягаемости инструмента.
2. Едем туда вручную. Нажимаем кнопку "Место датчика". Загорается зеленый "светодиод".
3. Ставим заготовку, устанавливаем первый инструмент, которым начнем обработку.
4. Ставим датчик на заготовку, вручную подводим туда инструмент - миллиметрах в 10-20 над датчиком. Нажимаем "Измерение высоты". Инструмент медленно опустится на датчик, потом поднимется. Всё, LCNC теперь знает высоту заготовки относительно установленного инструмента.
5. Ставим датчик на стол, в место, указанное в п. 1.
6. Запускаем программу. Постпроцессор попросит установить первый инструмент, а раз он уже стоит, нажимаем "продолжить". Заработает подпрограмма tool_measure_g30, станок поедет к датчику и померяет длину инструмента, после чего, не задавая лишних вопросов, LCNC начнет обработку. Тонкий момент: смещение первого инструмента принимается равным нулю, длины остальных будут получаться как положительными, так и отрицательными, но нас это волновать не должно :)
7. Дальше, по мере поступления команд смены инструмента, нам остается только заменять его на нужный для следующего этапа. Длина будет измеряться автоматически и учитываться в смещении.

Длины инструментов, указанные в таблице, игнорируются, измерение проводится каждый раз.

PS: в подпрограммах есть "магическая переменная" #<TLSheight> = 43.23 Это физическая высота датчика в момент его срабатывания. У меня она такая, у тебя, естественно, своя :)

Еще момент: для вывода сообщений и запросов используется команда M100 (самописная). По ней читай эту тему

Подпрограммы привязаны к кнопкам в ini-файле в секции [HALUI]

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

[HALUI]
MDI_COMMAND = o<zero_z> call
MDI_COMMAND = o<get_tls_coord> call
MDI_COMMAND = o<find_center> call
MDI_COMMAND = o<find_x> call
MDI_COMMAND = o<find_y> call
через hal-файл custom_posygui.

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

net tooloffset halui.mdi-command-00 <= pyvcp.offset-button
net get-tls-coord halui.mdi-command-01 <= pyvcp.tool-measure-point-button
net get-center halui.mdi-command-02 <= pyvcp.center-button
net get-x halui.mdi-command-03 <= pyvcp.x-measure-button
net get-y halui.mdi-command-04 <= pyvcp.y-measure-button
Чудес не бывает. Бывают фокусы.
Аватара пользователя
elephant007
Мастер
Сообщения: 857
Зарегистрирован: 18 ноя 2012, 13:12
Репутация: 332
Откуда: Сибирь, Томск
Контактная информация:

Re: Вкладки в pyvcp. Автопереключение

Сообщение elephant007 »

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

Re: Вкладки в pyvcp. Автопереключение

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

elephant007 писал(а):то есть мечта прикрутить намертво датчик длины разбита?
Почему???
Просто я один датчик использую и для измерения длины инструмента и для определения поверхности заготовки (авто Z ноль)
Никто не мешает взять два датчика, один закрепить на столе, а второй ставить на заготовку. Только надо будет в разных подпрограммах задать разные значения #<TLSheight> (вряд ли будут два самодельных датчика срабатывать на строго одинаковой высоте).
elephant007 писал(а):а у тебя как реализован этот момент?
А у меня датчик с магнитом, и стол чугунный :)

И еще есть другая подпрограмма измерения длины инструмента, которой координаты датчика задаются просто параметрами. Доживем до понедельника (с) - выложу.

PS: Пункт 4 (обнуление Z) можно выполнять и вручную "по бумажке" - все равно работать будет.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
elephant007
Мастер
Сообщения: 857
Зарегистрирован: 18 ноя 2012, 13:12
Репутация: 332
Откуда: Сибирь, Томск
Контактная информация:

Re: Вкладки в pyvcp. Автопереключение

Сообщение elephant007 »

:wik: не работает!
сделал файл, назвал М100, сделал его исполнимым, внутрь записал текст, который у тебя по ссылке был написан.
запускаю Аксис. Панель на месте, иду на вкладку сенсоры. Жму кнопку "Место датчика". выкидывается окошко Аксис "Уберите инструмент и нажмите продолжить". Жму продолжить. Вылетает ошибка "Использован неизвестный М-код"
в файле get_tls_coord.ngc на предпоследней строчке ссылка на М101, включение светодиода.
Это тоже нужно башевский скрипт писать?
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: Вкладки в pyvcp. Автопереключение

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

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

Re: Вкладки в pyvcp. Автопереключение

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

Обещанное:
pyvcp_widgets.py - по сравнению со стандартным введена возможность внешнего переключения вкладок. Положить в /usr/share/pyshared/pyvcp_widgets.py
M100 - вывод сообщений и запросов к оператору. Нужно установить yad.
M101 - зажигание светодиода "место датчика"
tool_measure.ngc - подпрограмма измерения инструмента. Параметры - позиция датчика (X, Y) в координатах станка (G53)
Вложения
Дополнительные файлы.zip
(11.8 КБ) 559 скачиваний
Чудес не бывает. Бывают фокусы.
Аватара пользователя
elephant007
Мастер
Сообщения: 857
Зарегистрирован: 18 ноя 2012, 13:12
Репутация: 332
Откуда: Сибирь, Томск
Контактная информация:

Re: Вкладки в pyvcp. Автопереключение

Сообщение elephant007 »

"Уррра, заработала!!!" (C Матроскин)
Спасибо тебе огромное!
Ответить

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