Револьверная головка токарных станков

Материал из cnc-club
Перейти к навигации Перейти к поиску

Установка

Скачать файл 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 Пины датчиков инструментов

...