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

Re: EMC2 - пояснялка от "чайника"

Добавлено: 22 фев 2013, 02:49
Сергей Саныч
Nick писал(а):лучше эти кнопки на Estop завести
Такой принцип используется, к примеру, на прессах. Чтобы обе руки занять.

Re: EMC2 - пояснялка от "чайника"

Добавлено: 22 фев 2013, 06:44
Ворон226
Чтобы было чем потом в носу ковырять ;)

Re: EMC2 - пояснялка от "чайника"

Добавлено: 22 фев 2013, 10:05
Nick
Ну я в том плане, что имхо лучше не на enable шаговиков, а сразу на estop.

Re: EMC2 - пояснялка от "чайника"

Добавлено: 22 фев 2013, 20:12
Ворон226
Конечно лучше! Но тогда бы мы не смогли подключить сразу три одинаковых компонента ;) а ТУТ очень наглядно ;)

Re: EMC2 - пояснялка от "чайника"

Добавлено: 27 фев 2013, 15:17
Ворон226
Компоненты реального времени. Часть 2.

Аналогично "цифровым" прототипам в LinuxCNC есть и "аналоговые" компоненты:

integ - интегратор
invert - инвертор
limit[N] - ограничитель сигнала между min и max
lowpass - низкочастотный фильтр
mux2, mux4, mux8 - коммутаторы сигналов на 2, 4, 8 коммутируемых входов
и другие...

Re: EMC2 - пояснялка от "чайника"

Добавлено: 27 фев 2013, 17:37
Ворон226
Своя панель. Первые шаги.

В процессе отладки своего станка часто возникает потребность визуального контроля процесса или оперативного изменения параметров работы станка. Как это реализовать, если на стандартной панели таких элементов нет? Конечно, сделать эти элементы самостоятельно!

Начнём с простого примера.
Нужно контролировать состояние сигналов stepgen.0.enable, stepgen.1.enable и stepgen.2.enable.

Светодиоды! Вот что нам понадобится. Но не настоящие из кремния и пластика, а "нарисованные". ;)

1. Создаём файл с именем ledall.xml
Делаем его в обычном текстовом редакторе.
Пишем:

<pyvcp>
<led halpin="led0" />
<led halpin="led1" />
<led halpin="led2" />
</pyvcp>

halpin - это процедура задания имени "светодиода" в .hal

Сохраняем файл как ledall.xml в папку с файлом нашего .ini файла!

2. Прописываем в .ini в разделе [DISPLAY]:
PYVCP=ledall.xml
а в разделе [HAL]:
POSTGUI_HALFILE = ledall.hal
3. Создаём файл ledall.hal и прописываем в нём:
net xenable => pyvcp.led0
net yenable => pyvcp.led1
net zenable => pyvcp.led-2

Как вы уже поняли, мы использовали СИГНАЛЫ xenable, yenable и zenable из нашего файла .hal:
net xenable <= axis.0.amp-enable-out => stepgen.0.enable
net yenable <= axis.1.amp-enable-out => stepgen.1.enable
net zxenable <= axis.2.amp-enable-out => stepgen.2.enable
, т.е. эти сигналы обязательно должны быть уже созданы в файле .hal

Теперь мы можем видеть состояние наших двигателей во время работы станка.
По умолчанию КРАСНЫЙ - это FALSE или 0, а ЗЕЛЕНЫЙ - это TRUE или 1.

(продолжение следует...)

Re: EMC2 - пояснялка от "чайника"

Добавлено: 10 мар 2013, 21:35
Ворон226
Как "прикрутить" свою панель со стандартной?

Сразу оговорюсь, что "стандартной" панелью назвал панель AXIS - это самая распространенная панель у новичков.

Для начала: Файл, в котором будем прописывать связи пинов панели с пинами CNC называется posgui.hal и лежит он в папке конфигурации (в папке с настройками - там, где лежат файлы .ini и .hal)

Свою панель вырисовываем в Glade (это такая программа для создания визуальной панели) и сохраняем в папке конфигурации под именем mygui.ui При прорисовывании в Glade брать "кнопки" и "индикаторы", по возможности, из меню HAL_PYTHON

В .ini прописываем:

[DISPLAY]
GLADEVCP = mygui.ui

Теперь при запуске CNC mygui.ui мы увидим стандартную панель с прикрученной к ней справа нашей панелью. Если открыть в CNC Станок-Установки HAL - PINS - gladevcp, то можно посмотреть весь список пинов нашей панели.

Когда дополнительных кнопок и индикаторов много - лучше для себя сделать табличку соответствий: пин панели - пин компонента - действие (так будет всё понятно и запутаться будет труднее).

Re: EMC2 - пояснялка от "чайника"

Добавлено: 10 мар 2013, 21:37
Ворон226
Как "связать" кнопки своей панели с CNC?

Для связи нашей панели с CNC используем пины различных компонентов.

ВНИМАНИЕ! Особо обратите внимание на компонент halui - в нём есть множество полезных пинов!

1. Прописываем в .ini , что мы будем использовать компонент halui:

[HAL]
HALUI = halui

2. В описании EMC2 внимательно читаем о пинах компонента halui Например, Мы хотим на своей панели поставить индикатор "E-STOP". Берем в Glade в разделе "HAL_PYTHON" индикатор LED (он, например, прописал свой пин как hal_led1 Ищем соответствующий пин в halui:

10.2.3 E-Stop (АВОСТ)
halui.estop.is-activated (bit, out)- отображает состояние E-stop.

Прописываем в postgui.hal (связываем эти два пина):

net led-estop <= halui.estop.is-activated => gladevcp.hal_led1

Теперь у нас индикатор на панели показывает состояние E-STOP.