[WIKI] Создание конфигурации простого автомата от чайника

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

[WIKI] Создание конфигурации простого автомата от чайника

Сообщение Ворон226 »

Часто возникает необходимость создания конфигурации простого автомата на LinuxCNC.
Попробую сделать это тут для новичков (к коим и себя отношу).

А начнем с постановки задачи.

Задача.
Сконфигурировать простой автомат "Планшетный широкоформатный сканер" на базе LinuxCNC со своей панелью управления и встроенной перепрограммируемой программой обработки заготовки.

Для начала определим необходимые направления работы:
1. Описание логики работы сканера
2. Создание файла INI
3. Создание визуальной панели
4. Создание связей между HAL, визуальной панелью и программами/подпрограммами
5. Создание HAL
6. Написание программы сканирования
7. Способы проверки и тестирования конфигурации

Продолжу вечером...
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон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$ 

Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

А вот с этим:
[RS274NGC]
PARAMETER_FILE = emc.var
SUBROUTINE_PATH = /home/sun/linuxcnc/configs/skaner-mygui
USER_M_PATH = /home/sun/linuxcnc/configs/skaner-mygui
попытка засчитана? Или просто пропустили?
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

Кстати, со strace помогла разобраться (в первом приближении) статья - http://www.ashep.org/2011/nablyudenie-z ... FB56tfWRto
Хочешь быть счастливым? Будь им!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение 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) у которого нет прав на выполнение.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Nick »

Ворон226 писал(а):А вот с этим:
[RS274NGC]
PARAMETER_FILE = emc.var
SUBROUTINE_PATH = /home/sun/linuxcnc/configs/skaner-mygui
USER_M_PATH = /home/sun/linuxcnc/configs/skaner-mygui
попытка засчитана? Или просто пропустили?
Раз не помогло - значит засчитана.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон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


...и висит...
Хочешь быть счастливым? Будь им!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Nick »

наверное кучу всего пишет... пробовал по дольше подождать? И что в итоге в файле?
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

до сих пор висит...
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Serg »

Можно в другой консоли написать
tail -f /home/sun/output.txt
и посмотреть что оно туда пишет...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

UAVpilot писал(а):tail -f /home/sun/output.txt
Пишет, не останавливаясь (увидеть не успеваю)
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Serg »

Ну можно нажать Ctrl-C - остановится... :)

Видимо ждёт какого-то события... А окно с прогой не появилось где-нибудь под окнами?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

На Ctrl-C не реагирует.
Окно не появлялось - все выключил... Без -f все запускалось.
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Serg »

Ворон226 писал(а):На Ctrl-C не реагирует.
Ctrl-C там, где tail запущено. :)
Ворон226 писал(а):Окно не появлялось - все выключил... Без -f все запускалось.
без -f порождаемые процессы не трассирует..
Покажи при этом "ps axf"?

Можно попрбовать уменьшить писанину strace добавив опцию "-e trace=file".
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон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$ 
Файл прицепил
Вложения
output.txt
(1.36 МБ) 970 скачиваний
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Serg »

Так а сама ошибка-то где? Нигде не видно сообщения
emc/task/emctask.cc 374: interp_error: Файл не найден
Ты при этом сделал так, чтоб она произошла?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение 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 не скажет))
=============
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

Я как рассуждаю?
Панель с кнопками, прикрученная к axis, отрабатывает все команды. Та же сама панель, но выполненная самостоятельно не может найти подпрограмму, а M-код находит.
Получается, что в axis есть некий механизм, которого нет в mygui.

Получается, что нужно либо узнать ГДЕ ДОЛЖНЫ лежать подпрограммы, либо ГДЕ и КАК прописать пути к подпрограммам?
Так?
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

UAVpilot писал(а):Так а сама ошибка-то где? Нигде не видно сообщения
Так при запуске выскочила менюшка выбора конфигурации, а после выбора - ничего не запустилось и вывалилось в... смотри выше.
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Serg »

Ворон226 писал(а):Так при запуске выскочила менюшка выбора конфигурации, а после выбора - ничего не запустилось и вывалилось в... смотри выше.
Ворон226 писал(а):module_helper is not setuid root
попробуй всё это через sudo запускать - похоже strace не даёт suid-bit на запускаемых файлах отработать.
nkp писал(а):наверно strace не скажет
Почему не находит я тебе и без strace скажу: ищет там, где его нет. :)
Зато strace покажет где именно оно его ищет...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: [WIKI] Создание конфигурации простого автомата от чайник

Сообщение Ворон226 »

UAVpilot писал(а):попробуй всё это через sudo запускать - похоже strace не даёт suid-bit на запускаемых файлах отработать.
Получилось! 29 тысяч строк!!!
Вложения
output.txt
(2.19 МБ) 918 скачиваний
Хочешь быть счастливым? Будь им!
Ответить

Вернуться в «LinuxCNC»