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

Re: Управление частотником через modbus.

Добавлено: 09 дек 2014, 15:48
Сергей Саныч
Чего-то не идет. Сделал, вроде, все, как описано, но при компиляции берет библиотеки, похоже, не оттуда.

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

cnc@cnc-desktop:~/linuxcnc-dev/N700EV27$ . /home/cnc/linuxcnc-dev/scripts/rip-environment
cnc@cnc-desktop:~/linuxcnc-dev/N700EV27$ make clean
rm -f n700e_vfd
rm -rf .o
cnc@cnc-desktop:~/linuxcnc-dev/N700EV27$ make
Makefile:17: .o/n700e_vfd.d: Нет такого файла или каталога
Makefile:17: .o/n700e_modbus.d: Нет такого файла или каталога
mkdir -p .o
cc -I/usr/include/linuxcnc -URTAPI -U__MODULE__ -DULAPI -Os -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -MM -MT ".o/n700e_modbus.d .o/n700e_modbus.o" n700e_modbus.c -o .o/n700e_modbus.d.tmp \
			&& mv .o/n700e_modbus.d.tmp .o/n700e_modbus.d
mkdir -p .o
cc -I/usr/include/linuxcnc -URTAPI -U__MODULE__ -DULAPI -Os -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -MM -MT ".o/n700e_vfd.d .o/n700e_vfd.o" n700e_vfd.c -o .o/n700e_vfd.d.tmp \
			&& mv .o/n700e_vfd.d.tmp .o/n700e_vfd.d
mkdir -p .o
cc -I/usr/include/linuxcnc -URTAPI -U__MODULE__ -DULAPI -Os -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -o .o/n700e_vfd.o -c n700e_vfd.c
mkdir -p .o
cc -I/usr/include/linuxcnc -URTAPI -U__MODULE__ -DULAPI -Os -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -o .o/n700e_modbus.o -c n700e_modbus.c
In file included from n700e_modbus.c:13:
n700e_modbus.h:18:1: warning: "PATH_MAX" redefined
In file included from /usr/include/bits/local_lim.h:39,
                 from /usr/include/bits/posix1_lim.h:157,
                 from /usr/include/limits.h:145,
                 from /usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed/limits.h:122,
                 from /usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed/syslimits.h:7,
                 from /usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed/limits.h:11,
                 from n700e_modbus.c:9:
/usr/include/linux/limits.h:12:1: warning: this is the location of the previous definition
cc -o n700e_vfd .o/n700e_vfd.o .o/n700e_modbus.o /usr/lib/libpthread.so -Wl,-rpath,/usr/lib -L/usr/lib -llinuxcnchal -lglib-2.0  
cnc@cnc-desktop:~/linuxcnc-dev/N700EV27$ 

Re: Управление частотником через modbus.

Добавлено: 09 дек 2014, 16:48
Serg
Дай свой архивчик?..

Re: Управление частотником через modbus.

Добавлено: 10 дек 2014, 08:38
Сергей Саныч
Вот.

Re: Управление частотником через modbus.

Добавлено: 10 дек 2014, 09:09
verser
Думаю, что если в Makefile 4-ю - 6-ю строчки

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

EMC2_HOME := /usr

EXTRA_CFLAGS += -I$(EMC2_HOME)/include/linuxcnc
заменить так

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

EMC2_HOME := "`dirname $(shell ./find-bindir)`"

EXTRA_CFLAGS += -I$(EMC2_HOME)/include
то должно получиться.

Re: Управление частотником через modbus.

Добавлено: 10 дек 2014, 11:33
Сергей Саныч
чего-то не выходит.
Как посмотреть, сработала ли команда

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

. /home/cnc/linuxcnc-dev/scripts/rip-environment
по крайней мере у меня ./find-bindir стабильно выдает /usr/bin
или я что-то не понимаю?

Re: Управление частотником через modbus.

Добавлено: 10 дек 2014, 11:58
verser
Сергей Саныч писал(а): по крайней мере у меня ./find-bindir стабильно выдает /usr/bin
Должна выдавать

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

/home/блабла/linuxcnc-dev/bin

Re: Управление частотником через modbus.

Добавлено: 10 дек 2014, 12:10
verser
Может имеет значение откуда запускается rip-environment?
сделать типа

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

cd linuxcnc-dev
. ./scripts/rip-environment

Re: Управление частотником через modbus.

Добавлено: 10 дек 2014, 12:14
verser
Обращаю так же внимание, что компилляцию следует выполнять в том же терминале, в котором запускался rip-environment.

Re: Управление частотником через modbus.

Добавлено: 10 дек 2014, 12:24
Сергей Саныч
Попробую.
verser писал(а):компилляцию следует выполнять в том же терминале, в котором запускался rip-environment.
Это само собой.

Re: Управление частотником через modbus.

Добавлено: 10 дек 2014, 14:11
Сергей Саныч
То ли лыжи не едут... :thinking:
Вот запускаю терминал:

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

cnc@cnc-desktop:~/linuxcnc-dev/N700EV27$ ./find-bindir
/usr/bin
cnc@cnc-desktop:~/linuxcnc-dev/N700EV27$ . /home/cnc/linuxcnc-dev/scripts/rip-environment
cnc@cnc-desktop:~/linuxcnc-dev/N700EV27$ ./find-bindir
/usr/bin
cnc@cnc-desktop:~/linuxcnc-dev/N700EV27$ 

Re: Управление частотником через modbus.

Добавлено: 10 дек 2014, 15:46
Сергей Саныч
вот тут обсуждалось похожее
LinuxCNC run in place comp --install #1
Оказывается, в 2.7 нет comp, a есть halcompile. А find-чего_то_там ищут comp.

Re: Управление частотником через modbus.

Добавлено: 10 дек 2014, 16:16
Serg
Да, правильно, надо на halcompile поправить. Или даже на halcmd.
verser писал(а):Может имеет значение откуда запускается rip-environment?
Не имеет.

Re: Управление частотником через modbus.

Добавлено: 10 дек 2014, 16:53
verser
UAVpilot писал(а):Да, правильно, надо на halcompile поправить. Или даже на halcmd.
:wtf:
Сергей Саныч писал(а):То ли лыжи не едут... :thinking:
Вот запускаю терминал:

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

cnc@cnc-desktop:~/linuxcnc-dev/N700EV27$ ./find-bindir
/usr/bin
cnc@cnc-desktop:~/linuxcnc-dev/N700EV27$ . /home/cnc/linuxcnc-dev/scripts/rip-environment
cnc@cnc-desktop:~/linuxcnc-dev/N700EV27$ ./find-bindir
/usr/bin
cnc@cnc-desktop:~/linuxcnc-dev/N700EV27$ 
Ещё может что терминал запускается от имени root, а надо - от обычного юзера.

Re: Управление частотником через modbus.

Добавлено: 10 дек 2014, 22:48
Serg
verser писал(а)::wtf:
Понятно, что halcmd тут не при делах, но зато его не переименовывали от версии к версии, т.е. будет универсальный вариант. :)
verser писал(а):Ещё может что терминал запускается от имени root, а надо - от обычного юзера.
Это тоже не важно - rip-environment переопределит всё, что нужно.

P.S. И вообще у меня возникла идея переписать этот модуль на python или tcl... :)

Re: Управление частотником через modbus.

Добавлено: 11 дек 2014, 05:06
Сергей Саныч
В общем, поправил find-ы, вроде скомпилировалось и даже почти запустилось. Буду дальше разбираться.

То, что comp переименовали, в общем-то правильно. Название было совершенно "никакое". Путаница теперь только будет всякая :(
UAVpilot писал(а):И вообще у меня возникла идея переписать этот модуль на python или tcl... :)
Модуль уже только на этом форуме живет минимум в трех вариантах под разные частотники.
Интересно, насколько реально написать универсальный настраиваемый (скажем, по таблицам) вариант с сохранением полной функциональности?

Re: Управление частотником через modbus.

Добавлено: 11 дек 2014, 07:36
Serg
Сергей Саныч писал(а):То, что comp переименовали, в общем-то правильно. Название было совершенно "никакое". Путаница теперь только будет всякая :(
Переименовали потому, что была путаница - comp есть в пакете http://savannah.nongnu.org/projects/nmh
Сергей Саныч писал(а):Интересно, насколько реально написать универсальный настраиваемый (скажем, по таблицам) вариант с сохранением полной функциональности?
Проблема в том, что у Хуанйангов modbus нестандартный, нельзя даже воспользоваться стандартной библиотекой libmodbus.
А для стандартных случаев в составе LinuxCNC есть несколько вариантов, построенных на одной основе. И теоретически можно попробовать на mb2hal изобразить, но пока не на чем потренироваться...

Re: Управление частотником через modbus.

Добавлено: 11 дек 2014, 15:10
Сергей Саныч
Таки вроде завелось :)

Re: Управление частотником через modbus.

Добавлено: 25 дек 2014, 09:04
aekhv
После долгого медитирования над исходниками из первого сообщения этой темы выкладываю адаптацию под свои частотники :D

У меня два частотника, оба покупал у purelogic: Tecorp HC1C+ 01D523BK и его брат-близнец IDS Drive C01D523. Оба настраиваются и работают совершенно одинакого. Уверен что у многих есть такие преобразователи, надеюсь кто-нибудь вместе со мной порадуется что теперь можно рулить ими по modbus из LinuxCNC. Ура! :cheesy:

В исходники добавил комменты (в меру своего понимания), большинство интересных констант вынес в заголовочный файл (hc1c_vfd.h). В прилагаемом архиве тестовая конфигурация для axis, достаточно просто распаковать и запустить:

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

sudo make install
linuxcnc tecorp.ini
screen.png
tecorp.tar.gz

Re: Управление частотником через modbus.

Добавлено: 25 дек 2014, 15:35
verser
В этой ветке уже собрались исходники для modbus от
-Huanyang VFD(в шапке)
-Hyindai N50
-Hyundai N700E
-Tecorp HC1C+ 01D523BK , IDS Drive C01D523
может в шапку их? чтоб не рыться по ветке.

Re: Управление частотником через modbus.

Добавлено: 25 дек 2014, 15:54
Serg
Добавил ссылки в первое сообщение.

Только у меня просьба: старайтесь адаптировать те варианты, которые имеются в составе LinuxCNC, а именно:
http://linuxcnc.org/docs/devel/html/man/man1/gs2.1.html
http://linuxcnc.org/docs/devel/html/man ... vfd.1.html
http://linuxcnc.org/docs/devel/html/man ... vfd.1.html
они получше написаны и работают через стандартную libmodbus.
Код, который я применил в этой теме имеет смысл испольpовать только для Huanyang - у них нестандартная реализация Modbus.