Поддержка MESA в EMC2
-
- Кандидат
- Сообщения: 76
- Зарегистрирован: 16 дек 2010, 01:51
- Репутация: 15
- Контактная информация:
Re: Поддержка MESA в EMC2
Nick спасибо!! ща буду читать про halui вернее пытаться
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поддержка MESA в EMC2
А какие кнопки ты хочешь реализовать?
-
- Кандидат
- Сообщения: 76
- Зарегистрирован: 16 дек 2010, 01:51
- Репутация: 15
- Контактная информация:
Re: Поддержка MESA в EMC2
Так это ща с мыслями соберусь...
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%
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%
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поддержка MESA в EMC2
Все эти давления, на сколько я помню, регулируются через внешние утилиты? Хотя это и не важно. Создаешь параметр pressure_override заводишь на него нужные пины, а потом используешь регулятором давления как дополнительный множитель.
Кстати все не realtime параметры можно регулировать через произвольные контроллеры и внешние программы. Начиная обычной кнопочкой на экране, джойстиком и заканчивая тачскрином.
Кстати все не realtime параметры можно регулировать через произвольные контроллеры и внешние программы. Начиная обычной кнопочкой на экране, джойстиком и заканчивая тачскрином.
-
- Кандидат
- Сообщения: 76
- Зарегистрирован: 16 дек 2010, 01:51
- Репутация: 15
- Контактная информация:
Re: Поддержка MESA в EMC2
Вообщем уже пять кнопок прицепил естоп, все оси в ноль, включить машину, запуск программы и пауза программы.
Работает все кроме кнопки запуска программы. это который:
halui.program.run
pin for running a program
выкидывает ошибку :
не могу делать это (EMC_TASK_PLAN_RUN) в ручном режиме, в MDI тоже
Хотя пауза срабатывает, но если еще раз нажать, то фигушки, программа дальше не идет, тока если мышкой кликнуть на паузе.
непойму....
Работает все кроме кнопки запуска программы. это который:
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
Эта кнопка работает только в режиме auto, так же как и программа из EMC2 запустится только в режиме авто.
Т.е. на кнопку еще нужно смену режима прицепить.
Т.е. на кнопку еще нужно смену режима прицепить.
-
- Кандидат
- Сообщения: 76
- Зарегистрирован: 16 дек 2010, 01:51
- Репутация: 15
- Контактная информация:
Re: Поддержка MESA в EMC2
А как? Примерчик какой нить бы
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поддержка MESA в EMC2
Ну пишешь что-то типа
net run_programm hm2_5i20.0.gpio.033.in => halui.mode.auto
net run_programm => haliu.program.run
Еще можно продумать разные проверки на то какая мода установлена, и можно ли сейчас программу запускать.
net run_programm hm2_5i20.0.gpio.033.in => halui.mode.auto
net run_programm => haliu.program.run
Еще можно продумать разные проверки на то какая мода установлена, и можно ли сейчас программу запускать.
-
- Кандидат
- Сообщения: 76
- Зарегистрирован: 16 дек 2010, 01:51
- Репутация: 15
- Контактная информация:
Re: Поддержка MESA в EMC2
Заработала
Тока если нажать на RUN во время выполнения программы, он опять ошибку выбивает и прога на стоп становиться
Тока если нажать на RUN во время выполнения программы, он опять ошибку выбивает и прога на стоп становиться
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поддержка MESA в EMC2
значит нужно сначала кинуть сигнал на and с not run...
нужно придумать что-то типа условия...
кстати, а может сразу придумать, что на повторное нажатие программа будет становиться на паузу?
нужно придумать что-то типа условия...
кстати, а может сразу придумать, что на повторное нажатие программа будет становиться на паузу?
-
- Кандидат
- Сообщения: 76
- Зарегистрирован: 16 дек 2010, 01:51
- Репутация: 15
- Контактная информация:
Re: Поддержка MESA в EMC2
вот это правильно! лишняя кнопка убирается а как ?Nick писал(а): кстати, а может сразу придумать, что на повторное нажатие программа будет становиться на паузу?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поддержка MESA в EMC2
Создаем несколько сущностей компонента 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
И делаем логическую связку из сигналов.
нажатие кнопки и не (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
-
- Кандидат
- Сообщения: 76
- Зарегистрирован: 16 дек 2010, 01:51
- Репутация: 15
- Контактная информация:
Re: Поддержка MESA в EMC2
Спасиб! завтра буду пробывать
-
- Кандидат
- Сообщения: 76
- Зарегистрирован: 16 дек 2010, 01:51
- Репутация: 15
- Контактная информация:
Re: Поддержка MESA в EMC2
Млять !!! pncconf - затирает ХАЛ
Решил через него кнопочки на jog добавить. В итоге хал без моих вручную введенных строк.
Хотя банер был перед запуском конфига по ходу лох я...
Решил через него кнопочки на jog добавить. В итоге хал без моих вручную введенных строк.
Хотя банер был перед запуском конфига по ходу лох я...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поддержка MESA в EMC2
может осталась резервная копия от gedit посмотри скрутые файлы в директории...
либо восстанови с того места, когда ты высылал конфиг мне.
ЗЫ а сообщения и вправду лучше читать. Мне в этом плане нравится как работает ssh, там нужно не просто "y" или "n" ответить, а написать полностью "yes"
либо восстанови с того места, когда ты высылал конфиг мне.
ЗЫ а сообщения и вправду лучше читать. Мне в этом плане нравится как работает ssh, там нужно не просто "y" или "n" ответить, а написать полностью "yes"
-
- Кандидат
- Сообщения: 76
- Зарегистрирован: 16 дек 2010, 01:51
- Репутация: 15
- Контактная информация:
Re: Поддержка MESA в EMC2
Восстановил а то чето расслабился, без резервных копий работать низззяя!!!
Идем дальше. Очень хочется чтото типа тачпада с кнопками по осям Х+, Х-, 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
Идем дальше. Очень хочется чтото типа тачпада с кнопками по осям Х+, Х-, 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
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поддержка MESA в EMC2
Ты все правильно понял!
Вот некоторые пояснения:
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, позволяет игнорировать все маленькие отклонения.
Вот некоторые пояснения:
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, позволяет игнорировать все маленькие отклонения.
-
- Кандидат
- Сообщения: 76
- Зарегистрирован: 16 дек 2010, 01:51
- Репутация: 15
- Контактная информация:
Re: Поддержка MESA в EMC2
Было-бы идеально получить конструкцию в виде кнопок по осям, типа +Х -Х и двух кнопок на скорость spd_min, spd_max. При нажатии на первую скорость минимальна, вторую максимальная. Вот тока как?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поддержка MESA в EMC2
тогда такой вариант:
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.
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.
-
- Кандидат
- Сообщения: 76
- Зарегистрирован: 16 дек 2010, 01:51
- Репутация: 15
- Контактная информация:
Re: Поддержка MESA в EMC2
Nick спасибо Как будет время попробую.