I'm working on a duel head drill machine running camsoft pro that needs logic code to set tool length. Axis Z and A are drills in a keyless chuck. Axis X and Y move the heads(Z and A) left and right. Rotary table is axis B.
Currently have code to adjust X and Y axis to make sure drills are on center of step that holes are to be drilled.
[[ADJUSTPOSITION]]
'adjust position with handwheel procedure
DECELSTOP
RAPID \306;\307;\314;\314;0
WAITUNTIL STOP
'get current position for x and y from machine home
MACHHOMEX \308
MACHHOMEY \309
'prompt for hole adjustment in x & y
:PROMPTX
QUESTION ADJUST X & OR Y POSITION Y,N;\55;Y
LENSTR \55;\99:IF\99=0THEN GOTO :SKIP
IF\55="N" THEN GOTO :SKIP
IF\55="n" THEN GOTO :SKIP
QUESTION TURN ON HANDHWEEL AND ADJUST POSITION. CLICK OK WHEN DONE;\55;Y
LENSTR \55;\99:IF\99=0THEN GOTO:SKIP
'get new position after adjustment in x and y
MACHHOMEX \310
MACHHOMEY \311
'calculate distance
\312={\310-\308}
\313={\311-\309}
EXIT
:SKIP
'done
\327=1
\312=0
\313=0
[[SETXYOFFSET]]
'set offset if any from distance
TOOLOFFSETX \312
TOOLOFFSETY \313
I need to add adjustment for Z and A axis. It should save current position, calu change after handwheeling, then save to offsets(seperate macro).
Such as [[SETZAOFFSET]].
I've done plenty programing but this is my first with cam soft.
Me thinks this should do the math part. But lost on how to set offset.
Thanks Drew
[[ADJUSTPOSITION]]
'adjust position with handwheel procedure
DECELSTOP
RAPID \306;\307;\314;\314;0
WAITUNTIL STOP
'get current position for x and y from machine home
MACHHOMEX \308
MACHHOMEY \309
MACHHOMEZ \408
MACHHOMEA \409
'prompt for hole adjustment in x,y,z,a
:PROMPTX
QUESTION ADJUST X,Y,Z,A POSITION Y,N;\55;Y
LENSTR \55;\99:IF\99=0THEN GOTO :SKIP
IF\55="N" THEN GOTO :SKIP
IF\55="n" THEN GOTO :SKIP
QUESTION TURN ON HANDHWEEL AND ADJUST POSITION. CLICK OK WHEN DONE;\55;Y
LENSTR \55;\99:IF\99=0THEN GOTO:SKIP
'get new position after adjustment in x,y,z,a
MACHHOMEX \310
MACHHOMEY \311
MACHHOMEZ \410
MACHHOMEA \411
'calculate distance
\312={\310-\308}
\313={\311-\309}
\412={\410-\408}
\413={\411-\409}
EXIT
:SKIP
'done
\327=1
\312=0
\313=0
\412=0
\413=0