Столкнулся с проблемой. В NCStudio 5.5.6 команды M00 и M01 не работают. Они тупо игнорятся.
Как же так? Как программно заставить станок встать на паузу?
Отправлено 20 Август 2021 - 15:29
Столкнулся с проблемой. В NCStudio 5.5.6 команды M00 и M01 не работают. Они тупо игнорятся.
Как же так? Как программно заставить станок встать на паузу?
Все может быть и все быть может.
И только то не может быть, Чего уж точно быть не может.
Хотя и это может быть.
Отправлено 20 Август 2021 - 15:51
Сообщение отредактировал lkbyysq: 20 Август 2021 - 15:50
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
Отправлено 20 Август 2021 - 15:56
Все может быть и все быть может.
И только то не может быть, Чего уж точно быть не может.
Хотя и это может быть.
Отправлено 20 Август 2021 - 15:59
Именно.Физическую или программную?
ГОТОВ!!!
Я так понимаю например сигнал с мобильного калибратора тоже подойдет?
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
Отправлено 20 Август 2021 - 16:05
Именно.
Супер!
Дык как такое осуществить?
Все может быть и все быть может.
И только то не может быть, Чего уж точно быть не может.
Хотя и это может быть.
Отправлено 20 Август 2021 - 16:49
Варианта два
1. С постепенным смещением по какой-либо оси
У меня сделано так (с поднятием головы и постепенным смещением по Y):
В public.dat дописал следующее:
В public.dat дописать следующее:
"Паузу" можно вызвать командой G65 P1050 L1
Сообщение отредактировал lkbyysq: 20 Август 2021 - 20:04
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
Отправлено 20 Август 2021 - 17:20
С постепенным смещением по какой-либо оси
Ну так себе вариант. Хотя может быть. ))
Не понятно для чего задействован буфер и синхронизация.
Если не сложно, поясните пожалуйста.
С циклом фиксированной паузы
Наверное это лучше.
Только вот не понятно сработает ли короткое нажатие кнопки если программная пауза P=1000. Или расчет на то, что кнопку нажать и держать пока не поедет?
И еще вопрос: Почему именно 32000 повторов? Это чем то обусловлено? Максимальное значение типа?
...
Хотелось бы все это опробовать в симуляции (без платы)
Вопрос: Как в таком случае инициировать сигнал с калибратора?
Сообщение отредактировал Dryundel: 20 Август 2021 - 17:50
Все может быть и все быть может.
И только то не может быть, Чего уж точно быть не может.
Хотя и это может быть.
Отправлено 20 Август 2021 - 19:00
Сообщение отредактировал lkbyysq: 20 Август 2021 - 19:01
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
Отправлено 20 Август 2021 - 19:50
Почему именно 32000 повторов? Это чем то обусловлено? Максимальное значение типа?
А на всякий случай в связи с возможным ограничением типа. Да Вы сами все поняли.
Ну сделайте еще одну вложенную подпрограмму и уменьшите программную паузу до 10мс. Экспериментировать надо.
Можете порыться в мануале по программированию к восьмёрке.
https://disk.yandex..../6MRy1f9vRjUXKw
Но там нету.
Проверил. Действительно обороты шпинделя возможно задавать в диапазоне от 0 до 65535, текущая уставка оборотов хранится в переменной #SSSPINDLEREV .
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
Отправлено 20 Август 2021 - 20:45
Можете порыться в мануале по программированию к восьмёрке.
Роюсь усиленно и в мануале и во всех доступных public.dat (родных и юзерских)
Однако внятного понимания по поводуP196609 'close the buffer, P196608 'open the buffer и G906 'synchronization так и не пришло.
Конечно надо нажать и ждать секунду. Или уменьшить программную паузу со всеми последствиями.
Тогда наверное вообще не катит.
Суть в том, что далее по программе процедура калибровки по Z и она тут же сработает.
Можно наверное еще паузу впихнуть секунд на 5 для того что бы успеть отпустить кнопку. Но это уже не камильфо.
Симуляция просто проигнорирует.
В симуляции после G904 без сигнала от калибратора будет происходить нескончаемое движение в заданном направлении, которое никак не остановить, кроме как принудительным снятием задачи NCStudio.
Вот и хотелось узнать нет ли способа симулировать этот сигнал. Может кто знает?
можно 65535. ставить
Теперь понятно, ограничение uint_16t
Все может быть и все быть может.
И только то не может быть, Чего уж точно быть не может.
Хотя и это может быть.
Отправлено 20 Август 2021 - 22:03
В симуляции после G904 без сигнала от калибратора будет происходить нескончаемое движение в заданном направлении, которое никак не остановить, кроме как принудительным снятием задачи NCStudio.
Нет. Команда G904 в симуляции игнорируется.
внятного понимания по поводуP196609 'close the buffer, P196608 'open the buffer и G906 'synchronization так и не пришло
Забейте. Берите из образцов.
Конкретно без G906 при стандартной калибровке энцеха будет врать.
19660910=0011 0000 0000 0000 00012
19660810=0011 0000 0000 0000 00002
M802 P131072 'Mask the limit signal
13107210=0010 0000 0000 0000 00002
13107210=0010 0000 0000 0000 00012
т.е. это набор флагов для согласования работы отдельных блоков.
Вот и хотелось узнать нет ли способа симулировать этот сигнал. Может кто знает?
Ручками в процессе работы можно вроде инвертировать сигналы на вкладке состояния входов/выходов. Тыкать мышкой в комбинации с клавишами.
Суть в том, что далее по программе процедура калибровки по Z и она тут же сработает.
Пауза - это когда временно останавливается исполнение программы.
Я алгоритм временного прекращения исполнения программы предоставил.
Значит не просто пауза нужна, а нечто большее - в студию, плиз.
Сообщение отредактировал lkbyysq: 20 Август 2021 - 21:58
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
Отправлено 20 Август 2021 - 22:55
Нет. Команда G904 в симуляции игнорируется.
Неправда ваша.
Записал в паблик для теста это:
.
O255
G904 Z100 K0 H1
M17
M55 прекрасно отрабатывается. Вот только NCStudio начав выполнение М55 ни на что больше не реагирует, ждет сигнала с калибратора, а Z ползет вверх.
Кроме принудительного снятия задачи "NCStudio" из диспетчера, нет никакой возможности это остановить.
.
Может мы разное понимание в слово симуляция вкладываем? В данном случае я имею в виду NCStudio с замененным файлом NCSTUDIO.DAT, для запуска без платы.
.
Ручками в процессе работы можно вроде инвертировать сигналы на вкладке состояния входов/выходов. Тыкать мышкой в комбинации с клавишами.
Попробовал. Никакой реакции вообще.
Конкретно без G906 при стандартной калибровке энцеха будет врать.
Ну я это предполагал. Когда идет калибровка, должно же что то синхронизировать WCS и MCS к примеру.
Вопрос был в том, зачем это в вашем коде первого варианта?
Все может быть и все быть может.
И только то не может быть, Чего уж точно быть не может.
Хотя и это может быть.
Отправлено 20 Август 2021 - 23:25
Может мы разное понимание в слово симуляция вкладываем? В данном случае я имею в виду NCStudio с замененным файлом NCSTUDIO.DAT, для запуска без платы.
Да, разное.
В этом случе щелкайте по таблице с состояниями портов.
CTRL+ALT+SHIFT+ правая кнопка мыши --> симулировать порт. Пробуйте.
Вопрос был в том, зачем это в вашем коде первого варианта?
Повторю ответ - взято из подпрограммы калибровки один-в-один, ибо разработчик мануала не предоставил.
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
Отправлено 21 Август 2021 - 00:17
В этом случе щелкайте по таблице с состояниями портов. CTRL+ALT+SHIFT+ правая кнопка мыши --> симулировать порт. Пробуйте.
Ага. Получается с помощью маски менять состояние. Короткое нажатие не получается правда. Но хоть что то.
Спасибо.
Все может быть и все быть может.
И только то не может быть, Чего уж точно быть не может.
Хотя и это может быть.
Отправлено 21 Август 2021 - 16:49
2. С циклом фиксированной паузы - сам не пробовал, но должно работать
...
G65 P1048 L32000 'ПОВТОРЯЕМ ПОДПРОГРАММУ 32000 РАЗ - ЭТО 32000*1 СЕК= 9 ЧАСОВ
Не прокатило.
Пока подпрограмма не выполнится 32000 раз - с места не сдвигается.
Придется кнопку держать 9 часов.
Надо делать какой то хитрый цикл. А вот какой пока не врубаюсь. Это не С++.
Пробовал зациклить две подпрограммы. В результате идет вложение подпрограмм друг в друга и после нажатия кнопки происходит обратная размотка цепочки. Сколько после останова простояло, столько же будет стоять и после нажатия. И то если паузы сделать микросекунд в 10. Если же пауз нет, то вероятно происходит переполнение довольно быстро и NCStudio подвисает.
Все может быть и все быть может.
И только то не может быть, Чего уж точно быть не может.
Хотя и это может быть.
Отправлено 21 Август 2021 - 17:33
Не правда, достаточно 1 секунды, и флаг перекинется. Потом нужно лишь подождать, пока 32000 раз будет опрошен порт.Придется кнопку держать 9 часов.
тогда так:Не прокатило
Можно вложенные циклы пробовать. Можно рекурсивные.Надо делать какой то хитрый цикл.
Сообщение отредактировал lkbyysq: 21 Август 2021 - 17:36
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
Отправлено 21 Август 2021 - 19:42
тогда так: O1048 IF(#10=1) M17 'ЕСЛИ ФЛАГ УСТАНОВЛЕН, ТОГДА ВЫХОД ИЗ ПОДПРОГРАММЫ
...
Все равно неправильно работает.
Поставил L1000, после имитации калибратора ждал минуты полторы, только тогда поехало дальше выполняться по программе.
Может синхронизацию где воткнуть надо.
Очень сомневаюсь что она здесь нужна. Однако опыта у меня нет, могу ошибаться.
Можно вложенные циклы пробовать. Можно рекурсивные.
Просто не представляю как тут можно сделать.
Как я понимаю, если идет отсылка к другой подпрограмме, а потом обратно, то сколько раз эта операция успела совершиться до нажатия кнопки, столько же раз и назад отматыватся, ведь возврат идет в точку отсылки и этот клубок где то записывается.
Надо думать. Или искать примеры. Хотя до сих пор поиски ничего не принесли.
Встречал много болтовни, что типа можно сделать, но готового не видел.
Все может быть и все быть может.
И только то не может быть, Чего уж точно быть не может.
Хотя и это может быть.
Отправлено 21 Август 2021 - 21:02
Есть еще один путь.
Слегка тернистый
Но как вариант имеет место быть.
.
Сообщение отредактировал Dryundel: 21 Август 2021 - 21:06
Все может быть и все быть может.
И только то не может быть, Чего уж точно быть не может.
Хотя и это может быть.
Отправлено 21 Август 2021 - 21:37
Все равно неправильно работает
А у меня все правильно работает
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
Отправлено 21 Август 2021 - 22:50
А у меня все правильно работает
O1048
IF(#10=1) M17
G906
G04 P=10
IF(#SSINPORT0) #10=1
IF(#10=0) G04 P=50
M17
ХА!
Заработало!
Какая то магическая эта синхронизация.
С задержкой в 1 секунду тоже работает.
Ну вот теперь ночь спать не буду не поняв что это и зачем она.
Ну вот теперь ночь спать не буду не поняв что это и зачем она.
Практически докопался.
Вывалился в документацию на офсайте.
http://doc.weihong.c...ic/g906_en.html
.
Хотя это есть и в PROGRAMMING MANUAL, но почему то там не понял. Возможно не очень хотел. (С ангильским не очень )
На офсайте как то приятней читать, да еще когда гугловский плагин под рукой.
Все может быть и все быть может.
И только то не может быть, Чего уж точно быть не может.
Хотя и это может быть.
0 пользователей, 0 гостей, 0 анонимных