모션 아밍 등록(MAR)
이 정보는
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, Compact GuardLogix
5380, CompactLogix
5380, ControlLogix
5580, GuardLogix
5580 및 ControlLogix 5590 컨트롤러에 적용됩니다. Controller 구분이 있을 때는 언급합니다.모션 아밍 등록(MAR) 명령어를 사용하여 지정된 축에 대한 등록 이벤트 확인을 아밍합니다. 명령어를 호출하면 선택한 등록 입력 및 지정한 트리거 조건을 기준으로 등록 이벤트가 아밍됩니다. 지정한 등록 입력 전환이 트리거 조건을 충족하면 하드웨어 래치된 인코더 카운트 데이터를 기준으로 이벤트가 발생한 순간에 축이 축 위치를 계산하고 축 데이터 구조의 연결된 등록 위치 변수에 그 값을 저장합니다. 또한 명령어의 이벤트(PC) 비트뿐만 아니라 축 데이터 구조의 등록 이벤트 상태 비트가 동시에 설정됩니다. 창 등록을 선택하는 경우 계산된 등록 위치가 최대 및 최소 위치 범위 내에 있는 등록 이벤트만 허용됩니다. 등록 위치가 이 범위를 벗어나는 경우 등록 이벤트 확인이 자동으로 다시 아밍됩니다.
아키텍처 | 표준 | 안전 |
|---|---|---|
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 및 GuardLogix 5570 컨트롤러 | 예 | 아니요 |
Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 및 ControlLogix 5590 컨트롤러 | 예 | 아니요 |
사용 가능한 언어
래더 다이어그램

펑션 블록
이 명령어는 함수 블록에서 사용할 수 없습니다.
구조화된 텍스트
MAR(Axis,MotionControl, TriggerCondition, WindowedRegistration, MinimumPosition, MaximumPosition, InputNumber);
피연산자
래더 다이어그램
피연산자 | 유형 CompactLogix 5370, Compact GuardLogix 5370, Compact GuardLogix 5380, CompactLogix 5380 | 유형 ControlLogix 5570, GuardLogix 5570, ControlLogix 5580, GuardLogix 5580, 및 ControlLogix 5590 컨트롤러 | 형식 | 설명 |
축 | AXIS_CIP_DRIVE | AXIS_CIP_DRIVE AXIS_SERVO AXIS_SERVO_DRIVE AXIS_GENERIC_DRIVE AXIS_GENERIC
팁:
AXIS_GENERIC은
ControlLogix 5570 및 GuardLogix 5570 컨트롤러에서만 지원됩니다. | 태그 | 작업을 수행할 축의 이름. REF_TO 모션 데이터 유형을 지원하는 컨트롤러의 경우 지원되는 축 피연산자 유형을 등가 REF_TO 유형으로 대체할 수 있습니다. |
모션 제어 | MOTION_INSTRUCTION | MOTION_INSTRUCTION | 태그 | 명령어 상태 파라미터에 액세스하는 데 사용되는 구조. |
트리거 조건(Trigger Condition) | BOOLEAN | BOOLEAN | 즉시 | 등록 이벤트를 정의하는 등록 입력 전환을 정의합니다. 다음 중 하나를 선택합니다. 0 = 양의 에지에서 트리거 1 = 음의 에지에서 트리거. |
창 등록 | BOOLEAN | BOOLEAN | 즉시 | 등록 범위를 지정해야 하는 경우 즉 계산된 등록 위치가 유효한 등록 이벤트로 간주되기 위해서는 지정된 최소 및 최대 위치 제한 이내에 포함되어야 하는 경우 활성화(1) 다음 중 하나를 선택합니다. 0 = 비활성화 1 = 활성화됨 |
최소 위치(Minimum Position) | REAL | REAL | 즉시 또는 태그 | 창 등록이 활성화되면 사용. 등록 위치가 최소 위치 제한보다 커야만 등록 이벤트가 수락됩니다. |
최대 위치(Maximum Position) | REAL | REAL | 즉시 또는 태그 | 창 등록이 활성화되면 사용. 등록 위치가 최대위치 제한보다 작아야만 등록 이벤트가 수락됩니다. |
입력 번호 | SINT, INT 또는 DINT | SINT, INT 또는 DINT | 1 또는 2 | 선택할 등록 입력을 지정합니다. 1 = 등록 1 위치 2 = 등록 2 위치 |
스트럭처드 텍스트 내 식의 구문에 대한 자세한 내용은 구조화된 텍스트 구문 항목을 참조하십시오.
사용 가능한 옵션에서 선택해야 하는 피연산자는 다음과 같이 선택 사항을 입력합니다.
피연산자 | 다음 옵션은 | |
텍스트로 입력 | 숫자로 입력 가능 | |
TriggerCondition | positive_edge negative_edge | 0 1 |
WindowedRegistration | 비활성화됨 활성화됨 | 0 1 |
MOTION_INSTRUCTION 구조
니모닉 | 설명 |
.EN(활성화) 비트 31 | 렁 상태가 거짓에서 참으로 전환될 때 참으로 설정되고 서보 메세지 전환이 완료되고 렁이 거짓으로 전환될 때까지 계속 설정 상태로 유지합니다. |
.DN(완료) 비트 29 | 축 등록 이벤트 확인이 성공적으로 아밍되었을 때 참으로 설정됩니다. |
.ER(에러) 비트 28 | 명령어에서 구성되지 않은 축을 지정하는 등의 에러가 감지되었음을 나타내기 위해 참으로 설정됩니다. |
.IP(진행 중) 비트 26 | 렁 상태의 양의 전환 시 참으로 설정되고 등록 이벤트가 발생했거나, 다른 모션 아밍 등록 명령으로 대체되었거나 모션 아밍 중지 등록 명령으로 종료된 후 거짓으로 해제됩니다. |
.PC(프로세스 완료) 비트 27 | 등록 이벤트가 발생하면 참으로 설정됩니다. |
설명
MAR 명령어는 지정된 물리적 축의 실제 위치를 선택한 전용 고속 등록 입력의 지정된 에지에 저장하도록 등록 이벤트를 설정합니다.
MAR 명령어를 실행하면 RegEventStatus 비트가 0(거짓)으로 설정되고 선택한 유형의 등록 입력 전환(등록 이벤트)이 발생할 때까지 지정된 축의 선택한 등록 입력이 모니터링됩니다. 등록 이벤트가 발생하면 축의 RegEventStatus 비트가 1(참)로 설정되고 축의 실제 위치가 등록 입력에 상응하는 등록 위치 변수에 저장됩니다(예: 등록 1 위치 1 또는 등록 2 위치).
등록

지정된 축에 대한 여러 개의 등록 이벤트가 언제든지 활성 상태일 수 있지만, 등록 입력당 하나의 이벤트만 활성 상태일 수 있습니다. 각 이벤트는 개별적으로 모니터링되고 적절한 RegEventStatus 비트를 사용하여 확인할 수 있습니다.
창 등록
창 등록 확인란을 선택하면 축이 아래 표시된 최소 및 최대 위치로 정의된 창 내에 있을 때 선택한 트립 상태가 발생하는 경우 등록 이벤트만 발생합니다.

등록 입력의 선택한 트립 상태가 유효한 위치 창을 정의하는 원하는 절대 위치에 대해 값 또는 태그 변수를 입력합니다. 창 등록은 등록 센서의 거짓 또는 무작위 전환을 무시하는 매커니즘을 제공하는 데 매우 유용하므로 고속 등록 입력의 노이즈 면역 성능을 개선합니다.
선형 축에서는 이 값이 양, 음 또는 조합일 수 있습니다. 그렇지만 등록 이벤트가 발생하려면 최소 위치 값이 최대 위치 값보다 작아야 합니다. 회전 축인 경우 두 값 모두 모션 컨트롤러의 시스템 설정 메뉴에 설정된 언와인드 값보다 작아야 합니다. 아래 그림과 같이 축의 언와인드 지점을 가로지르는 등록 창에 대해 최소 위치 값이 최대 위치 값보다 클 수 있습니다.
회전 축의 위치 창

MAR 명령어 다시 아밍
응용 프로그램에서 등록 센서의 빠르고 연속적인 감지가 필요한 경우 다음 로직을 사용하는 것이 좋습니다.
연속 등록 탐지용 래더 로직

MAR 명령어를 다시 아밍하려면 렁 상태가 거짓에서 참으로 변경되어야 합니다. 이 로직의 작동 속도는 다음에 따라 달라집니다.
- 프로그램 스캔 시간
- 모션 태스크 기본 업데이트 속도중요: 대형 I/O 연결에서 강제 적용 값은 컨트롤러가 반복되는 모션 등록을 처리하는 속도를 늦출 수 있습니다.
MAR 명령어를 성공적으로 실행하려면 대상 지정된 축을 서보 또는 피드백만 축으로 구성해야 합니다. 그렇지 않으면 명령어에 에러가 발생합니다.
중요:
명령어를 실행하려면 요청을 완료하기 위해 몇 번의 기본 업데이트가 필요하므로 스캔을 여러 번 실행해야 할 수 있습니다. 완료(.DN) 비트는 즉시 설정되지 않고 요청이 완료된 후에만 설정됩니다.
이 전환 명령어에서 명령어를 실행해야 할 때마다 릴레이 래더가 렁-입력-조건을 해제에서 설정으로 전환합니다.
연산 상태 플래그에 영향
아니요
주 폴트/부 폴트
이 명령어에만 해당되는 것은 없습니다. 초기화되지 않은 참조 또는 잘못된 유형의 참조가 축 피연산자로 전달되면 주 폴트가 발생할 수 있습니다. 피연산자 관련 폴트에 대해서는 공통 속성 항목을 참조하십시오.
실행
래더 다이어그램
조건/상태 | 수행한 작업 |
사전 스캔 | .EN, .DN, .ER 및 .IP 비트는 거짓으로 해제됩니다. |
렁-입력-조건이 거짓임 | .DN 또는 .ER 비트가 참인 경우 .EN 비트는 거짓으로 해제됩니다. |
렁-입력-조건이 참임 | .EN 비트가 참으로 설정되고 명령어가 실행됩니다. |
사후 스캔 | N/A |
구조화된 텍스트
조건/상태 | 수행한 작업 |
사전 스캔 | 래더 다이어그램 표의 사전 스캔을 참조하십시오. |
정상 실행 | 래더 다이어그램 표에서 렁-입력-조건이 거짓임을 참조하고 이어서 렁이 참임을 참조하십시오. |
사후 스캔 | 래더 다이어그램 표에서 사후 스캔 섹션을 참조하십시오. |
에러 코드
모션 명령어는 모션 에러 코드 .ERR 항목을 참조하십시오.
확장 에러 코드
확장 에러 코드는 여러 명령어에 일반적인 에러 코드에 대한 추가 명령어 관련 정보를 제공합니다. MAR 명령어가 서보 메세지 실패(12) 에러 메세지를 수신할 경우 다음 확장 에러 코드를 사용하여 문제를 찾아낼 수 있습니다. 모션 명령어는 모션 에러 코드 .ERR 항목을 참조하십시오.
관련 에러 코드(십진수) | 확장 에러 코드(십진수) | 의미 |
SERVO_MESSAGE_FAILURE (12) | 응답 없음(2) | 요청을 완료하는 데 필요한 메모리 리소스가 부족합니다. (SERCOS) |
SERVO_MESSAGE_FAILURE (12) | 잘못된 값(3) | 제공된 등록 입력이 범위를 벗어났습니다. |
SERVO_MESSAGE_FAILURE (12) | 장치의 상태가 잘못되었음(16) | 재정의 위치, 홈 및 등록 2는 함께 사용할 수 없습니다. (SERCOS) |
범위를 벗어난 파라미터(13) 에러 코드의 확장 에러 코드는 약간 다르게 작동합니다. 표준 열거형이 없고 확장 에러 코드에 대해 표시되는 숫자는 첫 번째 피연산자가 0으로 시작하여 위에서 아래로 카운트되고 화면에 나열되는 피연산자 번호를 나타냅니다. 그러므로 MAR 명령어에서 확장 에러 코드가 4라면 최소 위치 값을 나타냅니다. 그런 다음 명령어에 허용된 값 범위를 참조하여 값을 확인해야 합니다.
상태 비트
MAR에 의한 상태 비트 변경
비트 이름 | 상태 | 의미 |
RegEvent1ArmedStatus RegEvent2ArmedStatus | 참 (TRUE) | 축이 등록 이벤트를 찾는 중입니다. |
RegEvent1Status RegEvent2Status | 거짓 (FALSE) | 이전 등록 이벤트가 해제됩니다. |
예
래더 다이어그램

구조화된 텍스트
MAR(Axis1, MAR_2, Positive_Edge, enabled, minmarpos_1, maxmarpos_1, 1);
의견을 작성 부탁드립니다.