Manufacturing Data Systems, Inc.
 
Author Previous Topic Topic Next Topic  
vFoxDev
New


2 Posts
Posted -  5/6/2008  :  5:36:23 PM
I'm writing a part program that will index a subroutine.  I'm using a G92 to try and accomplish this.  The machine is a Punch Plasma with the Plasma using Fixture Offset E01 and the Punch E02.  I've discovered that I need to retrieve the values of the fixture offsets so that I can set the new home (G92) position without unwanted machine moves.  Below is my Part program, the highlighted area is where I'm needing to account for my fixture offset.  Which Fixture Offset is current and it value.

Thanks
Jon


 

(Indexing Program)
(Created By JonW)
VB #91=16.50      '(CLAMP ONE)
VB #92=16.50+6.75 '(CLAMP TWO)
G90 G70 G00 M85 G59

VB #10=0         '(0 FOR HOR 1 FOR VERTICAL)
VB #11=22.25     '(MATERIAL WIDTH)
VB #12=06.000    '(X INCREMENT)
VB #13=06.000    '(Y INCREMENT)
VB #14=06.040    '(SUB X END POSITION)
VB #15=00.000    '(SUB Y END POSITION)
VB #16=4.00      '(PARTS TO RUN)

VB #17=0         '(PARTS FINISHED)
VB #18=0         '(CURRENT PART)

E00
VB #100 = (-#11/2)-8 '(CENTER OF SHEET IN Y)
X0.0 Y#100
M87
(LOAD MATERIAL)

G00 X0.0 Y-#11
G92 X0.0 Y0.0
IFvb (#17>0 AND #10=0) SUBCALL HorizontalIndex
IFvb (#17>0 AND #10=1) SUBCALL VerticalIndex
SUBCALL Part_PRG (INITIAL PART)
(GOTO Main_Loop)

LABEL Main_Loop
VB #17=#17+1 '(ADD PART TO PARTS FINISHED)
IFvb (#10=0) SUBCALL HorizontalIndex
IFvb (#10=1) SUBCALL VerticalIndex
IFvb (#17>=#16) GOTO End_PRG
SUBCALL Part_PRG
GOTO Main_Loop

LABEL End_PRG
M85 G59
M30

SUBBEGIN Part_PRG
 E02 (Punch Zone)
 X1.0 Y1.0 M75 G09
 Y5.0 G09
 X5.0 G09
 Y1.0 G09
 M85
 (TORCH BURN)
 E01 (Torch Zone)
 X-0.0636 Y6.0636 M85 G09
 G41 D1
 M17 (Torch ignite)
 G01 X0.0 Y6.0 F150.00
 X6.0
 Y0.0
 M18
 G00 G40 X6.04 Y0.0
 M80
 M00
 G00
SUBEND

SUBBEGIN HorizontalIndex
G59
VB #200 = (((#17*#12)+(-#12+#14))*-1) '(X VALUE)
VB #201 = (#15)                       '(Y VALUE)
G92 X#200 Y#201
SUBEND


SUBBEGIN VerticalIndex
VB #200 = (#14)      '(X VALUE)
VB #201 = (#15-#13)  '(Y VALUE)
G92 X#200 Y#201
SUBEND




Author Replies  
kvblaircum
New


4 Posts
Posted - 5/6/2008 : 10:38:32 PM
You can get the current active fixture offset number by doing the following.

  vb #2 = mdsiMacroObj.Variable("jsFixtureNumber[0]")
 


 You can use the following to read and write offsets from a part program.

READ 

vb #3 = mdsiMacroObj.offset(2, 0, #2, True)

WRITE

vb mdsiMacroObj.offset(2, 0, #2, True) = #3 

 

The parameters for mdsiMacroObj.offset(2,0,1,False)
are:

1st parameter: Axis
  0 = X Mill or Lathe
  1 = Y on a Mill, Z on a Lathe
  2 = Z on a Mill, must be 2 for mill tool offsets

2nd parameter: Type of offset table
  0 = Fixture offset
  1 = Tool offset
  2 = Tool wear offset
  3 = Tool radius offset
  4 = Tool radius wear offset

3rd parameter: E or H register
  1 = E01 or H01
  2 = E02 or H02, etc.

4th parameter: Sequencer wait
  True:  Tells the Parser to wait until the Sequencer
         is empty before continuing.
  False: Don't wait.


  
Please let us know how this works for you.



Kelly Van Blaircum
Technical Services Manager

MDSI

Manufacturing Data Systems, Inc.
3885 Research Park Drive, Suite A
Ann Arbor, MI 48108-2217
www.mdsi2.com

Direct: 734-327-8214
Fax: 734-769-9112
Support: 888-OpenCNCGo to Top of Page
servers9
New


3 Posts
Posted - 7/20/2010 : 6:18:55 AM
 If You Attempt to Swing the Clubs

Besides this, golfers also have to choose from many [url=http://www.golfwholesaleseller.com/]golf clubs for sale[/url] and be attuned to the placement of their bodies when they attempt to swing the clubs. Ishiner Some of the more important factors for this you should remember is make sure you are bent at the hips with your derriere protruding.


I LIKE PLAY FOOTBALLGo to Top of Page



Set us as your default homepage Bookmark us Privacy   © 2008 Manufacturing Data Systems, Inc. All Rights Reserved. Go To Top Of Page