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

Re: Arduino -> ModBus -> LCNC

Добавлено: 18 фев 2014, 09:56
nkp
Nick писал(а):он выполяется в пользовательском пространстве, что может означать неограниченную задержку...
а в случае работы связки емс-arduino через ладдер?(с com-портом ,минуя usb)

Re: Arduino -> ModBus -> LCNC

Добавлено: 18 фев 2014, 14:34
Nick
все зависит от того как часто он так сможет обновляться...

Re: Arduino -> ModBus -> LCNC

Добавлено: 18 фев 2014, 17:58
nkp
Nick писал(а):все зависит от того как часто он так сможет обновляться...
а от чего это зависит?
или это тема подобна ранееподнятой:
сколько компонентов "выдержит" Боливар hal ...

Re: Arduino -> ModBus -> LCNC

Добавлено: 18 фев 2014, 18:03
Nick
ladder у нас в servothread работает, так?
значит 1000гц.. но как он будет с портом обшаться? За 1 такт все читать? Или это будет растягиваться?

Re: Arduino -> ModBus -> LCNC

Добавлено: 18 фев 2014, 18:06
nkp
Nick писал(а):но как он будет с портом обшаться? За 1 такт все читать? Или это будет растягиваться?
вот это и интересно...
надо как то пробовать:
все для этого есть - только как проверить ?

Re: Arduino -> ModBus -> LCNC

Добавлено: 18 фев 2014, 18:15
Nick
А что именно проверить?
Можно сделать так два пина 1 вывод другой ввод. На стороне ардуины делаем вывод = ввод + 1.
Соответственно, сколько раз произошел обмен, тому и будет равен вывод, ну и сичтаем к-во раз за определенное время.
Если нужно проверить latency примерно тоже самое, только ввод = ! ввод и смотрим на стороне linuxcnc частоту смены ввода...

Re: Arduino -> ModBus -> LCNC

Добавлено: 18 фев 2014, 18:30
Сергей Саныч
В первую очередь - от скорости обмена и объема данных, передаваемых за цикл.
Даже на максимальной скорости стандартного COM-порта (115200 бит/с) за сервоцикл не выйдет передать больше 10 байт.
Скорее всего придется использовать парочки sampler - halsampler и halstreamer - streamer для обмена.

Re: Arduino -> ModBus -> LCNC

Добавлено: 18 фев 2014, 18:54
solo
selenur писал(а):А ардуина у тебя питается только от USB, или и от внешнего источника?
Проблему по связи ардуино USB я поднял по тому что сейчас у меня ардуина стоит на 3Д принтере . Соответственно ардуино запитано от внешнего импульсного источника питания . В блоке питания я думаю стоит LC фильтр .
Просто я надеюсь что Arduino -> ModBus будет работать более надежно, надо проверить будет для начала :thinking: да и быстродействие за одно проверю

Re: Arduino -> ModBus -> LCNC

Добавлено: 18 фев 2014, 20:08
nkp
Сергей Саныч писал(а):Скорее всего придется использовать парочки sampler - halsampler и halstreamer - streamer для обмена.
есть какие нибудь наработки (ссылки на примеры применения...)

Re: Arduino -> ModBus -> LCNC

Добавлено: 18 фев 2014, 20:18
Сергей Саныч
nkp писал(а):есть какие нибудь наработки (ссылки на примеры применения...)
Нет, но попробовать можно. Достаточно простой способ вывести данные из реалтаймового потока в любой файл, в частности, последовательный порт. И наоборот.

Re: Arduino -> ModBus -> LCNC

Добавлено: 19 фев 2014, 08:58
nkp
подкажите - экранчик к ардуине (контроллер s6b0066u ) о 15 ногах, тогда как везде(?) в сети показана распайка 16ног...
какого вывода на моей железке нет?
upd:
разобрался:
нет минуса подсветки...

Re: Arduino -> ModBus -> LCNC

Добавлено: 19 фев 2014, 10:37
solo
просветите неуча, а то смотрю в книгу вижу фигу
вроде делаю по это ссылку
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.




Re: Arduino -> ModBus -> LCNC

Добавлено: 19 фев 2014, 10:47
nkp
тут такое дело:
мы изменяем компонент gs2_vfd.c,
исходный код его на си, требуется компиляция...
как это сделать в установленой в систему емс я не знаю (точнее - даже не пробовал))
все "опыты" провожу в емс ,установленой из исходников (в отдельную папку)
=========
если не получится так - то по моему , где то в теме есть бинарник - им заменяешь "родной" ...

Re: Arduino -> ModBus -> LCNC

Добавлено: 19 фев 2014, 11:06
solo
Arduino -> ModBus -> LCNC #137
Наверное вот это
еще вопрос у мена LCNC 2.5.3
наверное из за этого я не нахожу куда положить компонент
solo писал(а):заменяем ним оригинальный в папка_с_lcnc/src/hal/user_comps
У меня такой компонент можно найти /usr/bin/ ?
нужно поменять здесь?
или LCNC 2.5 модбус не работает и нужно обновлять до LCNC2.6 версии

Re: Arduino -> ModBus -> LCNC

Добавлено: 19 фев 2014, 11:14
nkp
solo писал(а):Наверное вот это
да наверное - там в #140 весь конфиг ...
solo писал(а):или LCNC 2.5 модбус не работает и нужно обновлять до LCNC2.6 версии
в 2.5 gs2_vfd.c уже был - ты же сам говоришь,что находишь в /usr/bin/
так что все должно работать...

Re: Arduino -> ModBus -> LCNC

Добавлено: 19 фев 2014, 12:15
solo
А как заменить файл (компонент) gs2_vfd просто удалить (кнопкой делит) не получается :idiot:

Re: Arduino -> ModBus -> LCNC

Добавлено: 19 фев 2014, 12:25
nkp
ну например в терминале:
sudo nautilus /usr/bin
вводишь пароль
======
не забудь сохранить оригинальный файл - мало ли чего ;)

Re: Arduino -> ModBus -> LCNC

Добавлено: 19 фев 2014, 13:11
solo
Как я устал от своей бестолковости
файл заменил
я понимаю теперь надо сделать что то в терминале типа так но у меня не выходит

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

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$ 

чаво опять не так

Re: Arduino -> ModBus -> LCNC

Добавлено: 19 фев 2014, 13:25
nkp
перестань посыпать голову пеплом :hehehe:
============
теперь никакие make делать не надо,
просто замени свой файл gs2_vfd (сохранив копию где нибудь) на скачаный бинарник...
и всё))
теперь если в любой конфигурации в хал прописать :
loadusr gs2_vfd
то скрипт будет пытаться наладить обмен данными с ардуиной...

Re: Arduino -> ModBus -> LCNC

Добавлено: 19 фев 2014, 13:55
solo
Ага заработала конфигурация ArduinoSlave
конфигурация Sherline4 не работает ругается на glade ну это скорее всего из за разных версий Lcnc (а я все долбил эту конфигурацию)_
А подскажите в Lcnc видна ардуина в ней куча пинов и все входные IN, а могут пины бить настроены на выход OUT ?
Мне нужно управлять дискретной нагрузкой (пневмоцилиндрами) , и еще желательно управлять ШИМ -ом (управлять нагревателями по ардуино)
это нужно изменить прошивку ардуино или какие то настройки Lcnc . Чего надо поковырять