а в случае работы связки емс-arduino через ладдер?(с com-портом ,минуя usb)Nick писал(а):он выполяется в пользовательском пространстве, что может означать неограниченную задержку...
Arduino -> ModBus -> LCNC
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
все зависит от того как часто он так сможет обновляться...
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
а от чего это зависит?Nick писал(а):все зависит от того как часто он так сможет обновляться...
или это тема подобна ранееподнятой:
сколько компонентов "выдержит"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
ladder у нас в servothread работает, так?
значит 1000гц.. но как он будет с портом обшаться? За 1 такт все читать? Или это будет растягиваться?
значит 1000гц.. но как он будет с портом обшаться? За 1 такт все читать? Или это будет растягиваться?
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
вот это и интересно...Nick писал(а):но как он будет с портом обшаться? За 1 такт все читать? Или это будет растягиваться?
надо как то пробовать:
все для этого есть - только как проверить ?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
А что именно проверить?
Можно сделать так два пина 1 вывод другой ввод. На стороне ардуины делаем вывод = ввод + 1.
Соответственно, сколько раз произошел обмен, тому и будет равен вывод, ну и сичтаем к-во раз за определенное время.
Если нужно проверить latency примерно тоже самое, только ввод = ! ввод и смотрим на стороне linuxcnc частоту смены ввода...
Можно сделать так два пина 1 вывод другой ввод. На стороне ардуины делаем вывод = ввод + 1.
Соответственно, сколько раз произошел обмен, тому и будет равен вывод, ну и сичтаем к-во раз за определенное время.
Если нужно проверить latency примерно тоже самое, только ввод = ! ввод и смотрим на стороне linuxcnc частоту смены ввода...
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
В первую очередь - от скорости обмена и объема данных, передаваемых за цикл.
Даже на максимальной скорости стандартного COM-порта (115200 бит/с) за сервоцикл не выйдет передать больше 10 байт.
Скорее всего придется использовать парочки sampler - halsampler и halstreamer - streamer для обмена.
Даже на максимальной скорости стандартного COM-порта (115200 бит/с) за сервоцикл не выйдет передать больше 10 байт.
Скорее всего придется использовать парочки sampler - halsampler и halstreamer - streamer для обмена.
Чудес не бывает. Бывают фокусы.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Проблему по связи ардуино USB я поднял по тому что сейчас у меня ардуина стоит на 3Д принтере . Соответственно ардуино запитано от внешнего импульсного источника питания . В блоке питания я думаю стоит LC фильтр .selenur писал(а):А ардуина у тебя питается только от USB, или и от внешнего источника?
Просто я надеюсь что Arduino -> ModBus будет работать более надежно, надо проверить будет для начала
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
есть какие нибудь наработки (ссылки на примеры применения...)Сергей Саныч писал(а):Скорее всего придется использовать парочки sampler - halsampler и halstreamer - streamer для обмена.
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Нет, но попробовать можно. Достаточно простой способ вывести данные из реалтаймового потока в любой файл, в частности, последовательный порт. И наоборот.nkp писал(а):есть какие нибудь наработки (ссылки на примеры применения...)
Чудес не бывает. Бывают фокусы.
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
подкажите - экранчик к ардуине (контроллер s6b0066u ) о 15 ногах, тогда как везде(?) в сети показана распайка 16ног...
какого вывода на моей железке нет?
upd:
разобрался:
нет минуса подсветки...
какого вывода на моей железке нет?
upd:
разобрался:
нет минуса подсветки...
Последний раз редактировалось nkp 19 фев 2014, 11:23, всего редактировалось 1 раз.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
просветите неуча, а то смотрю в книгу вижу фигу
вроде делаю по это ссылку
Arduino -> ModBus -> LCNC #53
ардуино прошил
в папку конфига добавил
что с компонентом делать так и не понял
не нахожу такой папки и не знаю куда пихать?????
"
заменяем ним оригинальный в папка_с_lcnc/src/hal/user_comps
в терминале :
cd папка_с_lcnc/src
make
"
Соответственно получаю такую ошибку
вроде делаю по это ссылку
Arduino -> ModBus -> LCNC #53
ардуино прошил
в папку конфига добавил
что с компонентом делать так и не понял
не нахожу такой папки и не знаю куда пихать?????
"
заменяем ним оригинальный в папка_с_lcnc/src/hal/user_comps
в терминале :
cd папка_с_lcnc/src
make
"
Соответственно получаю такую ошибку
Код: Выделить всё
Print file information:
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/realtime-2.6.32-122-rtai/modules/linuxcnc
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/share/linuxcnc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.5
LINUXCNC - 2.5.3
Machine configuration directory is '/home/cnc/linuxcnc/configs/Sherline44'
Machine configuration file is 'Sherline4Axis_mm.ini'
INIFILE=/home/cnc/linuxcnc/configs/Sherline44/Sherline4Axis_mm.ini
PARAMETER_FILE=stepper.var
TASK=milltask
HALUI=halui
DISPLAY=axis
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Starting HAL User Interface program: halui
Starting TASK program: milltask
Starting DISPLAY program: axis
RTAPI: ERROR: Unexpected realtime delay on task 1
This Message will only display once per session.
Run the Latency Test and resolve before continuing.
Unexpected realtime delay: check dmesg for details.
Shutting down and cleaning up LinuxCNC...
**** GLADE VCP INFO: Not a libglade project, trying to load as a GTK builder project
Xlib.protocol.request.QueryExtension
Xlib.protocol.request.QueryExtension
**** GLADE VCP ERROR: X Protocol Error: 3
Killing task linuxcncsvr, PID=2828
Killing task milltask, PID=2903
gs2_vfd: device='/dev/ttyACM0', baud=19200, bits=8, parity='none', stopbits=1, address=1, verbose=0
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done
Debug file information:
Can not find -sec MOT -var MOT -num 1
Can not find -sec IO -var IO -num 1
Can not find -sec LINUXCNC -var NML_FILE -num 1
Can not find -sec EMC -var NML_FILE -num 1
(gladevcp:2918): libglade-WARNING **: Expected <glade-interface>. Got <interface>.
(gladevcp:2918): libglade-WARNING **: did not finish in PARSER_FINISH state
modbus.hal:1: Pin 'arduino.pwm1' does not exist
/usr/bin/gladevcp:290: GtkWarning: GdkWindow 0x4400003 unexpectedly destroyed
gtk.main()
2828
PID TTY STAT TIME COMMAND
2903
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components
Kernel message information:
[ 1716.818777] I-pipe: Domain RTAI registered.
[ 1716.818783] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[ 1716.818785] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) .
[ 1716.818815] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[ 1716.818817] PIPELINE layers:
[ 1716.818820] f9068e20 9ac15d93 RTAI 200
[ 1716.818822] c085cb20 0 Linux 100
[ 1716.838026] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 1716.838232] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[ 1716.838236] RTAI[sched]: hard timer type/freq = APIC/12499988(Hz); default timing: periodic; linear timed lists.
[ 1716.838240] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 2199833000 hz.
[ 1716.838242] RTAI[sched]: timer setup = 999 ns, resched latency = 2944 ns.
[ 1716.838325] RTAI[usi]: enabled.
[ 1716.877954] RTAI[math]: loaded.
[ 1716.958913] config string '0x0378'
[ 1717.419714] RTAPI: ERROR: Unexpected realtime delay on task 1
[ 1717.419718] This Message will only display once per session.
[ 1717.419719] Run the Latency Test and resolve before continuing.
[ 1717.419981]
[ 1717.419984] In recent history there were
[ 1717.419985] 2196194, 2195589, 2196722, 2195270, and 2201628
[ 1717.419986] elapsed clocks between calls to the motion controller.
[ 1717.419998] This time, there were 2640099 which is so anomalously
[ 1717.419999] large that it probably signifies a problem with your
[ 1717.420000] realtime configuration. For the rest of this run of
[ 1717.420001] EMC, this message will be suppressed.
[ 1717.420002]
[ 1719.648264] RTAI[math]: unloaded.
[ 1719.671457] SCHED releases registered named ALIEN RTGLBH
[ 1719.700271] RTAI[malloc]: unloaded.
[ 1719.800012] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[ 1719.802181] I-pipe: Domain RTAI unregistered.
[ 1719.802215] RTAI[hal]: unmounted.
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
тут такое дело:
мы изменяем компонент gs2_vfd.c,
исходный код его на си, требуется компиляция...
как это сделать в установленой в систему емс я не знаю (точнее - даже не пробовал))
все "опыты" провожу в емс ,установленой из исходников (в отдельную папку)
=========
если не получится так - то по моему , где то в теме есть бинарник - им заменяешь "родной" ...
мы изменяем компонент gs2_vfd.c,
исходный код его на си, требуется компиляция...
как это сделать в установленой в систему емс я не знаю (точнее - даже не пробовал))
все "опыты" провожу в емс ,установленой из исходников (в отдельную папку)
=========
если не получится так - то по моему , где то в теме есть бинарник - им заменяешь "родной" ...
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Arduino -> ModBus -> LCNC #137
Наверное вот это
еще вопрос у мена LCNC 2.5.3
наверное из за этого я не нахожу куда положить компонент
нужно поменять здесь?
или LCNC 2.5 модбус не работает и нужно обновлять до LCNC2.6 версии
Наверное вот это
еще вопрос у мена LCNC 2.5.3
наверное из за этого я не нахожу куда положить компонент
У меня такой компонент можно найти /usr/bin/ ?solo писал(а):заменяем ним оригинальный в папка_с_lcnc/src/hal/user_comps
нужно поменять здесь?
или LCNC 2.5 модбус не работает и нужно обновлять до LCNC2.6 версии
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
да наверное - там в #140 весь конфиг ...solo писал(а):Наверное вот это
в 2.5 gs2_vfd.c уже был - ты же сам говоришь,что находишь в /usr/bin/solo писал(а):или LCNC 2.5 модбус не работает и нужно обновлять до LCNC2.6 версии
так что все должно работать...
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
А как заменить файл (компонент) gs2_vfd просто удалить (кнопкой делит) не получается 
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
ну например в терминале:
sudo nautilus /usr/bin
вводишь пароль
======
не забудь сохранить оригинальный файл - мало ли чего
sudo nautilus /usr/bin
вводишь пароль
======
не забудь сохранить оригинальный файл - мало ли чего
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Как я устал от своей бестолковости
файл заменил
я понимаю теперь надо сделать что то в терминале типа так но у меня не выходит
чаво опять не так
файл заменил
я понимаю теперь надо сделать что то в терминале типа так но у меня не выходит
Код: Выделить всё
cnc@cnc-desktop:~$ cd/usr/bin
bash: cd/usr/bin: Нет такого файла или каталога
cnc@cnc-desktop:~$ cd /usr/bin
cnc@cnc-desktop:/usr/bin$ make
make: *** Не заданы цели и не найден make-файл. Останов.
cnc@cnc-desktop:/usr/bin$ make gs2_vfd
make: Цель `gs2_vfd' не требует выполнения команд.
cnc@cnc-desktop:/usr/bin$ make
make: *** Не заданы цели и не найден make-файл. Останов.
cnc@cnc-desktop:/usr/bin$
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
перестань посыпать голову пеплом
============
теперь никакие make делать не надо,
просто замени свой файл gs2_vfd (сохранив копию где нибудь) на скачаный бинарник...
и всё))
теперь если в любой конфигурации в хал прописать :
loadusr gs2_vfd
то скрипт будет пытаться наладить обмен данными с ардуиной...
============
теперь никакие make делать не надо,
просто замени свой файл gs2_vfd (сохранив копию где нибудь) на скачаный бинарник...
и всё))
теперь если в любой конфигурации в хал прописать :
loadusr gs2_vfd
то скрипт будет пытаться наладить обмен данными с ардуиной...
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Ага заработала конфигурация ArduinoSlave
конфигурация Sherline4 не работает ругается на glade ну это скорее всего из за разных версий Lcnc (а я все долбил эту конфигурацию)_
А подскажите в Lcnc видна ардуина в ней куча пинов и все входные IN, а могут пины бить настроены на выход OUT ?
Мне нужно управлять дискретной нагрузкой (пневмоцилиндрами) , и еще желательно управлять ШИМ -ом (управлять нагревателями по ардуино)
это нужно изменить прошивку ардуино или какие то настройки Lcnc . Чего надо поковырять
конфигурация Sherline4 не работает ругается на glade ну это скорее всего из за разных версий Lcnc (а я все долбил эту конфигурацию)_
А подскажите в Lcnc видна ардуина в ней куча пинов и все входные IN, а могут пины бить настроены на выход OUT ?
Мне нужно управлять дискретной нагрузкой (пневмоцилиндрами) , и еще желательно управлять ШИМ -ом (управлять нагревателями по ардуино)
это нужно изменить прошивку ардуино или какие то настройки Lcnc . Чего надо поковырять
