FAQ по Gcode, примеры
- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Проверьте кто-нибудь, сохранятся ли параметры при аварийном выходе - например отключении питания? 
Т.е. вопрос в том когда обновляется файл, при изменении параметра или при штатном завершении LinuxCNC?
			
			
									
									
						Т.е. вопрос в том когда обновляется файл, при изменении параметра или при штатном завершении LinuxCNC?
- Serg
 - Мастер
 - Сообщения: 21923
 - Зарегистрирован: 17 апр 2012, 14:58
 - Репутация: 5183
 - Заслуга: c781c134843e0c1a3de9
 - Настоящее имя: Сергей
 - Откуда: Москва
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Оно в процессе работы старается сохранять при любом изменении R/W переменных, правда в очень редких случаях (лень описывать условия) может не сохранять.
			
			
									
									Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
						- 
				Тандем
 - Новичок
 - Сообщения: 22
 - Зарегистрирован: 16 мар 2011, 18:26
 - Репутация: 2
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Был случай: при пропадании питания слетели пользовательские настройки (оффсеты систем координат). То есть в итоге имеем не старые данные, не новые, а именно нули.
			
			
									
									
						- Serg
 - Мастер
 - Сообщения: 21923
 - Зарегистрирован: 17 апр 2012, 14:58
 - Репутация: 5183
 - Заслуга: c781c134843e0c1a3de9
 - Настоящее имя: Сергей
 - Откуда: Москва
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
При пропадании питания может быть всё, что угодно. Например оригинальный файл с переменными переименовался в .bak, а новый хоть и создался, но ещё находился в кэше и на диск ещё не лёг - очевидно, что в таком случае при пропадании питания он и умрёт вместе с содержимым ОЗУ, а при след. запуске linuxcnc обнаружив отсутствие файла с переменными создаст его заново с нулями.
Это не глюк и не баг - это расплата за быстродействие. Если не нравится, то можно отключить для ФС отложенную запись.
			
			
									
									Это не глюк и не баг - это расплата за быстродействие. Если не нравится, то можно отключить для ФС отложенную запись.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
						- 
				gennadiy
 - Кандидат
 - Сообщения: 64
 - Зарегистрирован: 03 ноя 2013, 22:28
 - Репутация: 32
 - Откуда: Брест
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Который день пытаюсь и не получается выполнять команды Python из M-code. Например:
Если запускать скрипт из терминала, то работает как надо.
Файл назвал M100 и сделал исполняемый. Находится он как прописано в .ini PROGRAM_PREFIX.
			
			
									
									
						Код: Выделить всё
#!/usr/bin/python
import linuxcnc
c = linuxcnc.command()
c.mode(linuxcnc.MODE_MDI)
c.wait_complete()
c.mdi("G0 X10")Файл назвал M100 и сделал исполняемый. Находится он как прописано в .ini PROGRAM_PREFIX.
- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Попробуй добавить какой-то вывод, может оно не отрабатывает из-за конфликтов с linuxcnc. 
Что говорит вообще?
Из консоли запускал, смотрел вывод?
Как точно файл называется? M большая?
			
			
									
									
						Что говорит вообще?
Из консоли запускал, смотрел вывод?
Как точно файл называется? M большая?
- 
				gennadiy
 - Кандидат
 - Сообщения: 64
 - Зарегистрирован: 03 ноя 2013, 22:28
 - Репутация: 32
 - Откуда: Брест
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Что значит "добавить вывод"?
Ошибок не выдаёт и имя файла М100 с большой буквы М.
			
			
									
									
						Ошибок не выдаёт и имя файла М100 с большой буквы М.
- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Ну чтобы писало в консоль или в log "строка такая-то, делаю то-то" и потом смотришь, запускается она вообще или нет. И опять же запусти linuxcnc из консоли, посмотри, может туда что-то выдается.
			
			
									
									
						- 
				gennadiy
 - Кандидат
 - Сообщения: 64
 - Зарегистрирован: 03 ноя 2013, 22:28
 - Репутация: 32
 - Откуда: Брест
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Вот через терминал. Программа идёт до этой строки и дальше тишина...
			
							
			
									
									
						- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Ага... т.е. он подвис и ты его вырубил? 
Вообще, походу ждет переход в режим mdi...
Вообще, вообще... ты эту команду как вызываешь?
А то получается как, вызываешь команду, она просит сменить режим на MDI, но т.к. мы сейчас выполняем команду M100 до ее выполнения переключать режим нельзя... получается что команда ждет завершение самой себя
...
Как в общем ты ее планируешь использовать? Что будет эта функция делать?
			
			
									
									
						Вообще, походу ждет переход в режим mdi...
Вообще, вообще... ты эту команду как вызываешь?
А то получается как, вызываешь команду, она просит сменить режим на MDI, но т.к. мы сейчас выполняем команду M100 до ее выполнения переключать режим нельзя... получается что команда ждет завершение самой себя
Как в общем ты ее планируешь использовать? Что будет эта функция делать?
- 
				gennadiy
 - Кандидат
 - Сообщения: 64
 - Зарегистрирован: 03 ноя 2013, 22:28
 - Репутация: 32
 - Откуда: Брест
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Я М100 повесил на кнопку pyVCP через MDI_COMMAND = M100
А вообще хотел запускать программу G-code, нажав кнопку, с заданной строки командой
Может можно как-нибудь запустить скрипт кнопкой не используя M-code (M100...M199)?
			
			
									
									
						А вообще хотел запускать программу G-code, нажав кнопку, с заданной строки командой
Код: Выделить всё
c.auto(linuxcnc.AUTO_RUN, program_start_line)- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
это лучше все делать через subroutinesgennadiy писал(а):Я М100 повесил на кнопку pyVCP через MDI_COMMAND = M100
O<foobar> CALL
.... и файл foobar.ngc c O<foobar> SUB
Так.... это... в gladevcp вроде есть такая кнопка сейчас... или я что-то путаю?gennadiy писал(а):А вообще хотел запускать программу G-code, нажав кнопку, с заданной строки командой
- 
				gennadiy
 - Кандидат
 - Сообщения: 64
 - Зарегистрирован: 03 ноя 2013, 22:28
 - Репутация: 32
 - Откуда: Брест
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
"Gladevcp" - это ж Python нужно знать и быть программистом. Переделать то, что есть на pyVCP наверное у меня не получится.
			
			
									
									
						- 
				nkp
 - Мастер
 - Сообщения: 8340
 - Зарегистрирован: 28 ноя 2011, 00:25
 - Репутация: 1589
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
попробуй так:gennadiy писал(а):Который день пытаюсь и не получается выполнять команды Python из M-code. Например:Если запускать скрипт из терминала, то работает как надо.Код: Выделить всё
#!/usr/bin/python import linuxcnc c = linuxcnc.command() c.mode(linuxcnc.MODE_MDI) c.wait_complete() c.mdi("G0 X10")
Файл назвал M100 и сделал исполняемый. Находится он как прописано в .ini PROGRAM_PREFIX.
Код: Выделить всё
#!/usr/bin/python
import linuxcnc
c = linuxcnc.command() 
c.mdi("G91 G0 X10")- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Gladevcp это тот же pyvcp, только с красивым редактором, не более того.gennadiy писал(а):"Gladevcp" - это ж Python нужно знать и быть программистом. Переделать то, что есть на pyVCP наверное у меня не получится.
Т.е. просто на панельку добавляешь кнопки и все, у тебя появляются пины, так же как в pyvcp, или просто уже работающие кнопки.
Вот пример исходника панельки сделанного на gladevcp, ничего не напоминает?
Код: Выделить всё
<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <!-- interface-requires gladevcp 0.0 -->
  <requires lib="gtk+" version="2.16"/>
  <!-- interface-naming-policy project-wide -->
  <object class="GtkWindow" id="window1">
    <child>
      <object class="GtkVBox" id="vbox1">
        <property name="visible">True</property>
        <property name="spacing">2</property>
        <child>
          <object class="GtkFrame" id="frame1">
            <property name="visible">True</property>
            <property name="label_xalign">0</property>
            <property name="shadow_type">none</property>
            <child>
              <object class="GtkAlignment" id="alignment1">
                <property name="visible">True</property>
                <property name="left_padding">12</property>
                <child>
                  <object class="HAL_HBar" id="spindle-rpm-hbar">
                    <property name="visible">True</property>
                    <property name="bg_color">#bebebebebebe</property>
                    <property name="max">2500</property>
                    <property name="z0_border">0.69999998807907104</property>
                    <property name="z0_color">#0000ffff0000</property>
                    <property name="z1_border">0.89999997615814209</property>
                    <property name="z1_color">#ffffffff0000</property>
                    <property name="z2_color">#ffff00000000</property>
                  </object>
                </child>
              </object>
            </child>
            <child type="label">
              <object class="GtkLabel" id="label1text">
                <property name="visible">True</property>
                <property name="label" translatable="yes"><b>Spindle</b></property>
                <property name="use_markup">True</property>
              </object>
            </child>
          </object>
          <packing>
            <property name="position">0</property>
          </packing>
        </child>
        <child>
          <object class="GtkFrame" id="frame2">
            <property name="visible">True</property>
            <property name="label_xalign">0</property>
            <property name="shadow_type">none</property>
            <child>
              <object class="GtkAlignment" id="alignment2">
                <property name="visible">True</property>
                <property name="left_padding">12</property>
                <child>
                  <object class="HAL_Table" id="status">
                    <property name="visible">True</property>
                    <property name="n_rows">6</property>
                    <property name="n_columns">2</property>
                    <child>
                      <object class="HAL_LED" id="led1">
                        <property name="visible">True</property>
                        <property name="pick_color_off">#000000000000</property>
                        <property name="pick_color_on">#ffffb7b90b5c</property>
                      </object>
                    </child>
                    <child>
                      <object class="HAL_LED" id="led2">
                        <property name="visible">True</property>
                        <property name="pick_color_off">#000000000000</property>
                        <property name="pick_color_on">#1d56ab6dfd26</property>
                      </object>
                      <packing>
                        <property name="top_attach">1</property>
                        <property name="bottom_attach">2</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_LED" id="led3">
                        <property name="visible">True</property>
                        <property name="pick_color_off">#000000000000</property>
                        <property name="pick_color_on">#ffff327ff2b6</property>
                      </object>
                      <packing>
                        <property name="top_attach">2</property>
                        <property name="bottom_attach">3</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_Label" id="prepared-tool">
                        <property name="visible">True</property>
                        <property name="label" translatable="yes">label</property>
                        <property name="text_template">Prepared tool: %s</property>
                      </object>
                      <packing>
                        <property name="left_attach">1</property>
                        <property name="right_attach">2</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_Label" id="current-tool">
                        <property name="visible">True</property>
                        <property name="label" translatable="yes">label</property>
                        <property name="text_template">Current tool: %s</property>
                      </object>
                      <packing>
                        <property name="left_attach">1</property>
                        <property name="right_attach">2</property>
                        <property name="top_attach">1</property>
                        <property name="bottom_attach">2</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_LED" id="led4">
                        <property name="visible">True</property>
                        <property name="led_shape">2</property>
                      </object>
                      <packing>
                        <property name="top_attach">3</property>
                        <property name="bottom_attach">4</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_LED" id="led5">
                        <property name="visible">True</property>
                        <property name="led_shape">2</property>
                        <property name="on_color">yellow</property>
                      </object>
                      <packing>
                        <property name="top_attach">4</property>
                        <property name="bottom_attach">5</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_LED" id="led6">
                        <property name="visible">True</property>
                        <property name="led_shape">2</property>
                        <property name="on_color">green</property>
                      </object>
                      <packing>
                        <property name="top_attach">5</property>
                        <property name="bottom_attach">6</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_Label" id="combo-value">
                        <property name="visible">True</property>
                        <property name="label" translatable="yes">label</property>
                        <property name="text_template">System: %s</property>
                      </object>
                      <packing>
                        <property name="left_attach">1</property>
                        <property name="right_attach">2</property>
                        <property name="top_attach">2</property>
                        <property name="bottom_attach">3</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_Label" id="scale-value">
                        <property name="visible">True</property>
                        <property name="label" translatable="yes">label</property>
                        <property name="label_pin_type">1</property>
                        <property name="text_template">Scale value: %.4f</property>
                      </object>
                      <packing>
                        <property name="left_attach">1</property>
                        <property name="right_attach">2</property>
                        <property name="top_attach">3</property>
                        <property name="bottom_attach">4</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_Label" id="spin-value">
                        <property name="visible">True</property>
                        <property name="label" translatable="yes">label</property>
                        <property name="label_pin_type">1</property>
                        <property name="text_template">Spinbutton: %.2f</property>
                      </object>
                      <packing>
                        <property name="left_attach">1</property>
                        <property name="right_attach">2</property>
                        <property name="top_attach">4</property>
                        <property name="bottom_attach">5</property>
                      </packing>
                    </child>
                    <child>
                      <object class="GtkLabel" id="hits">
                        <property name="visible">True</property>
                        <property name="label" translatable="yes">Hits: 0</property>
                      </object>
                      <packing>
                        <property name="left_attach">1</property>
                        <property name="right_attach">2</property>
                        <property name="top_attach">5</property>
                        <property name="bottom_attach">6</property>
                      </packing>
                    </child>
                  </object>
                </child>
              </object>
            </child>
            <child type="label">
              <object class="GtkLabel" id="label2text">
                <property name="visible">True</property>
                <property name="label" translatable="yes"><b>Status</b></property>
                <property name="use_markup">True</property>
              </object>
            </child>
          </object>
          <packing>
            <property name="position">1</property>
          </packing>
        </child>
        <child>
          <object class="GtkFrame" id="frame3">
            <property name="visible">True</property>
            <property name="label_xalign">0</property>
            <property name="shadow_type">none</property>
            <child>
              <object class="GtkAlignment" id="alignment3">
                <property name="visible">True</property>
                <property name="left_padding">12</property>
                <child>
                  <object class="HAL_Table" id="settings">
                    <property name="visible">True</property>
                    <property name="n_rows">3</property>
                    <property name="n_columns">3</property>
                    <child>
                      <object class="HAL_Button" id="button">
                        <property name="label" translatable="yes">LED 1</property>
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="receives_default">True</property>
                        <accelerator key="g" signal="clicked" modifiers="GDK_CONTROL_MASK"/>
                        <accelerator key="n" signal="clicked" modifiers="GDK_CONTROL_MASK"/>
                        <accelerator key="b" signal="activate" modifiers="GDK_CONTROL_MASK"/>
                        <signal name="pressed" handler="on_button_press"/>
                      </object>
                      <packing>
                        <property name="top_attach">1</property>
                        <property name="bottom_attach">2</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_HScale" id="scale">
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="adjustment">adjustment1</property>
                      </object>
                      <packing>
                        <property name="left_attach">1</property>
                        <property name="right_attach">2</property>
                        <property name="top_attach">1</property>
                        <property name="bottom_attach">2</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_SpinButton" id="spin">
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="invisible_char">●</property>
                        <property name="adjustment">adjustment2</property>
                      </object>
                      <packing>
                        <property name="left_attach">1</property>
                        <property name="right_attach">2</property>
                        <property name="top_attach">2</property>
                        <property name="bottom_attach">3</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_ToggleButton" id="toggle">
                        <property name="label" translatable="yes">LED2
toggle</property>
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="receives_default">True</property>
                        <accelerator key="d" signal="clicked" modifiers="GDK_MOD1_MASK"/>
                        <accelerator key="c" signal="activate" modifiers="GDK_MOD1_MASK"/>
                      </object>
                      <packing>
                        <property name="top_attach">2</property>
                        <property name="bottom_attach">3</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_RadioButton" id="radio1">
                        <property name="label" translatable="yes">radiobutton</property>
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="receives_default">False</property>
                        <property name="active">True</property>
                        <property name="draw_indicator">True</property>
                      </object>
                      <packing>
                        <property name="left_attach">2</property>
                        <property name="right_attach">3</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_RadioButton" id="radio2">
                        <property name="label" translatable="yes">radiobutton</property>
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="receives_default">False</property>
                        <property name="active">True</property>
                        <property name="draw_indicator">True</property>
                        <property name="group">radio1</property>
                      </object>
                      <packing>
                        <property name="left_attach">2</property>
                        <property name="right_attach">3</property>
                        <property name="top_attach">1</property>
                        <property name="bottom_attach">2</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_RadioButton" id="radio3">
                        <property name="label" translatable="yes">radiobutton</property>
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="receives_default">False</property>
                        <property name="active">True</property>
                        <property name="draw_indicator">True</property>
                        <property name="group">radio1</property>
                      </object>
                      <packing>
                        <property name="left_attach">2</property>
                        <property name="right_attach">3</property>
                        <property name="top_attach">2</property>
                        <property name="bottom_attach">3</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_ComboBox" id="combo">
                        <property name="visible">True</property>
                        <property name="model">offset-list</property>
                        <property name="active">0</property>
                        <property name="column">1</property>
                        <child>
                          <object class="GtkCellRendererText" id="cellrenderertext1"/>
                          <attributes>
                            <attribute name="text">0</attribute>
                          </attributes>
                        </child>
                      </object>
                      <packing>
                        <property name="left_attach">1</property>
                        <property name="right_attach">2</property>
                      </packing>
                    </child>
                    <child>
                      <object class="HAL_CheckButton" id="check">
                        <property name="label" translatable="yes">checkbutton</property>
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="receives_default">False</property>
                        <property name="draw_indicator">True</property>
                      </object>
                    </child>
                  </object>
                </child>
              </object>
            </child>
            <child type="label">
              <object class="GtkLabel" id="label3text">
                <property name="visible">True</property>
                <property name="label" translatable="yes"><b>Settings</b></property>
                <property name="use_markup">True</property>
              </object>
            </child>
          </object>
          <packing>
            <property name="position">2</property>
          </packing>
        </child>
        <child>
          <object class="GtkFrame" id="frame4">
            <property name="visible">True</property>
            <property name="label_xalign">0</property>
            <property name="shadow_type">none</property>
            <child>
              <object class="GtkAlignment" id="alignment4">
                <property name="visible">True</property>
                <property name="left_padding">12</property>
                <child>
                  <object class="HAL_HBox" id="commands">
                    <property name="visible">True</property>
                    <child>
                      <object class="GtkButton" id="button1">
                        <property name="label" translatable="yes">   Goto
machine
    zero</property>
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="receives_default">True</property>
                        <property name="related_action">hal_action_mdi1</property>
                      </object>
                      <packing>
                        <property name="position">0</property>
                      </packing>
                    </child>
                    <child>
                      <object class="GtkButton" id="button2">
                        <property name="label" translatable="yes">      Goto
current system
      zero</property>
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="receives_default">True</property>
                        <property name="related_action">hal_action_mdi2</property>
                      </object>
                      <packing>
                        <property name="position">1</property>
                      </packing>
                    </child>
                    <child>
                      <object class="GtkToggleButton" id="togglebutton1">
                        <property name="label" translatable="yes">Excute Oword
  subroutine</property>
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="receives_default">True</property>
                        <property name="related_action">hal_toggleaction_mdi1</property>
                      </object>
                      <packing>
                        <property name="position">2</property>
                      </packing>
                    </child>
                  </object>
                </child>
              </object>
            </child>
            <child type="label">
              <object class="GtkLabel" id="label4text">
                <property name="visible">True</property>
                <property name="label" translatable="yes"><b>Commands</b></property>
                <property name="use_markup">True</property>
              </object>
            </child>
          </object>
          <packing>
            <property name="position">3</property>
          </packing>
        </child>
      </object>
    </child>
  </object>
  <object class="EMC_Action_MDI" id="hal_action_mdi1">
    <property name="command">G53 G0  X0 Y0 Z0</property>
  </object>
  <object class="EMC_Action_MDI" id="hal_action_mdi2">
    <property name="command">g0 X0 Y0 Z0</property>
  </object>
  <object class="EMC_ToggleAction_MDI" id="hal_toggleaction_mdi1">
    <property name="command"> O<oword> call [${spin-f}] [${check}] [${toggle}] [${scale}] [${spin-f}]  [${combo-s}]</property>
  </object>
  <object class="GtkAdjustment" id="adjustment1">
    <property name="upper">100</property>
    <property name="step_increment">1</property>
  </object>
  <object class="GtkAdjustment" id="adjustment2">
    <property name="upper">100</property>
    <property name="step_increment">10</property>
  </object>
  <object class="GtkListStore" id="offset-list">
    <columns>
      <!-- column-name System -->
      <column type="gchararray"/>
      <!-- column-name Number -->
      <column type="gint"/>
    </columns>
    <data>
      <row>
        <col id="0" translatable="yes">G54</col>
        <col id="1">0</col>
      </row>
      <row>
        <col id="0" translatable="yes">G55</col>
        <col id="1">1</col>
      </row>
      <row>
        <col id="0" translatable="yes">G56</col>
        <col id="1">2</col>
      </row>
      <row>
        <col id="0" translatable="yes">G57</col>
        <col id="1">3</col>
      </row>
      <row>
        <col id="0" translatable="yes">G58</col>
        <col id="1">4</col>
      </row>
      <row>
        <col id="0" translatable="yes">G59</col>
        <col id="1">5</col>
      </row>
      <row>
        <col id="0" translatable="yes">G59.1</col>
        <col id="1">6</col>
      </row>
      <row>
        <col id="0" translatable="yes">G59.2</col>
        <col id="1">7</col>
      </row>
      <row>
        <col id="0" translatable="yes">G59.3</col>
        <col id="1">8</col>
      </row>
    </data>
  </object>
</interface>- 
				gennadiy
 - Кандидат
 - Сообщения: 64
 - Зарегистрирован: 03 ноя 2013, 22:28
 - Репутация: 32
 - Откуда: Брест
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Да, так работает.nkp писал(а):попробуй так:Код: Выделить всё
#!/usr/bin/python import linuxcnc c = linuxcnc.command() c.mdi("G91 G0 X10")
Я уже понял, что во время выполнения скрипта на Python (используя M100...M199) нельзя менять режим работы интерпретатора вот этими командами:
Код: Выделить всё
c.abort()
c.mode(linuxcnc.MODE_MDI)
c.mode(linuxcnc.MODE_AUTO)
c.mode(linuxcnc.MODE_MANUAL)Nick, это то, что надо! Даже попробовал кнопкой стартовать с нужной строки G-code.Nick писал(а): у тебя появляются пины, так же как в pyvcp
Всем спасибо!
- 
				nkp
 - Мастер
 - Сообщения: 8340
 - Зарегистрирован: 28 ноя 2011, 00:25
 - Репутация: 1589
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
интересно  - с чем связано ограничение на активацию цифровых пинов из gcode 
при G41-42 : ну ладно бы связаные с движением М62-63 , но тут не дает прописать М64-65
			
			
									
									
						при G41-42 : ну ладно бы связаные с движением М62-63 , но тут не дает прописать М64-65
- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Хмм M66 тоже не работает... 
надо на linuxcnc.org запостить...
			
							надо на linuxcnc.org запостить...
- Вложения
 - 
			
		
				
- m66.png (8.7 КБ) 2989 просмотров
 
 
- Serg
 - Мастер
 - Сообщения: 21923
 - Зарегистрирован: 17 апр 2012, 14:58
 - Репутация: 5183
 - Заслуга: c781c134843e0c1a3de9
 - Настоящее имя: Сергей
 - Откуда: Москва
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
В исходниках для этих проверок есть специальный блок кода - видно, что специально сделано.
Можно по истории комитов поискать когда добавилось и посмотреть зачем именно.
P.S. Мне лень...
			
			
									
									Можно по истории комитов поискать когда добавилось и посмотреть зачем именно.
P.S. Мне лень...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
						- Lexxa
 - Мастер
 - Сообщения: 2703
 - Зарегистрирован: 16 дек 2011, 16:48
 - Репутация: 319
 - Настоящее имя: Алексей
 - Откуда: ryazan
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Подскажите, как запустить цикл типа "for" внутри g кода?
Т.е. хочу выполнять кусок g кода n раз.
			
			
									
									Т.е. хочу выполнять кусок g кода n раз.
