Поддержка MESA в EMC2

Работа с платами MESA, подключение, конфигурация.
eekot
Кандидат
Сообщения: 76
Зарегистрирован: 16 дек 2010, 01:51
Репутация: 15
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение eekot »

Nick спасибо!! ща буду читать про halui вернее пытаться :oops:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение Nick »

А какие кнопки ты хочешь реализовать?
eekot
Кандидат
Сообщения: 76
Зарегистрирован: 16 дек 2010, 01:51
Репутация: 15
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение eekot »

Так это ща с мыслями соберусь...
1. estop - работет
2. All Home - уже работает !!! :cheesy:
3. сказать станку, что все в нулях
4. Run
5. Pause
5. Сброс всех ошибок
6. Включить машину F2
7. Двигать Х +
8. Двигать X -
9. Двигать Y +
10. Двигать Y -
11. Двигать Z +
12. Двигать Z -
13. Скорость +
14. Скорость -
15. Сменить стол - это М команда будет наверняка

наверняка чето забыл
Походу больше половины этих кнопок в твоей ссылке есть :D

А вот бы еще регуляторы:
1. Скорость подачи от 0 до 200%
2. Давление газа резки от 0 до 200%
3. Давление газа Врезки от 0 до 200%
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение Nick »

Все эти давления, на сколько я помню, регулируются через внешние утилиты? Хотя это и не важно. Создаешь параметр pressure_override заводишь на него нужные пины, а потом используешь регулятором давления как дополнительный множитель.

Кстати все не realtime параметры можно регулировать через произвольные контроллеры и внешние программы. Начиная обычной кнопочкой на экране, джойстиком и заканчивая тачскрином.
eekot
Кандидат
Сообщения: 76
Зарегистрирован: 16 дек 2010, 01:51
Репутация: 15
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение eekot »

Вообщем уже пять кнопок прицепил :) естоп, все оси в ноль, включить машину, запуск программы и пауза программы.
Работает все кроме кнопки запуска программы. это который:
halui.program.run
pin for running a program

выкидывает ошибку :
не могу делать это (EMC_TASK_PLAN_RUN) в ручном режиме, в MDI тоже :(

Хотя пауза срабатывает, но если еще раз нажать, то фигушки, программа дальше не идет, тока если мышкой кликнуть на паузе.
непойму....
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение Nick »

Эта кнопка работает только в режиме auto, так же как и программа из EMC2 запустится только в режиме авто.
Т.е. на кнопку еще нужно смену режима прицепить.
eekot
Кандидат
Сообщения: 76
Зарегистрирован: 16 дек 2010, 01:51
Репутация: 15
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение eekot »

А как? Примерчик какой нить бы :think:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение Nick »

Ну пишешь что-то типа
net run_programm hm2_5i20.0.gpio.033.in => halui.mode.auto
net run_programm => haliu.program.run

Еще можно продумать разные проверки на то какая мода установлена, и можно ли сейчас программу запускать.
eekot
Кандидат
Сообщения: 76
Зарегистрирован: 16 дек 2010, 01:51
Репутация: 15
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение eekot »

:D Заработала :cheesy:
Тока если нажать на RUN во время выполнения программы, он опять ошибку выбивает и прога на стоп становиться :silent:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение Nick »

значит нужно сначала кинуть сигнал на and с not run...
нужно придумать что-то типа условия...
кстати, а может сразу придумать, что на повторное нажатие программа будет становиться на паузу?
eekot
Кандидат
Сообщения: 76
Зарегистрирован: 16 дек 2010, 01:51
Репутация: 15
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение eekot »

Nick писал(а): кстати, а может сразу придумать, что на повторное нажатие программа будет становиться на паузу?
вот это правильно! лишняя кнопка убирается 8-) а как ?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение Nick »

Создаем несколько сущностей компонента and и not.
И делаем логическую связку из сигналов.

нажатие кнопки и не (halui.program.is-running) -> и не (halui.program.is-paused) => halui.program.run
нажатие кнопки и (halui.program.is-paused) -> halui.program.resume
нажатие кнопки и (halui.program.is-running) -> и не (halui.program.is-paused) => halui.program.pause
eekot
Кандидат
Сообщения: 76
Зарегистрирован: 16 дек 2010, 01:51
Репутация: 15
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение eekot »

Спасиб! :) завтра буду пробывать
eekot
Кандидат
Сообщения: 76
Зарегистрирован: 16 дек 2010, 01:51
Репутация: 15
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение eekot »

Млять !!! pncconf - затирает ХАЛ :evil: :o :shock:
Решил через него кнопочки на jog добавить. В итоге хал без моих вручную введенных строк.
Хотя банер был перед запуском конфига :crazy: по ходу лох я...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение Nick »

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

ЗЫ а сообщения и вправду лучше читать. Мне в этом плане нравится как работает ssh, там нужно не просто "y" или "n" ответить, а написать полностью "yes"
eekot
Кандидат
Сообщения: 76
Зарегистрирован: 16 дек 2010, 01:51
Репутация: 15
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение eekot »

Восстановил :freak: а то чето расслабился, без резервных копий работать низззяя!!!


Идем дальше. Очень хочется чтото типа тачпада с кнопками по осям Х+, Х-, Y+, Y-, Z+, Z-

Вот в моем понимании это выглядит так примерно. С учетом моего английского на двойку :oops: . Nick поправь ляпы плиз.

jog
1. halui.jog.deadband pin for setting jog analog deadband (where not to move) (float, in) - deadband for analog jogging (smaller jogging speed requests are not performed) Пин для установки аналоговой мертвой зоны джога, где меньшие значения скорости ручных перемещений не исполняются. Входящий сигнал с плавающей точкой.

2. halui.jog.speed pin for setting jog speed. will be used for minus/plus jogging. (float, in) Пин для установки скорости руч перемещения. Будет использоваться для минус/плюс ручн перемещения. Входящий сигнал с плавающей точкой.

3. halui.jog.N.analog pin for jogging the axis N using an float value (e.g. joystick) (float, in) - analog velocity input for jogging (usefull with joysticks or other analog devices). Пин для перемещений по оси N используя значения с плавающей точкой, аналоговый вход для задания скорости ручн перемещений (получают с джойстиков и других аналоговых устройств)

4. halui.jog.N.minus pin for jogging axis N in negative direction at the halui.jog.speed velocity. Пин для руч перем по оси N в негативном направлении со скоростью полученной от halui.jog.speed.

5. halui.jog.N.plus pin for jogging axis N in positive direction at the halui.jog.speed velocity. Пин для руч перем по оси N в позитивном направлении со скоростью полученной от halui.jog.speed.

6. halui.jog.selected.minus pin for jogging the selected axis in negative direction at the halui.jog.speed velocity. Пин для руч перем по выбранной оси в негативном направлении со скоростью полученной от halui.jog.speed.

7. halui.jog.selected.plus pin for jogging the selected axis in positive direction at the halui.jog.speed velocity. Пин для руч перем по выбранной оси в позитивном направлении со скоростью полученной от halui.jog.speed.

Вот тут и начинаются вопросы:
1. Как я понимаю, наиболее интересные мне пункты 4 и 5 не будут работать, без подачи сигнала на пин зацепленный с halui.jog.speed. А вот там флоат я так понимаю значение с плавающей точкой. А как оно выглядит? Простой аналоговый сигнал, от 0 до +5? Там АЦП на плате? Или последовательность импульсов какая-то.
2. Тогда в чем разница между пунктом 2 и 3?
3. И все завязано на пункт 1
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение Nick »

Ты все правильно понял!

Вот некоторые пояснения:

1. ты можешь загнать любое значение в halui.jog.speed при помощи setp halui.jog.speed 123.456789.

float это число с плавающей запятой оно позволяет задавать не целые числа в большом диапазоне с неизменной относительной точностью. Это достигается тем, что float выражается двумя частями мантиссой и порядком. Мантиса это число от -9.999... до 9.999... порядок это фактически сдвиг запятой вправо или влево. Float можно записать в виде (мантисса)*10(порядок). Иногда их пишут так : -3.1415e-10 = -0.00000000031415.
В ini его можно писать обычным дробным числом в обычной форме.

float сам по себе никак не выглядит :). Ты можешь его передавать как сигал ШИМ или другими путями. Но внутри EMC2 это просто float.

2. Analog позволяет перемешаться с переменной скоростью, например если у тебя есть джойстик, ты перемешаться медленно, если будешь отклонять джойстик на небольшое расстояние.А если у тебя есть только кнопки X+ и X-, то ты сможешь перемешаться только со скоростью заданной в halui.jog.speed

3. halui.jog.deadband влияет только на halui.jog.N.analog, позволяет игнорировать все маленькие отклонения.
eekot
Кандидат
Сообщения: 76
Зарегистрирован: 16 дек 2010, 01:51
Репутация: 15
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение eekot »

Было-бы идеально получить конструкцию в виде кнопок по осям, типа +Х -Х и двух кнопок на скорость spd_min, spd_max. При нажатии на первую скорость минимальна, вторую максимальная. Вот тока как?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение Nick »

тогда такой вариант:
loadrt flipflop names=jog_speed
loadrt mux2 names=jog_speed_mux

setp mux2.jog_speed_mux.in0 = 100
setp mux2.jog_speed_mux.in1 = 10

net flip_flop.jog_sped.out => setp mux2.jog_speed_mux.sel
net mux2.jog_speed_mux.out => halui.jog.speed
net [КНОПКА] => flip_flop.jog_sped.clk

mux2 - выбирает одно из двух in0 или in1 в зависимости от значения пина sel.
flipflop - выдает меняет свой вывод между 0 и 1 при каждом clk.
eekot
Кандидат
Сообщения: 76
Зарегистрирован: 16 дек 2010, 01:51
Репутация: 15
Контактная информация:

Re: Поддержка MESA в EMC2

Сообщение eekot »

Nick спасибо :) Как будет время попробую.
Ответить

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