Револьверная головка токарных станков: различия между версиями

Материал из cnc-club
Перейти к навигации Перейти к поиску
(Новая страница: «=Установка= Скачать файл В консоле выполняем sudo halcompile --install turret_1325f30.comp Если linuxcnc устан...»)
 
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
 
=Установка=
 
=Установка=
Скачать файл  
+
Скачать файл [[:File:Turret_1325f30.comp]]‎
 +
 
 
В консоле выполняем  
 
В консоле выполняем  
  
 
  sudo halcompile --install turret_1325f30.comp
 
  sudo halcompile --install turret_1325f30.comp
  
Если linuxcnc  установлен в режиме  run-in-place то тоже самое но без sudo
+
Если linuxcnc  установлен в режиме  run-in-place то тоже самое но без sudo.
 
 
  
 
=Проверка работы=
 
=Проверка работы=
Строка 20: Строка 20:
  
 
Должно показать примерно следующее
 
Должно показать примерно следующее
halcmd: show
 
Loaded HAL Components:
 
ID      Type  Name                                            PID  State
 
4  RT    turret_1325f30                                        ready
 
2  User  halcmd60255                                    60255 ready
 
  
Component Pins:
+
halcmd: show
Owner  Type  Dir        Value  Name
+
Loaded HAL Components:
4  bit  IN          FALSE  turret-1325f30.0.change
+
ID      Type  Name                                            PID  State
4  bit  OUT        FALSE  turret-1325f30.0.changed
+
4  RT    turret_1325f30                                        ready
4  s32  OUT            0  turret-1325f30.0.current-position
+
2  User  halcmd60255                                    60255 ready
4  bit  OUT        FALSE  turret-1325f30.0.err
+
4  bit  IN          FALSE  turret-1325f30.0.fix
+
Component Pins:
4  bit  OUT        FALSE  turret-1325f30.0.fwd
+
Owner  Type  Dir        Value  Name
4  s32  IN              0  turret-1325f30.0.number
+
4  bit  IN          FALSE  turret-1325f30.0.change
4  bit  IN          FALSE  turret-1325f30.0.reset
+
4  bit  OUT        FALSE  turret-1325f30.0.changed
4  bit  OUT        FALSE  turret-1325f30.0.rev
+
4  s32  OUT            0  turret-1325f30.0.current-position
4  bit  IN          FALSE  turret-1325f30.0.sens-00
+
4  bit  OUT        FALSE  turret-1325f30.0.err
4  s32  OUT            0  turret-1325f30.0.state
+
4  bit  IN          FALSE  turret-1325f30.0.fix
4  s32  OUT            0  turret-1325f30.0.time
+
4  bit  OUT        FALSE  turret-1325f30.0.fwd
4  float OUT            0  turret-1325f30.0.timer
+
4  s32  IN              0  turret-1325f30.0.number
4  float OUT            0  turret-1325f30.0.timer-fix
+
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
  
Pin Aliases:
+
'''net tc-current <= turret-1325f30.0.current-position ''' Текущее положение сменщика
Alias                                            Original Name
 
  
Signals:
+
'''net tc-fwd <= turret-1325f30.0.fwd => hm2_7i92.0.7i77.0.0.output-13 ''' Пин прямого вращения
Type          Value  Name    (linked to)
 
  
Parameters:
+
'''net tc-rev <= turret-1325f30.0.rev => hm2_7i92.0.7i77.0.0.output-12 ''' Пин обратного вращения
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:
+
'''net tc-fix => turret-1325f30.0.fix <= hm2_7i92.0.7i77.0.0.input-28 ''' GПин датчика зажатия
Alias                                            Original Name
 
  
Exported Functions:
+
'''net tc-01 => turret-1325f30.0.sens-01 <= hm2_7i92.0.7i77.0.0.input-16 ''' Пины датчиков инструментов
Owner  CodeAddr  Arg      FP  Users  Name
 
00004  7fcb8140c279  7fcb803fb0d8  YES      0  turret-1325f30.0
 
  
Realtime Threads:
+
...
Period  FP    Name              (    Time, Max-Time )
 

Текущая версия на 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 Пины датчиков инструментов

...