Режимы управления задаются в строке загрузки компонента stepgen скинь свой hal, посмотрим .zilk писал(а): .control-type 1
4-я ось - позиция/скорость
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: 4-я ось - позиция/скорость
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: 4-я ось - позиция/скорость
Здравствуйте !
Nick, помогите пожалуйста разобраться где писать эти hal.
Nick, помогите пожалуйста разобраться где писать эти hal.
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: 4-я ось - позиция/скорость
Можно поподробней- в чем вопрос?Serb01 писал(а):где писать эти hal.
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: 4-я ось - позиция/скорость
Например:
loadrt and2 count=4
loadrt or2 count=2
loadrt not count=1
addf and2.0 servo-thread
addf and2.1 servo-thread
addf and2.2 servo-thread
addf and2.3 servo-thread
addf or2.0 servo-thread
addf or2.1 servo-thread
addf not.0 servo-thread
net mode motion.digital-out-00 => not.0.in and2.0.in1 and2.2.in1
net inv not.0.out => and2.1.in1 and2.3.in1
net p-step stepgen.3.step => and2.0.in0
net v-step stepgen.4.step => and2.1.in0
net p-dir stepgen.3.dir => and2.2.in0
net v-dir stepgen.4.dir => and2.3.in0
net pstep-sw and2.0.out => or2.0.in0
net vstep-sw and2.1.out => or2.0.in1
net pdir-sw and2.2.out => or2.1.in0
net vdir-sw and2.3.out => or2.1.in1
net sel-step or2.0.out => parport.0.pin-NN-out
net sel-dir or2.1.out => parport.0.pin-NN-out
Где это пишется?
loadrt and2 count=4
loadrt or2 count=2
loadrt not count=1
addf and2.0 servo-thread
addf and2.1 servo-thread
addf and2.2 servo-thread
addf and2.3 servo-thread
addf or2.0 servo-thread
addf or2.1 servo-thread
addf not.0 servo-thread
net mode motion.digital-out-00 => not.0.in and2.0.in1 and2.2.in1
net inv not.0.out => and2.1.in1 and2.3.in1
net p-step stepgen.3.step => and2.0.in0
net v-step stepgen.4.step => and2.1.in0
net p-dir stepgen.3.dir => and2.2.in0
net v-dir stepgen.4.dir => and2.3.in0
net pstep-sw and2.0.out => or2.0.in0
net vstep-sw and2.1.out => or2.0.in1
net pdir-sw and2.2.out => or2.1.in0
net vdir-sw and2.3.out => or2.1.in1
net sel-step or2.0.out => parport.0.pin-NN-out
net sel-dir or2.1.out => parport.0.pin-NN-out
Где это пишется?
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: 4-я ось - позиция/скорость
Можешь дописать в свой хал файл
Можешь создать новый - name.hal и его прописать в ини файле в секции [HAL] подобно тому ,как уже существующие прописаны.
Все это добро лежит в /home/ЮЗЕР/emc2/configs/
Можешь создать новый - name.hal и его прописать в ини файле в секции [HAL] подобно тому ,как уже существующие прописаны.
Все это добро лежит в /home/ЮЗЕР/emc2/configs/
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: 4-я ось - позиция/скорость
Создал конфигурацию Proba1.
В файле Proba1.ini вразделе [HAL] создал (создатель блин...) строку HALFILE = Proba2.hal
В текстовом редакторе создал файл Proba2.hal
в него вставил:
loadrt and2 count=4
loadrt or2 count=2
loadrt not count=1
addf and2.0 servo-thread
addf and2.1 servo-thread
addf and2.2 servo-thread
addf and2.3 servo-thread
addf or2.0 servo-thread
addf or2.1 servo-thread
addf not.0 servo-thread
net mode motion.digital-out-00 => not.0.in and2.0.in1 and2.2.in1
net inv not.0.out => and2.1.in1 and2.3.in1
net p-step stepgen.3.step => and2.0.in0
net v-step stepgen.4.step => and2.1.in0
net p-dir stepgen.3.dir => and2.2.in0
net v-dir stepgen.4.dir => and2.3.in0
net pstep-sw and2.0.out => or2.0.in0
net vstep-sw and2.1.out => or2.0.in1
net pdir-sw and2.2.out => or2.1.in0
net vdir-sw and2.3.out => or2.1.in1
net sel-step or2.0.out => parport.0.pin-NN-out
net sel-dir or2.1.out => parport.0.pin-NN-out
после запустил EMC на что получил незамедлительно:
Proba2.hal:15: Pin 'stepgen.3.step' was already linked to signal 'astep'
10366
В файле Proba1.ini вразделе [HAL] создал (создатель блин...) строку HALFILE = Proba2.hal
В текстовом редакторе создал файл Proba2.hal
в него вставил:
loadrt and2 count=4
loadrt or2 count=2
loadrt not count=1
addf and2.0 servo-thread
addf and2.1 servo-thread
addf and2.2 servo-thread
addf and2.3 servo-thread
addf or2.0 servo-thread
addf or2.1 servo-thread
addf not.0 servo-thread
net mode motion.digital-out-00 => not.0.in and2.0.in1 and2.2.in1
net inv not.0.out => and2.1.in1 and2.3.in1
net p-step stepgen.3.step => and2.0.in0
net v-step stepgen.4.step => and2.1.in0
net p-dir stepgen.3.dir => and2.2.in0
net v-dir stepgen.4.dir => and2.3.in0
net pstep-sw and2.0.out => or2.0.in0
net vstep-sw and2.1.out => or2.0.in1
net pdir-sw and2.2.out => or2.1.in0
net vdir-sw and2.3.out => or2.1.in1
net sel-step or2.0.out => parport.0.pin-NN-out
net sel-dir or2.1.out => parport.0.pin-NN-out
после запустил EMC на что получил незамедлительно:
Proba2.hal:15: Pin 'stepgen.3.step' was already linked to signal 'astep'
10366
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: 4-я ось - позиция/скорость
Ткните носом - чё не так делаю пожалуйста.
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: 4-я ось - позиция/скорость
В твоем основном hal файле этот пин уже подключен ... поэтому выходит ошибка.Serb01 писал(а):Proba2.hal:15: Pin 'stepgen.3.step' was already linked to signal 'astep'
Нужно либо в нем отключить этот пин, или сделать unlinkp stepgen.3.step....
хотя... тут похоже все не правильно, так работать не будет, все функции addf and2.0 и прочие работают в servo-thread а stepgen в base-thread. Надо лучше через mux2 делать.
Давай еще раз уточним, у тебя такая же ситуация, у тебя есть 4-я ось, на ней стоит шаговик и ты хочешь управлять ей в двух режимах, в режиме положения и в режиме скорости (как шпинделем). Так?
ЗЫ скинь на всякий случай полностью свой hal и ini (можешь просто присоединить файлы к сообщению )
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: 4-я ось - позиция/скорость
Здравствуйте!
Да станок 4-х осевой. 4-я ось поворотная - хотелось-бы программно переключать её в режим скорости.
Да станок 4-х осевой. 4-я ось поворотная - хотелось-бы программно переключать её в режим скорости.
- Вложения
-
- Proba2.hal
- (24 байт) 1207 скачиваний
-
- Proba1.hal
- (4.23 КБ) 1232 скачивания
-
- Proba1.ini
- (2.01 КБ) 1227 скачиваний
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: 4-я ось - позиция/скорость
Изменения в hal
loadrt stepgen step_type=0,0,0,0,0 ctrl_type=p,p,p,p,v
.....
setp stepgen.4.position-scale [AXIS_3]SCALE
setp stepgen.4.steplen 1
setp stepgen.4.stepspace 0
setp stepgen.4.dirhold 35000
setp stepgen.4.dirsetup 35000
setp stepgen.4.maxaccel [AXIS_3]STEPGEN_MAXACCEL
net avel-cmd <= motion.analog-out-00
net avel-cmd => stepgen.4.velocity-cmd
net avel-step <= stepgen.4.step
net avel-dir <= stepgen.4.dir
похоже, что переключать пины вывода на уровне hal просто так не получится . Либо нужно переписывать компонент mux2, чтобы он работал с битовыми пинами и не требовал floating point thread либо придется написать маленький скрипт. Я думаю скрипт будет проще и в итогде работать должно стабильнее, т.к. не будет перегружать base thread.
Итак, нам нужен скритп, который будет выбирать пины вывода со stepgen.3 или stepgen.4.
Сохраняем эти скрипты в файлы с названиями M101 и M102 в каталог с ini. Выполняем chmod u+x M101 M102 для того, чтобы эти файлы стали исполняемыми.
Теперь если написать в Gкоде M101 включится режим скорости, M102 - режим положения. Управление скоростью настроено через motion.analog-out-00, а он управляется из Gкода через код M68 E0 Q[значение].
Как-то так. Попробуй все это сделать. По результатам пиши, наверняка с первого раза не заработает , но мы все исправим .
ini изменять вроде не нужно, измененный hal в приложении, а второй хал вроде тоже не нужен.
loadrt stepgen step_type=0,0,0,0,0 ctrl_type=p,p,p,p,v
.....
setp stepgen.4.position-scale [AXIS_3]SCALE
setp stepgen.4.steplen 1
setp stepgen.4.stepspace 0
setp stepgen.4.dirhold 35000
setp stepgen.4.dirsetup 35000
setp stepgen.4.maxaccel [AXIS_3]STEPGEN_MAXACCEL
net avel-cmd <= motion.analog-out-00
net avel-cmd => stepgen.4.velocity-cmd
net avel-step <= stepgen.4.step
net avel-dir <= stepgen.4.dir
похоже, что переключать пины вывода на уровне hal просто так не получится . Либо нужно переписывать компонент mux2, чтобы он работал с битовыми пинами и не требовал floating point thread либо придется написать маленький скрипт. Я думаю скрипт будет проще и в итогде работать должно стабильнее, т.к. не будет перегружать base thread.
Итак, нам нужен скритп, который будет выбирать пины вывода со stepgen.3 или stepgen.4.
Код: Выделить всё
#включаем управление скоростью:
# отключаем пины LPT порта
halcmd unlinkp parport.0.pin-09-out
halcmd unlinkp parport.0.pin-05-out
# подключаем их к stepgen.4
halcmd net avev-dir => parport.0.pin-09-out
halcmd net avel-step => parport.0.pin-05-out
halcmd setp stepgen.4.enable 1
exit 0
Код: Выделить всё
#включаем управление положением:
halcmd setp stepgen.4.enable 0
# отключаем пины LPT порта
halcmd unlinkp parport.0.pin-09-out
halcmd unlinkp parport.0.pin-05-out
# подключаем их к stepgen.3
halcmd net adir => parport.0.pin-09-out
halcmd net astep => parport.0.pin-05-out
exit 0
Теперь если написать в Gкоде M101 включится режим скорости, M102 - режим положения. Управление скоростью настроено через motion.analog-out-00, а он управляется из Gкода через код M68 E0 Q[значение].
Как-то так. Попробуй все это сделать. По результатам пиши, наверняка с первого раза не заработает , но мы все исправим .
ini изменять вроде не нужно, измененный hal в приложении, а второй хал вроде тоже не нужен.
- Вложения
-
- Proba1.hal
- (4.59 КБ) 971 скачивание
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: 4-я ось - позиция/скорость
Nick спасибо большое за информацию!
Завтра выходной - буду пробовать.
Завтра выходной - буду пробовать.
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: 4-я ось - позиция/скорость
Nick извини за глупый вопрос:
Линух установил недавно поэтому плаваю во всём.
-это в терминале в дериктории /home/user/emc2/Proba1 выполнить эту команду?Nick писал(а):Выполняем chmod u+x M101 M102 д
Линух установил недавно поэтому плаваю во всём.
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: 4-я ось - позиция/скорость
ПКМ по файлу--свойства--права--галочку"разрешить исполн файл как прог"Serb01 писал(а):Линух установил недавно поэтому плаваю во всём.
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: 4-я ось - позиция/скорость
Заменил файл Proba1.hal в текстовом редакторе создал 2 файла М101 и М102 вставил скрипты для включения режима управлением скоростью в файл М101, для включения режима управления положением в файл М102. После этого в терминале в директории /home/user/emc2/Proba выполнил chmod u+x M101 M102.
Запустил EMC2 появилась ошибка: неизвестная команда в строке 1 файла Proba1.hal - исправил строку, EMC2 запустилась, но на команду M101 ругается - Неизвестная М команда - может её нужно в каком-нибудь .ini прописать?
Запустил EMC2 появилась ошибка: неизвестная команда в строке 1 файла Proba1.hal - исправил строку, EMC2 запустилась, но на команду M101 ругается - Неизвестная М команда - может её нужно в каком-нибудь .ini прописать?
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: 4-я ось - позиция/скорость
nkp - спасибо!nkp писал(а):ПКМ по файлу--свойства--права--галочку"разрешить исполн файл как прог"
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: 4-я ось - позиция/скорость
1. проверить стал ли файл исполняемым:
(ПКМ по файлу--свойства--права--галочку"разрешить исполн файл как прог") -должна стоять указан галочка
2. после любых изменений в М-файлах перезапускать емс
(ПКМ по файлу--свойства--права--галочку"разрешить исполн файл как прог") -должна стоять указан галочка
2. после любых изменений в М-файлах перезапускать емс
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: 4-я ось - позиция/скорость
первая строка в М-файле :
или:
Код: Выделить всё
#!/bin/sh
Код: Выделить всё
#!/bin/bash
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: 4-я ось - позиция/скорость
Галочка стоит.nkp писал(а):1. проверить стал ли файл исполняемым:(ПКМ по файлу--свойства--права--галочку"разрешить исполн файл как прог") -должна стоять указан галочка2. после любых изменений в М-файлах перезапускать емс
Перезапускаю EMC2 - ругается на М101 и М102nkp писал(а):первая строка в М-файле :или:Код: Выделить всё
#!/bin/sh
Код: Выделить всё
#!/bin/bash
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: 4-я ось - позиция/скорость
регается уже при запуске или при исполнении ж-кода?
где лежат М-файлы (я ложу в nc_files)
где лежат М-файлы (я ложу в nc_files)
- Serb01
- Опытный
- Сообщения: 107
- Зарегистрирован: 04 июн 2012, 09:58
- Репутация: 17
- Настоящее имя: Сергей Беседин
- Откуда: Новокузнецк
- Контактная информация:
Re: 4-я ось - позиция/скорость
Пытаюсь выполнить MDI
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер