Страница 19 из 48
[WIKI] FAQ по EMC2 LinuxCNC
Добавлено: 25 окт 2010, 09:53
Nick
(для просмотра содержимого нажмите на ссылку)Q: EMC2 выдает такую ошибку: "Unexpected realtime delay: chek dmesg for details.". Что делать?
A: Это означает, что один из интервалов задержки стал больше Base period. Нужно увеличить base period в настройках EMC2. Запустите Приложения -> EMC2 -> Latеncy Test, попробуйте нагрузить компьютер, откройте несколько окон веб-браузера, запустите фильм, поставьте копироваться большой файл, по-перемещайте окна по экрану. После всего этого смотрим в окно Latency Test и запоминаем параметр
Max Jitter для
Base thread (если вы используете серво двигатели, Вам понадобятся оба параметра). Запускаем Приложения -> EMC2 -> Stepconf и в окне настройки конфигурации указываем
Base period Maximum Jitter.
Q: При выполнении поиска начал осей (homing) EMC2 выдает ошибку "joint limit error"
A: Наверняка Вы используете в качестве датчика начала (home) один из концевых переключателей оси. Для корректного выполнения поиска в этом случае нужно:
- Чтобы Home Location не было равно Home Switch Location. Т.к. после процедуры поиска начала станок остановится в положении Home Location, и оно не должно вызывать срабатывания концевого датчика оси.
- Чтобы в конфигурационном файле в разделе описания оси присутствовала строчка "HOME_IGNORE_LIMITS = YES".
Q: Как запустить станок избегая процедуру поиска начал (homing)? Возникает ошибка: "Не могу исполнить программу если не найдены начала" ("Can't run a program when not homed").
A: EMC2 отказывается выполнять программы до тех пор пока не найдены начала осей потому, что EMC2 должен точно знать в каком положении находится станок, чтобы не дать ему выехать за пределы осей. Настоятельно рекомендую установить концевики и делать поиск нулей при каждом запуске EMC2 (при наличии концевиков это делается нажатием одной клавиши). Если концевиков нет, начала оси можно выставлять вручную.
Если совсем не хочется выставлять начала, то можно в файле конфигурации в раздел [TRAJ] нужно добавить строчку: "NO_FORCE_HOMING = 1" и EMC2 не будет выдавать эту ошибку. Но в этом случае нужно быть особенно внимательным следя за работой станка, т.к. EMC2 не сможет контролировать пределы осей и появится вероятность их превышения, что может привести к поломке станка

!
Q: LinuxCNC не запускается, выдает ошибку RTAI[hal]: ERROR, LOCAL APIC CONFIGURED BUT NOT AVAILABLE/ENABLED.
A: Проблема с установкой EMC2 #48
Это незавершенный раздел, Вы можете помочь в его оформлении.
Re: FAQ по EMC2 LinuxCNC
Добавлено: 29 янв 2013, 22:26
PKM
nkp писал(а):PKM,
а есть на wiki RSS ?
хотел тоже следить за новыми публикациями - но не нашел как ...)))
Я там не слежу, но просматриваю рассылку
RSS вроде нет, изменения можно смотреть здесь
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?RecentChanges
Re: FAQ по EMC2 LinuxCNC
Добавлено: 29 янв 2013, 22:37
nkp
это уже хоть что то
спасибо
Re: FAQ по EMC2 LinuxCNC
Добавлено: 03 фев 2013, 22:38
zilk
Здравствуйте, люди!
Провожу эксперименты с различными конфигурациями. При попытке запустить очередную, получаю такую ошибку:
(для просмотра содержимого нажмите на ссылку)Код: Выделить всё
zilk@atom:~$ sudo linuxcnc
LINUXCNC - 2.5.1
Machine configuration directory is '/home/zilk/linuxcnc/configs/Frezer'
Machine configuration file is 'Frezer.ini'
Starting LinuxCNC...
USRMOT: ERROR: command timeout
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
USRMOT: ERROR: command timeout
waiting for s.axes
USRMOT: ERROR: command timeout
waiting for s.axes
USRMOT: ERROR: command timeout
USRMOT: ERROR: command timeout
USRMOT: ERROR: command timeout
A configuration error is preventing LinuxCNC from starting.
More information may be available when running from a terminal.
Shutting down and cleaning up LinuxCNC...
Running HAL shutdown script
USRMOT: ERROR: command timeout
USRMOT: ERROR: command timeout
USRMOT: ERROR: command timeout
/usr/bin/linuxcnc: строка 381: 12943 Убито $EMCTASK -ini "$INIFILE"
Cleanup done
Вопрос в следующем - что означает "waiting for s.axes"?
PS. ошибок в .hal и .ini нет - перепроверил все вдоль и поперек. Имеется 3 парпорта, запущено 4 stepgen, 1 pwmgen, 7энкодеров ну и всякого помелочи...
Re: FAQ по EMC2 LinuxCNC
Добавлено: 03 фев 2013, 22:47
nkp
могу только подсказать запустить из терминала с "-d"
то есть:
так мы его разговорим чуть больше...
Re: FAQ по EMC2 LinuxCNC
Добавлено: 03 фев 2013, 22:50
nkp
Код: Выделить всё
while s.axes == 0:
print "waiting for s.axes"
time.sleep(statwait)
statfail+=1
statwait *= 2
if statfail > 8:
raise SystemExit, (
"A configuration error is preventing LinuxCNC from starting.\n"
"More information may be available when running from a terminal.")
s.poll()
вот этот кусок
Re: FAQ по EMC2 LinuxCNC
Добавлено: 03 фев 2013, 22:55
nkp
то есть из-зи ошибки в конфигурации не может правильно отработать функция s.poll()
а она собирает всю информацию о системе постоянно обновляя ее
ищи ошибку в конфигах...
============
а вообще сейчас пришла такая мысль - s.poll() просто не успевает собрать данные
всего много
попробуй дать ей больше времени на это
Re: FAQ по EMC2 LinuxCNC
Добавлено: 03 фев 2013, 23:03
nkp
вообще "s.axes" это число осей системы - "[TRAJ] AXES"
покажи ини - скорей всего ошибка там
(ну естественно - если это не секретные разработки

)
Re: FAQ по EMC2 LinuxCNC
Добавлено: 03 фев 2013, 23:05
zilk
nkp писал(а):ищи ошибку в конфигах...
Интересно, спасибо... Еще такой вопрос - почему в выводе lspci не виден парпорт, который на материнке? у меня стоит PCI плата на 2 LPT - так они оба видны, а родного нет...
только не говорите что ему кирдык...
А где для этой s.poll() задается время?
Re: FAQ по EMC2 LinuxCNC
Добавлено: 03 фев 2013, 23:09
zilk
Секретная разработка...
(для просмотра содержимого нажмите на ссылку)Код: Выделить всё
# Generated by PNCconf at Thu Jan 26 21:42:26 2012
# Все изменения в этом файле будут перезаписаны
# overwritten when you run PNCconf again
[EMC]
MACHINE = Frezer
DEBUG = 0
[DISPLAY]
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 5.0
MIN_SPINDLE_OVERRIDE = 0.1
MAX_SPINDLE_OVERRIDE = 2.0
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/zilk/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 20
MIN_LINEAR_VELOCITY = 1.0
MAX_LINEAR_VELOCITY = 50.0
DEFAULT_ANGULAR_VELOCITY = 10
MIN_ANGULAR_VELOCITY = 1.0
MAX_ANGULAR_VELOCITY = 50.0
EDITOR = gedit
GEOMETRY = XYZA
PYVCP = custompanel.xml
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[RS274NGC]
PARAMETER_FILE = linuxcnc.var
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 50000
SERVO_PERIOD = 1000000
[HAL]
HALUI = halui
HALFILE = Frezer.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui_call_list.hal
SHUTDOWN = shutdown.hal
[HALUI]
MDI_COMMAND = G92 X0 Y0 Z0
MDI_COMMAND = M100 P0 Q0
MDI_COMMAND = M100 P1 Q1
MDI_COMMAND = M100 P1 Q10
[TRAJ]
AXES = 4
COORDINATES = X Y Z A
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 50.0
MAX_VELOCITY = 200.0
DEFAULT_ACCELERATION = 1000.0
MAX_ACCELERATION = 4000.0
#NO_FORCE_HOMING = 1
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
#********************
# Axis X
#********************
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 1.0
MIN_FERROR = 0.1
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 4000.0
P = 50.0
I = 0.0
D = 0.0
FF0 = 1.0
FF1 = 0.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.00004
ENCODER_SCALE = 4000.0
# these are in nanoseconds
DIRSETUP = 1000
DIRHOLD = 1000
STEPLEN = 1000
STEPSPACE = 1000
STEP_SCALE = 4000.0
MIN_LIMIT = -0.01
MAX_LIMIT = 500.01
HOME_OFFSET = 0.0
HOME_SEQUENCE = 1
#********************
# Axis Y
#********************
[AXIS_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 1.0
MIN_FERROR = 0.1
MAX_VELOCITY = 2000.0
MAX_ACCELERATION = 4000.0
P = 50.0
I = 0.0
D = 0.0
FF0 = 1.0
FF1 = 0.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.00004
ENCODER_SCALE = 4000.0
# these are in nanoseconds
DIRSETUP = 1000
DIRHOLD = 1000
STEPLEN = 1000
STEPSPACE = 1000
STEP_SCALE = 4000.0
MIN_LIMIT = -0.01
MAX_LIMIT = 300.01
HOME_OFFSET = 0.0
HOME_SEQUENCE = 1
#********************
# Axis Z
#********************
[AXIS_2]
TYPE = LINEAR
HOME = 300.0
FERROR = 1.0
MIN_FERROR = 0.1
MAX_VELOCITY = 2000.0
MAX_ACCELERATION = 4000.0
P = 50.0
I = 0.0
D = 0.0
FF0 = 1.0
FF1 = 0.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.00004
ENCODER_SCALE = 4000.0
# these are in nanoseconds
DIRSETUP = 1000
DIRHOLD = 1000
STEPLEN = 1000
STEPSPACE = 1000
STEP_SCALE = 4000.0
MIN_LIMIT = 0.01
MAX_LIMIT = 300.01
HOME_OFFSET = 300.0
HOME_SEQUENCE = 0
#********************
# Axis A
#********************
[AXIS_3]
TYPE = ANGULAR
WRAPPED_ROTARY = 1
HOME = 0.0
FERROR = 1.0
MIN_FERROR = 0.1
MAX_VELOCITY = 1000.0
MAX_ACCELERATION = 2000.0
P = 20.0
I = 0.0
D = 0.0
FF0 = 1.0
FF1 = 0.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.00004
ENCODER_SCALE = 1000.0
# these are in nanoseconds
DIRSETUP = 1000
DIRHOLD = 1000
STEPLEN = 1000
STEPSPACE = 1000
STEP_SCALE = 1000.0
MIN_LIMIT = 0.0
MAX_LIMIT = 359.999
HOME_OFFSET = 0.0
HOME_SEQUENCE = 1
#********************
# Spindle
#********************
[SPINDLE_9]
MAX_VELOCITY = 5000.0
MAX_ACCELERATION = 3000.0
ENCODER_SCALE = 400.0
# these are in nanoseconds
DIRSETUP = 1000
DIRHOLD = 1000
STEPLEN = 1000
STEPSPACE = 1000
STEP_SCALE = 400.0
Re: FAQ по EMC2 LinuxCNC
Добавлено: 03 фев 2013, 23:12
nkp
вот мой вывод:
(для просмотра содержимого нажмите на ссылку)Код: Выделить всё
nkp@nkp-desktop:~$ lspci -v
00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub (rev 02)
Subsystem: ASRock Incorporation Device 2770
Flags: bus master, fast devsel, latency 0
Capabilities: <access denied>
Kernel modules: intel-agp
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 01)
Subsystem: ASRock Incorporation Device 0888
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at ff2f8000 (64-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: HDA Intel
Kernel modules: snd-hda-intel
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 01)
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
I/O behind bridge: 0000a000-0000cfff
Memory behind bridge: ff100000-ff1fffff
Prefetchable memory behind bridge: 00000000bff00000-00000000dfefffff
Capabilities: <access denied>
Kernel driver in use: pcieport
Kernel modules: shpchp
00:1d.0 USB Controller: Intel Corporation N10/ICH7 Family USB UHCI Controller #1 (rev 01)
Subsystem: ASRock Incorporation Device 27c8
Flags: bus master, medium devsel, latency 0, IRQ 23
I/O ports at e080 [size=32]
Kernel driver in use: uhci_hcd
00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 01)
Subsystem: ASRock Incorporation Device 27c9
Flags: bus master, medium devsel, latency 0, IRQ 19
I/O ports at e000 [size=32]
Kernel driver in use: uhci_hcd
00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 01)
Subsystem: ASRock Incorporation Device 27ca
Flags: bus master, medium devsel, latency 0, IRQ 18
I/O ports at dc00 [size=32]
Kernel driver in use: uhci_hcd
00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 01)
Subsystem: ASRock Incorporation Device 27cb
Flags: bus master, medium devsel, latency 0, IRQ 16
I/O ports at d880 [size=32]
Kernel driver in use: uhci_hcd
00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 01) (prog-if 20)
Subsystem: ASRock Incorporation Device 27cc
Flags: bus master, medium devsel, latency 0, IRQ 23
Memory at ff2ffc00 (32-bit, non-prefetchable) [size=1K]
Capabilities: <access denied>
Kernel driver in use: ehci_hcd
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1) (prog-if 01)
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
I/O behind bridge: 00009000-00009fff
Memory behind bridge: ff000000-ff0fffff
Capabilities: <access denied>
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
Subsystem: ASRock Incorporation Device 27b8
Flags: bus master, medium devsel, latency 0
Capabilities: <access denied>
Kernel modules: iTCO_wdt, intel-rng
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01) (prog-if 8a [Master SecP PriP])
Subsystem: ASRock Incorporation Device 27df
Flags: bus master, medium devsel, latency 0, IRQ 18
I/O ports at 01f0 [size=8]
I/O ports at 03f4 [size=1]
I/O ports at 0170 [size=8]
I/O ports at 0374 [size=1]
I/O ports at ffa0 [size=16]
Kernel driver in use: ata_piix
00:1f.2 IDE interface: Intel Corporation N10/ICH7 Family SATA IDE Controller (rev 01) (prog-if 8f [Master SecP SecO PriP PriO])
Subsystem: ASRock Incorporation Device 27c0
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 19
I/O ports at ec00 [size=8]
I/O ports at e880 [size=4]
I/O ports at e800 [size=8]
I/O ports at e480 [size=4]
I/O ports at e400 [size=16]
Capabilities: <access denied>
Kernel driver in use: ata_piix
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 01)
Subsystem: ASRock Incorporation Device 27da
Flags: medium devsel, IRQ 11
I/O ports at 0400 [size=32]
Kernel modules: i2c-i801
01:07.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
Subsystem: ASRock Incorporation Device 8139
Flags: bus master, medium devsel, latency 32, IRQ 22
I/O ports at 9800 [size=256]
Memory at ff0ffc00 (32-bit, non-prefetchable) [size=256]
Capabilities: <access denied>
Kernel driver in use: 8139too
Kernel modules: 8139too, 8139cp
02:00.0 VGA compatible controller: ATI Technologies Inc RV530 [Radeon X1600]
Subsystem: C.P. Technology Co. Ltd Device 2153
Flags: bus master, fast devsel, latency 0, IRQ 25
Memory at c0000000 (64-bit, prefetchable) [size=256M]
Memory at ff1f0000 (64-bit, non-prefetchable) [size=64K]
I/O ports at c000 [size=256]
Expansion ROM at ff1c0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: radeon
Kernel modules: radeon
02:00.1 Display controller: ATI Technologies Inc RV530 [Radeon X1600] (Secondary)
Subsystem: C.P. Technology Co. Ltd Device 2152
Flags: bus master, fast devsel, latency 0
Memory at ff1e0000 (64-bit, non-prefetchable) [size=64K]
Capabilities: <access denied>
nkp@nkp-desktop:~$
бегло просмотрел - и где мой парпорт???
Re: FAQ по EMC2 LinuxCNC
Добавлено: 03 фев 2013, 23:17
zilk
nkp писал(а):бегло просмотрел - и где мой парпорт???
хрен его знает, наверное, там же где и у меня...
в биосе точно есть, проверил, а в выводе нет..
Re: FAQ по EMC2 LinuxCNC
Добавлено: 03 фев 2013, 23:42
nkp
zilk писал(а):А где для этой s.poll() задается время?
нет наверно дело не в таймауте
там цикл -пока число осей ноль выводим "waiting for s.axes"
так оно и выводит - пока не истек таймаут
то есть не видит ни одну ось
а вот какими критериями эта функция руководствуется - не могу знать - модуль на си - и трудно читать (мне

)
Re: FAQ по EMC2 LinuxCNC
Добавлено: 03 фев 2013, 23:57
Serg
zilk писал(а):nkp писал(а):бегло просмотрел - и где мой парпорт???
хрен его знает, наверное, там же где и у меня...
в биосе точно есть, проверил, а в выводе нет..
А с чего вы решили, что намамный порт должен быть виден на PCI?
Там в южном мосту есть ISA bridge (мост PCI-ISA) и вот уже на ISA (внутри чипа южного моста) висит всякая медленная периферия типа LPT, COM, контроллера FDD и т.п.
А программно посмотреть что подключено к ISA нельзя - по стандарту не задумано.
Re: FAQ по EMC2 LinuxCNC
Добавлено: 04 фев 2013, 10:49
Nick
Надо бы еще на hal посмотреть...
zilk писал(а):Еще такой вопрос - почему в выводе lspci не виден парпорт, который на материнке?
ЗЫ как правильно подметил
UAVpilot, ответ кроется в воросе ls
pci 
Re: FAQ по EMC2 LinuxCNC
Добавлено: 04 фев 2013, 11:27
zilk
Nick писал(а):ответ кроется в воросе lspci
Кстати, в lshw я его тоже не обнаружил - такого устройства с адресом 0х0378 и прерыванием irq7 (как написано в биосе) нету...

Re: FAQ по EMC2 LinuxCNC
Добавлено: 04 фев 2013, 14:44
Serg
Так не сможет его lshw обнаружить - яж говорю:
UAVpilot писал(а):А программно посмотреть что подключено к ISA нельзя - по стандарту не задумано.
Re: FAQ по EMC2 LinuxCNC
Добавлено: 04 фев 2013, 18:39
zilk
Черт с ним, с парпортом - вопрос не в этом!
Вопрос вот в чем - почему, когдя я пытаюсь заменить входы-выходы месы 7i43 на входы-выходы парпорта, загрузив предварительно 4 stepgen, 4 encoder, 4 PID, кучу всяких мелких компонентов, все это соединив, настроив - при запуске получаю ошибку "waiting for s.axes", мол, не вижу осей, как мне тут сказали... В общем, идея такая - хочу сделать то же самое, только без месы.
Так вот, непонятно - это концептуальная проблема или у меня руки кривые?

Re: FAQ по EMC2 LinuxCNC
Добавлено: 05 фев 2013, 11:26
Nick
Давай свой hal! Будем посмотреть

.
zilk писал(а):когдя я пытаюсь заменить входы-выходы месы 7i43 на входы-выходы парпорта
С этим аккуратнее - входы-выходы месы работают в сервопериоде, а lpt - в base-period, т.е. раз в 30 быстрее.
Re: FAQ по EMC2 LinuxCNC
Добавлено: 10 фев 2013, 13:49
zilk
Здравствуйте!
Есть дилетантский вопрос - каким образом можно заставить выполняться программу с определенной строки? Понятно, что в AXIS-е нужно правой кнопкой мыши щелкнуть на соотв. строке и т.д...
Может есть какой-то способ это сделать при помощи команды? motion.program-line выдает на выходе номер строки или что?
Re: FAQ по EMC2 LinuxCNC
Добавлено: 10 фев 2013, 14:08
nkp
zilk писал(а): какой-то способ это сделать при помощи команды?
да - можно командой из питона:
Код: Выделить всё
import linuxcnc
c = linuxcnc.command()
c.mode(linuxcnc.MODE_AUTO)
c.wait_complete()
c.auto(linuxcnc.AUTO_RUN, 24)
в примере старт с 24 строки
zilk писал(а):motion.program-line выдает на выходе номер строки или что?
выдает номер активной на данный момент строки
после "стоп" - по моему обнуляется
так что нужно "запоминать" последнюю строку