CNC

EMC2용 Auto Tool Zero 프로그래밍

오만팔천 2010. 10. 4. 11:49
EMC2에서는 G코드를 활용하여 여러 작업을 할 수 있습니다.

자동으로 툴의 끝부분을 영점을 잡을려면 CNC에 센서가 달려 있어야합니다.
센서가 없다면 http://tro.kr/20 자료를 참고하시기 바랍니다.
그리고 "EMC2 Stepconf Wizard"의 "Parallel Port Setup"부분의 "inputs"핀 설정부분에 "Probe In"을 설정 해야 됩니다.


위 그림은 필자 CNC의 프린트 포트 핀 설정부분이며 입력핀 부분에 "Probe In"인 12번 핀에 설정 되어 있습니다.
핀의 접접이 반대로 구성 되어 있다면 "Invert"부분에 체크하시면 됩니다. 자신의 CNC에 맞게 설정을 합니다.

아래는 EMC유저 메뉴얼에 있는 내용입니다.

 G코드  스위치 상태  Direction  Signal Error
 G38.2
 G38.3
 G38.4
 G38.5
 접촉 때
 접촉 때
 접촉이 해제 될 때 
 접촉이 해제 될 때 
 Toward workpiece
 Toward workpiece
 Away from workpiece
 Away from workpiece
 Yes
 No
 Yes
 No
위는 G38코드의 설명입니다.

시스템 변수
5061-5066  Result of ``G38.2'' Probe 
5161-5166  ``G28'' Home 
5181-5186  ``G30'' Home 
5211-5216  ``G92'' offset 
5220   Coordinate System Number 
5221-5226  Coordinate System 1 G54
5241-5246  Coordinate System 2 G55
5261-5266  Coordinate System 3 G56
5281-5286  Coordinate System 4 G57
5301-5306  Coordinate System 5 
5321-5326  Coordinate System 6 
5341-5346  Coordinate System 7 
5361-5366  Coordinate System 8 
5381-5386  Coordinate System 9 

5061에서 5069까지의 수는 각각 X, Y, Z, A, B, C, U, V, W 축을 의미합니다.


파일 이름이 "AutoToolZero.ngc"로 하여 작성 되었다면 EMC2에서 이 파일을 불러 와서 실행하면 자동으로 툴의 영점을 잡습니다. 위의 코드를 이용해서 툴의 영점을 잡는 G코드 프로그램을 작성해 보겠습니다. (G54 사용자 좌표를 설정합니다.)


아래는 자료로 올려진 AutoToolZero.ngc의 내용입니다.
(Auto Tool Zero G-Code)
#1001=5.35 (센서의 감지 점에서 바닥까지 거리 값, 사용자의 CNC에 맞게 바꿔야 됩니다.)
#1002=-33.5 (센서가 있는 X축의 기계 좌표 값, 사용자의 CNC에 맞게 바꿔야 됩니다.)
#1003=386.2 (센서가 있는 Y축의 기계 좌표 값, 사용자의 CNC에 맞게 바꿔야 됩니다.)
#1004=1500 (센서를 찾기 위한 이송속도 값)
#1005=10 (센서를 정확하게 찾기 위해 센서 이탈 이송 속도 값)
#1006=0 (기계 좌표의 Z축의 윗쪽 끝 좌표 값,  사용자의 CNC에 맞게 바꿔야 됩니다.)
#1007=-100 (기계 좌표의 Z축의 아래쪽 끝 좌표 값,  사용자의 CNC에 맞게 바꿔야 됩니다.)
G21 G90 G94 (수치값을 mm로 인식, 절대좌표, 분당 이송속도 사용으로 지정)
G0 G53 Z[#1006-5] (5mm 여유를 두고 Z축을 위쪽으로 올립니다.)
G0 G53 X[#1002] Y[#1003] (센서가 있는 위치로 이동합니다.)
G54 (G54 사용자 좌표를 선택합니다.)
F[#1004] (센서를 찾기 위한 이송속도를 지정합니다.)
#5223=0 (G54 사용자 좌표 값을 기계좌표와 같이 합니다.)
G55 (디스플레이에 현재 설정 값이 나타나도록 G55로 갔다가 G54로 복귀합니다.)
G4 P0.1
G54
G38.3 Z[#1007] F[#1004] (센서를 찾습니다.)
G38.5 Z[#1006] F[#1005] (천천히 센서에서 벗어 납니다.)
#5223=[#5063-#1001] (현재 좌표 값에 센서옵셋을 빼서 G54에 기록합니다.)
G55 (디스플레이에 현재 설정 값이 나타나도록 G55로 갔다가 G54로 복귀합니다.)
G4 P0.1
G54
G0 Z[#1006-#5223-5] (설정을 모두 마치고 Z축을 위로 올립니다.)
M30


EMC2를 실행하여 위의 AutoToolZero.ngc를 바로 실행 할 수 있게하면 편리하게 사용 할 수 있습니다.


EMC2를 실행하면 초기에 위와 같이 "axis.ngc"파일을 불러옵니다.

이 곳에 툴 영점을 잡는 프로그램을 넣어두면 "ALL HOME"후에 바로 실행을 할 수 있어 편리 할 것입니다.
초기에 불러오는 "axis.ngc"파일은 "/usr/share/axis/image/axis.ngc"에 있습니다.
관리자 권한이 아니면 수정 할 수 없기 때문에 "프로그램" - "보조 프로그램" - "터미널"을 차례로 클릭하여 터미널 창을 엽니다.
터미널 창에 sudo gedit /usr/share/axis/image/axis.ngc 를 입력합니다. 그리고 관리자 암호를 입력합니다.

이렇게 하면 "gedit"프로그램을 관리자 권한으로 실행하기 때문에 "axis.ngc"파일을 수정 할 수 있습니다.

"axis.ngc"파일의 내용을 모두 지우고 AutoToolZero.ngc 프로그램의 내용을 넣으면 됩니다.^^