Delta Tau GEO BRICK LV Manuel D’Utilisation

Page de 271
Geo Brick LV User Manual
 
PinOuts and Software Setup 
 77 
#define Ch4STRes P7006  
#define Ch4MTRes P7007 
#define Ch5STRes P7008  
#define Ch5MTRes P7009 
#define Ch6STRes P7010  
#define Ch6MTRes P7011 
#define Ch7STRes P7012  
#define Ch7MTRes P7013 
#define Ch8STRes P7014  
#define Ch8MTRes P7015 
 
Ch1STRes=12  Ch1MTRes=12 
; Ch1 Multi Turn and Single Turn Resolutions --User Input 
Ch2STRes=12  Ch2MTRes=12 
; Ch2 Multi Turn and Single Turn Resolutions --User Input 
Ch3STRes=12  Ch3MTRes=12 
; Ch3 Multi Turn and Single Turn Resolutions --User Input 
Ch4STRes=12  Ch4MTRes=12 
; Ch4 Multi Turn and Single Turn Resolutions --User Input 
Ch5STRes=16  Ch5MTRes=12 
; Ch5 Multi Turn and Single Turn Resolutions --User Input 
Ch6STRes=16  Ch6MTRes=12 
; Ch6 Multi Turn and Single Turn Resolutions --User Input 
Ch7STRes=16  Ch7MTRes=12 
; Ch7 Multi Turn and Single Turn Resolutions --User Input 
Ch8STRes=16  Ch8MTRes=12 
; Ch8 Multi Turn and Single Turn Resolutions --User Input 
 
#define ChAbsSel 
P7016  ; Select Channels using absolute read (in Hexadecimal) 
ChAbsSel=$FF 
 
 
; Channels selected for absolute position read –User Input 
 
//=============================== DEFINITIONS & SUBSTITUTIONS =============================// 
#define SerialRegA 
M6000  ; HiperFace Serial Data Register A 
#define SerialRegB 
M6001  ; HiperFace Serial Data Register B 
#define Two2STDec 
M6002  ; 2^STRes in decimal, for shifting operations 
 
 
#define Two2STHex 
M6003  ; 2^STRes in Hexadecimal, for bitwise operations 
#define Two2MTDec 
M6004  ; 2^MTRes in decimal, for shifting operations 
 
 
 
#define Two2MTHex 
M6005  ; 2^MTRes in Hexadecimal, for bitwise operations 
#define MTTemp1 
M6006  ; Multi Turn Data temporary holding register 1 
#define MTTemp2 
M6007  ; Multi Turn Data temporary holding register 2 
#define STTemp1 
M6008  ; Single Turn Data temporary holding register 1 
#define STTemp2 
M6009  ; Single Turn Data temporary holding register 2 
#define ChNoHex 
M6010  ; Channel Number in Hex 
#define ChAbsCalc 
M6011  ; Abs. calc. flag (=1 true do read, =0 false do not do read)  
#define LowerSTBits 
P7017  ; Lower Single Turn Bits, RegA 
#define UpperSTBits 
P7018  ; Upper Single Turn Bits, RegB (where applicable) 
#define LowerMTBits 
P7019  ; Lower Multi Turn Bits, RegA (where applicable) 
#define UpperMTBits 
P7020  ; Upper Multi Turn Bits, RegB (where applicable) 
#define STData  
P7021  ; Single Turn Data Word 
#define MTData  
P7022  ; Multi Turn Data Word 
#define NegTh   
P7023  ; Negative Threshold 
#define Temp1   
P7024  ; General Temporary holding register 1 
#define Temp2   
P7025  ; General Temporary holding register 2 
#define SerialBase 
P7026  ; Indirect addressing index for serial registers, 6020 
#define ChBase  
P7027  ; Indirect addressing index for channel No, 162 
#define ChNo 
 
P7028  ; Current Channel Number 
#define ResBase 
P7029  ; Indirect Addressing index for resolution input, 6000 
#define STRes   
P7030  ; Single Turn Resolution of currently addressed channel 
#define MTRes   
P7031  ; Multi Turn Resoltuion of currently addressed channel 
#define PsfBase 
P7032  ; Indirect addressing for position scale factor Ixx08, 108 
// HiperFace Serial Data Registers A and B 
M6020->Y:$78B20,0,24,U  
M6021->Y:$78B21,0,24,U  
; Channel 1 
M6022->Y:$78B24,0,24,U  
M6023->Y:$78B25,0,24,U  
; Channel 2 
M6024->Y:$78B28,0,24,U  
M6025->Y:$78B29,0,24,U  
; Channel 3 
M6026->Y:$78B2C,0,24,U  
M6027->Y:$78B2D,0,24,U  
; Channel 4 
M6028->Y:$78B30,0,24,U  
M6029->Y:$78B31,0,24,U  
; Channel 5 
M6030->Y:$78B34,0,24,U  
M6031->Y:$78B35,0,24,U  
; Channel 6 
M6032->Y:$78B38,0,24,U  
M6033->Y:$78B39,0,24,U  
; Channel 7 
M6034->Y:$78B3C,0,24,U  
M6035->Y:$78B3D,0,24,U  
; Channel 8  
 
//===================================== PLC SCRIPT ========================================// 
Open PLC 1 Clear 
ChNo=0 
While(ChNo!>7) ; Loop for 8 Channels 
 ChNo=ChNo+1 
 ChNoHex=exp((ChNo-1)*ln(2)) 
 ChAbsCalc=(ChAbsSel&ChNoHex)/ChNoHex  
 If (ChAbsCalc!=0) 
; Absolute read on this channel? 
  SerialBase=6020+(ChNo-1)*2  
  SerialRegA=M(SerialBase) 
  SerialRegB=M(SerialBase+1)  
  ResBase=7000+(ChNo-1)*2  
  STRes=P(ResBase) 
  MTRes=P(ResBase+1)