Skip to main content

4.2. 툴 데이터의 좌표계 방향을 센서에 등록

4.2. 툴 데이터의 좌표계 방향을 센서에 등록

 

먼저 정상적인 툴 데이터의 툴 좌표계를 센서를 이용하여 등록합니다.

 

'-- Vector-run extern without signal reflection

     '-----------------------------------------------

     '-----------------------------------------------

     '-- Initial parameter setting

     CALL 1020_INIT_SET

    

     '-- Calculate Circle Pose

     CALL 1021_CALC_C1

    

     '-- Activate configuration mode -

     gyConfigMode=1

     WAIT gxConfModeAct

    

     '-- Activate Vector run extern --

     gyVectRunExt=1

     WAIT gxVecRunExAct

    

     '-- Set Program Number 1 --

     gyPrgNrBit1=1

     gyPrgNrBit2=0

     gyPrgNrBit3=0

     gyPrgNrBit4=0

     gyPrgNrBit5=0

    

     '-- Set to Program No. set --

     gyPgNrSRIdxSe=1

    

     '-- Wait for confirmation of program number --

     WAIT gxPgNrSRIdxRd OR gxError

    

     '-- Vector-run only if input gxPgNrSRIdxRd is set --

     IF gxPgNrSRIdxRd=1 THEN

    

     '-- Reset Program Number 1 --

     gyPrgNrBit1=0

     gyPrgNrBit2=0

     gyPrgNrBit3=0

     gyPrgNrBit4=0

     gyPrgNrBit5=0

    

     gyPgNrSRIdxSe=0

    

     '-- Wait until ready --

     WAIT gxReadyForMes

    

     '-- Reset tool data --

     Tool[giToolNrCorr]=Tool[giToolNrOrig]

    

     '-- Double-circle 1 with Tool_corrected --    

S1   MOVE L,gpCirPose1,S=50%,A=0,T=giToolNrCorr              '-- Move to starting point

S2   MOVE C,gpCirPose2,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 1st quarter circle movement

S3   MOVE C,gpCirPose3,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 2nd quarter circle movement

S4   MOVE C,gpCirPose4,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 3rd quarter circle movement

S5   MOVE C,gpCirPose1,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 4th quarter circle movement

S6   MOVE C,gpCirPose2,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 1st quarter circle movement

S7   MOVE C,gpCirPose3,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 2nd quarter circle movement

S8   MOVE C,gpCirPose4,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 3rd quarter circle movement

S9   MOVE C,gpCirPose1,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 4th quarter circle movement

    

     '-- Execute "Get measured values and Correction"

     CALL 1000_GetMesVal

    

     '-- Double-circle 2 with tool_corrected    

S10  MOVE L,gpCirPose1,S=50%,A=0,T=giToolNrCorr               '-- Move to starting point     

S11  MOVE C,gpCirPose2,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 1st quarter circle movement

S12  MOVE C,gpCirPose3,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 2nd quarter circle movement

S13  MOVE C,gpCirPose4,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 3rd quarter circle movement

S14  MOVE C,gpCirPose1,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 4th quarter circle movement

S15  MOVE C,gpCirPose2,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 1st quarter circle movement

S16  MOVE C,gpCirPose3,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 2nd quarter circle movement

S17  MOVE C,gpCirPose4,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 3rd quarter circle movement

S18  MOVE C,gpCirPose1,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 4th quarter circle movement

    

     '-- Execute "Get measured values and Correction"

     CALL 1000_GetMesVal

    

     '-- Double-circle 3 with tool_corrected --    

S19  MOVE L,gpCirPose1,S=50%,A=0,T=giToolNrCorr               '-- Move to starting point     

S20  MOVE C,gpCirPose2,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 1st quarter circle movement

S21  MOVE C,gpCirPose3,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 2nd quarter circle movement

S22  MOVE C,gpCirPose4,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 3rd quarter circle movement

S23  MOVE C,gpCirPose1,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 4th quarter circle movement

S24  MOVE C,gpCirPose2,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 1st quarter circle movement

S25  MOVE C,gpCirPose3,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 2nd quarter circle movement

S26  MOVE C,gpCirPose4,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 3rd quarter circle movement

S27  MOVE C,gpCirPose1,S=gdMoveSpeed mm/s,A=3,T=giToolNrCorr  '-- 4th quarter circle movement

    

     '-- Execute "Get measured values and Correction"

     CALL 1000_GetMesVal

    

     '-- Acknowledge error during measurement --

     '-- Identify and rectify error cause --

     IF gxError=1 THEN

     '-- Reset tool data --

     Tool[giToolNrCorr]=Tool[giToolNrOrig]

     gyReset=1

     WAIT gxError=0

     gyReset=0

     ENDIF

    

     ELSE '-- Error when setting program number --    

     '-- Reset Program Number 1 --

     gyPrgNrBit1=0

     gyPrgNrBit2=0

     gyPrgNrBit3=0

     gyPrgNrBit4=0

     gyPrgNrBit5=0

    

     gyInitTMeAct=0    

     ENDIF

    

     '--Turn off Vector-run extern --

     gyVectRunExt=0

     WAIT gxVecRunExAct=0

    

     '-- Turn off configuration mode

     gyConfigMode=0

     WAIT gxConfModeAct=0

     END