Такой принцип используется, к примеру, на прессах. Чтобы обе руки занять.Nick писал(а):лучше эти кнопки на Estop завести
EMC2 - пояснялка от "чайника"
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: EMC2 - пояснялка от "чайника"
Чудес не бывает. Бывают фокусы.
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: EMC2 - пояснялка от "чайника"
Чтобы было чем потом в носу ковырять 
Хочешь быть счастливым? Будь им!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: EMC2 - пояснялка от "чайника"
Ну я в том плане, что имхо лучше не на enable шаговиков, а сразу на estop.
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: EMC2 - пояснялка от "чайника"
Конечно лучше! Но тогда бы мы не смогли подключить сразу три одинаковых компонента
а ТУТ очень наглядно 
Хочешь быть счастливым? Будь им!
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: EMC2 - пояснялка от "чайника"
Компоненты реального времени. Часть 2.
Аналогично "цифровым" прототипам в LinuxCNC есть и "аналоговые" компоненты:
integ - интегратор
invert - инвертор
limit[N] - ограничитель сигнала между min и max
lowpass - низкочастотный фильтр
mux2, mux4, mux8 - коммутаторы сигналов на 2, 4, 8 коммутируемых входов
и другие...
Аналогично "цифровым" прототипам в LinuxCNC есть и "аналоговые" компоненты:
integ - интегратор
invert - инвертор
limit[N] - ограничитель сигнала между min и max
lowpass - низкочастотный фильтр
mux2, mux4, mux8 - коммутаторы сигналов на 2, 4, 8 коммутируемых входов
и другие...
Хочешь быть счастливым? Будь им!
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: EMC2 - пояснялка от "чайника"
Своя панель. Первые шаги.
В процессе отладки своего станка часто возникает потребность визуального контроля процесса или оперативного изменения параметров работы станка. Как это реализовать, если на стандартной панели таких элементов нет? Конечно, сделать эти элементы самостоятельно!
Начнём с простого примера.
Нужно контролировать состояние сигналов 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.
(продолжение следует...)
В процессе отладки своего станка часто возникает потребность визуального контроля процесса или оперативного изменения параметров работы станка. Как это реализовать, если на стандартной панели таких элементов нет? Конечно, сделать эти элементы самостоятельно!
Начнём с простого примера.
Нужно контролировать состояние сигналов 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.
(продолжение следует...)
Хочешь быть счастливым? Будь им!
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: EMC2 - пояснялка от "чайника"
Как "прикрутить" свою панель со стандартной?
Сразу оговорюсь, что "стандартной" панелью назвал панель AXIS - это самая распространенная панель у новичков.
Для начала: Файл, в котором будем прописывать связи пинов панели с пинами CNC называется posgui.hal и лежит он в папке конфигурации (в папке с настройками - там, где лежат файлы .ini и .hal)
Свою панель вырисовываем в Glade (это такая программа для создания визуальной панели) и сохраняем в папке конфигурации под именем mygui.ui При прорисовывании в Glade брать "кнопки" и "индикаторы", по возможности, из меню HAL_PYTHON
В .ini прописываем:
[DISPLAY]
GLADEVCP = mygui.ui
Теперь при запуске CNC mygui.ui мы увидим стандартную панель с прикрученной к ней справа нашей панелью. Если открыть в CNC Станок-Установки HAL - PINS - gladevcp, то можно посмотреть весь список пинов нашей панели.
Когда дополнительных кнопок и индикаторов много - лучше для себя сделать табличку соответствий: пин панели - пин компонента - действие (так будет всё понятно и запутаться будет труднее).
Сразу оговорюсь, что "стандартной" панелью назвал панель AXIS - это самая распространенная панель у новичков.
Для начала: Файл, в котором будем прописывать связи пинов панели с пинами CNC называется posgui.hal и лежит он в папке конфигурации (в папке с настройками - там, где лежат файлы .ini и .hal)
Свою панель вырисовываем в Glade (это такая программа для создания визуальной панели) и сохраняем в папке конфигурации под именем mygui.ui При прорисовывании в Glade брать "кнопки" и "индикаторы", по возможности, из меню HAL_PYTHON
В .ini прописываем:
[DISPLAY]
GLADEVCP = mygui.ui
Теперь при запуске CNC mygui.ui мы увидим стандартную панель с прикрученной к ней справа нашей панелью. Если открыть в CNC Станок-Установки HAL - PINS - gladevcp, то можно посмотреть весь список пинов нашей панели.
Когда дополнительных кнопок и индикаторов много - лучше для себя сделать табличку соответствий: пин панели - пин компонента - действие (так будет всё понятно и запутаться будет труднее).
Хочешь быть счастливым? Будь им!
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: EMC2 - пояснялка от "чайника"
Как "связать" кнопки своей панели с 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.
Для связи нашей панели с 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.
Хочешь быть счастливым? Будь им!
