Страница 2 из 4
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 13:43
Lexxa
оказалось 1 - очень просто)))
в терминале тупо halrun
Код: Выделить всё
lexxa@lexxa-laptop:~$ halrun
halcmd: show
Loaded HAL Components:
ID Type Name PID State
3 User halcmd6608 6608 ready
Component Pins:
Owner Type Dir Value Name
Pin Aliases:
Alias Original Name
Signals:
Type Value Name (linked to)
Parameters:
Owner Type Dir Value Name
Parameter Aliases:
Alias Original Name
Exported Functions:
Owner CodeAddr Arg FP Users Name
Realtime Threads:
Period FP Name ( Time, Max-Time )
halcmd: show pin
Component Pins:
Owner Type Dir Value Name
в другом терминале
после загрузки пины gladevcp будут доступны)
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 13:52
Lexxa
без проблем подгружается и classicladder
Код: Выделить всё
loadrt classicladder_rt numPhysInputs=15 numPhysOutputs=15
halcmd: loadusr classicladder
и открывается окошко со схемой ladder))))
Красота.
Как сделать addf classicladder.0.refresh?
Код: Выделить всё
halcmd: addf classicladder.0.refresh servo-thread
HAL: ERROR: thread 'servo-thread' not found
<stdin>:9: addf failed
halcmd:
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 14:20
Lexxa
Сам спросил, сам ответил))
Никаих проблем))
итак, всё что нужно для того чтоб classicladder увидел интерфейс
1) загружаем модуль ядра реального времени
2) загружаем модуль thread
3) загружаем модуль classicladder_rt
4) загружаем модуль classicladder
5) добавляем в поток реального времени
6) в отдельном терминале запускаем gladevcp
Вот как это в реальности:
Код: Выделить всё
lexxa@lexxa-laptop:~$ halrun
halcmd: loadrt threads name1=test-thread period1=1000000
halcmd: loadrt classicladder_rt
halcmd: addf classicladder.0.refresh test-thread
halcmd: show
Loaded HAL Components:
ID Type Name PID State
5 RT classicladder_rt ready
3 User halcmd6870 6870 ready
4 RT threads ready
Component Pins:
Owner Type Dir Value Name
5 float IN 0 classicladder.0.floatin-00
5 float IN 0 classicladder.0.floatin-01
5 float IN 0 classicladder.0.floatin-02
5 float IN 0 classicladder.0.floatin-03
5 float IN 0 classicladder.0.floatin-04
5 float IN 0 classicladder.0.floatin-05
5 float IN 0 classicladder.0.floatin-06
5 float IN 0 classicladder.0.floatin-07
5 float IN 0 classicladder.0.floatin-08
5 float IN 0 classicladder.0.floatin-09
5 float OUT 0 classicladder.0.floatout-00
5 float OUT 0 classicladder.0.floatout-01
5 float OUT 0 classicladder.0.floatout-02
5 float OUT 0 classicladder.0.floatout-03
5 float OUT 0 classicladder.0.floatout-04
5 float OUT 0 classicladder.0.floatout-05
5 float OUT 0 classicladder.0.floatout-06
5 float OUT 0 classicladder.0.floatout-07
5 float OUT 0 classicladder.0.floatout-08
5 float OUT 0 classicladder.0.floatout-09
5 bit IN FALSE classicladder.0.in-00
5 bit IN FALSE classicladder.0.in-01
5 bit IN FALSE classicladder.0.in-02
5 bit IN FALSE classicladder.0.in-03
5 bit IN FALSE classicladder.0.in-04
5 bit IN FALSE classicladder.0.in-05
5 bit IN FALSE classicladder.0.in-06
5 bit IN FALSE classicladder.0.in-07
5 bit IN FALSE classicladder.0.in-08
5 bit IN FALSE classicladder.0.in-09
5 bit IN FALSE classicladder.0.in-10
5 bit IN FALSE classicladder.0.in-11
5 bit IN FALSE classicladder.0.in-12
5 bit IN FALSE classicladder.0.in-13
5 bit IN FALSE classicladder.0.in-14
5 bit OUT FALSE classicladder.0.out-00
5 bit OUT FALSE classicladder.0.out-01
5 bit OUT FALSE classicladder.0.out-02
5 bit OUT FALSE classicladder.0.out-03
5 bit OUT FALSE classicladder.0.out-04
5 bit OUT FALSE classicladder.0.out-05
5 bit OUT FALSE classicladder.0.out-06
5 bit OUT FALSE classicladder.0.out-07
5 bit OUT FALSE classicladder.0.out-08
5 bit OUT FALSE classicladder.0.out-09
5 bit OUT FALSE classicladder.0.out-10
5 bit OUT FALSE classicladder.0.out-11
5 bit OUT FALSE classicladder.0.out-12
5 bit OUT FALSE classicladder.0.out-13
5 bit OUT FALSE classicladder.0.out-14
5 s32 IN 0 classicladder.0.s32in-00
5 s32 IN 0 classicladder.0.s32in-01
5 s32 IN 0 classicladder.0.s32in-02
5 s32 IN 0 classicladder.0.s32in-03
5 s32 IN 0 classicladder.0.s32in-04
5 s32 IN 0 classicladder.0.s32in-05
5 s32 IN 0 classicladder.0.s32in-06
5 s32 IN 0 classicladder.0.s32in-07
5 s32 IN 0 classicladder.0.s32in-08
5 s32 IN 0 classicladder.0.s32in-09
5 s32 OUT 0 classicladder.0.s32out-00
5 s32 OUT 0 classicladder.0.s32out-01
5 s32 OUT 0 classicladder.0.s32out-02
5 s32 OUT 0 classicladder.0.s32out-03
5 s32 OUT 0 classicladder.0.s32out-04
5 s32 OUT 0 classicladder.0.s32out-05
5 s32 OUT 0 classicladder.0.s32out-06
5 s32 OUT 0 classicladder.0.s32out-07
5 s32 OUT 0 classicladder.0.s32out-08
5 s32 OUT 0 classicladder.0.s32out-09
Pin Aliases:
Alias Original Name
Signals:
Type Value Name (linked to)
Parameters:
Owner Type Dir Value Name
5 s32 RO 0 classicladder.0.refresh.time
5 s32 RW 0 classicladder.0.refresh.tmax
5 s32 RO 0 classicladder.ladder-state
Parameter Aliases:
Alias Original Name
Exported Functions:
Owner CodeAddr Arg FP Users Name
00005 fb9895c9 00000000 YES 1 classicladder.0.refresh
Realtime Threads:
Period FP Name ( Time, Max-Time )
999951 YES test-thread ( 0, 0 )
1 classicladder.0.refresh
halcmd: loadusr classicladder
halcmd: start
halcmd:
в другом терминале
и hal увидит пины интерфеса. Начинаться они будут с 1 (по названию файла)
Код: Выделить всё
halcmd: show pin
Component Pins:
Owner Type Dir Value Name
9 bit OUT FALSE 1.hal_button_M01
9 bit OUT FALSE 1.hal_button_X0
9 bit OUT FALSE 1.hal_button_X1
9 bit OUT FALSE 1.hal_button_Y0
9 bit OUT FALSE 1.hal_button_Y1
9 bit OUT FALSE 1.hal_button_Z0
9 bit OUT FALSE 1.hal_button_Z1
9 bit OUT FALSE 1.hal_button_auto_mdi
9 bit OUT FALSE 1.hal_button_ccw
9 bit OUT FALSE 1.hal_button_cw
9 bit OUT FALSE 1.hal_button_edit
9 bit OUT FALSE 1.hal_button_estop
9 bit OUT FALSE 1.hal_button_flood_auto
9 bit OUT FALSE 1.hal_button_flood_off
9 bit OUT FALSE 1.hal_button_hone_on
9 bit OUT FALSE 1.hal_button_jjh
9 bit OUT FALSE 1.hal_button_off
9 bit OUT FALSE 1.hal_button_on
9 bit OUT FALSE 1.hal_button_rapid
9 bit OUT FALSE 1.hal_button_sp_stop
9 bit OUT FALSE 1.hal_button_start
9 bit OUT FALSE 1.hal_button_step
9 bit OUT FALSE 1.hal_button_stop
9 bit IN FALSE 1.hal_hbox1
9 bit IN FALSE 1.hal_hbox10
9 bit IN FALSE 1.hal_hbox11
9 bit IN FALSE 1.hal_hbox12
9 bit IN FALSE 1.hal_hbox13
9 bit IN FALSE 1.hal_hbox2
9 bit IN FALSE 1.hal_hbox3
9 bit IN FALSE 1.hal_hbox4
9 bit IN FALSE 1.hal_hbox5
9 bit IN FALSE 1.hal_hbox6
9 bit IN FALSE 1.hal_hbox7
9 bit IN FALSE 1.hal_hbox8
9 bit IN FALSE 1.hal_hbox9
9 float OUT 0 1.hal_hscale1
9 float OUT 0 1.hal_hscale2
9 float OUT 0 1.hal_hscale3
9 s32 IN 0 1.hal_label1
9 s32 IN 0 1.hal_label2
9 s32 IN 0 1.hal_label3
9 bit IN FALSE 1.hal_led_M01_on
9 bit IN FALSE 1.hal_led_ccw
9 bit IN FALSE 1.hal_led_cw
9 bit IN FALSE 1.hal_led_del_blck
9 bit IN FALSE 1.hal_led_edit
9 bit IN FALSE 1.hal_led_feed_stop
9 bit IN FALSE 1.hal_led_flood_auto
9 bit IN FALSE 1.hal_led_flood_off
9 bit IN FALSE 1.hal_led_mode_is_auto
9 bit IN FALSE 1.hal_led_mode_is_jog
9 bit IN FALSE 1.hal_led_mode_is_joint
9 bit IN FALSE 1.hal_led_mode_is_mdi
9 bit IN FALSE 1.hal_led_mode_is_mpg
9 bit IN FALSE 1.hal_led_prg_run
9 bit IN FALSE 1.hal_led_prg_step
9 bit IN FALSE 1.hal_led_x_at_home
9 bit IN FALSE 1.hal_led_y_at_home
9 bit IN FALSE 1.hal_led_z_at_home
9 bit IN FALSE 1.hal_table1
9 bit IN FALSE 1.hal_table2
9 bit IN FALSE 1.hal_table3
9 bit IN FALSE 1.hal_table4
9 bit OUT FALSE 1.hal_togglebuttonDeleteBlock
9 bit OUT TRUE 1.hal_togglebuttonDeleteBlock-not
9 bit OUT FALSE 1.hal_togglebutton_FeedStop
9 bit OUT TRUE 1.hal_togglebutton_FeedStop-not
5 float IN 0 classicladder.0.floatin-00
5 float IN 0 classicladder.0.floatin-01
5 float IN 0 classicladder.0.floatin-02
5 float IN 0 classicladder.0.floatin-03
5 float IN 0 classicladder.0.floatin-04
5 float IN 0 classicladder.0.floatin-05
5 float IN 0 classicladder.0.floatin-06
5 float IN 0 classicladder.0.floatin-07
5 float IN 0 classicladder.0.floatin-08
5 float IN 0 classicladder.0.floatin-09
5 float OUT 0 classicladder.0.floatout-00
5 float OUT 0 classicladder.0.floatout-01
5 float OUT 0 classicladder.0.floatout-02
5 float OUT 0 classicladder.0.floatout-03
5 float OUT 0 classicladder.0.floatout-04
5 float OUT 0 classicladder.0.floatout-05
5 float OUT 0 classicladder.0.floatout-06
5 float OUT 0 classicladder.0.floatout-07
5 float OUT 0 classicladder.0.floatout-08
5 float OUT 0 classicladder.0.floatout-09
5 bit IN FALSE classicladder.0.in-00
5 bit IN FALSE classicladder.0.in-01
5 bit IN FALSE classicladder.0.in-02
5 bit IN FALSE classicladder.0.in-03
5 bit IN FALSE classicladder.0.in-04
5 bit IN FALSE classicladder.0.in-05
5 bit IN FALSE classicladder.0.in-06
5 bit IN FALSE classicladder.0.in-07
5 bit IN FALSE classicladder.0.in-08
5 bit IN FALSE classicladder.0.in-09
5 bit IN FALSE classicladder.0.in-10
5 bit IN FALSE classicladder.0.in-11
5 bit IN FALSE classicladder.0.in-12
5 bit IN FALSE classicladder.0.in-13
5 bit IN FALSE classicladder.0.in-14
5 bit OUT FALSE classicladder.0.out-00
5 bit OUT FALSE classicladder.0.out-01
5 bit OUT FALSE classicladder.0.out-02
5 bit OUT FALSE classicladder.0.out-03
5 bit OUT FALSE classicladder.0.out-04
5 bit OUT FALSE classicladder.0.out-05
5 bit OUT FALSE classicladder.0.out-06
5 bit OUT FALSE classicladder.0.out-07
5 bit OUT FALSE classicladder.0.out-08
5 bit OUT FALSE classicladder.0.out-09
5 bit OUT FALSE classicladder.0.out-10
5 bit OUT FALSE classicladder.0.out-11
5 bit OUT FALSE classicladder.0.out-12
5 bit OUT FALSE classicladder.0.out-13
5 bit OUT FALSE classicladder.0.out-14
5 s32 IN 0 classicladder.0.s32in-00
5 s32 IN 0 classicladder.0.s32in-01
5 s32 IN 0 classicladder.0.s32in-02
5 s32 IN 0 classicladder.0.s32in-03
5 s32 IN 0 classicladder.0.s32in-04
5 s32 IN 0 classicladder.0.s32in-05
5 s32 IN 0 classicladder.0.s32in-06
5 s32 IN 0 classicladder.0.s32in-07
5 s32 IN 0 classicladder.0.s32in-08
5 s32 IN 0 classicladder.0.s32in-09
5 s32 OUT 0 classicladder.0.s32out-00
5 s32 OUT 0 classicladder.0.s32out-01
5 s32 OUT 0 classicladder.0.s32out-02
5 s32 OUT 0 classicladder.0.s32out-03
5 s32 OUT 0 classicladder.0.s32out-04
5 s32 OUT 0 classicladder.0.s32out-05
5 s32 OUT 0 classicladder.0.s32out-06
5 s32 OUT 0 classicladder.0.s32out-07
5 s32 OUT 0 classicladder.0.s32out-08
5 s32 OUT 0 classicladder.0.s32out-09
halcmd:
Выход exit или quit
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 14:26
Lexxa
мало того, все команды можно прописать в файлик и скормить его hal
http://www.linuxcnc.org/docs/html/man/m ... cmd.1.html
Код: Выделить всё
source filename.hal
Execute the commands from filename.hal.
p.s. тильду halcmd source не понимает, прописывать полный путь к каталогу
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 16:40
Nick
О... а ты оказывается уже сам во всем разобрался

... просто не прочитал следующую страницу.
-------------
Lexxa писал(а):1) Интерфейс сам по себе командой gladevcp 1.ui не запускается, ругаясь на отсутствие модуля ядра реального времени.Запускается только после загрузки emc. Как вылечить?
Все просто, надо сначала запустить ядро, для этого надо загрузить hal файл, т.е. halrun xxxxx.hal
в этом файле должна быть строчка "start"!
(или ядро можно запустить так: halcmd start)
В принципе можешь попробовать запустить свой обычный hal файл таким же образом.
Lexxa писал(а):2) classicladder по ссылке nkp отдельно запускается. Как заставить его увидеть пины gladevcp?
Ну тоже самое, только надо сначала запустить glade, а потом привязывать пины classic ladder
т.е. в строке запуска glade нужно указать -Wn и имя компонента glade.
Если тут речь об classic ladder от LinuxCNC.
PS в этом случае emc2 (а точнее уже linuxcnc) загружается. Я так понимаю, ты под emc подразумевал axis?
PSS
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 16:58
nkp
Lexxa писал(а):без загрузки emc
Lexxa писал(а):nkp, не соглашусь
признаю
способ в данном случае очень удобоварим
но это как бы уже можно сказать с загрузкой емс
(но это мелочи)
главное поступь вперед широкими , семимильными шагами
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 17:33
Lexxa
Ник, для того чтобы модуль ядра реального времени загрузился достаточно просто halrun
start его я так понял запускает.
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 17:38
Lexxa
nkp, неее, emc это как бы сказать совокупность модулей различных.
Вот замутил Т-триггер в ладдере.
цель - нажал один раз - включил нечто, нажал второй это нечто выключил. кнопка без фиксации.
Сколько у lpt порта рабочих пинов?
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 17:58
nkp
LPT out mode: 5in/12out
LPT in mode: 13in/4out
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 18:31
Lexxa
спс, маловато, ну хоть так
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 18:44
nkp
Файл триггера отдельно (полезная вещь)
выкладываю пока ТС не запатентовал
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 19:33
Lexxa
ага, пригодится)
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 19:33
Lexxa
Кто бы занялся экраном, пока я кнопки прикручиваю
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 19:46
nkp
Lexxa писал(а):Кто бы занялся экраном, пока я кнопки прикручиваю
UAVpilot высказавался ,что есть желание написать свой axis
Мне кажеться он кодер с большим стажем и в курсе емсишных дел
Может быть подключиться

Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 20:00
Lexxa
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 20:50
Lexxa
По ощущениям от "поюзать" самый дружелюбный интерфей - mini
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 21:05
nkp
Можно написать-нарисовать свои экраны на glade
Смысл такой-запускается емс и вместе с ним экран glade
Вот здесь тема
Вот этот экран у меня запустился
окон может быть несколько с переключением с пульта
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 21:16
Lexxa
Как его включить?
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 21:19
nkp
Запускать gscreen.py
Re: Интерфейс для промышленных станков. Фрезерный 3 координа
Добавлено: 25 июл 2012, 21:36
Lexxa
чёт он жутко тормозит, но без спидометра со шпинделем тормозов нет
нет таблицы инструментов там