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


Фотография

Недокументированные возможности NC Studio 5.60 (по-крайней мере об одной вы не знали)

Возможности NcStudio

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

#141 OFFLINE   Dryundel

Dryundel

    Бакалавр CNC

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

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

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

Очень интересно, но не получается найти. А в чем собственно цимус?


  • 0

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

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

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


#142 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

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

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

в чем собственно цимус?


http://mir-cnc.ru/to...mc-3d/?p=233090
  • 0

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


#143 OFFLINE   Frezer24000

Frezer24000

    Студент

  • Пользователи+
  • PipPip
  • 20 сообщений
  • Пол:Мужчина
  • Из:Тюмень

Отправлено 21 Ноябрь 2021 - 11:59

Добрый день. Про установку кнопок в нс понятно, а как их настроить чтобы они включали то что нужно? Конкретно хочу организовать включение аспирации и вакуума из нс
  • 0

#144 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

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

Отправлено 21 Ноябрь 2021 - 13:22

... как их настроить чтобы они включали то что нужно? Конкретно хочу организовать включение аспирации и вакуума из нс

Эти кнопки есть программная часть.

Чтобы физически включать обвязку нужна аппаратная поддержка.

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

Скажем так - эта задача уже не просто для пользователей ЧПУ, а для продвинутых пользователей микроконтроллеров типа Ардуино.


  • 0

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


#145 OFFLINE   Frezer24000

Frezer24000

    Студент

  • Пользователи+
  • PipPip
  • 20 сообщений
  • Пол:Мужчина
  • Из:Тюмень

Отправлено 21 Ноябрь 2021 - 14:01

Да, я уже понял что это через
Ардуино. Начал вникать. Верно, что не знаком практически с ардуино, но все решаемо. Буду изучать. Думаю все равно сделаю
Большая часть инфы здесь есть: установка кнопок, с каких пинов снимать сигнал, примерный код для ардуино. Осталось только всё во едино связать.
  • 0

#146 OFFLINE   Frezer24000

Frezer24000

    Студент

  • Пользователи+
  • PipPip
  • 20 сообщений
  • Пол:Мужчина
  • Из:Тюмень

Отправлено 21 Ноябрь 2021 - 14:35

Я правильно понял что 12 и 13 пин это tx и rx соответственно?
  • 0

#147 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

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

Отправлено 21 Ноябрь 2021 - 16:18

Я правильно понял что 12 и 13 пин это tx и rx соответственно?

Как хотите, так и называйте.
По мне так это один информационный сигнал и один синхронизирующий.

Сообщение отредактировал lkbyysq: 21 Ноябрь 2021 - 17: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).


#148 OFFLINE   Frezer24000

Frezer24000

    Студент

  • Пользователи+
  • PipPip
  • 20 сообщений
  • Пол:Мужчина
  • Из:Тюмень

Отправлено 21 Ноябрь 2021 - 21:55

Примерный скетч для Arduino, где

счетный вход - для передачи пачки импульсов с номером команды с пина 12 NcStudio
вход разрешения счета импульсов - для передачи флага начала и окончания передачи номера команды с пина 13 NcStudio


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

Здесь светодиод на 13м пине играет роль нагрузки на ардуино? Не могу понять куда 13й пин энцэшки подключается.

Здесь светодиод на 13м пине играет роль нагрузки на ардуино? Не могу понять куда 13й пин энцэшки подключается.



Вроде понял, 12й пин от энцэ на 5й пин ардуино, и 13й пин от энцэ на 11й пин ардуино))

Сообщение отредактировал Frezer24000: 21 Ноябрь 2021 - 21:40

  • 0

#149 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

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

Отправлено 21 Ноябрь 2021 - 23:37

13-й пин энцехи, разрешающий счёт командных импульсов, на простой вход Ардуино. Такой обычный вход, состояние которого можно программно считывать командой digitalRead.

12-й пин энцехи, по которому посылается пачка импульсов с номером команды, на такой вход Ардуино, который можно использовать в режиме быстродействующего аппаратного счётчика. На разных процессорах эти входы разные, что и отражено в заголовке.

Там почему-то процедура не правильно прописана.

void timerstart(){
cli(); // отключить глобальные прерывания
TCNT=0; // обнуление данных в счетчике
TCCRA = 0; // установить регистр в 0
TCCRB = 0; // установить регистр в 0
TCCRB = (1<<CS12)|(1<<CS11); //установка тактирования по спаду T1
sei(); // включить глобальные прерывания
}
  • 0

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


#150 OFFLINE   Frezer24000

Frezer24000

    Студент

  • Пользователи+
  • PipPip
  • 20 сообщений
  • Пол:Мужчина
  • Из:Тюмень

Отправлено 21 Ноябрь 2021 - 23:49

Ну я всё верно написал, и пришел к этому из ваших комментариев к строкам программ, где и написано, что 12 пин на 5й в нано, а 13й пин разрешающий на 11й.

У меня ещё вопрос. Погружаясь в тему программирования в ардуино, увидел схожесть с бэйсиком. Если мы знаем частоту управляющего сигнала, почему нельзя задать алгоритм на сравнении через switch или if else?
  • 0

#151 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

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

Отправлено 21 Ноябрь 2021 - 23:58


Вот вроде как тот самый скетч для управления четырьмя релюшками и модифицированный public .dat(в конце) Папку можно получить по ссылке:
NcStudio_V5.5.60.101
https://disk.yandex..../7R6IxD7QGtlRkA
  • 0

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


#152 OFFLINE   Frezer24000

Frezer24000

    Студент

  • Пользователи+
  • PipPip
  • 20 сообщений
  • Пол:Мужчина
  • Из:Тюмень

Отправлено 22 Ноябрь 2021 - 00:01

Исполнение следующего кода

G65 P1022 L10000
M30

O1022 ' one pulse
M901 H0 P1 'set pin12 to 1
G04 P5
M901 H0 P0 'set pin12 to 0
G04 P5
M17


Проводит к генерации на 12-м пине меандра с периодом 9,2мс.
Т.е. максимальная частота 108,7Гц.

Длительность паузы после изменения состояния порта кратно 5 мс, т.е.
G04 P1 - 5мс
G04 P5 - 5мс

G04 P6 - 10мс
G04 P10 - 10мс

G04 P11 - 15мс
G04 P15 - 15мс

и т.д.

*************************************
Без указания паузы.
Длительность нарастания фронта 5мкс до 2В и 10 мкс до 4,5В при нагрузке 10кОм на конце кабеля. Много очень 10кОм.
А при нагрузке 1кОм - 1 мкс до 4,5В

Задний фронт импульсов с очень высокой крутизной.


G65 P1022 L1000000
M30


O1022 ' one pulse
M901 H0 P1 'set pin12 to 1

M901 H0 P0 'set pin12 to 0
M17


то период импульсов составит 7мкс, т.е. 142 кГц.

********************************************************************************
К сожалению при непрерывной выдаче в порт миллиона импульсов (~7 секунд) синхронизация на осциллографе сбивается несколько раз. Подозрение на "грязные", нестабильные импульсы.



ВЫВОД
Проведенный эксперимент подтвердил возможность управления внешними устройствами, в том числе путем отправки приемнику пачки последовательных импульсов.
Например
- пин 12 - информационный, передает код команды (пачку импульсов).
- пин 13 - флаг начала и окончания передачи данных по пину 12.

Ну и получается, что можно повесить на эти два пина ардуинку и расшифровывать.
Также можно заюзать ардуину для расширения количества датчиков, даем команду, а она подключает к пину датчика поверхности нужный нам датчик.


Это подпрограмма для кнопки, она задает частоту для 12но пина, а откуда берет информацию 13й пин, или вы здесь просто часть кода написали?
  • 0

#153 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

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

Отправлено 22 Ноябрь 2021 - 00:02

Если мы знаем частоту управляющего сигнала, почему нельзя задать алгоритм на сравнении через switch или if else?


Ничего не понял.
  • 0

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


#154 OFFLINE   Frezer24000

Frezer24000

    Студент

  • Пользователи+
  • PipPip
  • 20 сообщений
  • Пол:Мужчина
  • Из:Тюмень

Отправлено 22 Ноябрь 2021 - 00:10

Вот вроде как тот самый скетч для управления четырьмя релюшками и модифицированный public .dat(в конце) Папку можно получить по ссылке:
NcStudio_V5.5.60.101
https://disk.yandex..../7R6IxD7QGtlRkA



Благодарю

Ничего не понял.

)))) ладно это я уже сам тогда
  • 0

#155 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

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

Отправлено 22 Ноябрь 2021 - 00:10

Это подпрограмма для кнопки, она задает частоту для 12но пина, а откуда берет информацию 13й пин, или вы здесь просто часть кода написали?

O299 'M99 one command #1 (series pulses) ОТПРАВКА КОМАНДЫ С НОМЕРОМ ИЗ ПЕРЕМЕННОЙ #1
'G906
M901 H1 P1 ' port 1 (pin 13) to 1
G04 P5
G65 P298 L=#1 ' ОТПРАВКА ПАЧКИ ИМПУЛЬСОВ
G04 P5
M901 H1 P0 ' port 1 (pin 13) to 0
G04 P5
M17

O298 'one pulse ОТПРАВКА ОДНОГО ИМПУЛЬСА ПО ПИНУ 12
M901 H0 P1 ' port 0 (pin 12) to 1
M901 H0 P0 ' port 0 (pin 12) to 0
M17


Пример отправки команды из 60-ти импульсов по 12-му пину:

#1=60 ' УСТАНАВЛИВАЕМ В ПЕРЕМЕННУЮ #1 НУЖНОЕ КОЛИЧЕСТВО ИМПУЛЬСОВ
M99 ' ИСПОЛНЯЕМ КОМАНДУ

Сообщение отредактировал lkbyysq: 22 Ноябрь 2021 - 00: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).


#156 OFFLINE   Frezer24000

Frezer24000

    Студент

  • Пользователи+
  • PipPip
  • 20 сообщений
  • Пол:Мужчина
  • Из:Тюмень

Отправлено 24 Ноябрь 2021 - 00:07

Как считаете, возможно энси научить работать по Wi-Fi и тем самым с ардуиноской помощью управлять любым узлом чпу системы?
  • 0

#157 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

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

Отправлено 24 Ноябрь 2021 - 00:45

Повесьте между коммутационной платой и драйверами две wifi ардуины.
Будет работать, чо.
  • 0

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


#158 OFFLINE   Malisander

Malisander

    Студент

  • Пользователи+
  • PipPip
  • 18 сообщений
  • Пол:Мужчина
  • Из:Ярославль

Отправлено 27 Июнь 2022 - 12:49

Добавил одну кнопку и прописал макрос чтобы ездил шпиндель в указанную координату. Работает.

Вот только один вопрос. Можно ли как-то к этой новой клавише привязать горячую клавишу\сочетание клавиш типа Alt+0 или любую другую свободную?


  • 0

#159 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

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

Отправлено 27 Июнь 2022 - 13:10

Можно ли как-то к этой новой клавише привязать горячую клавишу\сочетание клавиш типа Alt+0 или любую другую свободную?

 

Только сторонней программой https://lumpics.ru/s...keyboard-macro/ Почитайте там про WinAutomation и подобное.


Сообщение отредактировал lkbyysq: 27 Июнь 2022 - 13:13

  • 0

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


#160 OFFLINE   fersat

fersat

    Студент

  • Пользователи+
  • PipPip
  • 12 сообщений
  • Пол:Мужчина
  • Из:-

Отправлено 22 Декабрь 2022 - 19:58

Я немного поисследовал NCStudio 5.5.60.0 и оказалось, что контроллер по сути умеет только генерировать импульсы заданной частоты и изменять уровни сигналов на выходах. Драйвер тоже не выполняет никаких расчётов.

 

NCStudio связана с драйвером двумя путями:

1) IOCTL-запросы через DeviceIOControl

2) FIFO-очередь команд в разделяемой памяти. По сути это статический массив 12-байтных структур  (NCCMD) длиной в 30000 команд.

 

Основная команда - это генерация заданного количества импульсов на протяжении 0,005 сек. То есть для того, чтобы например передвинуть портал по оси Y, нужно "вручную" рассчитать ускорение/торможение, сгенерированть последовательность импульсов и рассовать это по пакетам, длительностью 0,005 сек.

 

На всякий случай оставлю здесь исходник на FASM:

1.png

В отличие от NCStudio скорость задаётся в мм/сек, а не в мм/мин, также соответствие импульсов миллиметрам задаётся в импульсах на миллиметр (в NCStudio обратная величина).

 

Прикрепленные файлы


  • 3





Темы с аналогичным тегами Возможности NcStudio

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

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