Страница 3 из 4
Re: Поддержка MESA в EMC2
Добавлено: 21 апр 2011, 13:47
eekot
Nick спасибо!! ща буду читать про halui вернее пытаться

Re: Поддержка MESA в EMC2
Добавлено: 21 апр 2011, 13:59
Nick
А какие кнопки ты хочешь реализовать?
Re: Поддержка MESA в EMC2
Добавлено: 21 апр 2011, 14:48
eekot
Так это ща с мыслями соберусь...
1. estop - работет
2. All Home - уже работает !!!
3. сказать станку, что все в нулях
4. Run
5. Pause
5. Сброс всех ошибок
6. Включить машину F2
7. Двигать Х +
8. Двигать X -
9. Двигать Y +
10. Двигать Y -
11. Двигать Z +
12. Двигать Z -
13. Скорость +
14. Скорость -
15. Сменить стол - это М команда будет наверняка
наверняка чето забыл
Походу больше половины этих кнопок в твоей ссылке есть
А вот бы еще регуляторы:
1. Скорость подачи от 0 до 200%
2. Давление газа резки от 0 до 200%
3. Давление газа Врезки от 0 до 200%
Re: Поддержка MESA в EMC2
Добавлено: 21 апр 2011, 15:55
Nick
Все эти давления, на сколько я помню, регулируются через внешние утилиты? Хотя это и не важно. Создаешь параметр pressure_override заводишь на него нужные пины, а потом используешь регулятором давления как дополнительный множитель.
Кстати все не realtime параметры можно регулировать через произвольные контроллеры и внешние программы. Начиная обычной кнопочкой на экране, джойстиком и заканчивая тачскрином.
Re: Поддержка MESA в EMC2
Добавлено: 21 апр 2011, 17:30
eekot
Вообщем уже пять кнопок прицепил

естоп, все оси в ноль, включить машину, запуск программы и пауза программы.
Работает все кроме кнопки запуска программы. это который:
halui.program.run
pin for running a program
выкидывает ошибку :
не могу делать это (EMC_TASK_PLAN_RUN) в ручном режиме, в MDI тоже
Хотя пауза срабатывает, но если еще раз нажать, то фигушки, программа дальше не идет, тока если мышкой кликнуть на паузе.
непойму....
Re: Поддержка MESA в EMC2
Добавлено: 21 апр 2011, 22:04
Nick
Эта кнопка работает только в режиме auto, так же как и программа из EMC2 запустится только в режиме авто.
Т.е. на кнопку еще нужно смену режима прицепить.
Re: Поддержка MESA в EMC2
Добавлено: 21 апр 2011, 22:40
eekot
А как? Примерчик какой нить бы

Re: Поддержка MESA в EMC2
Добавлено: 21 апр 2011, 23:03
Nick
Ну пишешь что-то типа
net run_programm hm2_5i20.0.gpio.033.in => halui.mode.auto
net run_programm => haliu.program.run
Еще можно продумать разные проверки на то какая мода установлена, и можно ли сейчас программу запускать.
Re: Поддержка MESA в EMC2
Добавлено: 21 апр 2011, 23:19
eekot

Заработала
Тока если нажать на RUN во время выполнения программы, он опять ошибку выбивает и прога на стоп становиться

Re: Поддержка MESA в EMC2
Добавлено: 21 апр 2011, 23:37
Nick
значит нужно сначала кинуть сигнал на and с not run...
нужно придумать что-то типа условия...
кстати, а может сразу придумать, что на повторное нажатие программа будет становиться на паузу?
Re: Поддержка MESA в EMC2
Добавлено: 21 апр 2011, 23:54
eekot
Nick писал(а): кстати, а может сразу придумать, что на повторное нажатие программа будет становиться на паузу?
вот это правильно! лишняя кнопка убирается

а как ?
Re: Поддержка MESA в EMC2
Добавлено: 22 апр 2011, 00:12
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
Re: Поддержка MESA в EMC2
Добавлено: 22 апр 2011, 00:55
eekot
Спасиб!

завтра буду пробывать
Re: Поддержка MESA в EMC2
Добавлено: 24 апр 2011, 22:09
eekot
Млять !!! pncconf - затирает ХАЛ
Решил через него кнопочки на jog добавить. В итоге хал без моих вручную введенных строк.
Хотя банер был перед запуском конфига

по ходу лох я...
Re: Поддержка MESA в EMC2
Добавлено: 24 апр 2011, 22:26
Nick
может осталась резервная копия от gedit посмотри скрутые файлы в директории...
либо восстанови с того места, когда ты высылал конфиг мне.
ЗЫ а сообщения и вправду лучше читать. Мне в этом плане нравится как работает ssh, там нужно не просто "y" или "n" ответить, а написать полностью "yes"
Re: Поддержка MESA в EMC2
Добавлено: 26 апр 2011, 12:48
eekot
Восстановил

а то чето расслабился, без резервных копий работать низззяя!!!
Идем дальше. Очень хочется чтото типа тачпада с кнопками по осям Х+, Х-, Y+, Y-, Z+, Z-
Вот в моем понимании это выглядит так примерно. С учетом моего английского на двойку

. 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
Re: Поддержка MESA в EMC2
Добавлено: 26 апр 2011, 13:09
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, позволяет игнорировать все маленькие отклонения.
Re: Поддержка MESA в EMC2
Добавлено: 26 апр 2011, 14:23
eekot
Было-бы идеально получить конструкцию в виде кнопок по осям, типа +Х -Х и двух кнопок на скорость spd_min, spd_max. При нажатии на первую скорость минимальна, вторую максимальная. Вот тока как?
Re: Поддержка MESA в EMC2
Добавлено: 26 апр 2011, 15:28
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.
Re: Поддержка MESA в EMC2
Добавлено: 26 апр 2011, 23:41
eekot
Nick спасибо

Как будет время попробую.