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

Материал из cnc-club
Перейти к навигации Перейти к поиску
Строка 124: Строка 124:
  
  
*setp turret-1325f30.0.timeout 40* Таймаут на поиск инстумента  в секундах если инструмент не найден за это время, пин turret-1325f30.0.err станет 1
+
***setp turret-1325f30.0.timeout 40*** Таймаут на поиск инстумента  в секундах если инструмент не найден за это время, пин turret-1325f30.0.err станет 1
*setp turret-1325f30.0.timeout-fix 1* Таймаут на зажим инструмента
+
***setp turret-1325f30.0.timeout-fix 1*** Таймаут на зажим инструмента
  
  
*net tool-change-request => turret-1325f30.0.change* Пин запроса на смену инструмента
+
***net tool-change-request => turret-1325f30.0.change*** Пин запроса на смену инструмента
*net tool-change-confirmed <= turret-1325f30.0.changed* Пин говорящий, что смена завершена
+
***net tool-change-confirmed <= turret-1325f30.0.changed*** Пин говорящий, что смена завершена
*net tool-number => turret-1325f30.0.number* Номер инструмента который нужно найти
+
***net tool-number => turret-1325f30.0.number*** Номер инструмента который нужно найти
 
   
 
   
*net tc-err <= turret-1325f30.0.err* Пин ошибки, если сменщик выдает ошибку - его нужно подключить к estop
+
***net tc-err <= turret-1325f30.0.err*** Пин ошибки, если сменщик выдает ошибку - его нужно подключить к estop
*net tc-reset => turret-1325f30.0.reset* Пин сброса ошибки  
+
***net tc-reset => turret-1325f30.0.reset*** Пин сброса ошибки  
*net tc-reset <= iocontrol.0.user-request-enable* Подключаем его к общем Reset
+
***net tc-reset <= iocontrol.0.user-request-enable*** Подключаем его к общем Reset
 
   
 
   
*net tc-current <= turret-1325f30.0.current-position* Текущее положение сменщика
+
***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-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-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-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* Пины датчиков инструментов
+
***net tc-01 => turret-1325f30.0.sens-01 <= hm2_7i92.0.7i77.0.0.input-16*** Пины датчиков инструментов
 
...
 
...

Версия 18:37, 27 августа 2021

Установка

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

...