Револьверная головка токарных станков: различия между версиями
Nick (обсуждение | вклад) |
Nick (обсуждение | вклад) |
||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
=Установка= | =Установка= | ||
− | Скачать файл [[Turret_1325f30.comp]] | + | Скачать файл [[:File:Turret_1325f30.comp]] |
В консоле выполняем | В консоле выполняем | ||
Строка 7: | Строка 7: | ||
Если linuxcnc установлен в режиме run-in-place то тоже самое но без sudo. | Если linuxcnc установлен в режиме run-in-place то тоже самое но без sudo. | ||
− | |||
=Проверка работы= | =Проверка работы= | ||
Строка 73: | Строка 72: | ||
В custom.hal дописываем следующее: | В custom.hal дописываем следующее: | ||
− | # Загрузка | + | # -------- TOOL CHANGER -------- |
+ | # load component | ||
+ | loadrt turret_1325f30 personality=12 | ||
+ | |||
+ | addf turret-1325f30.0 servo-thread | ||
+ | |||
+ | setp turret-1325f30.0.timeout 40 | ||
+ | setp turret-1325f30.0.timeout-fix 1 | ||
+ | |||
+ | net tool-change-request => turret-1325f30.0.change | ||
+ | net tool-change-confirmed <= turret-1325f30.0.changed | ||
+ | net tool-number => turret-1325f30.0.number | ||
+ | |||
+ | net tc-err <= turret-1325f30.0.err | ||
+ | net tc-reset => turret-1325f30.0.reset | ||
+ | net tc-reset <= iocontrol.0.user-request-enable | ||
+ | |||
+ | net tc-current <= turret-1325f30.0.current-position | ||
+ | |||
+ | net tc-fwd <= turret-1325f30.0.fwd => hm2_7i92.0.7i77.0.0.output-13 | ||
+ | net tc-rev <= turret-1325f30.0.rev => hm2_7i92.0.7i77.0.0.output-12 | ||
+ | net tc-fix => turret-1325f30.0.fix <= hm2_7i92.0.7i77.0.0.input-28 | ||
+ | net tc-01 => turret-1325f30.0.sens-01 <= hm2_7i92.0.7i77.0.0.input-16 | ||
+ | net tc-02 => turret-1325f30.0.sens-02 <= hm2_7i92.0.7i77.0.0.input-17 | ||
+ | net tc-03 => turret-1325f30.0.sens-03 <= hm2_7i92.0.7i77.0.0.input-18 | ||
+ | net tc-04 => turret-1325f30.0.sens-04 <= hm2_7i92.0.7i77.0.0.input-19 | ||
+ | net tc-05 => turret-1325f30.0.sens-05 <= hm2_7i92.0.7i77.0.0.input-20 | ||
+ | net tc-06 => turret-1325f30.0.sens-06 <= hm2_7i92.0.7i77.0.0.input-21 | ||
+ | net tc-07 => turret-1325f30.0.sens-07 <= hm2_7i92.0.7i77.0.0.input-22 | ||
+ | net tc-08 => turret-1325f30.0.sens-08 <= hm2_7i92.0.7i77.0.0.input-23 | ||
+ | net tc-09 => turret-1325f30.0.sens-09 <= hm2_7i92.0.7i77.0.0.input-24 | ||
+ | net tc-10 => turret-1325f30.0.sens-10 <= hm2_7i92.0.7i77.0.0.input-25 | ||
+ | net tc-11 => turret-1325f30.0.sens-11 <= hm2_7i92.0.7i77.0.0.input-26 | ||
+ | net tc-12 => turret-1325f30.0.sens-12 <= hm2_7i92.0.7i77.0.0.input-27 | ||
+ | |||
+ | # -------- TOOL CHANGER -------- | ||
+ | |||
+ | !!! В строчках подключения датчиков tc-ХХ поменять пины на свои!!! | ||
+ | |||
+ | |||
+ | |||
+ | =Логика работы и описание пинов и параметров= | ||
+ | Разжим головки и поиск инструмента происходит прямым вращением. | ||
+ | Зажим головки производится обратным вращением. Есть датчик зажима. | ||
+ | На каждом инструменте есть отдельыный датчик. | ||
+ | |||
+ | ==Загрузка== | ||
+ | При загрузке компонента указывается количество инструментов в револьверной головке в параметре personality: | ||
+ | loadrt turret_1325f30 personality=12 | ||
+ | |||
+ | |||
+ | '''setp turret-1325f30.0.timeout 40 ''' Таймаут на поиск инстумента в секундах если инструмент не найден за это время, пин turret-1325f30.0.err станет 1 | ||
+ | |||
+ | '''setp turret-1325f30.0.timeout-fix 1 ''' Таймаут на зажим инструмента | ||
+ | |||
+ | |||
+ | '''net tool-change-request => turret-1325f30.0.change ''' Пин запроса на смену инструмента | ||
+ | |||
+ | '''net tool-change-confirmed <= turret-1325f30.0.changed ''' Пин говорящий, что смена завершена | ||
+ | |||
+ | '''net tool-number => turret-1325f30.0.number ''' Номер инструмента который нужно найти | ||
+ | |||
+ | |||
+ | '''net tc-err <= turret-1325f30.0.err ''' Пин ошибки, если сменщик выдает ошибку - его нужно подключить к estop | ||
+ | |||
+ | '''net tc-reset => turret-1325f30.0.reset ''' Пин сброса ошибки | ||
+ | |||
+ | '''net tc-reset <= iocontrol.0.user-request-enable ''' Подключаем его к общем Reset | ||
+ | |||
+ | '''net tc-current <= turret-1325f30.0.current-position ''' Текущее положение сменщика | ||
+ | |||
+ | '''net tc-fwd <= turret-1325f30.0.fwd => hm2_7i92.0.7i77.0.0.output-13 ''' Пин прямого вращения | ||
+ | |||
+ | '''net tc-rev <= turret-1325f30.0.rev => hm2_7i92.0.7i77.0.0.output-12 ''' Пин обратного вращения | ||
+ | |||
+ | '''net tc-fix => turret-1325f30.0.fix <= hm2_7i92.0.7i77.0.0.input-28 ''' GПин датчика зажатия | ||
+ | |||
+ | '''net tc-01 => turret-1325f30.0.sens-01 <= hm2_7i92.0.7i77.0.0.input-16 ''' Пины датчиков инструментов | ||
+ | |||
+ | ... |
Текущая версия на 18:41, 27 августа 2021
Содержание
Установка
Скачать файл File:Turret_1325f30.comp
В консоле выполняем
sudo halcompile --install turret_1325f30.comp
Если linuxcnc установлен в режиме run-in-place то тоже самое но без sudo.
Проверка работы
Запукаем halrun и в нем выполняем
loadrt turret_1325f30.comp
Эта строка не должна выдать ошибок. После этого проверяем какие пины и параметры доступны
show
Должно показать примерно следующее
halcmd: show Loaded HAL Components: ID Type Name PID State 4 RT turret_1325f30 ready 2 User halcmd60255 60255 ready Component Pins: Owner Type Dir Value Name 4 bit IN FALSE turret-1325f30.0.change 4 bit OUT FALSE turret-1325f30.0.changed 4 s32 OUT 0 turret-1325f30.0.current-position 4 bit OUT FALSE turret-1325f30.0.err 4 bit IN FALSE turret-1325f30.0.fix 4 bit OUT FALSE turret-1325f30.0.fwd 4 s32 IN 0 turret-1325f30.0.number 4 bit IN FALSE turret-1325f30.0.reset 4 bit OUT FALSE turret-1325f30.0.rev 4 bit IN FALSE turret-1325f30.0.sens-00 4 s32 OUT 0 turret-1325f30.0.state 4 s32 OUT 0 turret-1325f30.0.time 4 float OUT 0 turret-1325f30.0.timer 4 float OUT 0 turret-1325f30.0.timer-fix Pin Aliases: Alias Original Name Signals: Type Value Name (linked to) Parameters: Owner Type Dir Value Name 4 float RW 40 turret-1325f30.0.timeout 4 float RW 1 turret-1325f30.0.timeout-fix 4 s32 RW 0 turret-1325f30.0.tmax 4 bit RO FALSE turret-1325f30.0.tmax-increased Parameter Aliases: Alias Original Name Exported Functions: Owner CodeAddr Arg FP Users Name 00004 7fcb8140c279 7fcb803fb0d8 YES 0 turret-1325f30.0 Realtime Threads: Period FP Name ( Time, Max-Time )
Настройка
В custom.hal дописываем следующее:
# -------- TOOL CHANGER -------- # load component loadrt turret_1325f30 personality=12 addf turret-1325f30.0 servo-thread setp turret-1325f30.0.timeout 40 setp turret-1325f30.0.timeout-fix 1 net tool-change-request => turret-1325f30.0.change net tool-change-confirmed <= turret-1325f30.0.changed net tool-number => turret-1325f30.0.number net tc-err <= turret-1325f30.0.err net tc-reset => turret-1325f30.0.reset net tc-reset <= iocontrol.0.user-request-enable net tc-current <= turret-1325f30.0.current-position net tc-fwd <= turret-1325f30.0.fwd => hm2_7i92.0.7i77.0.0.output-13 net tc-rev <= turret-1325f30.0.rev => hm2_7i92.0.7i77.0.0.output-12 net tc-fix => turret-1325f30.0.fix <= hm2_7i92.0.7i77.0.0.input-28 net tc-01 => turret-1325f30.0.sens-01 <= hm2_7i92.0.7i77.0.0.input-16 net tc-02 => turret-1325f30.0.sens-02 <= hm2_7i92.0.7i77.0.0.input-17 net tc-03 => turret-1325f30.0.sens-03 <= hm2_7i92.0.7i77.0.0.input-18 net tc-04 => turret-1325f30.0.sens-04 <= hm2_7i92.0.7i77.0.0.input-19 net tc-05 => turret-1325f30.0.sens-05 <= hm2_7i92.0.7i77.0.0.input-20 net tc-06 => turret-1325f30.0.sens-06 <= hm2_7i92.0.7i77.0.0.input-21 net tc-07 => turret-1325f30.0.sens-07 <= hm2_7i92.0.7i77.0.0.input-22 net tc-08 => turret-1325f30.0.sens-08 <= hm2_7i92.0.7i77.0.0.input-23 net tc-09 => turret-1325f30.0.sens-09 <= hm2_7i92.0.7i77.0.0.input-24 net tc-10 => turret-1325f30.0.sens-10 <= hm2_7i92.0.7i77.0.0.input-25 net tc-11 => turret-1325f30.0.sens-11 <= hm2_7i92.0.7i77.0.0.input-26 net tc-12 => turret-1325f30.0.sens-12 <= hm2_7i92.0.7i77.0.0.input-27 # -------- TOOL CHANGER --------
!!! В строчках подключения датчиков tc-ХХ поменять пины на свои!!!
Логика работы и описание пинов и параметров
Разжим головки и поиск инструмента происходит прямым вращением. Зажим головки производится обратным вращением. Есть датчик зажима. На каждом инструменте есть отдельыный датчик.
Загрузка
При загрузке компонента указывается количество инструментов в револьверной головке в параметре personality:
loadrt turret_1325f30 personality=12
setp turret-1325f30.0.timeout 40 Таймаут на поиск инстумента в секундах если инструмент не найден за это время, пин turret-1325f30.0.err станет 1
setp turret-1325f30.0.timeout-fix 1 Таймаут на зажим инструмента
net tool-change-request => turret-1325f30.0.change Пин запроса на смену инструмента
net tool-change-confirmed <= turret-1325f30.0.changed Пин говорящий, что смена завершена
net tool-number => turret-1325f30.0.number Номер инструмента который нужно найти
net tc-err <= turret-1325f30.0.err Пин ошибки, если сменщик выдает ошибку - его нужно подключить к estop
net tc-reset => turret-1325f30.0.reset Пин сброса ошибки
net tc-reset <= iocontrol.0.user-request-enable Подключаем его к общем Reset
net tc-current <= turret-1325f30.0.current-position Текущее положение сменщика
net tc-fwd <= turret-1325f30.0.fwd => hm2_7i92.0.7i77.0.0.output-13 Пин прямого вращения
net tc-rev <= turret-1325f30.0.rev => hm2_7i92.0.7i77.0.0.output-12 Пин обратного вращения
net tc-fix => turret-1325f30.0.fix <= hm2_7i92.0.7i77.0.0.input-28 GПин датчика зажатия
net tc-01 => turret-1325f30.0.sens-01 <= hm2_7i92.0.7i77.0.0.input-16 Пины датчиков инструментов
...