G==M ??VAV77 писал(а):S1G03
M66 P0 L1 Q01 (ставил и Q10)
G05
Помогите настроить hal для запуска программы.
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Помогите настроить hal для запуска программы.
-
VAV77
- Кандидат
- Сообщения: 43
- Зарегистрирован: 28 мар 2013, 08:55
- Репутация: 0
- Контактная информация:
Re: Помогите настроить hal для запуска программы.
Сейчас попробую.
А в hal я правильно написал
в строке "net wait <= parport.0.pin-17-in"
поставил "pin-11-in", т.к. у меня сигнал приходит на 11 пин?
А в hal я правильно написал
в строке "net wait <= parport.0.pin-17-in"
поставил "pin-11-in", т.к. у меня сигнал приходит на 11 пин?
-
VAV77
- Кандидат
- Сообщения: 43
- Зарегистрирован: 28 мар 2013, 08:55
- Репутация: 0
- Контактная информация:
Re: Помогите настроить hal для запуска программы.
Поставил L2 - все нормально заработало. Значит действительно был инвертирован.
А можно время поставить бесконечным - просто в режиме наладки я прерываю сигнал на регулятор и перевожу на управление отдельной кнопкой, и не хочется, что бы в тот момент, когда оператор подстраивает электроды машина поехала дальше?
А можно время поставить бесконечным - просто в режиме наладки я прерываю сигнал на регулятор и перевожу на управление отдельной кнопкой, и не хочется, что бы в тот момент, когда оператор подстраивает электроды машина поехала дальше?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Помогите настроить hal для запуска программы.
Можно поставить условно бесконечный - Q360000 - 100 часов
. Или сделать аварийный останов или паузу, если не пришел сигнал готовности
Я все же посоветовал бы сделать отдельную функцию для цикла сварки, чтобы там можно было делать дополнительный контроль, а оператора обучить писать:
(скажем для трех точек)
O<melt> CALL [100] [200]
O<melt> CALL [110] [200]
O<melt> CALL [120] [200]
если надо делать дополнительный режим - можно дописывать дополнительный параметр:
O<melt> CALL [120] [200] [1]
И потом его использовать как условие, или сделать вторую функцию
O<melt-2>
Я все же посоветовал бы сделать отдельную функцию для цикла сварки, чтобы там можно было делать дополнительный контроль, а оператора обучить писать:
(скажем для трех точек)
O<melt> CALL [100] [200]
O<melt> CALL [110] [200]
O<melt> CALL [120] [200]
если надо делать дополнительный режим - можно дописывать дополнительный параметр:
O<melt> CALL [120] [200] [1]
И потом его использовать как условие, или сделать вторую функцию
O<melt-2>
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Помогите настроить hal для запуска программы.
Можно поставить условно бесконечный - Q360000 - 100 часов
. Или сделать аварийный останов или паузу, если не пришел сигнал готовности
Я все же посоветовал бы сделать отдельную функцию для цикла сварки, чтобы там можно было делать дополнительный контроль, а оператора обучить писать:
(скажем для трех точек)
O<melt> CALL [100] [200]
O<melt> CALL [110] [200]
O<melt> CALL [120] [200]
если надо делать дополнительный режим - можно дописывать дополнительный параметр:
O<melt> CALL [120] [200] [1]
И потом его использовать как условие, или сделать вторую функцию
O<melt-2>
Я все же посоветовал бы сделать отдельную функцию для цикла сварки, чтобы там можно было делать дополнительный контроль, а оператора обучить писать:
(скажем для трех точек)
O<melt> CALL [100] [200]
O<melt> CALL [110] [200]
O<melt> CALL [120] [200]
если надо делать дополнительный режим - можно дописывать дополнительный параметр:
O<melt> CALL [120] [200] [1]
И потом его использовать как условие, или сделать вторую функцию
O<melt-2>
-
VAV77
- Кандидат
- Сообщения: 43
- Зарегистрирован: 28 мар 2013, 08:55
- Репутация: 0
- Контактная информация:
Re: Помогите настроить hal для запуска программы.
Вот ссылка на короткое видео работы.
http://youtu.be/i5jU5QbZZ-k
Как вставить сюда видео - не нашел.
http://youtu.be/i5jU5QbZZ-k
Как вставить сюда видео - не нашел.
-
VAV77
- Кандидат
- Сообщения: 43
- Зарегистрирован: 28 мар 2013, 08:55
- Репутация: 0
- Контактная информация:
Re: Помогите настроить hal для запуска программы.
А можно уточнить по процедурам - просто так никогда не писал.
Т.е. в начале программы пишу :
А потом в программе только пишу
O<melt12> CALL [10] [20]
или
O<melt22> CALL [10] [20]
Где CALL [10] [20] это координаты по осям X и Y.
А названия melt12 и melt22 я специально взял такие, что бы человек, пишущий программу, не путал их - т.е. 12 -это разные диаметры, а 22 - одинаковые. Или так нельзя их называть?
Т.е. в начале программы пишу :
Код: Выделить всё
O<melt12> SUB
G0 X#1 Y#1
S1M3
M66 P1 L2 Q360000
M5
O<melt12> ENDSUB
O<melt22> SUB
G0 X#1 Y#1
S1M4
M66 P1 L2 Q360000
M5
O<melt22> ENDSUBO<melt12> CALL [10] [20]
или
O<melt22> CALL [10] [20]
Где CALL [10] [20] это координаты по осям X и Y.
А названия melt12 и melt22 я специально взял такие, что бы человек, пишущий программу, не путал их - т.е. 12 -это разные диаметры, а 22 - одинаковые. Или так нельзя их называть?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Помогите настроить hal для запуска программы.
По процедурам есть три варианта можно называть цифрами -
O100 SUB
можно буквами, (в названии могут быть ._- и цифры) тогда название нужно заключать в <>
O<melt-23.w> SUB
Можно записать процедуру в файл с названием как буквы и тогда она будет вызываться из файла
файл melt-23.w.ngc в нем обязательно должна быть O<melt-23.w> SUB
http://linuxcnc.org/docs/html/gcode/o-c ... ubroutines
Потом вызываем через O123 CALL и параметры в квадратных скобках, до 30 штук.
#1, #2 - параметры передаваемые в процедуру.
Добавь вот такое условие, оно будет информировать, что цикл прошел неверно:
После M66, только номер O во втором случае поменяй.
PS как у тебя с английским?
O100 SUB
можно буквами, (в названии могут быть ._- и цифры) тогда название нужно заключать в <>
O<melt-23.w> SUB
Можно записать процедуру в файл с названием как буквы и тогда она будет вызываться из файла
файл melt-23.w.ngc в нем обязательно должна быть O<melt-23.w> SUB
http://linuxcnc.org/docs/html/gcode/o-c ... ubroutines
Потом вызываем через O123 CALL и параметры в квадратных скобках, до 30 штук.
X#1 Y#2VAV77 писал(а):G0 X#1 Y#1
#1, #2 - параметры передаваемые в процедуру.
Добавь вот такое условие, оно будет информировать, что цикл прошел неверно:
После M66, только номер O во втором случае поменяй.
Код: Выделить всё
O100 IF [#5399 EQ 1]
(DEBUG, Внимание! Недождались окончания сварки!)
O100 ENDIF
PS как у тебя с английским?
-
VAV77
- Кандидат
- Сообщения: 43
- Зарегистрирован: 28 мар 2013, 08:55
- Репутация: 0
- Контактная информация:
Re: Помогите настроить hal для запуска программы.
А если у меня 60 или 100 точек?Nick писал(а):Потом вызываем через O123 CALL и параметры в квадратных скобках, до 30 штук.
Или это различные параметры - а их значений может быть множество?
И как я понял если в процедуре записаны два параметра X#1 Y#2 , то их обязательно нужно указывать в CALL - а то их связь с процедурой только в последовательности. Я правильно понял?
С английским очень плохо - даже в закладках есть переводчик Google
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Помогите настроить hal для запуска программы.
Про порядок - да. Про обязательно указывать - нет, но если не укажешь их значения могут быть не предсказуемыми, хотя, скорее всего будут равны 0.VAV77 писал(а):И как я понял если в процедуре записаны два параметра X#1 Y#2 , то их обязательно нужно указывать в CALL - а то их связь с процедурой только в последовательности. Я правильно понял?
Чтобы сделать 50 дырок в линию, можно использовать код G91 - относительные координаты:
Код: Выделить всё
# делаем первую сварку
O<melt> CALL [100] [200]
# относительные координаты
G91
# шаг 10 мм, 4 сварки
O<melt> CALL [10] [0]
O<melt> CALL [10] [0]
O<melt> CALL [10] [0]
O<melt> CALL [10] [0]
# возвращаем абсолютные координаты
G90
Код: Выделить всё
# делаем первую сварку
O<melt> CALL [100] [200]
# относительные координаты
G91
# шаг 10 мм, 50 сварки
O100 REPEAT [50]
O<melt> CALL [10] [0]
O100 ENDREPEAT [50]
O100 REPEAT [50]
G90
Код: Выделить всё
O<grid> SUB
# параметры X0, Y0, ШагX, ШагY, к-во X, к-во Y
#<x0> = #1
#<y0> = #2
#<stepx> = #3
#<stepy> = #4
#<nx> = #5
#<ny> = #6
#<x> = #<x0>
O<grid-1> REPEAT [#<nx>]
#<y> = #<y0>
O<grid-1> REPEAT [#<ny>]
O<melt> CALL [#<x>] [#<y>]
#<y> = [#<y>+#<stepy>]
O<grid-1> ENDREPEAT
#<x> = [#<x>+#<stepx>]
O<grid-1> ENDREPEAT
O<grid> ENDSUB
-
VAV77
- Кандидат
- Сообщения: 43
- Зарегистрирован: 28 мар 2013, 08:55
- Репутация: 0
- Контактная информация:
Re: Помогите настроить hal для запуска программы.
Может не получиться, т.к. в клетке есть и ажурные элементы (это верх клетки может быть радиусным или в китайском стиле или под углом), плюс есть элементы для кормушек, где привариваются короткие проволочки. Да и объяснить человеку, далекому от программирования все эти нюансы - тяжело. Легче посадить его возле кондуктора с линейкой, показать где ноль и пусть отмеряет координаты линейкой и записывает в программу.Nick писал(а):А можем написать процедуру, которая будет варить сетку целиком
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Помогите настроить hal для запуска программы.
Радиусную и параллелограмную сетку тоже можно сделать
.
Но если проще с линейкой, пусть просто копирует строку с вызовом процедуры и все.
Но если проще с линейкой, пусть просто копирует строку с вызовом процедуры и все.
