[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 »

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

2454 ?        R      0:17 python enrun.py
Вложения
output.txt
(522 байт) 928 скачиваний
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

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

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

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

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

Попробовал на другой машине с 2.5.4-41-gc34d5ac
Тот же эффект...
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

Ворон226 писал(а):Попробовал на другой машине с 2.5.4-41-gc34d5acТот же эффект...
напоследок обновиться хотя бы до 2.6 (понимаю - что нет никакой аргументации)...
я пробовал на 2.7...
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Ворон226 писал(а):Старался во всех конфигурациях нажимать две неработающие кнопки и выключать конфигурацию, чтобы завершить процесс отслеживания ошибок.
А вот тут не понял. Оно разве само не завершалось от ошибки?

Похоже про ненайденный файл это оно так "шутит" - какую-то свою ошибку не связанную с файлами обзывает стандартной фразой...
Попробуй в ini в секцию EMC добавить
DEBUG = 0x7FFFFFFF
И запусти вот так:
LANG=C linuxcnc
будет всё по английски, но зато и все сообщения без перевода. Ну и покажи что на консоль вывалит.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

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

UAVpilot писал(а):Ну и покажи что на консоль вывалит.

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

sun@sun-desktop:~$ cd /home/sun/linuxcnc/configs/skaner-mygui
sun@sun-desktop:~/linuxcnc/configs/skaner-mygui$ LANG=C 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...
emc/task/emctask.cc 374: interp_error: File not open
File not open
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

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

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

Сообщение Serg »

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

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

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

Ещё раз на свежую голову:
DEBUG - есть
M2 - добавил:

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

sun@sun-desktop:~$ cd /home/sun/linuxcnc/configs/skaner-mygui
sun@sun-desktop:~/linuxcnc/configs/skaner-mygui$ LANG=C linuxcncLINUXCNC - 2.5.4-62-g22ed1fa
Machine configuration directory is '/home/sun/linuxcnc/configs/skaner-mygui'
Machine configuration file is 'skaner.ini'
Starting LinuxCNC...
(time=1414725386.366622,pid=1574): Registering server on TCP port 5005.
(time=1414725386.366846,pid=1574): running server for TCP port 5005 (connection_socket = 3).
iocontrol: machine: 'skaner'  version 'unknown'
task: machine: 'skaner'  version 'unknown'
NML_INTERP_LIST::append(nml_msg{size=24,type=EMC_TRAJ_SET_TERM_COND}) : list_size=1, line_number=0
NML_INTERP_LIST::append(nml_msg{size=88,type=EMC_TRAJ_SET_G5X}) : list_size=2, line_number=0
NML_INTERP_LIST::append(nml_msg{size=84,type=EMC_TRAJ_SET_G92}) : list_size=3, line_number=0
NML_INTERP_LIST::append(nml_msg{size=20,type=EMC_TRAJ_SET_ROTATION}) : list_size=4, line_number=0
emcTaskPlanInit() returned 0
emcTaskInit: adding user-defined function /home/sun/linuxcnc/configs/skaner-mygui/M102
NML_INTERP_LIST::append(nml_msg_ptr{size=12,type=EMC_TASK_PLAN_SYNCH}) : list_size=1, line_number=0
emcTaskPlanSynch() returned 0
NML_INTERP_LIST::append(nml_msg{size=24,type=EMC_TRAJ_SET_TERM_COND}) : list_size=2, line_number=0
NML_INTERP_LIST::append(nml_msg{size=88,type=EMC_TRAJ_SET_G5X}) : list_size=3, line_number=0
NML_INTERP_LIST::append(nml_msg{size=84,type=EMC_TRAJ_SET_G92}) : list_size=4, line_number=0
NML_INTERP_LIST::append(nml_msg{size=20,type=EMC_TRAJ_SET_ROTATION}) : list_size=5, line_number=0
emcTaskPlanInit() returned 0
Issuing EMC_TASK_PLAN_SYNCH -- 	 (+516,+12,    +0,)
emcTaskPlanSynch() returned 0
Issuing EMC_TRAJ_SET_TERM_COND -- 	 (+222,+24,    +0,    +2,0.000000,)
Issuing EMC_TRAJ_SET_G5X -- 	 (+224,+88,    +0,    +1,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,)
Issuing EMC_TRAJ_SET_G92 -- 	 (+227,+84,    +0,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,)
Issuing EMC_TRAJ_SET_ROTATION -- 	 (+226,+20,    +0,0.000000,)
Issuing EMC_TASK_SET_STATE -- 	 (+505,+16,+100001,    +4,)
Issuing EMC_AXIS_ABORT -- 	 (+120,+16,+100002,    +1,)
Issuing EMC_AXIS_JOG -- 	 (+124,+24,+100003,    +1,-1.148206,)
Issuing EMC_AXIS_ABORT -- 	 (+120,+16,+100004,    +1,)
Issuing EMC_AXIS_ABORT -- 	 (+120,+16,+100005,    +0,)
Issuing EMC_AXIS_JOG -- 	 (+124,+24,+100006,    +0,-1.173167,)
Issuing EMC_AXIS_ABORT -- 	 (+120,+16,+100007,    +0,)
Issuing EMC_TASK_SET_MODE -- 	 (+504,+16,+100008,    +3,)
NML_INTERP_LIST::append(nml_msg_ptr{size=12,type=EMC_TASK_PLAN_SYNCH}) : list_size=1, line_number=0
emcTaskPlanSynch() returned 0
Issuing EMC_TASK_PLAN_SYNCH -- 	 (+516,+12,    +0,)
emcTaskPlanSynch() returned 0
Issuing EMC_TASK_PLAN_EXECUTE -- 	 (+509,+268,+100009,o<ust0>call,)
emcTaskPlanLevel() returned 0
emc/task/emctask.cc 374: interp_error: File not open
File not open
Interpreter stack: 	 - int Interp::convert_control_functions(block*, setup*)  - int Interp::_execute(const char*) 
emcTaskPlanExecute(o<ust0>call) returned 5
emcTaskPlanLevel() returned 0
emc/task/emctaskmain.cc 2185: error executing command 509:EMC_TASK_PLAN_EXECUTE
emcTaskIssueCommand() returning: -1

Получилось по-подробнее...
Последние 9 строк по теме.
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

окончательно убедился - не работает именно в 2.5:
Рабочий стол 1_050.png (1500 просмотров) <a class='original' href='./download/file.php?id=35837&mode=view' target=_blank>Загрузить оригинал (211.56 КБ)</a>
вывод - обновиться...
===============
а кусок о strace - отделить в тему отдельную - еще не раз кому то пригодится...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

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

А какой именно момент не работает в 2.5? (для справки)
(уже знаю, что в 2.5 нельзя присваивать переменным значения пинов, а в 2.6 - можно)
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

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

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

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

Не... я не про момент времени ;)
Я про место в конфигурации. Неужели вызов подпрограммы через mdi-команду?
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

Ворон226 писал(а):Я про место в конфигурации. Неужели вызов подпрограммы через mdi-команду?
и я же про это...
ошибка появляется в момент вызова о-кода через mdi-команду...
================
скорей всего ответ кроется в interp_o_word.cc...
вот этот файл из версии 2.5 и 2.7 (может все таки определим точный источник ошибки)...
1.rar
(23.35 КБ) 260 скачиваний
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

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

И можно будет переписать его и версию не менять? ;)
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

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

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

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

Тогда возникает следующий вопрос:
Как организовать вызов подпрограммы корректно версии 2.5?
Или нужно сразу всех ориентировать на версию 2.6?
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

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

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

Сообщение Serg »

nkp!!! Надо раньше вставать!!! :pssdoff:

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

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

Сообщение Serg »

Ворон226 писал(а):И можно будет переписать его и версию не менять? ;)
Не получится - очень многое поменялось из того, что используется в interp_o_word.cc, да и сама работа с o call полностью переписана.

Да и смысл сидеть на 2.5, если оициальный релиз уже 2.6.x?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

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