возьми мою - чуть подправишь - всё меньше мороки с кистью(ну я про рисование))solo писал(а):нарисую панельку
Arduino -> ModBus -> LCNC
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
если будешь для шима пробовать Scale - то там в хал нужно будет конверитировать float в s32
(кажется у scale нет выходов s32)
(кажется у scale нет выходов s32)
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
с comp ошибки и с makefile не разобрался
но если не хотим трогать gs2_vfd.c то просто скомпилированный файл переименованый (допустим в ard_mod)
ложим в /usr/bin (в случае с емс установленом в систему)
или в ...../bin (в случае с емс установленом из исходников)
и соответственно - запускаем ,прописывая в хал :
loadusr ard_mod
но если не хотим трогать gs2_vfd.c то просто скомпилированный файл переименованый (допустим в ard_mod)
ложим в /usr/bin (в случае с емс установленом в систему)
или в ...../bin (в случае с емс установленом из исходников)
и соответственно - запускаем ,прописывая в хал :
loadusr ard_mod
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
а в папку конфига положить можно?nkp писал(а):ложим в /usr/bin
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
можно...aftaev писал(а):а в папку конфига положить можно?
только работать не будет)
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
пАчему
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
-
asutpka
- Мастер
- Сообщения: 294
- Зарегистрирован: 17 апр 2013, 14:27
- Репутация: 78
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Наверняка там его не ищут. Это как бы твоя шутка юмора для loadusr а он шуток не понимает и тупо шарит там куда ему указывает системная переменная $PATH. Предположение - может наверно понять , но с указанием полного пути. Знающие поправят.
Да и не кашерно исполняемому бинарному файлу в папке с конфигом лежать, поскольку традиции рекомендуют котлеты поедать отдельно от мух.
Да и не кашерно исполняемому бинарному файлу в папке с конфигом лежать, поскольку традиции рекомендуют котлеты поедать отдельно от мух.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
сижу изучаю модбус
Появилась дурацкая мысль .
А если компонет модбус Ардуино сделать в виде конструктора с отдельных компонентов который будет обслуживать один пин ардуино , по аналогии компонентов Lcnc таких как , или, энд, ну и прочие.... которые запускают и соединяются в хел файле.
В принципе нам надо будет всего четыре компонента, дискретный вход выход, и аналоговый вход выход
тогда при необходимости можно в зависимости от потребности самому составить свой компонент , сколько надо пинов на вход , сколько выход , аналоговые цифровые.
Хотя наверно подобная задача может оказаться такой же сложной как и написание отдельного компонента под свои нужды хотя ИМХО вроде должно быть проще и универсально под любую ардуино
Конечно это все рассуждение дилетанта, и это всего навсего мысль в слух.
Надо еще продумать вопрос скетча для ардуино
Появилась дурацкая мысль .
А если компонет модбус Ардуино сделать в виде конструктора с отдельных компонентов который будет обслуживать один пин ардуино , по аналогии компонентов Lcnc таких как , или, энд, ну и прочие.... которые запускают и соединяются в хел файле.
В принципе нам надо будет всего четыре компонента, дискретный вход выход, и аналоговый вход выход
тогда при необходимости можно в зависимости от потребности самому составить свой компонент , сколько надо пинов на вход , сколько выход , аналоговые цифровые.
Хотя наверно подобная задача может оказаться такой же сложной как и написание отдельного компонента под свои нужды хотя ИМХО вроде должно быть проще и универсально под любую ардуино
Конечно это все рассуждение дилетанта, и это всего навсего мысль в слух.
Надо еще продумать вопрос скетча для ардуино
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
здесь как раз была попытка воплотить что то подобное...solo писал(а):омпонет модбус Ардуино сделать в виде конструктора с
но попробовав решил , что уж очень много разных конфигураций возможно да еще и прошивку править нужно...
посему подумалось - проще сделать пяток разных конфигураций для людей далеких от написания кода,
а многие, глядя на шаблон , без труда поправят под себя...
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Все уже придумано до "нас"
Еще раз спасибо за помощь

Еще раз спасибо за помощь
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
А можно как то ускорить модбус, а то у меня сейчас на глазок , между тыканием на кнопочку на панели и до загорания светодиода на ардуине проходит порядка 0.2 сек
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
задержки в отрисовке не показатель скорости...solo писал(а):А можно как то ускорить модбус, а то у меня сейчас на глазок , между тыканием на кнопочку на панели и до загорания светодиода на ардуине проходит порядка 0.2 сек
хотя очень даже может быть - у нас же работает пользовательский компонент в userspace (не реалтайм-компонент)
если критична скорость - пробуй модбас через ладдер...
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
так я кнопочку жимаю на панельке ланддер а светодиод смотря на ардуине . считаю что кнопка нажата когда щелкнула мышка . С задержкой можно наверное смерится но как себя будет вести модбус если передавать импульс длительностью допустим 0.8с он (импульс) будет отрабатываться просто с задержкой или погрешность то есть 0.8 +/-0.2 .
Мне б наверное интересовал вопрос более стабильное время переключения , отзыва ардуино модбус чем задержка . может можно как то стабилизировать скорость модбус.
И еще могу ошибаться но в конфигурации Arduino -> ModBus -> LCNC #221
мне показалось есть маленькая не точность в файле standard pinout хел (где запускается компонент модбус )
я строку
#loadusr gs2_vfd -v 1110
заменил на
loadusr gs2_vfd
после этого модбус пока запускается постоянно, а то до этого изменения было несколько случаев при запуске Lcnc модбус не запускался
Мне б наверное интересовал вопрос более стабильное время переключения , отзыва ардуино модбус чем задержка . может можно как то стабилизировать скорость модбус.
И еще могу ошибаться но в конфигурации 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
конфигурацию выложил из-за панелькиsolo писал(а):мне показалось есть маленькая не точность
мог бы только ее - но подумал - может кому то будут полезны и файлы ...
у меня работает loadusr gs2_vfd -v 1110
но у меня иная редация скрипта
короче - ты правильно отредактировал...)
============
задержки действительно необходимо промониторить - пока ты в числе пионеров ардуино-модбас
мне тут Ник тоже давал советы - как провести тесты,надо будет заняться...
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Чего то оплять не так
Для соединения ШИМа ардуино и виджета нужен конверт формата 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 ноу фонд
Для соединения ШИМа ардуино и виджета нужен конверт формата 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 ноу фонд
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
сюда:
POSTGUI_HALFILE = modbus.hal
конвертацию прописываешь ?
если нет - попробуй ...
====
POSTGUI_HALFILE = modbus.hal
конвертацию прописываешь ?
если нет - попробуй ...
====
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Внимательно следи заsolo писал(а):ошибка пишет что conv_float_s32 count=1 ноу фонд
Код: Выделить всё
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
может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
а если попробовать Ethernet с ладдером на ардуино+Ethernet-sheldСергей Саныч писал(а):Даже на максимальной скорости стандартного COM-порта (115200 бит/с) за сервоцикл не выйдет передать больше 10 байт.Скорее всего придется использовать парочки sampler - halsampler и halstreamer - streamer для обмена.
есть и "сразу" mega_ethernet - но дороговата,
а так - мало ног...
. . .
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Спасибо, все поправил как написано выше все заработало.
вот здесь Nick писал
Колхоз ЧПУ #1
А ардуине ставлю перемычку между двумя пинами, входным и выходным(пины 51=20).
теперь нужно запустить Ж код по которому на цифровой выход ардуино подаем (1) командой М64 Р00 на вывод ардуино ,arduino.Dout3-51, и начинаем движение
FAQ по Gcode, примеры #20
теперь надо отследить появление (1 ) на пине arduino.Din1-20 , и остановить перемещение (как это сделать)
не придумал. Нужно в ж коде выполнить условный переход(если нет едим дальше, если да конец программы) Можно ли такое реализовать на ж коде
Ну и соответственно после останова программы по перемещению можно будет судить о быстродействии модбус ардуино
как я понимаю мне надо что то такое
00 М65 Р00
01 G0X0
02 M64 P00
03 IF arduino.Din1-20 TRUE
04 06 (перейти в строку 06 , конец программы)
05 G1X1000F1000
06 M30
Но естественно что это не работает
вот здесь Nick писал
Колхоз ЧПУ #1
а можно на таком принципе построить проверку быстродействия ардуино только я пока не совсем понял как это реализовать.Nick писал(а):Также потом на пиноль был добавлен концевик, т.к. шаговик упорно пропускал шаги, и теперь все сверление идет до концевика и потом поднимается на +17мм. Кстати, концевик работает не через G38.2, потому, что он как-то не так работал в mdi, а через halui.abort + timedelay на halui.mdi команду подъема наверх![]()
А ардуине ставлю перемычку между двумя пинами, входным и выходным(пины 51=20).
теперь нужно запустить Ж код по которому на цифровой выход ардуино подаем (1) командой М64 Р00 на вывод ардуино ,arduino.Dout3-51, и начинаем движение
FAQ по Gcode, примеры #20
теперь надо отследить появление (1 ) на пине arduino.Din1-20 , и остановить перемещение (как это сделать)
Ну и соответственно после останова программы по перемещению можно будет судить о быстродействии модбус ардуино
как я понимаю мне надо что то такое
00 М65 Р00
01 G0X0
02 M64 P00
03 IF arduino.Din1-20 TRUE
04 06 (перейти в строку 06 , конец программы)
05 G1X1000F1000
06 M30
Но естественно что это не работает