Arduino -> ModBus -> LCNC
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Для автоматической загрузки порта 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"
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"
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5182
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Нужно учитывать ещё такой момент: в случае реконекта USB, например из-за помехи, устройство может заново присоединиться быстрее, чем система освободит /dev/ttyUSB0 - в итоге устройство получит порт /dev/ttyUSB1 и ваша ссылка будет указывать в никуда.
Поэтому надо не изобретать велосипед с квадратными колёсами, а всё, и права и ссылку, делать штатными средствами только через udev.
Поэтому надо не изобретать велосипед с квадратными колёсами, а всё, и права и ссылку, делать штатными средствами только через udev.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Это Гугл ... А как правильно сделать?UAVpilot писал(а):Поэтому надо не изобретать велосипед
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5182
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Я ж чуть выше написал:Serb01 писал(а):Это Гугл ... А как правильно сделать?
Не думаю что поиск по таким критериям непосильная задача...UAVpilot писал(а):Я где-то тут на форуме подробно расписывал как средствами системы (udev) автоматически назначать таким устройствам желаемые имена и права доступа. Вроде в своей теме про управление частотником по Modbus.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Если знаешь - скажи, что знаешь - забыл - лучше промолчи, а не знаешь - не обращай внимание.
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
-
- Зачётный участник
- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6192
- Откуда: Казахстан.
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Re: Управление частотником через modbus. #219UAVpilot писал(а):Не думаю что поиск по таким критериям непосильная задача...
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Пробовал. Серийного номера нет ...
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5182
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Дело не в серийном номере, а в принципе.Serb01 писал(а):Пробовал. Серийного номера нет ...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Можно было и не спрашивать. Как дитё малое.
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5182
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Я знаю и помню, но мне лень и ещё раз это разъяснять и искать свой прошлый пост, особенно для тех, кому для себя любимого лень поискать по очевидным критериям. Видимо не так уж и нужно.
Хотя, скажем за 500 евро может будет и не лень...
Хотя, скажем за 500 евро может будет и не лень...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
забыл добавить - за 500 евро.UAVpilot писал(а):Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5182
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Скопируй подпись себе и добавь. У меня написано как надо.Serb01 писал(а):забыл добавить - за 500 евро.
И какое отношение к теме имеет обсуждение подписей?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Я тебя ещё пять постов назад просил отойти и не раздувать ветку неподелу.
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
-
- Новичок
- Сообщения: 14
- Зарегистрирован: 04 апр 2020, 21:17
- Репутация: 2
- Настоящее имя: Илья
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
[quote="nkp"]
сам скрипт: заменяем ним оригинальный в папка_с_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
сам скрипт: заменяем ним оригинальный в папка_с_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
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
там библиотеки изменились
надо подправлять
надо подправлять
-
- Новичок
- Сообщения: 14
- Зарегистрирован: 04 апр 2020, 21:17
- Репутация: 2
- Настоящее имя: Илья
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Нашёл причитну, В архиве с проектом не хватало файла Pin_Manipulator.ino содержащего в себе недостающие функции.nkp писал(а):там библиотеки изменились
надо подправлять
Появилась другая проблема, Ардуина не отвечает на запросы от 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
- Вложения
-
- ArduinoSlave.zip
- Архив с конфигурацией
- (9.05 КБ) 220 скачиваний
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
какой дистрибутив?treyne писал(а):Нашёл причитну,
какая версия емс?
всё компилировалось из исходников или был взят скомпилированный файл ?
-
- Новичок
- Сообщения: 14
- Зарегистрирован: 04 апр 2020, 21:17
- Репутация: 2
- Настоящее имя: Илья
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
1.дистрибутив Debian 7 wheezy скачаный с официального сайта linuxcnc.nkp писал(а):какой дистрибутив?
какая версия емс?
всё компилировалось из исходников или был взят скомпилированный файл ?
2.версия емс 2.7.14. По крайней мере так пишет консоль. Хотя я скачивал версию исходников linuxcnc_2.7.15.2.g8a0a225.tar.gz (2.7-rtpreempt)
3.Всё компилировалось из исходников. Весь EMC и файл gs2_vfd.c
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
это делалось еще под Ubuntu 10.04
с тех пор несколько раз использовал ,но опять же - с U10.04
как то попробовал на более свежем дистре проделать - ругнулось на библиотеку modbus
дальше не рылся...
поэтому немного странно,что собралось (но может и не странно - а я не доглядел тогда )
с тех пор несколько раз использовал ,но опять же - с U10.04
как то попробовал на более свежем дистре проделать - ругнулось на библиотеку modbus
дальше не рылся...
поэтому немного странно,что собралось (но может и не странно - а я не доглядел тогда )
-
- Новичок
- Сообщения: 14
- Зарегистрирован: 04 апр 2020, 21:17
- Репутация: 2
- Настоящее имя: Илья
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: Arduino -> ModBus -> LCNC
Я целую тонну библиотек скачал что бы оно собралось, что то около 700мб.nkp писал(а):поэтому немного странно,что собралось
Попробовал запустить EMC с подключеной ардуиной и без. Результат одинаковый. Т.е не приходят данные от ардуины в EMC. Хотя светодиод (TX) на плате при попытке запуска моргает.
nkp можешь написать мне в личку.