Ворон226 писал(а): ↑01 ноя 2014, 21:57
А все равно не запускается...
Вот и вернулся я к кнопке ПУСК)))
Что было рекомендовано для создания кнопки ПУСК в собственной панели управления станком на linuxcnc:
1. В Glade в свойствах кнопки ПУСК в Сигналы добавить clicked run (обязательно без скобочек!!!)
2. В файле, описывающем визуальную панель (mygui) добавить:
Код: Выделить всё
#!/usr/bin/python
import pygtk
pygtk.require("2.0")
import gtk
import gladevcp.makepins
from gladevcp.gladebuilder import GladeBuilder
import hal
import linuxcnc
s = linuxcnc.stat()
c = linuxcnc.command()
Код: Выделить всё
import sys,os
xmlname = "mygui.glade"
class Mygui(object):
def run(self, widget):
program_start_line = 0
c.mode(linuxcnc.MODE_AUTO)
c.auto(linuxcnc.AUTO_RUN, program_start_line)
Код: Выделить всё
def on_window1_destroy(self, widget, data=None):
print "quit++"
gtk.main_quit()
def __init__(self):
self.builder = gtk.Builder()
self.builder.add_from_file(xmlname)
halcomp = hal.component("mygui")
self.builder.connect_signals(self)
self.window = self.builder.get_object("window1")
self.window.show()
#self.window.fullscreen()
panel = gladevcp.makepins.GladePanel( halcomp, xmlname, self.builder, None)
if __name__ == "__main__":
app = Mygui()
res = os.spawnvp(os.P_WAIT, "halcmd", ["halcmd", "-f", "./mode.hal"])
if res: raise SystemExit, res
gtk.main()
После этого нет необходимости прописывать кнопку визуальной панели в mode.hal
Код: Выделить всё
#net start mygui.hal_button14 halui.program.run
Испытания завтра утром. Сегодняшние эксперименты результатов не принесли... Кнопка ПУСК работала, если только визуальная панель прикручивалась к axis-у. И то, после выполнения программы остальные кнопки визуальной панели (кроме axis) становились неактивными, что заставляет думать о режимах halui.mode...