продолжение работы после отключения питания компьютера
- mhael
 - Мастер
 - Сообщения: 2443
 - Зарегистрирован: 09 мар 2013, 11:22
 - Репутация: 769
 - Настоящее имя: Ильдар
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
Kulibin74, думаю глупо требовать от энтузиастов всего и сразу. Люди за идею работают и им никто не платит. А кушать хочется, и скорее всего на EMC время уделяется по остаточному принципу.
			
			
									
									
						- 
				nkp
 - Мастер
 - Сообщения: 8340
 - Зарегистрирован: 28 ноя 2011, 00:25
 - Репутация: 1589
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
кстати - фундаментальные составляющие в емс были написаны за денежкуmhael писал(а):Люди за идею работают и им никто не платит.
"энтузиасты" разве что над интерфейсом поработали (по большому счету)
- mhael
 - Мастер
 - Сообщения: 2443
 - Зарегистрирован: 09 мар 2013, 11:22
 - Репутация: 769
 - Настоящее имя: Ильдар
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
Я имею ввиду нынешнее положение дел. Врядли разрабы ЕМС откажутся за вознаграждение допилить нужный участок кода. Только тема сбора средств поднималась не раз (и не только на этом форуме). Но дальше тем вроде дело не дошло.nkp писал(а):кстати - фундаментальные составляющие в емс были написаны за денежку
"энтузиасты" разве что над интерфейсом поработали (по большому счету)
- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
Из всего этого по моему нет только "старт с того же места при отключении питания" остальное вроде все есть.Kulibin74 писал(а):автопоиск нуля, автоопределение длины инструмента, старт с того же места при отключении питания, и т. д. и т. п.
А не делается скорее всего потому, что параметры у всех разные (например, для определения длины инстумента: место датчика, скорость его поиска, скорость уточнения, безопасная высота, высота самого датчика и т.д.). Да и самому дописать достаточно просто.
- 
				fredy79
 - Опытный
 - Сообщения: 100
 - Зарегистрирован: 03 июн 2014, 20:22
 - Репутация: 3
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
Неужели ни у кого не возникает проблемы с электричеством? Может кто не за спасибо возмется решить эту проблему?
			
			
									
									
						- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
А что именно допилить? На каком варианте остановились? 
Я так понимаю, что универсального варианта нет - поэтому его нет и скорее всего не будет в LinuxCNC, надо выбрать что-то из того, что предлагали именно для твоего случая и быстренько реализовать.
			
			
									
									
						Я так понимаю, что универсального варианта нет - поэтому его нет и скорее всего не будет в LinuxCNC, надо выбрать что-то из того, что предлагали именно для твоего случая и быстренько реализовать.
- 
				fredy79
 - Опытный
 - Сообщения: 100
 - Зарегистрирован: 03 июн 2014, 20:22
 - Репутация: 3
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
2 раза написал сообщение и в ветке его нет, в чем дело?
			
			
									
									
						- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
А ты точно в этой ветке писал?
			
			
									
									
						- 
				fredy79
 - Опытный
 - Сообщения: 100
 - Зарегистрирован: 03 июн 2014, 20:22
 - Репутация: 3
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
точно в этой, сейчас заработало. и так, после запуска УП система должна запомнить относительные координаты нулевой точки и записывать номе исполняемой строки в файл с интервалом 10 строк. по окончании обработки удалять данные из файла. Если отключить питание во время обработки и после включить, система должна предложить обнулить абсолютные координаты, тоесть идти в дом станка, после если есть информация в файле предложить продолжить обработку. если согласиться то из файла берутся относительные координаты заготовки, номер последней строки, проигрывается файл до этой строки, шпиндель перемещается по осям х и у до координат указанных в этой строке, включается, после небольшой паузы для разгона опускается вниз до указанной координаты и продолжает работу. как то  так наверное, Может у кого есть другие алгоритмы реализации. Кстати я обрабатываю мрамор и гранит, обработка порой проходит 23-24 часа и эта функция мне жизненно необходима.
			
			
									
									
						- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
Давай начнем потихоньку реализовывать. 
Итак:
----
сейчас допишу компонент, который будет писать номер строки.
----
Вот компонент, его сохраняем в файд line-number.py и потом в custom-postgui.hal загружем его и подключаем пины.
			
			
									
									
						Итак:
Если в начало программы добавим этот код - то программа будет записывать начальное состояние, и офсеты.fredy79 писал(а):после запуска УП система должна запомнить относительные координаты нулевой точки
Код: Выделить всё
O<task-if> IF [#<_task> EQ 1]
	;py,import interpreter
	;py,from math import *
	;py,f=open("origin.log","w")
	;py,f.write("Origins log\n")
	;py,ip=interpreter.this.params
	;py,f.write("%s\n"%(ip["_coord_system"]))
	;py,n=ip["_coord_system"]/10
	;py,n = 5420 + (floor(n-54) + n%1*10)*10 
	;py,f.write("Coords:	%s %s %s %s %s %s %s %s %s\n"%( tuple([ ip[i] for i in range(n,n+9)])) )
	;py,f.write("G%s:	" % n)
	;py,n = 5220 + (floor(n-54) + n%1*10)*10 
	;py,f.write("%s %s %s %s %s %s %s %s %s %s\n"%( tuple([ ip[i] for i in range(n,n+10)])) )
	;py,n =  5210
	;py,f.write("G92 %s:	%s %s %s %s %s %s %s %s %s\n"%( tuple([ ip[i] for i in range(n,n+10)])) )
O<task-if> ENDIF
сейчас допишу компонент, который будет писать номер строки.
----
Вот компонент, его сохраняем в файд line-number.py и потом в custom-postgui.hal загружем его и подключаем пины.
Код: Выделить всё
loadusr -Wn line-number python line-number.py
net line <= halui.program.is-running => line-number.line
net is-running <= motion.program-line => line-number.run
Код: Выделить всё
#!/usr/bin/python
import hal, time
h = hal.component("line-number")
h.newpin("line", hal.HAL_S32, hal.HAL_IN)
h.newpin("run", hal.HAL_BIT, hal.HAL_IN)
f = open("line-number.log","w")
h.ready()
try:
	while 1:
		time.sleep(0.01)
		if not h["run"] :
			lastline = -1
		elif lastline != h["line"] :
			f.write(h["line"])
			f.write("\n")
except KeyboardInterrupt:
	f.close()
	raise SystemExit
   - Serg
 - Мастер
 - Сообщения: 21923
 - Зарегистрирован: 17 апр 2012, 14:58
 - Репутация: 5183
 - Заслуга: c781c134843e0c1a3de9
 - Настоящее имя: Сергей
 - Откуда: Москва
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
Так все офсеты автоматически в переменных запоминаются...Nick писал(а):Если в начало программы добавим этот код - то программа будет записывать начальное состояние, и офсеты.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
						- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
А когда var сохраняется,  при нормальном выходе или при любом измерении переменных?
			
			
									
									
						- Serg
 - Мастер
 - Сообщения: 21923
 - Зарегистрирован: 17 апр 2012, 14:58
 - Репутация: 5183
 - Заслуга: c781c134843e0c1a3de9
 - Настоящее имя: Сергей
 - Откуда: Москва
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
Не помню уже хотя недавно смотрел, а сейчас посмотреть  некогда... Вроде при каждом изменении.
Во всяком случае если изменить значение переменной и сразу убить LinuxCNC по "kill -9" новое значение оказывается в файле.
			
			
									
									Во всяком случае если изменить значение переменной и сразу убить LinuxCNC по "kill -9" новое значение оказывается в файле.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
						- 
				Knopiks
 - Новичок
 - Сообщения: 5
 - Зарегистрирован: 07 июн 2016, 14:50
 - Репутация: -5
 - Настоящее имя: Иван Шмык
 - Откуда: Москва
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
сколько стоит такая система по автоматическому принятию решений?fredy79 писал(а):Так речи не было о полном автомате. То, как это реализовано в Nc-studio вполне достаточно. При включении питания после внезапного отключения, станок загружает файл обработки, обнуляет оси и предлагает продолжить с прерванного кадра. Вот и все, не нужно чтоб он сам , без команды оператора продолжал. в любом случае команду на продолжение дает оператор. Планируем закупить специальное электрооборудование в магазине электрики сюда за информацией. Для чего это нужно, например: обрабатывается какая либо заготовка, время обработки 25 часов, прошло уже 15 и оператор хочет идти домой спать, станок должен без присмотра отработать оставшиеся 10 часов. Проходит час после ухода оператора и вырубается электричество. Необходимо чтоб после этого оператор включил систему и нажал кнопку продолжения работы, а не танцевал вокруг станка вымеряя начальную точку и номер строки программы.
Если станок - обычный фрезерный, то возможно.
Я б делал "силами постпроцессора": перед каждой командой типа G1, G2, G3 и т.п. вставлял-бы вызов двух процедур - первая записывает в файл текущие номер строки и координаты, так-же заносит координаты в специальные переменные, вторая включает шпиндель, позиционируется в координаты, указанные в переменных и продолжает работу. Для продолжения надо будет прочитать последнюю запись из файла, занести координаты в переменные и продолжить с вызова второй процедуры...
Ну и не надо зацикливаться на ИБП - наймите специального человека для присмотра за станками и грамотного перезапуска - сэкономите не только на ИБП и заготовках, но и на бесцельно потраченном станочном времени. Это и с точки зрения пожарной безопасности выгоднее...
Хотя конечно-же можно реализовать не только протоколирование работы станка, но специальную экспертную систему по автоматическому принятию решений для корректного запуска станка для продолжения УП. Только вот сегодня системы AI стоят сильно дороже обычного человеческого...
Огнезащитная обработка деревянных конструкций - вот адрес.
						- 
				makis2912
 - Новичок
 - Сообщения: 2
 - Зарегистрирован: 24 апр 2017, 18:01
 - Репутация: 0
 - Настоящее имя: Максим
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
Не не не, ребята давайте по другому. Коррекции станок запоминает сам. То есть включаем станок, разгоняем по домам (без этого дальнейшая работа невозможна), настраиваем ноль заготовки (коррекцию). Запускаем УП. Пошла обработка, в это время должен создаться второй файл УП (типа backup). Через какое то время (предположим минута) в этом файле оставляется шапка и безопасная Z а уже пройденные строки кода удаляются. И так каждую минуту. Предположим через час отрубается свет. Оператор включает станок, разгоняет по домам (без этого дальнейшая работа невозможна), коррекции у него уже есть, станок их хранит, и запускает новоиспеченную УП, ту которая была типа backup. Таким образом обработка продолжится с остановки. Станок жужжит, и создает еще один новый файл УП типа backup.... И так до тех пор пока деталь не будет вырезана. Вот так как то.
			
			
									
									
						- 
				Гагарин
 - Опытный
 - Сообщения: 142
 - Зарегистрирован: 18 июн 2015, 17:25
 - Репутация: 13
 - Настоящее имя: Юрий
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
По обработаной заготовке всегда можно легко, как минимум примерно, определить сколько отработал программа. Офсеты линуксцнц и так запоминает, но можно и на всякий случай на бумажечку записать) И в случае необходимости стартануть с нужного места. ТОлько желательно сначала с нуля пустить, чтоб приминились все настройки программы(g-коды в шапке), остановить, а потом пустить с нужной строки. Приходилось так иногда делать, когда нужно было останавливать програмы в несколько десятков часов.
			
			
									
									
						- 
				fredy79
 - Опытный
 - Сообщения: 100
 - Зарегистрирован: 03 июн 2014, 20:22
 - Репутация: 3
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
И ищи эту строку, а хотелось бы чтоб все было удобно, как на всех добротных системах, включил, угнал оси в дом, и нажал кнопку "продолжить незавершенную работу"
			
			
									
									
						- 
				Гагарин
 - Опытный
 - Сообщения: 142
 - Зарегистрирован: 18 июн 2015, 17:25
 - Репутация: 13
 - Настоящее имя: Юрий
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
вообще не проблема искать строку:овчинка выделки не стоит.   И после сбоя , я считаю, любое автоматическое продолжение исключено: нужны перепроверки, нужно ввести начальные настройки.
			
			
									
									
						- 
				fredy79
 - Опытный
 - Сообщения: 100
 - Зарегистрирован: 03 июн 2014, 20:22
 - Репутация: 3
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
если концевые датчики с малой погрешностью, механика в порядке то какие проверки? какие начальные настройки, нужно удобство пользования без танцев с бубном.
			
			
									
									
						- 
				Гагарин
 - Опытный
 - Сообщения: 142
 - Зарегистрирован: 18 июн 2015, 17:25
 - Репутация: 13
 - Настоящее имя: Юрий
 - Контактная информация:
 
Re: продолжение работы после отключения питания компьютера
ну раз  все так хорошо работает, то поставить бесперебойник на комп, а с драйверов шаговиков в комп вывести сигнал об ошибке. В ледшане, вроде можно установить логический уровень. Допустим, когда нет ошибки, высокий уровень сделать. Соответсвенно, если будет ошибка  или напряжение пропадет, то получаем низкий уровень и исполнение программы остановится. Нормально завершаем работу, запоминаем номер строки  и потом нормально стартуем.
			
			
									
									
						