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

Re: Arduino -> ModBus -> LCNC

Добавлено: 17 май 2019, 20:19
Serb01
Для автоматической загрузки порта ttyACM0 вместо ttyUSB0 при запуске системы в файл /etc/rc.local строку
sudo ln -s /dev/ttyUSB0 /dev/ttyACM0
Для автоматического разрешения чтения-записи ttyUSB0 при подключении USB-устройства создать файл /etc/udev/rules.d/50-ttyusb.rules и вставить туда:
KERNEL=="ttyUSB[0-9]*",NAME="tts/USB%n",SYMLINK+="%k",GROUP="uucp",MODE="0666"

Re: Arduino -> ModBus -> LCNC

Добавлено: 17 май 2019, 22:16
Serg
Нужно учитывать ещё такой момент: в случае реконекта USB, например из-за помехи, устройство может заново присоединиться быстрее, чем система освободит /dev/ttyUSB0 - в итоге устройство получит порт /dev/ttyUSB1 и ваша ссылка будет указывать в никуда.

Поэтому надо не изобретать велосипед с квадратными колёсами, а всё, и права и ссылку, делать штатными средствами только через udev. :)

Re: Arduino -> ModBus -> LCNC

Добавлено: 18 май 2019, 15:06
Serb01
UAVpilot писал(а):Поэтому надо не изобретать велосипед
Это Гугл ... А как правильно сделать?

Re: Arduino -> ModBus -> LCNC

Добавлено: 18 май 2019, 17:26
Serg
Serb01 писал(а):Это Гугл ... А как правильно сделать?
Я ж чуть выше написал:
UAVpilot писал(а):Я где-то тут на форуме подробно расписывал как средствами системы (udev) автоматически назначать таким устройствам желаемые имена и права доступа. Вроде в своей теме про управление частотником по Modbus.
Не думаю что поиск по таким критериям непосильная задача... :)

Re: Arduino -> ModBus -> LCNC

Добавлено: 18 май 2019, 21:32
Serb01
Если знаешь - скажи, что знаешь - забыл - лучше промолчи, а не знаешь - не обращай внимание.

Re: Arduino -> ModBus -> LCNC

Добавлено: 18 май 2019, 21:52
aftaev
UAVpilot писал(а):Не думаю что поиск по таким критериям непосильная задача...
Re: Управление частотником через modbus. #219

Re: Arduino -> ModBus -> LCNC

Добавлено: 18 май 2019, 22:03
Serb01
Пробовал. Серийного номера нет ...

Re: Arduino -> ModBus -> LCNC

Добавлено: 19 май 2019, 01:36
Serg
Serb01 писал(а):Пробовал. Серийного номера нет ...
Дело не в серийном номере, а в принципе. Изображение

Re: Arduino -> ModBus -> LCNC

Добавлено: 19 май 2019, 11:20
Serb01
Можно было и не спрашивать. Как дитё малое.

Re: Arduino -> ModBus -> LCNC

Добавлено: 20 май 2019, 02:15
Serg
Я знаю и помню, но мне лень и ещё раз это разъяснять и искать свой прошлый пост, особенно для тех, кому для себя любимого лень поискать по очевидным критериям. Видимо не так уж и нужно.
Хотя, скажем за 500 евро может будет и не лень... :)

Re: Arduino -> ModBus -> LCNC

Добавлено: 20 май 2019, 21:36
Serb01
UAVpilot писал(а):Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
забыл добавить - за 500 евро.

Re: Arduino -> ModBus -> LCNC

Добавлено: 21 май 2019, 04:21
Serg
Serb01 писал(а):забыл добавить - за 500 евро.
Скопируй подпись себе и добавь. У меня написано как надо.
И какое отношение к теме имеет обсуждение подписей?..

Re: Arduino -> ModBus -> LCNC

Добавлено: 21 май 2019, 04:58
Serb01
Я тебя ещё пять постов назад просил отойти и не раздувать ветку неподелу.

Re: Arduino -> ModBus -> LCNC

Добавлено: 05 апр 2020, 14:42
treyne
[quote="nkp"]
сам скрипт:
Вложение gs2_vfd.c больше недоступно
заменяем ним оригинальный в папка_с_lcnc/src/hal/user_comps
в терминале :
cd папка_с_lcnc/src
make
-----------------------------

Ребята, помогите пожалуйста, не хочет компилировать скрипт gs2_vfd.c
Выдаёт следующее.

cnc@LinuxCNC:~/LCNC/src$ make
Reading 187/187 dependency files
Done reading dependencies
Compiling hal/user_comps/gs2_vfd.c
hal/user_comps/gs2_vfd.c:110:16: error: unknown type name ‘modbus_param_t’
hal/user_comps/gs2_vfd.c:132:15: error: unknown type name ‘modbus_param_t’
hal/user_comps/gs2_vfd.c: In function ‘main’:
hal/user_comps/gs2_vfd.c:179:5: error: unknown type name ‘modbus_param_t’
hal/user_comps/gs2_vfd.c:294:5: warning: implicit declaration of function ‘modbus_init_rtu’ [-Wimplicit-function-declaration]
hal/user_comps/gs2_vfd.c:295:13: error: request for member ‘debug’ in something not a structure or union
hal/user_comps/gs2_vfd.c:297:5: warning: passing argument 1 of ‘modbus_connect’ from incompatible pointer type [enabled by default]
In file included from hal/user_comps/gs2_vfd.c:12:0:
/usr/include/modbus/modbus.h:158:5: note: expected ‘struct modbus_t *’ but argument is of type ‘int *’
hal/user_comps/gs2_vfd.c:412:9: warning: implicit declaration of function ‘read_data’ [-Wimplicit-function-declaration]
hal/user_comps/gs2_vfd.c:413:9: warning: implicit declaration of function ‘write_data’ [-Wimplicit-function-declaration]
hal/user_comps/gs2_vfd.c:426:5: warning: passing argument 1 of ‘modbus_close’ from incompatible pointer type [enabled by default]
In file included from hal/user_comps/gs2_vfd.c:12:0:
/usr/include/modbus/modbus.h:159:6: note: expected ‘struct modbus_t *’ but argument is of type ‘int *’
make: *** [objects/hal/user_comps/gs2_vfd.o] Ошибка 1

Скрипт gs2_vfd.c взятый отсюда компилируется БЕЗ ошибок, Но проект ардуины не компилируется. https://github.com/nkp216/Arduino----Modbus---Linuxcnc

Re: Arduino -> ModBus -> LCNC

Добавлено: 05 апр 2020, 15:31
nkp
там библиотеки изменились
надо подправлять

Re: Arduino -> ModBus -> LCNC

Добавлено: 05 апр 2020, 16:44
treyne
nkp писал(а):там библиотеки изменились
надо подправлять
Нашёл причитну, В архиве с проектом не хватало файла Pin_Manipulator.ino содержащего в себе недостающие функции.
Появилась другая проблема, Ардуина не отвечает на запросы от EMC. Светодиод (TX) на плате одиночно моргает, в консоли появляется сообщение о таймауте. Возможно не правильно сконфигурирована прошивка под мою ардуину.(У меня Arduino MEGA 2560) .

В файле standard_pinout.hal указал loadusr gs2_vfd -r 19200 -d /dev/ttyUSB0 -p none
Файл конфигурации во вложении.


cnc@LinuxCNC:~/LCNC$ linuxcnc
LINUXCNC - 2.7.14
Machine configuration directory is '/home/cnc/linuxcnc/configs/ArduinoSlave'
Machine configuration file is 'ArduinoSlave.ini'
Starting LinuxCNC...
.
Found file(REL): ./stepper_xyza.hal
Found file(REL): ./standard_pinout.hal
gs2_vfd: device='/dev/ttyUSB0', baud=19200, parity='N', bits=8, stopbits=1, address=1, enabled=1
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1437, in __call__
return self.func(*args)
File "/usr/bin/axis", line 1325, in jogspeed_listbox_change
if isinstance(value, str): value = value.encode('utf-8', 'replace')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128)
failed to set register P0x0101 to 0x0064 (100): Connection timed out
Xlib.protocol.request.QueryExtension
Xlib.protocol.request.QueryExtension
modbus.hal:15: Pin 'arduino.Dout3-48' does not exist
Shutting down and cleaning up LinuxCNC...
/usr/bin/gladevcp:295: GtkWarning: GdkWindow 0x3c00003 unexpectedly destroyed
gtk.main()
**** GLADE VCP ERROR: X Protocol Error: 3
task: 159 cycles, min=0.000017, max=0.021514, avg=0.008979, 0 latency excursions (> 10x expected cycle time of 0.010000s)
failed to set register P0x0101 to 0x0064 (100): Connection timed out
LinuxCNC terminated with an error. You can find more information in the log:
/home/cnc/linuxcnc_debug.txt
and
/home/cnc/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal

Re: Arduino -> ModBus -> LCNC

Добавлено: 05 апр 2020, 16:57
nkp
treyne писал(а):Нашёл причитну,
какой дистрибутив?
какая версия емс?
всё компилировалось из исходников или был взят скомпилированный файл ?

Re: Arduino -> ModBus -> LCNC

Добавлено: 05 апр 2020, 17:13
treyne
nkp писал(а):какой дистрибутив?
какая версия емс?
всё компилировалось из исходников или был взят скомпилированный файл ?
1.дистрибутив Debian 7 wheezy скачаный с официального сайта linuxcnc.
2.версия емс 2.7.14. По крайней мере так пишет консоль. Хотя я скачивал версию исходников linuxcnc_2.7.15.2.g8a0a225.tar.gz (2.7-rtpreempt)
3.Всё компилировалось из исходников. Весь EMC и файл gs2_vfd.c

Re: Arduino -> ModBus -> LCNC

Добавлено: 05 апр 2020, 17:27
nkp
это делалось еще под Ubuntu 10.04
с тех пор несколько раз использовал ,но опять же - с U10.04
как то попробовал на более свежем дистре проделать - ругнулось на библиотеку modbus
дальше не рылся...
поэтому немного странно,что собралось (но может и не странно - а я не доглядел тогда :) )

Re: Arduino -> ModBus -> LCNC

Добавлено: 05 апр 2020, 17:39
treyne
nkp писал(а):поэтому немного странно,что собралось
Я целую тонну библиотек скачал что бы оно собралось, что то около 700мб.
Попробовал запустить EMC с подключеной ардуиной и без. Результат одинаковый. Т.е не приходят данные от ардуины в EMC. Хотя светодиод (TX) на плате при попытке запуска моргает.
nkp можешь написать мне в личку.