Страница 9 из 14

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

Добавлено: 15 окт 2014, 11:40
Ворон226
Это обсуждение статьи Конфигурация LCNC для простого автомата с MYGUI
Часто возникает необходимость создания конфигурации простого автомата на LinuxCNC.
Попробую сделать это тут для новичков (к коим и себя отношу).

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

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

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

Продолжу вечером...

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

Добавлено: 30 окт 2014, 21:04
Ворон226

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

2454 ?        R      0:17 python enrun.py

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

Добавлено: 30 окт 2014, 21:05
Ворон226
Старался во всех конфигурациях нажимать две неработающие кнопки и выключать конфигурацию, чтобы завершить процесс отслеживания ошибок.

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

Добавлено: 30 окт 2014, 21:18
Ворон226
Попробовал на другой машине с 2.5.4-41-gc34d5ac
Тот же эффект...

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

Добавлено: 30 окт 2014, 21:26
nkp
Ворон226 писал(а):Попробовал на другой машине с 2.5.4-41-gc34d5acТот же эффект...
напоследок обновиться хотя бы до 2.6 (понимаю - что нет никакой аргументации)...
я пробовал на 2.7...

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

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

Похоже про ненайденный файл это оно так "шутит" - какую-то свою ошибку не связанную с файлами обзывает стандартной фразой...
Попробуй в ini в секцию EMC добавить
DEBUG = 0x7FFFFFFF
И запусти вот так:
LANG=C linuxcnc
будет всё по английски, но зато и все сообщения без перевода. Ну и покажи что на консоль вывалит.

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

Добавлено: 30 окт 2014, 22:44
Ворон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

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

Добавлено: 30 окт 2014, 23:38
Serg
А
DEBUG = 0x7FFFFFFF
добавил?

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

Добавлено: 30 окт 2014, 23:47
Serg
M2 в конец .ngc файлов добавь.

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

Добавлено: 31 окт 2014, 06:20
Ворон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 строк по теме.

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

Добавлено: 31 окт 2014, 07:26
nkp
окончательно убедился - не работает именно в 2.5:
Рабочий стол 1_050.png (1579 просмотров) <a class='original' href='./download/file.php?id=35837&sid=46f3851f5d0c9cd1c9876daba1f046d1&mode=view' target=_blank>Загрузить оригинал (211.56 КБ)</a>
вывод - обновиться...
===============
а кусок о strace - отделить в тему отдельную - еще не раз кому то пригодится...

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

Добавлено: 31 окт 2014, 07:31
Ворон226
А какой именно момент не работает в 2.5? (для справки)
(уже знаю, что в 2.5 нельзя присваивать переменным значения пинов, а в 2.6 - можно)

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

Добавлено: 31 окт 2014, 07:32
nkp
опять же:
загружаю - снимаю с авост - вкл - установка нуля - и выскакивает ошибка (на скрине)

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

Добавлено: 31 окт 2014, 07:49
Ворон226
Не... я не про момент времени ;)
Я про место в конфигурации. Неужели вызов подпрограммы через mdi-команду?

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

Добавлено: 31 окт 2014, 08:07
nkp
Ворон226 писал(а):Я про место в конфигурации. Неужели вызов подпрограммы через mdi-команду?
и я же про это...
ошибка появляется в момент вызова о-кода через mdi-команду...
================
скорей всего ответ кроется в interp_o_word.cc...
вот этот файл из версии 2.5 и 2.7 (может все таки определим точный источник ошибки)...
1.rar
(23.35 КБ) 267 скачиваний

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

Добавлено: 31 окт 2014, 08:10
Ворон226
И можно будет переписать его и версию не менять? ;)

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

Добавлено: 31 окт 2014, 08:28
nkp
Ворон226 писал(а):И можно будет переписать его и версию не менять?
попробовал - не получается - всё та же ошибка((
наверно это был преждевременный вывод...
будем пробовать еще...

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

Добавлено: 31 окт 2014, 08:45
Ворон226
Тогда возникает следующий вопрос:
Как организовать вызов подпрограммы корректно версии 2.5?
Или нужно сразу всех ориентировать на версию 2.6?

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

Добавлено: 31 окт 2014, 08:46
nkp
разные версии пробовал "подсунуть" , вплоть до всей директории интерпретатора) -
не собирается ...
==============
если по какой то причине не хочешь пока обновляться в системе - собери 2.6(2.7) из исходников , проверишь работу...

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

Добавлено: 31 окт 2014, 08:49
Serg
nkp!!! Надо раньше вставать!!! :pssdoff:

Тоже с утра попробовал на 2.5 - полез на форум писать, а тут уже:
nkp писал(а):окончательно убедился - не работает именно в 2.5:
:hehehe:

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

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

Да и смысл сидеть на 2.5, если оициальный релиз уже 2.6.x?..