Ворон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...