Arduino -> ModBus -> LCNC

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение nkp »

solo писал(а):нарисую панельку
возьми мою - чуть подправишь - всё меньше мороки с кистью(ну я про рисование))
ArduinoSlave.rar
(7.29 КБ) 381 скачивание
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение nkp »

если будешь для шима пробовать Scale - то там в хал нужно будет конверитировать float в s32
(кажется у scale нет выходов s32)
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение nkp »

с comp ошибки и с makefile не разобрался ;)
но если не хотим трогать gs2_vfd.c то просто скомпилированный файл переименованый (допустим в ard_mod)
ложим в /usr/bin (в случае с емс установленом в систему)
или в ...../bin (в случае с емс установленом из исходников)
и соответственно - запускаем ,прописывая в хал :
loadusr ard_mod
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение aftaev »

nkp писал(а):ложим в /usr/bin
а в папку конфига положить можно?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение nkp »

aftaev писал(а):а в папку конфига положить можно?
можно...
только работать не будет)
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение aftaev »

:lol:
пАчему :thinking:
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
asutpka
Мастер
Сообщения: 294
Зарегистрирован: 17 апр 2013, 14:27
Репутация: 78
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение asutpka »

Наверняка там его не ищут. Это как бы твоя шутка юмора для loadusr а он шуток не понимает и тупо шарит там куда ему указывает системная переменная $PATH. Предположение - может наверно понять , но с указанием полного пути. Знающие поправят.
Да и не кашерно исполняемому бинарному файлу в папке с конфигом лежать, поскольку традиции рекомендуют котлеты поедать отдельно от мух.
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение solo »

сижу изучаю модбус
Появилась дурацкая мысль .
А если компонет модбус Ардуино сделать в виде конструктора с отдельных компонентов который будет обслуживать один пин ардуино , по аналогии компонентов Lcnc таких как , или, энд, ну и прочие.... которые запускают и соединяются в хел файле.
В принципе нам надо будет всего четыре компонента, дискретный вход выход, и аналоговый вход выход
тогда при необходимости можно в зависимости от потребности самому составить свой компонент , сколько надо пинов на вход , сколько выход , аналоговые цифровые.
Хотя наверно подобная задача может оказаться такой же сложной как и написание отдельного компонента под свои нужды хотя ИМХО вроде должно быть проще и универсально под любую ардуино
Конечно это все рассуждение дилетанта, и это всего навсего мысль в слух.
Надо еще продумать вопрос скетча для ардуино :thinking:
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение nkp »

solo писал(а):омпонет модбус Ардуино сделать в виде конструктора с
здесь как раз была попытка воплотить что то подобное...
но попробовав решил , что уж очень много разных конфигураций возможно да еще и прошивку править нужно...
посему подумалось - проще сделать пяток разных конфигураций для людей далеких от написания кода,
а многие, глядя на шаблон , без труда поправят под себя...
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение solo »

Все уже придумано до "нас" :D
Еще раз спасибо за помощь :beer_blow: :beer_blow:
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение solo »

А можно как то ускорить модбус, а то у меня сейчас на глазок , между тыканием на кнопочку на панели и до загорания светодиода на ардуине проходит порядка 0.2 сек
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение nkp »

solo писал(а):А можно как то ускорить модбус, а то у меня сейчас на глазок , между тыканием на кнопочку на панели и до загорания светодиода на ардуине проходит порядка 0.2 сек
задержки в отрисовке не показатель скорости...
хотя очень даже может быть - у нас же работает пользовательский компонент в userspace (не реалтайм-компонент)
если критична скорость - пробуй модбас через ладдер...
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение solo »

так я кнопочку жимаю на панельке ланддер а светодиод смотря на ардуине . считаю что кнопка нажата когда щелкнула мышка . С задержкой можно наверное смерится но как себя будет вести модбус если передавать импульс длительностью допустим 0.8с он (импульс) будет отрабатываться просто с задержкой или погрешность то есть 0.8 +/-0.2 .
Мне б наверное интересовал вопрос более стабильное время переключения , отзыва ардуино модбус чем задержка . может можно как то стабилизировать скорость модбус.
И еще могу ошибаться но в конфигурации Arduino -> ModBus -> LCNC #221
мне показалось есть маленькая не точность в файле standard pinout хел (где запускается компонент модбус )
я строку
#loadusr gs2_vfd -v 1110
заменил на
loadusr gs2_vfd
после этого модбус пока запускается постоянно, а то до этого изменения было несколько случаев при запуске Lcnc модбус не запускался
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение nkp »

solo писал(а):мне показалось есть маленькая не точность
конфигурацию выложил из-за панельки
мог бы только ее - но подумал - может кому то будут полезны и файлы ...
у меня работает loadusr gs2_vfd -v 1110
но у меня иная редация скрипта
короче - ты правильно отредактировал...)
============
задержки действительно необходимо промониторить - пока ты в числе пионеров ардуино-модбас :freak:
мне тут Ник тоже давал советы - как провести тесты,надо будет заняться...
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение solo »

Чего то оплять не так
Для соединения ШИМа ардуино и виджета нужен конверт формата float - s32
В хел добавляю
loadrt conv_float_s32 count=1
addf conv_float_s32.0 servo-thread
net convin conv_float_s32.0.in gladevcp.hal_vscalei
net convout conv_float_s32.0.out arduino.pwm01

ошибка пишет что conv_float_s32 count=1 ноу фонд :thinking:
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение nkp »

сюда:
POSTGUI_HALFILE = modbus.hal
конвертацию прописываешь ?
если нет - попробуй ...
====
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение Serg »

solo писал(а):ошибка пишет что conv_float_s32 count=1 ноу фонд :thinking:
Внимательно следи за руками чёрточками между словами!

Код: Выделить всё

loadrt conv_float_s32 count=1
addf conv-float-s32.0 servo-thread
net convin conv-float-s32.0.in gladevcp.hal_vscalei
net convout conv-float-s32.0.out arduino.pwm01
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение nkp »

solo писал(а):net convin conv_float_s32.0.in gladevcp.hal_vscalei
может
gladevcp.hal_vscale1
??
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение nkp »

Сергей Саныч писал(а):Даже на максимальной скорости стандартного COM-порта (115200 бит/с) за сервоцикл не выйдет передать больше 10 байт.Скорее всего придется использовать парочки sampler - halsampler и halstreamer - streamer для обмена.
а если попробовать Ethernet с ладдером на ардуино+Ethernet-sheld :thinking:
есть и "сразу" mega_ethernet - но дороговата,
а так - мало ног...
. . .
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Arduino -> ModBus -> LCNC

Сообщение solo »

Спасибо, все поправил как написано выше все заработало.
вот здесь Nick писал
Колхоз ЧПУ #1
Nick писал(а):Также потом на пиноль был добавлен концевик, т.к. шаговик упорно пропускал шаги, и теперь все сверление идет до концевика и потом поднимается на +17мм. Кстати, концевик работает не через G38.2, потому, что он как-то не так работал в mdi, а через halui.abort + timedelay на halui.mdi команду подъема наверх :freak:
а можно на таком принципе построить проверку быстродействия ардуино только я пока не совсем понял как это реализовать.
А ардуине ставлю перемычку между двумя пинами, входным и выходным(пины 51=20).
теперь нужно запустить Ж код по которому на цифровой выход ардуино подаем (1) командой М64 Р00 на вывод ардуино ,arduino.Dout3-51, и начинаем движение
FAQ по Gcode, примеры #20
теперь надо отследить появление (1 ) на пине arduino.Din1-20 , и остановить перемещение (как это сделать) :thinking: не придумал. Нужно в ж коде выполнить условный переход(если нет едим дальше, если да конец программы) Можно ли такое реализовать на ж коде
Ну и соответственно после останова программы по перемещению можно будет судить о быстродействии модбус ардуино
как я понимаю мне надо что то такое
00 М65 Р00
01 G0X0
02 M64 P00
03 IF arduino.Din1-20 TRUE
04 06 (перейти в строку 06 , конец программы)
05 G1X1000F1000
06 M30
Но естественно что это не работает
Ответить

Вернуться в «LinuxCNC»