모션 조정 변환(Motion Coordinated Transform, MCT)
이 정보는
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, Compact GuardLogix
5380, CompactLogix
5380, ControlLogix
5580, GuardLogix
5580 및 ControlLogix 5590 컨트롤러에 적용됩니다.모션 조정 변환(MCT) 명령어를 사용하여 두 좌표 시스템을 함께 연결하는 변환을 시작합니다. 양방향 기어링과 비슷하며 변환을 사용하는 한 가지 방법은 비데카르트 좌표 로봇을 데카르트 좌표 위치에 대해 이동하는 방법입니다.
중요:
명령어의 모션 제어 속성에 사용하는 태그는 한 번만 사용해야 합니다. 다른 명령어에서 모션 제어 태그를 다시 사용할 경우 오작동이 발생할 수 있습니다. 장비 손상 또는 부상으로 이어질 수도 있습니다.
아키텍처 | 표준 | 안전 |
|---|---|---|
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 및 GuardLogix 5570 컨트롤러 | 예 | 아니요 |
Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 및 ControlLogix 5590 컨트롤러 | 예 | 아니요 |
사용 가능한 언어
래더 다이어그램

펑션 블록
이 명령어는 함수 블록에서 사용할 수 없습니다.
구조화된 텍스트
MCT(Source System, Target System, Motion Control, Orientation, Translation);
피연산자
래더 다이어그램과 스트럭쳐드 텍스트
피연산자 | 유형 | 형식 | 설명 | |
|---|---|---|---|---|
Source System | COORDINATE_SYSTEM | 태그 | 이동을 프로그래밍할 때 사용하는 좌표 시스템입니다. 일반적으로 데카르트 좌표계입니다. 이동을 프로그래밍할 때 사용하는 좌표계에 대한 참조. 일반적으로 데카르트 좌표계입니다. REF_TO 모션 데이터 유형을 지원하는 컨트롤러의 경우 좌표계 피연산자 유형을 REF_TO_COORDINATE_SYSTEM 유형으로 바꿀 수 있습니다. | |
Target System | COORDINATE_SYSTEM | 태그 | 실제 장비를 제어하는 데카르트 좌표가 아닌 좌표 시스템. 이동을 프로그래밍할 때 사용하는 좌표계에 대한 참조. 일반적으로 데카르트 좌표계입니다. REF_TO 모션 데이터 유형을 지원하는 컨트롤러의 경우 좌표계 피연산자 유형을 REF_TO_COORDINATE_SYSTEM 유형으로 바꿀 수 있습니다. | |
Motion Control | MOTION_INSTRUCTION | 태그 | 명령어의 제어 태그. | |
Orientation | REAL[3] (단위 = 좌표 단위) | Array | X1, X2 또는 X3 축을 기준으로 목표 위치를 회전하시겠습니까? | |
If | 그러면 | |||
No | 배열 값은 0으로 둡니다. | |||
Yes | 배열에 회전 각도를 입력합니다. 배열의 첫 번째 요소에 X1 기준 회전 각도를 놓은 다음 나머지 요소를 추가합니다. | |||
Use an array of three REALs even if a coordinate system has only one or two axes. | ||||
Translation | REAL[3] (단위 = 좌표 단위) | Array | X1, X2 또는 X3 축을 따라 대상 위치를 오프셋하시겠습니까? | |
If | 그러면 | |||
No | 배열 값은 0으로 둡니다. | |||
Yes | 배열에 오프셋 거리를 입력합니다. 오프셋 거리는 좌표 단위로 입력합니다. 배열의 첫 번째 요소에 X1에 대한 오프셋 거리를 놓은 다음 나머지 요소를 추가합니다. | |||
Use an array of three REALs even if a coordinate system has only one or two axes. | ||||
스트럭처드 텍스트 내 식의 구문에 대한 자세한 내용은 구조화된 텍스트 구문 항목을 참조하십시오.
MOTION_INSTRUCTION 데이터 유형
확인 사항 | 다음 비트가 켜져 있는지 확인 | 데이터 유형 | 참고 |
|---|---|---|---|
렁이 참인지 여부 | EN | BOOL | 렁이 거짓인 경우에도 EN 비트가 계속 켜져 있는 경우가 있습니다. 명령어가 완료되거나 에러가 발생하기 전에 렁이 거짓이 되면 이러한 경우가 발생합니다. ![]() |
명령어가 완료되었는지 여부 | DN | BOOL | 명령어가 완료된 후 변환이 계속 실행 중입니다. |
에러가 발생했는지 여부 | ER | BOOL | 모션 제어 태그의 에러 코드 필드에 나열된 에러 번호를 식별합니다. 모션 에러 러코드를 참조하십시오. |
변환 프로세스가 실행 중입니다. | IP | BOOL | 아래 조치를 취하면 변환이 취소되고 IP 비트가 해제됩니다. 해당 정지 명령어 종료 명령어 폴트 동작 |

변환으로 로봇의 관절을 최대 3개까지 제어합니다. J1, J2 및 J3.
MCT 명령어의 두 좌표 시스템 간 데이터 흐름
다음 그림은 MCT 명령어가 활성일 때 데이터 흐름을 보여줍니다. CS1은 X1, X2 및 X3 축이 MCT 명령어의 소스로 포함된 데카르트 좌표계니다. CS2는 J1, J2 및 J3 축이 MCT 명령어의 대상으로 포함된 관절 좌표 시스템입니다.
모든 축 단위는 좌표 단위입니다.
MCTP 명령어는 다음 가이드라인에 따라 사용하십시오.
MCT 명령어로 이동이 실행된 경우 데이터 흐름 - 정방향 변환

MCT 명령어로 이동이 실행된 경우 데이터 흐름 - 역방향 변환
프로그래밍 가이드라인
다음 가이드라인에 따라 MCT 명령어를 사용하십시오.
중요:
로봇이 완전히 확장되거나 자체에서 접도록 두지 마십시오. 그렇지 않으면 매우 높은 속도로 이동을 시작할 수 있습니다. 그러한 위치에서는 로봇의 왼쪽 또는 오른쪽 암으로 구성이 상실됩니다. 해당 상황이 발생하면 매우 높은 속도로 이동을 시작할 수 있습니다.
로봇의 작동 제한을 설정하고 제한 내에서 유지합니다.

로봇의 데카르트 좌표 위치에 해당하는 축 좌표 시스템을 설정합니다.
이러한 축은 보통 가상입니다.

중요:
계산 정밀도에서 잘림 에러를 발견할 수 있습니다. 아래 두 조건이 모두 참일 경우 에러가 발생합니다.
- 변환의 가상 데카르트 좌표 축의 변환 상수가 8000 카운트/위치 단위 정도로 작습니다.
- 비데카르트 좌표계의 링크 길이가 0.5 인치 정도로 작습니다.
변환의 가상 데카트르 좌표 축에 100,000 또는 1,000,000 카운트/위치 단위 정도의 큰 변환 상수를 적용하는 것이 가장 좋습니다. 로봇의 최대 트래블 제한:

로봇의 실제 관절에 대한 다른 좌표 시스템을 설정합니다.

로봇을 왼쪽 또는 오른쪽 암 시작 위치로 이동합니다.
로봇이 왼쪽 암 또는 오른쪽 암처럼 이동하도록 하시겠습니까?

변환을 시작하기 전 왼쪽 또는 오른쪽 암 중 필요한 대기 위치로 로봇을 이동합니다.
변환을 시작하고 소스 좌표 시스템에서 데카르트 좌표 이동을 시작한 후 로봇은 계속 왼쪽 암이나 오른쪽 암으로 유지됩니다. 왼쪽 암으로 시작하면 왼쪽 암으로 이동하고 오른쪽 암으로 시작하면 오른쪽 암으로 이동합니다. 왼쪽 암에서 오른쪽 암으로 뒤집을 수 있으며 그 반대의 경우도 가능합니다. 뒤집으려면 관절을 직접 이동합니다.
이 명령어를 실행하려면 렁을 거짓에서 참으로 전환합니다.
이는 전환 명령어입니다. 래더 다이어그램에서 이 명령어를 실행하려고 할 때마다 렁-입력-조건을 거짓에서 참으로 전환합니다.
명령어를 실행하면 변환이 시작되고 IP 비트가 설정됩니다.

명령어를 실행한 후 렁은 거짓으로 전환할 수 있습니다. 변환은 계속 활성 상태입니다.
스트럭쳐드 텍스트에서 명령어가 전환 시에만 실행하도록 조건을 설정합니다.
모션을 시작하기 전에 변환을 시작하십시오.
구조화된 텍스트에서 명령어는 스캔될 때마다 실행됩니다. 전환 시에만 실행되도록 명령어의 조건을 지정합니다. 다음 방법 중 하나를 사용하십시오.
- SFC 동작의 수식자
- 스트럭쳐드 텍스트 구성
모션 프로세스가 소스 또는 대상 좌표 시스템의 축을 제어 중인 경우 변환을 시작할 수 없습니다.
예: 기어링 또는 캠 작업을 시작하기 전에 변환을 시작합니다.
소스 및 목표 좌표 시스템 간 양방향 모션을 예상합니다.
MCS 명령어를 사용해 변환을 취소합니다.
변환은 양방향입니다.

변환을 시작하면 소스 좌표 시스템 위치가 해당 대상 좌표 시스템의 위치와 일치하도록 변경됩니다. 그 후에 어느쪽 좌표 시스템을 이동하더라도 다른 좌표 시스템이 대응하여 이동합니다.
MCT 명령어 스캔을 중지하거나 렁 상태가 거짓으로 전환되더라도 컨트롤러는 계속 축을 제어합니다. 모션 조정 정지(Motion Coordinated Stop, MCS) 명령어를 사용하여 좌표 시스템의 모션을 중지하거나 변환을 취소하거나 두 가지를 모두 실행합니다.
방향 또는 변환을 변경하는 경우 MCT 명령어를 다시 실행합니다.

그런 다음 명령어를 다시 실행합니다. 명령어를 실행하려면 렁-입력-조건을 거짓에서 참으로 토글 전환합니다.
장비의 기하 구조를 변경하는 경우 명령어를 다시 실행합니다.
MCTP 명령어의 방향 피연산자에서 방향 각도를 2개 이상 지정하고 실행합니다.

X, Y, Z 축 기준의 회전을 다음 순서로 입력합니다.
첫 번째 MCTP 방향 피연산자 배열의 첫 번째 요소를 X 회전 지정에 사용합니다.
두 번째 MCTP 방향 피연산자 배열의 두 번째 요소를 Y 회전 지정에 사용합니다.
세 번째 MCTP 방향 피연산자 배열의 세 번째 요소를 Z 회전 지정에 사용합니다.
예
다음 표에 회전 전 및 회전 후 순서가 표시됩니다. n-차원의 회전 순서는 가환성이 없습니다.
회전: V20 이상 매트릭스 곱하기 순서: (Z*(YX) X축, 그 다음 Y축, 그 다음 Z축 기준 회전: | |
|---|---|
회전 데카르트 좌표 => 데카르트 좌표 | Logix Designer V20 이상 |
MCT 방향[x,y,z] | MCT 시작 위치 결과 지향 위치 |
1차원 회전 | |
시작 위치 = [1, 2, 3] | |
MCT 방향=[90, 0, 0] | 회전: X축 기준 90(시계 방향). = [1, 3, -2] |
MCT 방향=[0, 90, 0] | 회전: Y축 기준 90(시계 방향). = [-3, 2, 1] |
MCT 방향=[0, 0, 90] | 회전: Z축 기준 90(시계 방향). = [2, -1, 3] |
2차원 회전 | |
시작 위치 = [1, 2, 3] | |
MCT 방향=[90, 90, 0] | 회전: X축 기준 90(시계 방향) 그 다음 Y축 기준 90(시계 방향). = [-3, 1, -2] |
MCT 방향=[90, 0, 90] | 회전: X축 기준 90(시계 방향) 그 다음 Z축 기준 90(시계 방향). = [2, 3, 1] |
MCT 방향=[0, 90, 90] | 회전: Y축 기준 90(시계 방향) 그 다음 Z축 기준 90(시계 방향). = [-3, -1, 2] |
3차원 회전 | |
시작 위치 = [1, 2, 3] | |
MCT 방향=[90, 90, 90] | 회전: X축 기준 90(시계 방향) 그 다음 Y축 기준 90(시계 방향) 그 다음 Z축 기준 90(시계 방향). = [-3, 2, 1] |
MCT 방향=[-90, -90, -90] | 회전: X축 기준 90(시계 반대 방향) 그 다음 Y축 기준 90(시계 반대 방향) 그 다음 Z축 기준 90(시계 반대 방향). = [3, -2, 1] |
MCT 명령어 가이드라인
연산 상태 플래그에 영향
아니요
주 폴트/부 폴트
이 명령어에만 해당되는 것은 없습니다. 초기화되지 않은 참조 또는 잘못된 유형의 참조가 좌표계 피연산자로 전달되면 주 폴트가 발생할 수 있습니다. 피연산자 관련 폴트에 대해서는 공통 속성 항목을 참조하십시오.
실행
래더 다이어그램
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | .EN, .DN, .ER 및 .IP 비트는 거짓으로 해제됩니다. |
렁-입력-조건이 거짓임 | .DN 또는 .ER 비트가 참인 경우 .EN 비트는 거짓으로 해제됩니다. |
렁-입력-조건이 참임 | .EN 비트가 참으로 설정되고 명령어가 실행됩니다. |
사후 스캔 | N/A |
구조화된 텍스트
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | 래더 다이어그램 표의 사전 스캔을 참조하십시오. |
정상 실행 | 래더 다이어그램 표에서 렁-입력-조건이 거짓임을 참조하고 이어서 렁이 참임을 참조하십시오. |
사후 스캔 | 래더 다이어그램 표에서 사후 스캔 섹션을 참조하십시오. |
에러 코드
모션 명령어는 모션 에러 코드 .ERR 항목을 참조하십시오.
확장 에러 코드
모션 명령어는 모션 에러 코드 .ERR 항목을 참조하십시오. 에러에 대한 자세한 내용은 확장 에러 코드(EXERR)를 참조하십시오.
ERR | EXERR | 시정 조치 | 참고 |
|---|---|---|---|
61 | 1 | 두 좌표 시스템을 모두 모션 그룹에 할당하십시오. | |
2 | 소스 및 대상 좌표 시스템을 맞게 사용하고 있는지 확인하십시오. | 소스 및 대상 좌표 시스템으로 동일한 좌표 시스템을 사용할 수 없습니다. | |
3 | 소스 좌표 시스템의 변환 차원을 좌표 시스템의 축 개수(최대 3개)로 설정하십시오. | ||
4 | 대상 좌표 시스템의 변환 차원을 좌표 시스템의 변환할 축 개수(최대 3개)로 설정하십시오. | ||
5 | 다른 소스 좌표 시스템을 사용하십시오. | 하나의 활성 변환에 대한 소스로 하나의 좌표 시스템만 사용할 수 있습니다. | |
6 | 다른 대상 좌표 시스템을 사용하십시오. | 하나의 활성 변환에 대한 대상으로 하나의 좌표 시스템만 사용할 수 있습니다. | |
7 | 다른 변환에서 이미 사용 중인 소스 또는 대상 축을 찾아보십시오. 좌표 시스템의 다른 축을 사용하십시오. | 하나의 축을 하나의 소스 좌표 시스템 및 대상 좌표 시스템에서만 사용할 수 있습니다. | |
8 | 이 변환 체인에 대해 소스가 아닌 좌표 시스템을 대상 좌표 시스템으로 사용하십시오. | 원래의 소스로 되돌아가는 원형 변환 체인을 생성할 수 없습니다. | |
9 | 각 좌표 시스템에 맞는 축을 할당했는지 확인하십시오. | 소스 및 대상 좌표 시스템에서 동일한 축을 사용할 수 없습니다. | |
10 | 두 좌표 시스템의 모든 축에서 모든 모션 프로세스를 중지하십시오(예: 조그, 이동 및 기어). | 모션 프로세스가 소스 또는 대상 축을 제어 중인 경우 변환을 시작할 수 없습니다. | |
11 | 변환 연결을 시작하는 데 사용할 리소스가 충분하지 않습니다. | ||
12 | 링크 길이를 설정하십시오. | 0 링크 길이를 사용할 수 없습니다. | |
13 | 종료 상태의 소스 또는 대상 축을 찾아보십시오. 모션 축 종료 리셋(Motion Axis Shutdown Reset, MASR) 명령어 또는 축을 리셋하는 지시 명령을 사용하십시오. | ||
14 | 모든 소스 또는 대상 축을 금지 해제하십시오. | ||
15 | 델타 또는 SCARA 델타 로봇의 구성된 기점 오프셋 및 엔드이펙터 오프셋 값을 확인하십시오. | 모두 델타 또는 SCARA 델타 로봇의 경우 (X1b-X1e)가 0.0보다 작을 수 없습니다. 델타 로봇의 경우 L1 + (X1b-X1e) 값이 L2보다 큰 경우에도 이 오류가 발생할 수 있습니다. | |
16 | SCARA 독립 로봇 및 SCARA 델타 로봇 구성에서 다음을 확인하십시오. 소스 좌표 시스템의 변환 차원이 2로 구성되어 있는지 여부 소스 좌표 시스템과 대상 좌표 시스템의 구성된 세 번째 축이 동일한지 여부 | ||
17 | 소스 및 대상 좌표 시스템을 확인하여 소스 좌표 시스템의 변환 차원이 대상 좌표 시스템의 변환 차원과 동일한지 확인하십시오. |
상태 비트로 변경
명령어를 실행하면 다음 상태 비트가 변경됩니다.
확인 사항 | 다음에 대한 태그 | 및 비트 확인 | 대상 |
|---|---|---|---|
좌표 시스템이 활성 변환의 소스인지 여부 | 좌표계 | TransformSourceStatus | 켜짐 |
좌표 시스템이 활성 변환의 대상인지 여부 | 좌표계 | TransformTargetStatus | 켜짐 |
축이 활성 변환에 포함되는지 여부 | 축 | TransformStateStatus | 켜짐 |
변환으로 인해 축이 이동 중인지 여부 | 축 | ControlledByTransformStatus | 켜짐 |
예
래더 다이어그램

구조화된 텍스트
MCT(myMctSourceSystem,myMctTargetSystem,myMctMotionControl,myMctOrientation,myMctTranslation);
의견을 작성 부탁드립니다.
