Страница 6 из 14
[WIKI] Создание конфигурации простого автомата от чайника
Добавлено: 15 окт 2014, 11:40
Ворон226
Часто возникает необходимость создания конфигурации простого автомата на LinuxCNC.
Попробую сделать это тут для новичков (к коим и себя отношу).
А начнем с постановки задачи.
Задача.
Сконфигурировать простой автомат "Планшетный широкоформатный сканер" на базе LinuxCNC со своей панелью управления и встроенной перепрограммируемой программой обработки заготовки.
Для начала определим необходимые направления работы:
1. Описание логики работы сканера
2. Создание файла INI
3. Создание визуальной панели
4. Создание связей между HAL, визуальной панелью и программами/подпрограммами
5. Создание HAL
6. Написание программы сканирования
7. Способы проверки и тестирования конфигурации
Продолжу вечером...
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 08:50
Ворон226
Попытки сделать тоже самое с -f:
Код: Выделить всё
sun@sun-desktop:~/linuxcnc/configs/skaner-mygui$ strace -o -f /home/sun/output.txt linuxcnc
strace: exec: Permission denied
sun@sun-desktop:~/linuxcnc/configs/skaner-mygui$
и так:
Код: Выделить всё
sun@sun-desktop:~/linuxcnc/configs/skaner-mygui$ strace -f /home/sun/output.txt linuxcnc
execve("/home/sun/output.txt", ["/home/sun/output.txt", "linuxcnc"], [/* 37 vars */]) = -1 EACCES (Permission denied)
dup(2) = 3
fcntl64(3, F_GETFL) = 0x2 (flags O_RDWR)
fstat64(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7894000
_llseek(3, 0, 0xbfb151c8, SEEK_CUR) = -1 ESPIPE (Illegal seek)
write(3, "strace: exec: Permission denied\n", 32strace: exec: Permission denied
) = 32
close(3) = 0
munmap(0xb7894000, 4096) = 0
exit_group(1) = ?
sun@sun-desktop:~/linuxcnc/configs/skaner-mygui$
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 08:52
Ворон226
А вот с этим:
[RS274NGC]
PARAMETER_FILE = emc.var
SUBROUTINE_PATH = /home/sun/linuxcnc/configs/skaner-mygui
USER_M_PATH = /home/sun/linuxcnc/configs/skaner-mygui
попытка засчитана? Или просто пропустили?
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 09:10
Ворон226
Кстати, со strace помогла разобраться (в первом приближении) статья -
http://www.ashep.org/2011/nablyudenie-z ... FB56tfWRto
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 10:17
Nick
Ворон226 писал(а):strace -o -f /home/sun/output.txt linuxcnc
Скорее всего должно быть
strace
-f -o /home/sun/output.txt linuxcnc
после -o должен быть параметр, и он считает, что -f это параметр для o, после чего пытается запустить следующий параметр т.е. /home/sun/output.txt (вместо linuxcnc) у которого нет прав на выполнение.
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 10:21
Nick
Ворон226 писал(а):А вот с этим:
[RS274NGC]
PARAMETER_FILE = emc.var
SUBROUTINE_PATH = /home/sun/linuxcnc/configs/skaner-mygui
USER_M_PATH = /home/sun/linuxcnc/configs/skaner-mygui
попытка засчитана? Или просто пропустили?
Раз не помогло - значит засчитана.
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 10:59
Ворон226
Nick писал(а):strace -f -o /home/sun/output.txt linuxcnc
после -o должен быть параметр, и он считает, что -f это параметр для o, после чего пытается запустить следующий параметр т.е. /home/sun/output.txt (вместо linuxcnc) у которого нет прав на выполнение.
Попробовал:
sun@sun-desktop:~/linuxcnc/configs/skaner-mygui$ strace -f -o /home/sun/output.txt linuxcnc
LINUXCNC - 2.5.4-62-g22ed1fa
...и висит...
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 11:22
Nick
наверное кучу всего пишет... пробовал по дольше подождать? И что в итоге в файле?
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 11:23
Ворон226
до сих пор висит...
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 11:50
Serg
Можно в другой консоли написать
tail -f /home/sun/output.txt
и посмотреть что оно туда пишет...
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 12:00
Ворон226
UAVpilot писал(а):tail -f /home/sun/output.txt
Пишет, не останавливаясь (увидеть не успеваю)
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 12:03
Serg
Ну можно нажать Ctrl-C - остановится...
Видимо ждёт какого-то события... А окно с прогой не появилось где-нибудь под окнами?..
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 12:15
Ворон226
На Ctrl-C не реагирует.
Окно не появлялось - все выключил... Без -f все запускалось.
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 12:33
Serg
Ворон226 писал(а):На Ctrl-C не реагирует.
Ctrl-C там, где tail запущено.
Ворон226 писал(а):Окно не появлялось - все выключил... Без -f все запускалось.
без -f порождаемые процессы не трассирует..
Покажи при этом "ps axf"?
Можно попрбовать уменьшить писанину strace добавив опцию "-e trace=file".
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 12:39
Ворон226
Сделал:
Код: Выделить всё
sun@sun-desktop:~/linuxcnc/configs/skaner-mygui$ strace -f -o /home/sun/output.txt -e trace=file linuxcnc
LINUXCNC - 2.5.4-62-g22ed1fa
Machine configuration directory is '/home/sun/linuxcnc/configs/skaner-mygui'
Machine configuration file is 'skaner.ini'
Starting LinuxCNC...
module_helper is not setuid root
Realtime system did not load
Shutting down and cleaning up LinuxCNC...
RTAPI: ERROR: could not open shared memory (errno=2)
/usr/bin/linuxcnc: строка 433: 9584 Ошибка сегментирования $HALCMD stop
RTAPI: ERROR: could not open shared memory (errno=2)
/usr/bin/linuxcnc: строка 433: 9585 Ошибка сегментирования $HALCMD unload all
RTAPI: ERROR: could not open shared memory (errno=2)
RTAPI: ERROR: could not open shared memory (errno=2)
RTAPI: ERROR: could not open shared memory (errno=2)
RTAPI: ERROR: could not open shared memory (errno=2)
RTAPI: ERROR: could not open shared memory (errno=2)
RTAPI: ERROR: could not open shared memory (errno=2)
RTAPI: ERROR: could not open shared memory (errno=2)
RTAPI: ERROR: could not open shared memory (errno=2)
RTAPI: ERROR: could not open shared memory (errno=2)
RTAPI: ERROR: could not open shared memory (errno=2)
module_helper is not setuid root
module_helper is not setuid root
module_helper is not setuid root
module_helper is not setuid root
module_helper is not setuid root
module_helper is not setuid root
module_helper is not setuid root
Cleanup done
LinuxCNC terminated with an error. You can find more information in the log:
/home/sun/linuxcnc_debug.txt
and
/home/sun/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal
sun@sun-desktop:~/linuxcnc/configs/skaner-mygui$
Файл прицепил
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 14:14
Serg
Так а сама ошибка-то где? Нигде не видно сообщения
emc/task/emctask.cc 374: interp_error: Файл не найден
Ты при этом сделал так, чтоб она произошла?
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 18:58
nkp
UAVpilot писал(а):strace попробуй - оно тебе напишет что пытается найти и где...
рассуждения "без strace"..
----------------------------
емс ругается
emc/task/emctask.cc 374: interp_error: Файл не найден
Файл не найден - в оригинале звучит:
File not open
далее :
#define NCE_FILE_NOT_OPEN _("File not open")
подобная брань(NCE_FILE_NOT_OPEN) встречается только в
interp_o_word.cc
вывод недвузначен: емс не находит файл с подпрограммой (о-код)
а вот почему он не находит - наверно strace не скажет))
=============
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 19:07
Ворон226
Я как рассуждаю?
Панель с кнопками, прикрученная к axis, отрабатывает все команды. Та же сама панель, но выполненная самостоятельно не может найти подпрограмму, а M-код находит.
Получается, что в axis есть некий механизм, которого нет в mygui.
Получается, что нужно либо узнать ГДЕ ДОЛЖНЫ лежать подпрограммы, либо ГДЕ и КАК прописать пути к подпрограммам?
Так?
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 19:12
Ворон226
UAVpilot писал(а):Так а сама ошибка-то где? Нигде не видно сообщения
Так при запуске выскочила менюшка выбора конфигурации, а после выбора - ничего не запустилось и вывалилось в... смотри выше.
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 19:33
Serg
Ворон226 писал(а):Так при запуске выскочила менюшка выбора конфигурации, а после выбора - ничего не запустилось и вывалилось в... смотри выше.
Ворон226 писал(а):module_helper is not setuid root
попробуй всё это через sudo запускать - похоже strace не даёт suid-bit на запускаемых файлах отработать.
nkp писал(а):наверно strace не скажет
Почему не находит я тебе и без strace скажу: ищет там, где его нет.

Зато strace покажет где именно оно его ищет...
Re: [WIKI] Создание конфигурации простого автомата от чайник
Добавлено: 29 окт 2014, 19:43
Ворон226
UAVpilot писал(а):попробуй всё это через sudo запускать - похоже strace не даёт suid-bit на запускаемых файлах отработать.
Получилось! 29 тысяч строк!!!