Delta Tau GEO BRICK LV Manuel D’Utilisation

Page de 271
Geo Brick LV User Manual
 
PinOuts and Software Setup 
 135 
Homing with Yaskawa Incremental Encoders 
Hardware  capture  is  not  available  with  serial  data  encoders,  software  capture  (Ixx97=1)  is  required. 
Setting  Ixx97  to  1  tells  Turbo  PMAC  to  use  the  register  whose  address  is  specified  by  Ixx03  for  the 
trigger position. The  disadvantage is that the software capture can  have up to 1 background  cycle  delay 
(typically  2-3  msec),  which  limits  the  accuracy  of  the  capture.  To  alleviate  homing  inaccuracies  with 
serial encoders, it is recommended to perform home search moves at low speeds.  
 
Homing to a flag (i.e. Home, Overtravel Limit, and User) is done using the traditional capture parameters 
I7mn2, and I7mn3. Remember to (temporarily) disable the end of travel limit use (bit#17 of Ixx24) when 
homing to one of the hardware limit flags, and re-enabling it when homing is finished. Example:  
Homing channel 1 to the negative limit (high true) 
I124=I124|$20001 
; Flag Mode, Disable hardware over travel limits 
I197=1   
 
; channel 1 position capture, software 
I7012=2  
 
; Channel 1 capture control, capture on flag high 
I7012=2  
 
; Channel 1 capture flag select, minus or negative end limit 
 
Homing  to  the  index  pulse,  normally  performed  after  referencing  to  a  hardware  flag,  is  an  internal 
function of the Yaskawa encoder. Bit 14 of the alarm code indicates whether the index has been detected 
since  last  power-up.  The  motor  should  be  jogged  until  bit  14  is  low,  the  encoder  will  then  place  the 
“incremental  compensation”  value  in  the  lower  11  bits  of  the  second  data  word.  Subtracting  the 
“incremental  compensation”  from  the  “incremental  position”  results  into  the  true  position  of  the  index. 
Motor 1 index detection example plc: 
#define FirstWord          M7025 
#define SecondWord         M7026 
#define OriginNotPassed    M7027  
 
FirstWord->Y:$78B20,0,24 
SecondWord->Y:$78B21,0,24 
OriginNotPassed->Y:$78B22,14 
 
#define Mtr1ActPos      M162  ; Suggested M-Variable Definition, Motor 1 Actual Position 
Mtr1ActPos->D:$00008B   
; #1 Actual position (1/[Ixx08*32] cts) 
 
open plc 1 clear 
if (OriginNotPassed = 1) 
   cmd "#1j+"   
 
; Jog in positive direction looking for index  
   while (OriginNotPassed = 1); wait until index is detected 
   endwhile 
   cmd "#1k" 
 
 
; Kill Motor 
endif 
while (SecondWord & $8FF = 0) ; Incremental Compensation takes up to 2 msec to execute 
endwhile 
Mtr1ActPos = int (((FirstWord & $8FFFC0) / $40)-((SecondWord & $8FF) * $40))* I108 * 32 
disable plc 1 
close