메뉴 건너뛰기

XEDITION

Lab_Board

PMAC Turbo PMAC Coordinate System

나융 2018.11.07 14:14 조회 수 : 1

Reference Link : https://en.wikipedia.org/wiki/Rotation_of_axes#CITEREFProtterMorrey1970

Rotation of axes - Wikipedia

320px-Rotation_of_coordinates.svg.png

cartesian_coordinate_rotation_equation.PNG

 

 

Reference Link : http://www.deltatau.co.kr/xe/11649

 

deltatau 2011.11.22 11:20  

안녕하세요, 문의 감사드립니다. 

 

질문하신 내용의 좌표계의 축정의 변환에 관련해서는 여러가지 방법이 있을 수 있습니다.

첫 번째로는, 말씀하신 것처럼 좌표계의 정의 자체를 변경하는 방법이 있습니다.

예를 들면, 아래와 같이 처리할 수 있습니다.

 

&1

#1->1000X + 10000

#2->1000Y + 20000 

 

과 같이 정의되어 있으면, 이 값들은 자동으로 M변수에 그 값이 저장되게 됩니다.

(Suggested M변수를 반드시 사용해야 함.)

이 M변수들은 다음과 같이 정의 됩니다. 

 

Mxx91  ==> #xx X/U/A/B/C-Axis scale factor (cts/unit)    -> #xx, 첫번째 x = Coordinate number, 두번째 x = Axis number

Mxx92  ==> #xx Y/V-Axis scale factor (cts/unit)

Mxx93  ==> #xx Z/W-Axis scale factor (cts/unit)

Mxx94  ==> #xx Axis offset (cts) 

 

따라서, 위에 정의한 값들도 해당 M변수에 저장이 됩니다. 

 

M191 = 1000

M194 = 10000

M292 = 1000

M294 = 20000

 

이제 좌표계 자동 전환에 대해서 말씀을 드리면,

여기서 해당 M변수 값을 바꾸게 되면, 좌표계는 변환이 되는 것입니다.

다만, 모션 프로그램 수행 도중에 변경하게 될 때에는 주의 사항이 있습니다. 

 

먼저, 변경 전에는 반드시 "DWELL" 명령을 써서 선행 연산이 진행되지 않도록 해야 합니다.

또한 변경 후에는 반드시 "PMATCH"명령을 수행해서 프로그램 좌표계산을 다시 수행하도록 해야 합니다.

아래와 같이 프로그램에 적용하시면 됩니다. 

 

DWELL 10

M191 = 1000                  ; #1->1000X + 10000

M194 = 10000

M292 = 1000                 ; #2->1000X + 20000

M294 = 20000

CMD"&1 PMATCH"

DWELL 10

위로