Страница 12 из 22

Re: Arduino -> ModBus -> LCNC

Добавлено: 20 фев 2014, 15:30
nkp
solo писал(а):нарисую панельку
возьми мою - чуть подправишь - всё меньше мороки с кистью(ну я про рисование))
ArduinoSlave.rar
(7.29 КБ) 382 скачивания
(для просмотра содержимого нажмите на ссылку)
Выделение_045.png (2638 просмотров) <a class='original' href='./download/file.php?id=25088&mode=view' target=_blank>Загрузить оригинал (109.11 КБ)</a>

Re: Arduino -> ModBus -> LCNC

Добавлено: 20 фев 2014, 15:50
nkp
если будешь для шима пробовать Scale - то там в хал нужно будет конверитировать float в s32
(кажется у scale нет выходов s32)

Re: Arduino -> ModBus -> LCNC

Добавлено: 20 фев 2014, 23:50
nkp
с comp ошибки и с makefile не разобрался ;)
но если не хотим трогать gs2_vfd.c то просто скомпилированный файл переименованый (допустим в ard_mod)
ложим в /usr/bin (в случае с емс установленом в систему)
или в ...../bin (в случае с емс установленом из исходников)
и соответственно - запускаем ,прописывая в хал :
loadusr ard_mod

Re: Arduino -> ModBus -> LCNC

Добавлено: 21 фев 2014, 00:03
aftaev
nkp писал(а):ложим в /usr/bin
а в папку конфига положить можно?

Re: Arduino -> ModBus -> LCNC

Добавлено: 21 фев 2014, 00:08
nkp
aftaev писал(а):а в папку конфига положить можно?
можно...
только работать не будет)

Re: Arduino -> ModBus -> LCNC

Добавлено: 21 фев 2014, 00:12
aftaev
:lol:
пАчему :thinking:

Re: Arduino -> ModBus -> LCNC

Добавлено: 21 фев 2014, 05:18
asutpka
Наверняка там его не ищут. Это как бы твоя шутка юмора для loadusr а он шуток не понимает и тупо шарит там куда ему указывает системная переменная $PATH. Предположение - может наверно понять , но с указанием полного пути. Знающие поправят.
Да и не кашерно исполняемому бинарному файлу в папке с конфигом лежать, поскольку традиции рекомендуют котлеты поедать отдельно от мух.

Re: Arduino -> ModBus -> LCNC

Добавлено: 21 фев 2014, 13:22
solo
сижу изучаю модбус
Появилась дурацкая мысль .
А если компонет модбус Ардуино сделать в виде конструктора с отдельных компонентов который будет обслуживать один пин ардуино , по аналогии компонентов Lcnc таких как , или, энд, ну и прочие.... которые запускают и соединяются в хел файле.
В принципе нам надо будет всего четыре компонента, дискретный вход выход, и аналоговый вход выход
тогда при необходимости можно в зависимости от потребности самому составить свой компонент , сколько надо пинов на вход , сколько выход , аналоговые цифровые.
Хотя наверно подобная задача может оказаться такой же сложной как и написание отдельного компонента под свои нужды хотя ИМХО вроде должно быть проще и универсально под любую ардуино
Конечно это все рассуждение дилетанта, и это всего навсего мысль в слух.
Надо еще продумать вопрос скетча для ардуино :thinking:

Re: Arduino -> ModBus -> LCNC

Добавлено: 21 фев 2014, 13:31
nkp
solo писал(а):омпонет модбус Ардуино сделать в виде конструктора с
здесь как раз была попытка воплотить что то подобное...
но попробовав решил , что уж очень много разных конфигураций возможно да еще и прошивку править нужно...
посему подумалось - проще сделать пяток разных конфигураций для людей далеких от написания кода,
а многие, глядя на шаблон , без труда поправят под себя...

Re: Arduino -> ModBus -> LCNC

Добавлено: 21 фев 2014, 13:54
solo
Все уже придумано до "нас" :D
Еще раз спасибо за помощь :beer_blow: :beer_blow:

Re: Arduino -> ModBus -> LCNC

Добавлено: 21 фев 2014, 15:44
solo
А можно как то ускорить модбус, а то у меня сейчас на глазок , между тыканием на кнопочку на панели и до загорания светодиода на ардуине проходит порядка 0.2 сек

Re: Arduino -> ModBus -> LCNC

Добавлено: 21 фев 2014, 18:08
nkp
solo писал(а):А можно как то ускорить модбус, а то у меня сейчас на глазок , между тыканием на кнопочку на панели и до загорания светодиода на ардуине проходит порядка 0.2 сек
задержки в отрисовке не показатель скорости...
хотя очень даже может быть - у нас же работает пользовательский компонент в userspace (не реалтайм-компонент)
если критична скорость - пробуй модбас через ладдер...

Re: Arduino -> ModBus -> LCNC

Добавлено: 21 фев 2014, 18:53
solo
так я кнопочку жимаю на панельке ланддер а светодиод смотря на ардуине . считаю что кнопка нажата когда щелкнула мышка . С задержкой можно наверное смерится но как себя будет вести модбус если передавать импульс длительностью допустим 0.8с он (импульс) будет отрабатываться просто с задержкой или погрешность то есть 0.8 +/-0.2 .
Мне б наверное интересовал вопрос более стабильное время переключения , отзыва ардуино модбус чем задержка . может можно как то стабилизировать скорость модбус.
И еще могу ошибаться но в конфигурации Arduino -> ModBus -> LCNC #221
мне показалось есть маленькая не точность в файле standard pinout хел (где запускается компонент модбус )
я строку
#loadusr gs2_vfd -v 1110
заменил на
loadusr gs2_vfd
после этого модбус пока запускается постоянно, а то до этого изменения было несколько случаев при запуске Lcnc модбус не запускался

Re: Arduino -> ModBus -> LCNC

Добавлено: 21 фев 2014, 19:04
nkp
solo писал(а):мне показалось есть маленькая не точность
конфигурацию выложил из-за панельки
мог бы только ее - но подумал - может кому то будут полезны и файлы ...
у меня работает loadusr gs2_vfd -v 1110
но у меня иная редация скрипта
короче - ты правильно отредактировал...)
============
задержки действительно необходимо промониторить - пока ты в числе пионеров ардуино-модбас :freak:
мне тут Ник тоже давал советы - как провести тесты,надо будет заняться...

Re: Arduino -> ModBus -> LCNC

Добавлено: 21 фев 2014, 19:37
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:

Re: Arduino -> ModBus -> LCNC

Добавлено: 21 фев 2014, 19:40
nkp
сюда:
POSTGUI_HALFILE = modbus.hal
конвертацию прописываешь ?
если нет - попробуй ...
====

Re: Arduino -> ModBus -> LCNC

Добавлено: 22 фев 2014, 00:45
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

Re: Arduino -> ModBus -> LCNC

Добавлено: 22 фев 2014, 06:20
nkp
solo писал(а):net convin conv_float_s32.0.in gladevcp.hal_vscalei
может
gladevcp.hal_vscale1
??

Re: Arduino -> ModBus -> LCNC

Добавлено: 22 фев 2014, 08:52
nkp
Сергей Саныч писал(а):Даже на максимальной скорости стандартного COM-порта (115200 бит/с) за сервоцикл не выйдет передать больше 10 байт.Скорее всего придется использовать парочки sampler - halsampler и halstreamer - streamer для обмена.
а если попробовать Ethernet с ладдером на ардуино+Ethernet-sheld :thinking:
есть и "сразу" mega_ethernet - но дороговата,
а так - мало ног...
. . .

Re: Arduino -> ModBus -> LCNC

Добавлено: 22 фев 2014, 11:40
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
Но естественно что это не работает