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

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 23 мар 2012, 10:32
NightV
кажись нашли слабинку в "великом и могучем" :think: в маче это можно сделать в скрипте через Getdro(номер)

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 23 мар 2012, 11:41
Nick
отставить панику, что-нибудь придумаем :).

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 24 мар 2012, 18:08
NightV
здаюсь :? мозг плавится... вместе с модемом..
была идея создать доп. пин по этому примеру, но ненашел как питоном прочесть параметр #5220
в проге emctop (EMC Status) это как-то реализовано, но не разобрался как, я не програмер :oops: поиск по G5x_index ничего толком не дал кроме этого и этого.

еще есть вариант с коммандой newsig, но опять проблема с чтением параметра

а здесь (внизу страници) чел пытался записать значение в параметр

понял одно, что нужно стучатся в интерпритатор RS274NGC который использует эти параметры

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 24 мар 2012, 21:40
Nick
А в axis вроде же было окно, в котором можно просмотреть значения параметров? Или нет? Как оно называется, попробую в коде поискать...

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 24 мар 2012, 21:58
NightV
NightV писал(а):в проге emctop (EMC Status) это как-то реализовано
параметр G5x_index

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 25 мар 2012, 16:22
Nick
угу, так, нужно чтобы ты выполнил python state.py вот с этим файлом, когда linuxcnc запущен. И вывод сюда - оттуда достанем все, что надо.

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 25 мар 2012, 17:09
NightV

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

vladimir@cnc2:~/emc2/configs/cnc2$ python state.py 
  File "state.py", line 46
SyntaxError: Non-ASCII character '\xd0' in file state.py on line 46, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
vladimir@cnc2:~/emc2/configs/cnc2$ python state.py 
<emc.stat object at 0x9c03d30>
vladimir@cnc2:~/emc2/configs/cnc2$ 
#=================================
work_thread = 1.

import emc, time
import hal здесь была ошибка, inport

h = hal.component("state")
h.newpin("enable", hal.HAL_BIT, hal.HAL_IN)
h.newpin("G92", hal.HAL_BIT, hal.HAL_OUT)
h.newpin("G53", hal.HAL_BIT, hal.HAL_OUT)
h.newpin("G54", hal.HAL_BIT, hal.HAL_OUT)
# ok, lets we are ready, lets go
h.ready()

s = emc.stat(); s.poll()

#main cicle

print s

#try:
#while True :
# time.sleep(work_thread)
# s.poll()
# if
#### Сюда надо написать условия.
удалил весь этот блок, из-за ошибки в строке 46
#except KeyboardInterrupt:
# raise SystemExit


#==============================

после этого выдал
<emc.stat object at 0x9c03d30>

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 25 мар 2012, 17:42
Nick
а если туда написать принт dir(s)?
....
эх надо наверное самому пробовать, а то это затянется...

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 25 мар 2012, 17:54
NightV
print dir(s)

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

vladimir@cnc2:~/emc2/configs/cnc2$ python state.py 
['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'acceleration', 'active_queue', 'actual_position', 'adaptive_feed_enabled', 'ain', 'angular_units', 'aout', 'axes', 'axis', 'axis_mask', 'block_delete', 'command', 'current_line', 'current_vel', 'cycle_time', 'debug', 'delay_left', 'din', 'distance_to_go', 'dout', 'dtg', 'echo_serial_number', 'enabled', 'estop', 'exec_state', 'feed_hold_enabled', 'feed_override_enabled', 'feedrate', 'file', 'flood', 'g5x_index', 'g5x_offset', 'g92_offset', 'gcodes', 'homed', 'id', 'inpos', 'input_timeout', 'interp_state', 'interpreter_errcode', 'joint_actual_position', 'joint_position', 'kinematics_type', 'limit', 'linear_units', 'lube', 'lube_level', 'max_acceleration', 'max_velocity', 'mcodes', 'mist', 'motion_line', 'motion_mode', 'motion_type', 'optional_stop', 'paused', 'pocket_prepped', 'poll', 'position', 'probe_tripped', 'probe_val', 'probed_position', 'probing', 'program_units', 'queue', 'queue_full', 'read_line', 'rotation_xy', 'settings', 'spindle_brake', 'spindle_direction', 'spindle_enabled', 'spindle_increasing', 'spindle_override_enabled', 'spindle_speed', 'spindlerate', 'state', 'task_mode', 'task_paused', 'task_state', 'tool_in_spindle', 'tool_offset', 'tool_table', 'velocity']
vladimir@cnc2:~/emc2/configs/cnc2$

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 25 мар 2012, 17:55
Nick
Разобрался, вот нужный скрипт, если нужны другие Gкоды делается по аналогии. В этом скритпе показываются только активные модальные Gкоды, для M кодов нужно писать отдельно.

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 25 мар 2012, 19:24
NightV
не совсем понял как с этим работать?
после запуска в терминале появляются новые пины
state.G54
state.G55
state.G92
state.enable
все FALSE и ни начто не реагируют
делаю
halcmd setp state.enable true
state.enable встает в TRUE
в MDI окне переключаюсь между G54 G55 G92
пины state.Gx не реагируют :think:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 25 мар 2012, 19:26
NightV
кстате скрипт после запуска сам не закрывается

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 25 мар 2012, 19:45
Nick
Пин enable пока не подключен....
Попробуй дописать

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

		print s.gcodes
потом запусти linuxcnc из консоли и посмотри, что туда пишет

Что значит не закрывается?

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 25 мар 2012, 20:03
NightV
print s.gcodes

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

vladimir@cnc2:~/emc2/configs/cnc2$ python state.py 
(0, 800, -1, 170, 400, 210, 900, 940, 540, 490, 990, 640, -1, 970, 911, 80)
_
и стоит

терминал с ЕМС

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

vladimir@cnc2:~/emc2/configs/cnc2$ emc cnc2.ini 
EMC2 - 2.5.0-pre2-626-g402b6cd
Machine configuration directory is '/home/vladimir/emc2/configs/cnc2'
Machine configuration file is 'cnc2.ini'
Starting EMC2...
INFO CLASSICLADDER-   No ladder GUI requested-Realtime runs till HAL closes.
_
ничего не пишет при запуске скрипта

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 25 мар 2012, 20:13
Nick
Скинь что у тебя получилось?
Странно скрипт должен как минимум еще одну строчку написать, да и цикл там вроде бесконечный...

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 25 мар 2012, 20:23
NightV
если делаю из HAL
loadusr state.py
выдает

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

vladimir@cnc2:~/emc2/configs/cnc2$ emc cnc2.ini 
EMC2 - 2.5.0-pre2-626-g402b6cd
Machine configuration directory is '/home/vladimir/emc2/configs/cnc2'
Machine configuration file is 'cnc2.ini'
Starting EMC2...
cnc2.hal:21: execv(state.py): No such file or directory
INFO CLASSICLADDER-   No ladder GUI requested-Realtime runs till HAL closes.
_
пинов соответственно нет,
state.py лежит рядышком с INI

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 25 мар 2012, 20:30
Nick
Нужно или добавить права на выполнение state.py или загружать python state.py

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 25 мар 2012, 20:37
NightV
лед тронулся ;)
при
loadusr python state.py
выдал:

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

Starting EMC2...
INFO CLASSICLADDER-   No ladder GUI requested-Realtime runs till HAL closes.
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)


Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 25 мар 2012, 20:40
NightV
кстате и пины появились,
но почему все по нулям? :problem:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Добавлено: 25 мар 2012, 20:49
Nick
Меня другое волнует, он эту строчку должен раз в секунду писать...
Скинь файл py, который у тебя получился