모션 아밍 출력 캠(MAOC)
이 정보는
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, Compact GuardLogix
5380, CompactLogix
5380, ControlLogix
5580, GuardLogix
5580 및 ControlLogix 5590 컨트롤러에 적용됩니다. Controller 구분이 있을 때는 언급합니다.모션 아밍 출력 캠(MAOC) 명령어는 축 위치를 기반으로 출력 비트를 설정 및 리셋하는 기능을 제공합니다.
이것은 전환 명령어입니다. 사용할 경우 다음 단계를 수행하십시오.
- 래더 로직에서 명령어가 실행되어야 할 때마다 렁-입력-조건을 거짓에서 참으로 전환하는 명령어를 삽입합니다.
- Structured Text 루틴에서 명령어가 전환 시에만 실행되도록 하는 조건을 삽입합니다.
중요:
예약된 출력 모듈은 하나의 MAOC 축/실행 대상에만 연결할 수 있습니다.
모션 아밍 기능

출력 캠 객체는 내부적으로는 모션 아밍 출력 캠 기능을 처리합니다. 각 출력 캠 객체는 32개 출력 비트로 구성된 하나의 출력을 담당합니다. 각 출력 비트는 출력 캠 프로파일을 사용하여 하나씩 개별적으로 프로그래밍할 수 있으며 위치 오프셋 및 시간 지연에 대해 보상됩니다.
MAOC 명령어는 지정된 축과 출력 간 특정 출력 캠의 사용을 시작합니다. 명령어를 실행하면 지정된 출력 캠 비트가
Logix Designer
출력 캠 편집기로 설정한 출력 캠 프로파일을 사용하여 지정된 축과 동기화됩니다. 이 관계는 축이 마스터, 출력 비트가 슬레이브를 나타내는 마스터/슬레이브 관계로 보일 수 있습니다. 따라서 출력 캠 기능은 위치 캠 기능과 관련이 있으며 마스터 축과 슬레이브 축 간 관계를 제공합니다.출력 캠을 지정된 축과 정확히 동기화하려면 실행 일정과 연결된 축 및 캠 아밍 위치를 지정해야 합니다. 축이 실행 일정 파라미터로 지정한 방향의 축 아밍 위치를 지나서 이동하는 경우 캠 위치가 지정된 캠 아밍 위치 파라미터에서 시작하는 축 위치에 잠깁니다. 이때 출력 캠이 사용되고 출력 캠 사용 상태가 설정됩니다. 출력 캠이 실행 일정 파라미터를 통해 구성되어 즉시 실행하거나 현재 실행 중인 출력 캠의 완료를 기다립니다. 출력 캠은 또한 필요한 실행 모드를 지정하여 한 번, 연속적 또는 영구적으로 실행할 수도 있습니다. 영구적 거동의 경우 캠 위치가 출력 캠 범위를 초과하면 출력 캠이 아밍 해제되고 캠 위치가 다시 범위 내로 돌아오면 다시 아밍됩니다.
출력 캠 범위는 CamStartPosition 및 CamEndPosition 입력 파라미터로 정의됩니다. 마스터 참조 선택을 통해 지정된 축의 실제 위치나 명령 위치로부터 축 입력을 가져올 수 있습니다.
중요:
출력 캠은 기본 업데이트 속도를 초과할 가능성을 증가시킵니다. 이로 인해 모션 태스크 실행 시간이 그룹의 구성된 기본 업데이트 기간을 초과할 경우 오작동이 발생할 수 있습니다. 이 상태를 확인하는 유일한 방법은
모션 그룹 속성
(Motion Group Properties) 대화 상자에서 최대 실행 시간을 모니터링하는 것입니다.아키텍처 | 표준 | 안전 |
|---|---|---|
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 및 GuardLogix 5570 컨트롤러 | 예 | 아니요 |
Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 및 ControlLogix 5590 컨트롤러 | 예 | 아니요 |
사용 가능한 언어
래더 다이어그램

펑션 블록
이 명령어는 함수 블록에서 사용할 수 없습니다.
구조화된 텍스트
MAOC(Axis, ExecutionTarget, MotionControl, Output, Input, OutputCam, CamStartPosition, CamEndPosition, OutputCompensation, ExecutionMode, ExecutionSchedule, AxisArmPosition, CamArmPosition, PositionReference);
피연산자
명령어 내에서 혼합된 데이터 유형을 위한 데이터 변환 규칙이 있습니다.
데이터 변환
을 참조하세요.래더 다이어그램과 스트럭쳐드 텍스트
피연산자 | 유형 CompactLogix 5370, Compact GuardLogix 5370, Compact GuardLogix 5380, CompactLogix 5380 | 유형 ControlLogix 5570, GuardLogix 5570, ControlLogix 5580, GuardLogix 5580, 및 ControlLogix 5590 컨트롤러 | 형식 | 설명 |
축 | AXIS_CIP_DRIVE AXIS_VIRTUAL AXIS_CONSUMED
팁:
AXIS_CONSUMED는
Compact GuardLogix 5580 및 CompactLogix 5380 컨트롤러에서만 지원됩니다. | AXIS_CIP_DRIVE AXIS_VIRTUAL AXIS_CONSUMED AXIS_SERVO AXIS_SERVO_DRIVE AXIS_GENERIC_DRIVE AXIS_GENERIC
팁:
AXIS_GENERIC은
ControlLogix 5570 및 GuardLogix 5570 컨트롤러에서만 지원됩니다. | 태그 | 출력 캠에 위치 입력을 제공하는 축의 이름입니다. 줄임표는 축 속성 대화 상자를 시작합니다. REF_TO 모션 데이터 유형을 지원하는 컨트롤러의 경우 지원되는 축 피연산자 유형을 등가 REF_TO 유형으로 대체할 수 있습니다. |
실행 대상 | SINT, INT 또는 DINT | SINT, INT 또는 DINT | 즉시 또는 태그 | 실행 대상은 이름 지정된 축에 연결된 집합에서 특정 출력 캠을 정의합니다. 다음 값으로 거동이 결정됩니다. 0...7 – 출력 캠이 Logix 컨트롤러에서 실행됨. 8...31 – 나중에 사용하도록 예약됨. |
모션 제어 | MOTION_INSTRUCTION | MOTION_INSTRUCTION | 태그 | 명령어 상태 파라미터에 액세스하는 데 사용되는 구조. |
출력 | DINT | DINT | 태그 | 지정된 출력 캠을 기반으로 하여 설정되거나 리셋되는 32개의 출력 비트 세트. 메모리 위치 또는 물리적 출력일 수 있습니다. 실행 일정으로 보류 중을 선택하면 출력이 무시됩니다. |
입력 | DINT | DINT | 태그 | 지정된 출력 캠에 따라 활성화 비트로 사용될 수 있는 32개의 입력 비트 세트. 메모리 위치 또는 물리적 입력일 수 있습니다. 실행 일정으로 보류 중을 선택하면 입력이 무시됩니다. |
출력 캠 | OUTPUT_CAM | OUTPUT_CAM | 배열 태그 | OUTPUT_CAM 요소 배열. 요소를 순서대로 정리할 필요는 없고 지정된 캠 요소 개수에 따라 배열 크기가 결정됩니다. Logix 컨트롤러에서 사용 가능한 메모리의 양에 따라 배열 크기가 제한됩니다. |
캠 시작 위치 | SINT, INT, DINT 또는 REAL | SINT, INT, DINT 또는 REAL | 즉시 또는 태그 | 캠 시작 위치는 캠 끝 위치와 함께 출력 캠 범위의 좌우 경계를 정의합니다. |
캠 끝 위치 | SINT, INT, DINT 또는 REAL | SINT, INT, DINT 또는 REAL | 즉시 또는 태그 | 캠 끝 위치는 캠 시작 위치와 함께 출력 캠 범위의 좌우 경계를 정의합니다. |
출력 보상 | OUTPUT_COMPENSATION | OUTPUT_COMPENSATION | 배열 태그 | 1 ~ 32 OUTPUT_COMPENSATION 요소 배열. 배열 인덱스는 출력 비트 번호에 해당합니다. 배열의 최소 크기는 보상된 최대 출력 비트로 결정됩니다. |
실행 모드 | SINT, INT 또는 DINT | SINT, INT 또는 DINT | 즉시 | 선택 가능한 3개의 실행 모드가 있습니다. 선택한 모드에 따라 거동이 결정됩니다. 옵션은 0 = 한 번 – 캠 위치가 캠 시작 또는 캠 끝 위치를 지나서 이동하는 경우 출력 캠이 아밍 해제되고 모션 명령어의 프로세스 완료 비트가 설정됩니다. 1 = 연속적 – 캠 위치가 캠 시작 또는 캠 끝 위치를 지나서 이동하는 경우 출력 캠이 출력 캠 범위 반대편에서 계속 작동합니다. 2 = 영구적 – 캠 위치가 캠 시작 또는 캠 끝 위치를 지나서 이동하는 경우 출력 캠이 아밍 해제됩니다. 캠 위치가 다시 출력 캠 범위 내로 이동하면 출력 캠이 다시 아밍됩니다. |
실행 일정 | SINT, INT 또는 DINT | SINT, INT 또는 DINT | 즉시 | 출력 캠을 언제 사용할지 선택합니다. 선택 가능한 옵션: 0 = 즉시 – 출력 캠이 즉시 아밍됩니다. 1 = 보류 중 – 현재 실행 중인 출력 캠의 캠 위치가 캠 시작 또는 캠 끝 위치를 지나서 이동하는 경우 출력 캠이 아밍됩니다. 보류 중 옵션을 선택하면 출력, 입력, 축 아밍 위치 및 참조 파라미터가 무시됩니다. 2 = 정방향만 – 축이 정방향으로 지정된 축의 아밍 위치에 근접하거나 아밍 위치를 통과하면 출력 캠이 아밍됩니다. 3 = 역방향만 – 축이 역방향으로 지정된 축의 아밍 위치에 근접하거나 아밍 위치를 통과하면 출력 캠이 아밍됩니다. 4 = 양방향 – 축이 어느 방향으로든 지정된 축의 아밍 위치에 근접하거나 아밍 위치를 통과하면 출력 캠이 아밍됩니다. |
축 아밍 위치 | SINT, INT, DINT 또는 REAL | SINT, INT, DINT 또는 REAL | 즉시 또는 태그 | 실행 일정이 정방향만, 역방향만 또는 양방향으로 설정되고 축이 지정된 방향으로 이동할 때 출력 캠이 아밍되는 축 위치를 정의합니다. 실행 일정으로 보류 중을 선택하면 축 아밍 위치가 무시됩니다. |
캠 아밍 위치 | SINT, INT, DINT 또는 REAL | SINT, INT, DINT 또는 REAL | 즉시 또는 태그 | 이 피연산자는 출력 캠이 아밍될 때 축 아밍 위치와 연결된 캠 위치를 정의합니다. |
위치 참조 | SINT, INT 또는 DINT | SINT, INT 또는 DINT | 즉시 | 출력 캠을 축의 명령 위치 또는 실제 위치 중 어디에 연결할지를 설정합니다. 실행 일정으로 보류 중을 선택하면 참조가 무시됩니다. 0 = 실제 – 인코더 또는 다른 피드백 장치에서 측정한 축의 현재 위치. 1 = 명령 – 마스터 축의 원하는 위치 또는 명령 위치. |
구조화된 텍스트
배열 피연산자의 경우 배열 인덱스를 포함하지 않아도 됩니다. 인덱스를 포함하지 않으면 배열의 첫 번째 요소([0])부터 명령어가 시작됩니다. 스트럭처드 텍스트 내 식의 구문에 대한 자세한 내용은 구조화된 텍스트 구문 항목을 참조하십시오.
사용 가능한 옵션에서 선택해야 하는 피연산자는 다음과 같이 선택 사항을 입력합니다.
피연산자 | 다음 옵션은 | |
텍스트로 입력 | 숫자로 입력 가능 | |
ExecutionMode | 한 번 연속 영구적 | 0 1 2 |
ExecutionSchedule | 즉시 보류 중 forwardonly reverseonly 양방향 | 0 1 2 3 4 |
위치 참조 | 실제 명령 | 0 1 |
MAOC 명령어
유효한 캠 아밍 위치는 캠 시작 및 캠 끝 위치를 포함하여 그 중간의 모든 위치입니다. 캠 아밍 위치가 캠 시작 또는 캠 끝 위치와 동일한(또는 매우 가까운) 값으로 설정된 경우 보상으로 인해 캠 위치가 캠 시작 및 캠 끝 위치 범위를 벗어날 수 있습니다. 보상은 위치 오프셋, 래치 지연 및 래치 해제 지연에 대해 지정된 출력 보상 값뿐만 아니라 MAOC 명령어의 참조 및 출력 파라미터에 따라 적용된 내부 보상 값의 영향을 받습니다.
MAOC 명령어가 연속적 또는 영구적 실행 모드로 구성되면 부작용이 발생하지 않으며 출력 캠이 아밍되고 축이 이동할 때 보류 중인 MAOC 명령어가 없습니다.
MAOC 명령어가 한 번만 실행 모드로 구성되고 출력 캠이 사용되고 축이 이동할 때 보류 중인 MAOC 명령어가 있으면 다음과 같은 부작용이 발생할 수 있습니다.
하나 이상의 출력 상태가 절대로 변경되지 않을 수 있습니다.
MAOC 명령어가 즉시 완료될 수 있습니다.
출력 캠이 아밍되고 축이 이동할 때 보류 중인 MAOC 명령어가 있어서 발생할 수 있는 한 가지 부작용은 보류 중인 MAOC 명령어의 구성에 따라 하나 이상의 출력이 실행되기 시작할 수 있다는 것입니다.
MOTION_INSTRUCTION 구조
니모닉 | 설명 |
.EN(활성화) 비트 31 | 렁 상태가 거짓에서 참으로 전환되고 렁이 거짓으로 전환될 때까지 계속 설정 상태로 있으면 참으로 설정됩니다. |
.DN(완료) 비트 29 | 출력 캠이 성공적으로 시작되었으면 참으로 설정됩니다. |
.ER(에러) 비트 28 | 참으로 설정되면 구성되지 않은 축을 지정하는 등의 에러가 감지되었음을 나타냅니다. |
.IP(진행 중) 비트 26 | 출력 캠이 성공적으로 시작되었으면 참으로 설정되고 다른 모션 아밍 출력 캠 명령으로 대체되거나, 모션 아밍 중지 출력 캠 명령으로 종료되거나 실행 모드가 한 번으로 설정된 상태에서 캠 위치가 정의된 출력 캠 범위를 지나서 이동하는 경우 거짓으로 해제됩니다. |
.PC(프로세스 완료) 비트 27 | 양의 렁 전환 시 거짓으로 해제되고 한 번 실행 모드에서 캠 위치가 정의된 출력 캠 범위를 지나서 이동하는 경우 설정됩니다. |
.SEGMENT | 에러 36(잘못된 출력 캠) 또는 에러 37(잘못된 출력 보상)과 관련된 배열 인덱스로 설정됩니다. 여러 에러 중 첫 번째 에러만 저장됩니다. |
설명
모션 아밍 출력 캠(MAOC) 명령어는 수동, 프로그래밍 방식 또는
Logix Designer
출력 캠 편집기로 설정한 출력 캠 프로파일을 실행합니다. 출력 캠 객체는 내부적으로는 모션 아밍 캠 기능을 처리합니다. 각 출력 캠 객체는 32개 출력 비트로 구성된 하나의 출력을 담당합니다. 각 출력 비트는 하나씩 개별적으로 프로그래밍할 수 있습니다. 현재 출력 캠 기능은 기본 업데이트 기간(현재 1 ~ 32 ms로 구성 가능)마다 Logix 컨트롤러에서 실행됩니다.축
이 축에서 출력 캠에 위치 입력을 제공합니다. 가상, 물리적 또는 소비된 축일 수 있습니다.
실행 대상
실행 대상은 지정된 축에 연결된 세트에서 특정 출력 캠을 정의합니다. 현재 8개의 출력 캠만 지정할 수 있습니다.
출력 캠 지정
MAOC 명령어를 실행하려면 계산된 출력 캠 데이터 배열 태그를 지정해야 합니다.
Logix Designer
태그 편집기 또는 내장된 출력 캠 편집기를 사용하는 MAOC 명령어로 출력 캠 배열 태그를 생성할 수 있습니다. 데이터는 각 출력 캠 요소에 대한 세부사항을 정의합니다. 출력 캠 요소의 수는 사용 가능한 메모리의 양에 의해 제한됩니다. 각 출력 비트에 대해 0개 이상의 캠을 정의할 수 있습니다. 출력 캠 배열 내에 이러한 요소가 배치되는 방법에 대한 제약이 없습니다.출력 캠 요소로 제어된 출력이 활성인 상태에서 출력 캠 켜짐 창 위치를 다시 정의하면 이상이 발생합니다. 경우에 따라 모션 플래너가 창이 영점 교차됨을 감지하지 못하거나 출력 캠 요소로 제어되는 출력이 계속 켜짐 상태로 유지됩니다. 데이터 유형 및 프로그래밍 단위에 대한 자세한 내용은 OUTPUT_CAM 구조 설명을 참조하십시오.
중요:
출력 캠 요소에 의해 제어되는 출력이 활성화되어 있는 동안 출력 캠 ON 창 위치가 다시 정의되면 예외가 발생합니다. 경우에 따라 모션 플래너가 창의 교체 해제를 감지하지 못할 수 있으며 출력 캠 요소에 의해 제어되는 출력이 ON 상태를 유지합니다.
이 문제는 MAOC 명령어로 제어되는 출력 지점 또는 가상 출력에 적용됩니다.
또한 캠 요소가 활성화되지 않은 경우에만 구성을 변경하는 것이 좋습니다.
다음 다이어그램은 출력 캠 요소에 의해 정의된 축, 입력 및 출력 간의 관계를 보여줍니다.

래치 유형
선택된 LatchType에 따라 해당 출력 비트는 다음 테이블에 따라 설정됩니다.
래치 유형 | 동작 |
비활성 | 출력 비트가 변경되지 않습니다. |
위치 | 축이 보상된 캠 범위로 들어가면 출력 비트가 설정됩니다. |
활성화 | 활성화 비트가 활성 상태가 되면 출력 비트가 설정됩니다. |
위치 및 활성화 | 축이 보상된 캠 범위로 들어가고 활성화 비트가 활성 상태가 되면 출력 비트가 설정됩니다. |
다음 다이어그램은 위치에 따라 서로 다른 보상된 캠 및 활성화 비트 조합에 대한 출력 비트에 선택한 래치 유형의 영향을 위치 함수로 보여줍니다.

언래치 유형
다음 다이어그램은 위치에 따라 서로 다른 보상된 캠 및 활성화 비트 조합에 대한 출력 비트에 선택한 래치 유형의 영향을 위치 함수로 보여줍니다.
래치 유형 | 동작 |
비활성 | 출력 비트가 변경되지 않습니다. |
위치 | 축이 보상된 캠 범위로 들어가면 출력 비트가 리셋됩니다. |
Duration | 기간이 만료되면 출력 비트가 리셋됩니다. |
활성화 | 활성화 비트가 활성 상태가 되면 출력 비트가 리셋됩니다. |
위치 및 활성화 | 축이 보상된 캠 범위로 들어가고 활성화 비트가 활성 상태가 되면 출력 비트가 리셋됩니다. |
기간 및 활성화 | 기간이 만료되거나 활성화 비트가 비활성 상태가 되면 출력이 리셋됩니다. |
다음 다이어그램은 위치에 따라 서로 다른 보상된 캠 및 활성화 비트 조합에 대한 출력 비트에 선택한 언래치 유형의 영향을 위치 함수로 보여줍니다.

다음 다이어그램은 위치에 따라 서로 다른 보상된 캠 및 활성화 비트 조합에 대한 출력 비트에 선택한 언래치 유형의 영향을 시간 함수로 보여줍니다.

왼쪽 및 오른쪽 캠 위치
왼쪽 및 오른쪽 캠 위치는 출력 캠 요소의 범위를 정의합니다. 활성화 비트가 활성인 상태에서 래치 또는 래치 해제 유형이 "위치" 또는 "위치 및 활성화"로 설정되면 왼쪽 및 오른쪽 캠 위치가 출력 비트의 래치 또는 래치 해제 위치를 지정합니다.
Duration
활성화 비트가 활성인 상태에서 래치 해제 유형이 "기간" 또는 "기간 및 활성화"로 설정되면 캠 기간이 출력 비트의 래치 또는 래치 해제 간 시간을 지정합니다.
활성화 유형
선택된 활성화 유형에 따라 활성화 비트는 입력, 반전된 입력, 출력 또는 반전된 출력의 요소입니다.
출력 캠 배열 검사
다음 출력 캠 배열 검사는 MAOC 명령어와 함께 사용됩니다.
- 0보다 작거나 31보다 큰 출력 비트를 선택하는 경우 출력 캠 요소가 고려되지 않으며 잘못된 출력 캠 명령어 에러가 사용자에게 경고 표시됩니다.
- 0보다 작거나 3보다 큰 래치 유형을 선택하는 경우 "비활성" 값이 사용되며 잘못된 출력 캠 명령어 에러가 사용자에게 경고 표시됩니다.
- 0보다 작거나 5보다 큰 래치 해제 유형을 선택하는 경우 "비활성" 값이 사용되며 잘못된 출력 캠 명령어 에러가 사용자에게 경고 표시됩니다.
- 오른쪽 캠 위치보다 크거나 같은 왼쪽 캠 위치를 선택하고 래치 또는 래치 해제 유형을 위치 또는 위치 및 활성화로 설정한 경우 출력 캠 요소가 고려되지 않고 잘못된 출력 캠 명령어 에러가 사용자에게 경고 표시됩니다.
- 캠 시작 위치보다 작은 왼쪽 캠 위치를 선택하고 래치 유형을 위치 또는 위치 및 활성화로 설정한 경우 캠 시작 위치가 사용되고 잘못된 출력 캠 명령어 에러가 사용자에게 경고 표시됩니다.
- 캠 끝 위치보다 큰 오른쪽 캠 위치를 선택하고 래치 해제 유형을 위치 또는 위치 및 활성화로 설정한 경우 캠 끝 위치가 사용되고 잘못된 출력 캠 명령어 에러가 사용자에게 경고 표시됩니다.
- 0 이하의 기간을 선택하고 래치 해제 유형을 기간 또는 기간 및 활성화로 설정한 경우 출력 캠 요소가 고려되지 않고 잘못된 출력 캠 명령어 에러가 사용자에게 경고 표시됩니다.
- 0보다 작고 3보다 큰 활성화 유형을 선택하고 래치 또는 래치 해제 유형을 활성화, 위치 및 활성화 또는 기간 및 활성화로 설정한 경우 출력 캠 요소가 고려되지 않고 잘못된 출력 캠 명령어 에러가 사용자에게 경고 표시됩니다.
- 0보다 작고 31보다 큰 활성화 비트를 선택하고 래치 또는 래치 해제 유형을 활성화, 위치 및 활성화 또는 기간 및 활성화로 설정한 경우 출력 캠 요소가 고려되지 않고 잘못된 출력 캠 명령어 에러가 사용자에게 경고 표시됩니다.
- 출력 보상 지정
Logix Designer
태그 편집기를 사용하여 출력 보상 데이터 배열 태그를 지정할 수 있습니다. 데이터 유형은 각 액추에이터의 특성을 설정하여 각 출력 비트에 대한 상세 정보를 정의합니다. 배열 인덱스는 출력 비트 번호에 해당합니다. 가장 높은 보정된 출력 비트의 번호는 이 배열의 최소 크기를 정의합니다. 출력 보상에 대한 변경사항은 즉시 적용됩니다.다음 다이어그램은 축, 입력 및 출력 간의 관계에 대한 출력 보상의 효과를 보여줍니다

오프셋 및 지연 보상
오프셋은 위치 보상을 제공하는 반면 래치 및 래치 해제 지연은 래치 및 래치 해제 작업에 대한 시간 지연 보상을 제공합니다. 다음 다이어그램은 보상 값이 출력 캠 요소에 미치는 영향을 보여줍니다.

캠 범위는 출력 캠 요소의 왼쪽 및 오른쪽 캠 위치에 의해 정의됩니다. 보정된 캠 범위는 캠 범위, 오프셋 및 래치 및 래치 해제 오프셋에 의해 정의됩니다. 래치 및 래치 해제 오프셋은 현재 속도 v에 의해 정의됩니다.
래치 오프셋 = v * 래치 지연
래치 해제 오프셋 = v * 래치 해제 지연
결과 보상 오프셋은 실제로 캠 시작 위치와 캠 끝 위치 간의 차이보다 클 수 있습니다.
다음 수식은 출력 캠 요소의 기간에 대한 보상 값의 영향을 보여줍니다.
보정된 기간 = 기간 + 래치 지연 - 래치 해제 지연
모드 보상
선택된 모드에 따라 보정된 출력 비트는 다음 표에 따라 설정됩니다.
모드 | 동작 |
정상 | 래치 및 래치 해제 작업의 출력이 활성 상태로 될 때 출력 비트가 설정됩니다. 래치 및 래치 해제 작업의 출력이 비활성 상태로 될 때 출력 비트가 리셋됩니다. |
반전됨 | 래치 및 래치 해제 작업의 출력이 비활성 상태로 될 때 출력 비트가 리셋됩니다. 래치 및 래치 해제 작업의 출력이 활성 상태로 될 때 출력 비트가 리셋됩니다. |
펄스됨 | 래치 및 래치 해제 작업의 출력이 활성 상태일 때 출력 비트가 펄스를 생성합니다. 펄스의 온 듀티 상태는 출력 비트의 활성 상태에 해당합니다. 래치 및 래치 해제 작업의 출력이 비활성 상태로 될 때 출력 비트가 리셋됩니다. |
반전 및 펄스됨 | 래치 및 래치 해제 작업의 출력이 활성 상태일 때 출력 비트가 펄스를 생성합니다. 펄스의 온 듀티 상태는 출력 비트의 비활성 상태에 해당합니다. 래치 및 래치 해제 작업의 출력이 비활성 상태로 될 때 출력 비트가 리셋됩니다. |
다음 다이어그램은 출력 비트의 모드, 주기 시간 및 듀티 사이클의 효과를 보여줍니다.

출력 보상 배열 검사
다음 출력 보상 배열 검사는 MAOC 명령어와 함께 사용됩니다.
최소 너비보다 작은 캠 보상이 초래하는 래치 및 래치 해제 지연 조합을 선택하는 경우 보상된 캠의 너비가 최소 너비로 설정됩니다.
0보다 작거나 3보다 큰 모드를 선택하는 경우 정상 모드가 고려되고 잘못된 출력 보상 명령어 에러가 경고 표시됩니다.
0보다 작거나 100보다 큰 듀티 사이클을 선택하고 모드를 펄스 생성됨 또는 반전 및 펄스 생성됨으로 설정하면 0 또는 100 듀티 사으클가 고려되고 잘못된 출력 보상 명령어 에러가 경고 표시됩니다.
사이클 시간을 0 이하로 선택하고 모드를 펄스 생성됨 또는 반전 및 펄스 생성됨으로 설정하면 출력 비트가 펄스를 생성하지 않고 잘못된 출력 보상 명령어 에러가 경고 표시됩니다.
출력
출력이란 지정된 출력 캠을 기준으로 설정되거나 리셋될 수 있는 32개 출력 비트의 세트입니다. 출력은 메모리 위치 또는 물리적 출력일 수 있습니다(예: Local.0.O.Data).
입력
입력이란 지정된 출력 캠에 따라 활성화 비트로 사용될 수 있는 32개 입력 비트의 세트입니다. 입력은 메모리 위치 또는 물리적 입력일 수 있습니다(예: Local.0.I.Data).
캠 시작 및 캠 끝 위치
캠 시작 및 캠 끝 위치는 출력 캠 범위의 좌우 경계를 정의합니다. 캠 위치가 캠 시작 또는 캠 끝 위치를 지나서 이동하는 경우 실행 모드 및 실행 일정에 따라 출력 캠의 거동이 정의됩니다. 현재의 MAOC 명령어 실행이 완료되기 전에는 캠 시작 또는 캠 끝 위치 변경이 적용되지 않습니다.
실행 모드
선택한 실행 모드에 따라 캠 위치가 캠 시작 또는 캠 끝 위치를 지나 이동하는 경우 출력 캠 거동이 다를 수 있습니다.
모드 | 동작 |
한 번 | 캠 위치가 캠 시작 또는 캠 끝 위치를 지나서 이동하는 경우 출력 캠이 아밍 해제되고 모션 명령어의 프로세스 완료 비트가 설정됩니다. |
영구적 | 캠 위치가 캠 시작 또는 캠 끝 위치를 지나서 이동하는 경우 출력 캠이 아밍 해제됩니다. 그렇지만 캠 위치가 다시 출력 캠 범위 내로 이동하면 출력 캠이 다시 아밍됩니다. |
연속 | 캠 위치가 캠 시작 또는 캠 끝 위치를 지나서 이동하는 경우 출력 캠이 출력 캠 범위 반대편에서 계속 작동합니다. |
실행 일정
선택한 실행 일정에 따라 출력 캠이 다음 표와 같이 아밍됩니다.
모드 | 동작 |
즉시 | 출력 캠이 즉시 아밍됩니다. |
보류 중 | 아밍된 출력 캠의 캠 위치가 해당 캠의 시작 또는 끝 위치를 지나서 이동하는 경우 출력 캠이 아밍됩니다. |
정방향만 | 축이 정방향으로 지정된 축의 아밍 위치에 근접하거나 아밍 위치를 통과하면 출력 캠이 아밍됩니다. |
역방향만 | 축이 역방향으로 지정된 축의 아밍 위치에 근접하거나 아밍 위치를 통과하면 출력 캠이 아밍됩니다. |
양방향 | 축이 정방향 또는 역방향으로 지정된 축의 아밍 위치에 근접하거나 아밍 위치를 통과하면 출력 캠이 아밍됩니다. |
축 아밍 및 캠 아밍 위치
축 아밍 위치는 실행 일정이 정방향만, 역방향만 또는 양방향으로 설정되고 축이 지정된 방향으로 이동할 경우 출력 캠이 아밍되는 축 위치를 정의합니다. 캠 아밍 위치는 출력 캠이 아밍될 때 축 아밍 위치와 연결된 캠 위치를 정의합니다. MAOC 명령어를 실행한 후에야만 축 아밍 또는 캠 아밍 위치 변경 내용이 적용됩니다.

참조
선택한 참조에 따라 축의 실제 위치 또는 명령 위치에 출력 캠이 연결됩니다.
중요:
MAOC 명령어 실행은 단일 스캔으로 완료되므로 완료(.DN) 비트 및 처리 중(.IP) 비트가 즉시 설정됩니다. 한 번 실행 모드에서 캠 위치가 캠 시작 또는 캠 끝 위치를 지나서 이동하고 출력 캠이 다른 MAOC 명령어로 대체되거나 MDOC 명령어를 통해 아밍 해제될 때까지 처리 중(.IP) 비트는 계속 설정 상태로 유지됩니다. 프로세스 완료 비트는 MAOC가 실행되는 즉시 해제되고 한 번 실행 모드에서 캠 위치가 캠 시작 또는 캠 끝 위치를 지나서 이동하면 설정됩니다.
이 전환 명령어에서 명령어를 실행해야 할 때마다 릴레이 래더가 렁-입력-조건을 해제에서 설정으로 전환합니다.
연산 상태 플래그에 영향
아니요
주 폴트/부 폴트
이 명령어에만 해당되는 것은 없습니다. 초기화되지 않은 참조 또는 잘못된 유형의 참조가 축 피연산자로 전달되면 주 폴트가 발생할 수 있습니다. 피연산자 관련 폴트에 대해서는 공통 속성 항목을 참조하십시오.
실행
래더 다이어그램
조건/상태 | 수행한 작업 |
사전 스캔 | .EN, .DN, .ER 및 .IP 비트는 거짓으로 해제됩니다. |
렁-입력-조건이 거짓임 | .DN 또는 .ER 비트가 참으로 설정된 경우 .EN 비트는 거짓으로 해제됩니다. 그렇지 않을 경우 .EN 비트는 영향을 받지 않습니다. .DN, .ER, .IP 및 .PC 비트는 영향을 받지 않습니다. |
렁-입력-조건이 참임 | .EN 비트가 참으로 설정되고 명령어가 실행됩니다. |
사후 스캔 | N/A |
구조화된 텍스트
조건/상태 | 수행한 작업 |
사전 스캔 | 래더 다이어그램 표의 사전 스캔을 참조하십시오. |
정상 실행 | 래더 다이어그램 표에서 렁-입력-조건이 거짓임을 참조하고 이어서 렁이 참임을 참조하십시오. |
사후 스캔 | 래더 다이어그램 표에서 사후 스캔 섹션을 참조하십시오. |
에러 코드
모션 명령어는 모션 에러 코드 .ERR 항목을 참조하십시오.
확장 에러 코드
확장 에러 코드는 여러 명령어에 일반적인 에러 코드에 대한 추가 명령어 관련 정보를 제공합니다. 범위를 벗어난 파라미터(13) 에러 코드의 확장 에러 코드는 위에서 아래로 화면에 나열되는 피연산자 번호를 나타내는 숫자를 표시합니다. 여기서 첫 번째 피연자의 번호는 0입니다. 그러므로 MAOC 명령어에서 확장 에러 코드가 4라면 출력 피연산자 값을 나타냅니다. 그런 다음 명령어에 허용된 값 범위를 참조하여 값을 확인해야 합니다. 모션 명령어는 모션 에러 코드 .ERR 항목을 참조하십시오.
실행
ERR | EXERR | 그러면 | 시정 조치 |
원인 | |||
36 | 변화 | 출력 캠 배열 크기가 지원되지 않거나 배열 구성원 값 중 하나 이상이 범위를 벗어납니다. 출력 비트가 0보다 작거나 31보다 큽니다. 래치 유형이 0보다 작거나 3보다 큽니다. 래치 해제 유형이 0보다 작거나 5보다 큽니다. 왼쪽 또는 오른쪽 위치가 캠 범위를 벗어나고 래치 또는 래치 해제 유형이 "위치" 또는 "위치 및 활성화"로 설정됩니다. 기간이 0 이하, 래치 해제 유형이 "기간" 또는 "기간 및 활성화"로 설정됩니다. 활성화 유형이 0보다 작거나 3보다 크고 래치 또는 래치 해제 유형이 "활성화", "위치 및 활성화" 또는 "기간 및 활성화"로 설정됩니다. 활성화 비트가 0보다 작거나 31보다 크고 래치 또는 래치 해제 유형이 "활성화", "위치 및 활성화" 또는 "기간 및 활성화"로 설정됩니다. 래치 유형이 "비활성", 래치 해제 유형이 "기간" 또는 "기간 및 활성화"로 설정됩니다. | 잘못된 출력 캠 |
37 | 변화 | 출력 보상 배열 크기가 지원되지 않거나 해당 구성원 중 하나의 값이 범위를 벗어납니다. | 잘못된 출력 보상 |
에러 36 및 37과 연관된 배열 인덱스가 모션 명령어 데이터 유형의 .SEGMENT에 저장됩니다. 여러 에러 중 첫 번째 에러만 저장됩니다. 감지된 특정 에러는 확장된 에러 코드에 저장됩니다. 출력 캠 표를 동적으로 수정하는 기능이 설정되어 있는 경우 MAOC가 처리 중일 때 잘못된 출력 캠 에러 36이 발생할 수 있습니다. 일반적으로 에러가 감지된 캠 요소는 건너뜁니다. 다음은 계속 처리될 예외입니다. 에러 2, 래치 유형이 잘못됨. 래치 유형이 비활성으로 기본 설정됩니다. 에러 3, 래치 해제 유형이 잘못됨. 래치 해제 유형이 비활성으로 기본 설정됩니다. 에러 8, 기간 및 활성화인 래치 해제 유형. 활성화 래치 해제 유형으로 작동합니다. | |||
상태 비트
MAOC에 영향 받는 상태 비트
MAOC 명령어를 시작할 수 있는지 판단하기 위해 상태 비트를 사용할 수 있습니다. MAOC 명령어는 모션 축 구조의 다음 상태 워드에 영향을 미칩니다.
- OutputCamStatus
- OutputCamPendingStatus
- OutputCamLockStatus
- OutputCamTransitionStatus
위의 각 상태 워드는 0 ~ 7 비트가 8개 실행 대상에 해당하는 DINT입니다. 비트 0은 실행 대상 0이고 비트 1은 실행 대상 1 등으로 됩니다.
실행 일정이 정방향만, 역방향만 또는 양방향으로 설정된 경우 다음 두 조건 중 하나라도 있으면 MAOC 명령어를 시작할 수 있습니다.
실행 대상에 해당하는 OutputCamStatus 비트 = 거짓
실행 대상에 해당하는 OutputCamStatus 비트 = 참
실행 대상에 해당하는 OutputCamLockStatus 비트 = 거짓
실행 대상에 해당하는 OutputCamTransitionStatus 비트 = FALSE
실행 일정이 보류 중인 경우 다음 두 조건 중 하나라도 있으면 MAOC 명령어가 시작됩니다.
실행 대상에 해당하는 OutputCamStatus 비트 = 거짓
실행 대상에 해당하는 OutputCamStatus 비트 = 참
실행 대상에 해당하는 OutputCamTransitionStatus 비트 = FALSE
축 및 모듈 폴트 조건으로 인한 출력 캠 아밍 해제
컨트롤러가 다음 폴트 중 하나를 감지하는 경우 출력 캠을 아밍 해제합니다.
- Axis_Servo 및 Axis_Servo_Drive의 경우 축 피드백 손실 폴트
- Axis_Servo 및 Axis_Servo_Drive의 경우 모듈 폴트
- Axis_Consumed의 경우 물리적 축 폴트
이러한 폴트로 인해 신뢰할 수 없는 피드백 데이터를 생성합니다.
또한 MAOC 명령어가 시작될 때 축 폴트가 존재하는 경우 명령어 에러가 발생합니다.
예
래더 다이어그램

구조화된 텍스트
MAOC(Axis1, ExecutionTarget1, MotionControl1, Output1, Input1, OutputCam1[0], CamStartPosition1, CamEndPosition1, OutputComp1[0], Persistent, Immediate, AxisArmPosition1, CamArmPosition1, actual);
의견을 작성 부탁드립니다.