Перейти к содержимому


Фотография

NCStudio 5.5.6 и команды M00 и M01

Пауза

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 23

#1 OFFLINE   Dryundel

Dryundel

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Ярославль
  • Интересы::
    Пасека
    Туризм
    Дельтапланеризм
  • Из:Ярославль

Отправлено 20 Август 2021 - 15:29

Столкнулся с проблемой. В NCStudio 5.5.6 команды M00 и M01 не работают. Они тупо игнорятся.

Как же так? Как программно заставить станок встать на паузу?


  • 0

Все может быть и все быть может.

И только то не может быть, Чего уж точно быть не может.

Хотя и это может быть.


#2 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 20 Август 2021 - 15:51

Так и есть.
Можно организовать команду другого типа паузы, только с этой паузы снимать придётся замыканием дополнительно установленной кнопки.
Готовы воткнуть куда-нибудь кнопку?

Сообщение отредактировал lkbyysq: 20 Август 2021 - 15:50

  • 0

Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).


#3 OFFLINE   Dryundel

Dryundel

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Ярославль
  • Интересы::
    Пасека
    Туризм
    Дельтапланеризм
  • Из:Ярославль

Отправлено 20 Август 2021 - 15:56

Физическую или программную?
ГОТОВ!!!
Я так понимаю например сигнал с мобильного калибратора тоже подойдет?
  • 0

Все может быть и все быть может.

И только то не может быть, Чего уж точно быть не может.

Хотя и это может быть.


#4 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 20 Август 2021 - 15:59

Физическую или программную?
ГОТОВ!!!
Я так понимаю например сигнал с мобильного калибратора тоже подойдет?

Именно.
  • 0

Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).


#5 OFFLINE   Dryundel

Dryundel

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Ярославль
  • Интересы::
    Пасека
    Туризм
    Дельтапланеризм
  • Из:Ярославль

Отправлено 20 Август 2021 - 16:05

Именно.

Супер!

Дык как такое осуществить?


  • 0

Все может быть и все быть может.

И только то не может быть, Чего уж точно быть не может.

Хотя и это может быть.


#6 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 20 Август 2021 - 16:49

Варианта два
1. С постепенным смещением по какой-либо оси
У меня сделано так (с поднятием головы и постепенным смещением по Y):
В public.dat дописал следующее:

Скрытый текст
"Паузу" вызываю командой G65 P1049 L1
 
 
2. С циклом фиксированной паузы - сам не пробовал, но должно работать

В public.dat дописать следующее:

Скрытый текст

"Паузу" можно вызвать командой G65 P1050 L1


Сообщение отредактировал lkbyysq: 20 Август 2021 - 20:04

  • 1

Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).


#7 OFFLINE   Dryundel

Dryundel

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Ярославль
  • Интересы::
    Пасека
    Туризм
    Дельтапланеризм
  • Из:Ярославль

Отправлено 20 Август 2021 - 17:20

С постепенным смещением по какой-либо оси

Ну так себе вариант. Хотя может быть. ))

Не понятно для чего задействован буфер и синхронизация.

Если не сложно, поясните пожалуйста.

 

 

С циклом фиксированной паузы

Наверное это лучше.

Только вот не понятно сработает ли короткое нажатие кнопки если программная пауза  P=1000. Или расчет на то, что кнопку нажать и держать пока не поедет?

И еще вопрос: Почему именно 32000 повторов? Это чем то обусловлено? Максимальное значение типа?

...

Хотелось бы все это опробовать в симуляции (без платы)

Вопрос: Как в таком случае инициировать сигнал с калибратора?


Сообщение отредактировал Dryundel: 20 Август 2021 - 17:50

  • 1

Все может быть и все быть может.

И только то не может быть, Чего уж точно быть не может.

Хотя и это может быть.


#8 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 20 Август 2021 - 19:00

Так себе, но работает.

Я бы с радостью пояснил, но из внятных исходников только public.dat. Он у Вас перед глазами.

Конечно надо нажать и ждать секунду. Или уменьшить программную паузу со всеми последствиями.

Можете порыться в мануале по программированию к восьмёрке.

Симуляция просто проигнорирует.

Сообщение отредактировал lkbyysq: 20 Август 2021 - 19:01

  • 0

Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).


#9 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 20 Август 2021 - 19:50

Почему именно 32000 повторов? Это чем то обусловлено? Максимальное значение типа?

 

А на всякий случай в связи с возможным ограничением типа. Да Вы сами все поняли.

Ну сделайте еще одну вложенную подпрограмму и уменьшите программную паузу до 10мс. Экспериментировать надо.


Можете порыться в мануале по программированию к восьмёрке.

https://disk.yandex..../6MRy1f9vRjUXKw

Но там нету.


А по аналогии с 
 

Проверил. Действительно обороты шпинделя возможно задавать в диапазоне от 0 до 65535,  текущая уставка оборотов хранится в переменной #SSSPINDLEREV .


можно 65535. ставить
  • 0

Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).


#10 OFFLINE   Dryundel

Dryundel

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Ярославль
  • Интересы::
    Пасека
    Туризм
    Дельтапланеризм
  • Из:Ярославль

Отправлено 20 Август 2021 - 20:45

Можете порыться в мануале по программированию к восьмёрке.

Роюсь усиленно и в мануале и во всех доступных public.dat (родных и юзерских) :)

Однако внятного понимания по поводуP196609 'close the buffer, P196608 'open the buffer и G906 'synchronization так и не пришло.

 

 

Конечно надо нажать и ждать секунду. Или уменьшить программную паузу со всеми последствиями.

Тогда наверное вообще не катит.
Суть в том, что далее по программе процедура калибровки по Z и она тут же сработает.

Можно наверное еще паузу впихнуть секунд на 5 для того что бы успеть отпустить кнопку. Но это уже не камильфо.

 

Симуляция просто проигнорирует.

В симуляции  после G904 без сигнала от калибратора будет происходить нескончаемое движение в заданном направлении, которое никак не остановить, кроме как принудительным снятием задачи NCStudio.

Вот и хотелось узнать нет ли способа симулировать этот сигнал. Может кто знает?


можно 65535. ставить

Теперь понятно, ограничение uint_16t
 


  • 0

Все может быть и все быть может.

И только то не может быть, Чего уж точно быть не может.

Хотя и это может быть.


#11 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 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

M802 P131073 'Unmask to limit signal

13107210=0010 0000 0000 0000 00002

13107210=0010 0000 0000 0000 00012

 

 т.е. это набор флагов для согласования работы отдельных блоков.


Вот и хотелось узнать нет ли способа симулировать этот сигнал. Может кто знает?

Ручками в процессе работы можно вроде инвертировать сигналы на вкладке состояния входов/выходов. Тыкать мышкой в комбинации с клавишами.


Суть в том, что далее по программе процедура калибровки по Z и она тут же сработает.

Пауза - это когда временно останавливается исполнение программы.

Я алгоритм временного прекращения исполнения программы предоставил.

Значит не просто пауза нужна, а нечто большее - в студию, плиз.


Сообщение отредактировал lkbyysq: 20 Август 2021 - 21:58

  • 0

Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).


#12 OFFLINE   Dryundel

Dryundel

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Ярославль
  • Интересы::
    Пасека
    Туризм
    Дельтапланеризм
  • Из:Ярославль

Отправлено 20 Август 2021 - 22:55

Нет. Команда G904 в симуляции игнорируется.

Неправда ваша. :)

Записал в паблик для теста это:

.

O255
G904 Z100 K0 H1
M17

 

M55 прекрасно отрабатывается. Вот только NCStudio начав выполнение М55 ни на что больше не реагирует, ждет сигнала с калибратора, а Z ползет вверх.

Кроме принудительного снятия задачи "NCStudio" из диспетчера, нет никакой возможности это остановить.

.

Может мы разное понимание в слово симуляция вкладываем? В данном случае я имею в виду NCStudio с замененным файлом NCSTUDIO.DAT, для запуска без платы.

.

 

Ручками в процессе работы можно вроде инвертировать сигналы на вкладке состояния входов/выходов. Тыкать мышкой в комбинации с клавишами.

Попробовал. Никакой реакции вообще.


Конкретно без G906 при стандартной калибровке энцеха будет врать.

Ну я это предполагал. Когда идет калибровка, должно же что то синхронизировать WCS и MCS к примеру.

Вопрос был в том, зачем это в вашем коде первого варианта?


  • 0

Все может быть и все быть может.

И только то не может быть, Чего уж точно быть не может.

Хотя и это может быть.


#13 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 20 Август 2021 - 23:25

Может мы разное понимание в слово симуляция вкладываем? В данном случае я имею в виду NCStudio с замененным файлом NCSTUDIO.DAT, для запуска без платы.

Да, разное.

В этом случе щелкайте по таблице с состояниями портов.

CTRL+ALT+SHIFT+ правая кнопка мыши --> симулировать порт. Пробуйте.


Вопрос был в том, зачем это в вашем коде первого варианта?

Повторю ответ - взято из подпрограммы калибровки один-в-один, ибо разработчик мануала не предоставил.


  • 1

Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).


#14 OFFLINE   Dryundel

Dryundel

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Ярославль
  • Интересы::
    Пасека
    Туризм
    Дельтапланеризм
  • Из:Ярославль

Отправлено 21 Август 2021 - 00:17

В этом случе щелкайте по таблице с состояниями портов. CTRL+ALT+SHIFT+ правая кнопка мыши --> симулировать порт. Пробуйте.

Ага. Получается с помощью маски менять состояние. Короткое нажатие не получается правда. Но хоть что то. 

Спасибо.


  • 0

Все может быть и все быть может.

И только то не может быть, Чего уж точно быть не может.

Хотя и это может быть.


#15 OFFLINE   Dryundel

Dryundel

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Ярославль
  • Интересы::
    Пасека
    Туризм
    Дельтапланеризм
  • Из:Ярославль

Отправлено 21 Август 2021 - 16:49

2. С циклом фиксированной паузы - сам не пробовал, но должно работать

...

G65 P1048 L32000 'ПОВТОРЯЕМ ПОДПРОГРАММУ 32000 РАЗ - ЭТО 32000*1 СЕК= 9 ЧАСОВ

Не прокатило.

Пока подпрограмма не выполнится 32000 раз - с места не сдвигается.

Придется кнопку держать 9 часов. :D

 

Надо делать какой то хитрый цикл. А вот какой пока не врубаюсь. Это не С++. :)

Пробовал зациклить две подпрограммы. В результате идет вложение подпрограмм друг в друга и после нажатия кнопки происходит обратная размотка цепочки. Сколько после останова простояло, столько же будет стоять и после нажатия. И то если паузы сделать микросекунд в 10. Если же пауз нет, то вероятно происходит переполнение довольно быстро и NCStudio подвисает.
 


  • 0

Все может быть и все быть может.

И только то не может быть, Чего уж точно быть не может.

Хотя и это может быть.


#16 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 21 Август 2021 - 17:33

Придется кнопку держать 9 часов.

Не правда, достаточно 1 секунды, и флаг перекинется. Потом нужно лишь подождать, пока 32000 раз будет опрошен порт.
Можно поменьше число поставить, чтобы выяснить, как долго выполняется подпрограмма.
Можно просто выполнить 100 и 1000 раз опрос входа, чтобы понять, как долго опрашивается порт.


 

Не прокатило

тогда так:
 
O1048
IF(#10=1) M17 'ЕСЛИ ФЛАГ УСТАНОВЛЕН, ТОГДА ВЫХОД ИЗ ПОДПРОГРАММЫ
IF(#SSINPORT0)  #10=1 'ЕСЛИ ЗАМКНУТ МОБИЛЬНЫЙ КАЛИБРАТОР, ТО УСТАНАВЛИВАЕМ ФЛАГ В 1
IF(#10=0) G04 P=1000 'ЕСЛИ ФЛАГ НЕ УСТАНОВЛЕН, ТО ПРОГРАММНАЯ ПАУЗА 1 СЕКУНДА
M17
 
O1050
#10=0 'СБРАСЫВАЕМ ФЛАГ В 0
G65 P1048 L32000 'ПОВТОРЯЕМ ПОДПРОГРАММУ 32000 РАЗ - ЭТО 32000*1 СЕК= 9 ЧАСОВ
IF(#10=0) G905 G903 G53 G00 G90 Z100 'ЕСЛИ ФЛАГ ТАК И НЕ УСТАНОВЛЕН (НЕ СНЯТО С ПАУЗЫ), ТО ПОДНИМАЕМ ГОЛОВУ ВЫШЕ ПРЕДЕЛОВ - АВАРИЙНЫЙ СТОП
M17

Надо делать какой то хитрый цикл.

Можно вложенные циклы пробовать. Можно рекурсивные.

Может синхронизацию где воткнуть надо.

Сообщение отредактировал lkbyysq: 21 Август 2021 - 17:36

  • 0

Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).


#17 OFFLINE   Dryundel

Dryundel

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Ярославль
  • Интересы::
    Пасека
    Туризм
    Дельтапланеризм
  • Из:Ярославль

Отправлено 21 Август 2021 - 19:42

тогда так: O1048 IF(#10=1) M17 'ЕСЛИ ФЛАГ УСТАНОВЛЕН, ТОГДА ВЫХОД ИЗ ПОДПРОГРАММЫ

...

Все равно неправильно работает.

Поставил L1000, после имитации калибратора ждал минуты полторы, только тогда поехало дальше выполняться по программе.

 

Может синхронизацию где воткнуть надо.

Очень сомневаюсь что она здесь нужна. Однако опыта у меня нет, могу ошибаться.

 

Можно вложенные циклы пробовать. Можно рекурсивные.

Просто не представляю как тут можно сделать.

Как я понимаю, если идет отсылка к другой подпрограмме, а потом обратно, то сколько раз эта операция успела совершиться до нажатия кнопки, столько же раз и назад отматыватся, ведь возврат идет в точку отсылки и этот клубок где то записывается.

Надо думать. Или искать примеры. Хотя до сих пор поиски ничего не принесли.

Встречал много болтовни, что типа можно сделать, но готового не видел. :(


  • 0

Все может быть и все быть может.

И только то не может быть, Чего уж точно быть не может.

Хотя и это может быть.


#18 OFFLINE   Dryundel

Dryundel

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Ярославль
  • Интересы::
    Пасека
    Туризм
    Дельтапланеризм
  • Из:Ярославль

Отправлено 21 Август 2021 - 21:02

Есть еще один путь.

Слегка тернистый :D

Но как вариант имеет место быть.

.

 

https://youtu.be/-5YYi9w_9rg


Сообщение отредактировал Dryundel: 21 Август 2021 - 21:06

  • 0

Все может быть и все быть может.

И только то не может быть, Чего уж точно быть не может.

Хотя и это может быть.


#19 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 21 Август 2021 - 21:37

Все равно неправильно работает

 

А у меня все правильно работает

 

O1048
IF(#10=1) M17 
G906
G04 P=10 
IF(#SSINPORT0) #10=1
IF(#10=0) G04 P=50 
M17
 
O1050
#10=0 
G65 P1048 L65000
IF(#10=0) M05; G905 G903 G53 G00 G90 Z100 
M17
 
G65 P1050 L1

  • 0

Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).


#20 OFFLINE   Dryundel

Dryundel

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Ярославль
  • Интересы::
    Пасека
    Туризм
    Дельтапланеризм
  • Из:Ярославль

Отправлено 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 секунду тоже работает.

 

Ну вот теперь ночь спать не буду не поняв что это и зачем она. :D

 


Ну вот теперь ночь спать не буду не поняв что это и зачем она.

Практически докопался. :)

Вывалился в документацию на офсайте.

http://doc.weihong.c...ic/g906_en.html

.

Хотя это есть и в PROGRAMMING MANUAL, но почему то там не понял. Возможно не очень хотел. (С ангильским не очень :) )

На офсайте как то приятней читать, да еще когда гугловский плагин под рукой.


  • 0

Все может быть и все быть может.

И только то не может быть, Чего уж точно быть не может.

Хотя и это может быть.






Темы с аналогичным тегами Пауза

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных