모션 조정 변경 다이내믹(Motion Coordinated Change Dynamics, MCCD)

이 정보는
CompactLogix
5370,
ControlLogix
5570,
Compact GuardLogix
5370,
GuardLogix
5570,
Compact GuardLogix
5380,
CompactLogix
5380,
ControlLogix
5580,
GuardLogix
5580 및 ControlLogix 5590 컨트롤러에 적용됩니다.
모션 조정 변경 다이내믹(Motion Coordinated Change Dynamics, MCCD) 명령어는 지정된 좌표 시스템의 경로 다이내믹에서 변경을 시작합니다. MCCD는 모션 유형에 따라 좌표 시스템에서 현재 활성인 조정 모션 프로파일을 변경합니다.
중요: 명령어의 모션 제어 속성에 사용하는 태그는 한 번만 사용해야 합니다. 다른 명령어에서 모션 제어 태그를 다시 사용할 경우 오작동이 발생할 수 있습니다. 장비 손상 또는 부상으로 이어질 수도 있습니다.
중요: 속도 및/또는 끝 위치 오버슈트 위험
이동 역학을 변경하거나(MCD 또는 MCCD) 마지막 명령어가 완료되기 전에 새로운 명령어를 시작하는 등의 방법을 사용하여 이동 파라미터를 동적으로 변경하는 경우 속도 및/또는 끝 위치 오버슈트 위험이 발생할 수 있다는 점을 알아두십시오.
사다리꼴 속도 프로파일은 이동이 감속 중이거나 감속 시점에 가까워지는 상태에서 최대 감속도가 감소하면 오버슈트할 수 있습니다.
S-곡선 속도 프로파일은 다음 경우에 오버슈트할 수 있습니다.
이동이 감속 중이거나 감속 시점에 가까워지는 상태에서 최대 감속도가 감소하는 경우 또는
최대 가속 저크가 감소하고 축이 가속 중인 경우 그렇지만 시간 비율(%)로 저크가 지정된 경우 저크가 간접적으로 변경될 수 있습니다.
아키텍처 및 안전 지원
아키텍처
표준
안전
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 및 GuardLogix 5570 컨트롤러
예
아니요
Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 및 ControlLogix 5590 컨트롤러
예
아니요
이것은 전환 명령어입니다. 사용할 경우 다음 단계를 수행하십시오.
  • 래더 로직에서 명령어가 실행되어야 할 때마다 렁-입력-조건을 거짓에서 참으로 전환하는 명령어를 삽입합니다.
  • Structured Text 루틴에서 명령어가 전환 시에만 실행되도록 하는 조건을 삽입합니다.
사용 가능한 언어
래더 다이어그램
L5K_MCCD_LD_avail_V31
펑션 블록
이 명령어는 함수 블록에서 사용할 수 없습니다.
구조화된 텍스트
MCCD(CoordinateSystem, MotionControl, MotionType, ChangeSpeed, Speed, SpeedUnits, ChangeAccel, AccelRate, AccelUnits, ChangeDecel, DecelRate, DecelUnits, ChangeAccelJerk, AccelJerk, ChangeDecelJerk, DecelJerk, JerkUnits, Scope);
피연산자
명령어 내에서 혼합된 데이터 유형을 위한 데이터 변환 규칙이 있습니다. 데이터 변환 항목을 참조하십시오.
입력
이 표에 명령어 입력에 대한 설명이 나와 있습니다.
피연산자
유형
형식
설명
Coordinate System
COORDINATE_SYSTEM
태그
조정된 축 그룹.
REF_TO 모션 데이터 유형을 지원하는 컨트롤러의 경우 좌표계 피연산자 유형을 REF_TO_COORDINATE_SYSTEM 유형으로 바꿀 수 있습니다.
Motion Control
MOTION_INSTRUCTION
태그
명령어 상태 파라미터에 액세스하는 데 사용되는 구조.
Motion Type
DINT
즉시
1 = 조정 이동
Change Speed
DINT
즉시
0 = 아니요
1 = 예
Speed
SINT, INT, DINT 또는 REAL
즉시
태그
[좌표 단위]
Speed Units
DINT
즉시
0 = 단위/초
1 = 최대값 비율(%)
4 = 단위/마스터 단위
Change Accel
DINT
즉시
0 = 아니요
1 = 예
Accel Rate
SINT, INT, DINT 또는 REAL
즉시 태그
[좌표 단위]
Accel Units
DINT
즉시
0 = 단위/초
2
1 = 최대값 비율(%)
4 = 단위/마스터 단위
2
Change Decel
DINT
즉시
0 = 아니요
1 = 예
Decel Rate
SINT, INT, DINT 또는 REAL
즉시 태그
[좌표 단위]
Decel Units
DINT
즉시
0 = 단위/초
2
1 = 최대값 비율(%)
4 = 단위/마스터 단위
2
Change Accel Jerk
DINT
즉시
0 = 아니요
1 = 예
Accel Jerk
SINT, INT, DINT 또는 REAL
즉시 태그
가속 저크 피연산자 값을 반드시 입력해야 합니다. 이 명령어는 프로파일이 S-곡선으로 구성된 경우에만 값을 사용합니다.
가속 저크는 좌표 시스템의 가속 저크율입니다.
다음 값을 사용하여 시작합니다.
가속 저크 = 100 (시간 비율(%))
저크 단위 = 2
Change Decel Jerk
DINT
즉시
0 = 아니요
1 = 예
Decel Jerk
SINT, INT, DINT 또는 REAL
즉시 태그
감속 저크 피연산자의 값을 반드시 입력해야 합니다. 이 명령어는 프로파일이 S-곡선으로 구성된 경우에만 값을 사용합니다.
감속 저크는 좌표 시스템의 감속 저크율입니다.
다음 값을 사용하여 시작합니다.
감속 저크 = 100 (시간 비율(%))
저크 단위 = 2
Jerk Units
DINT
즉시
0 = 단위/초
3
1 = 최대값 비율(%)
2 = 시간 비율(%)(이 값을 사용하여 시작하기)
4 = 단위/마스터 단위
3
6 = 시간 마스터 구동 비율(%)
Scope
DINT
즉시
0 = 활성 모션
1 = 활성 및 보류 중 모션
구조화된 텍스트
스트럭쳐드 텍스트의 피연산자 값에 열거형을 입력할 때 여러 개의 워드 열거형을 공백 없이 입력해야 합니다. 예: 감속도 단위를 입력할 때 래더 로직에 표시된 초당 단위
2
대신 unitspersec
2
로 값을 입력해야 합니다.
스트럭처드 텍스트 내 식의 구문에 대한 자세한 내용은 구조화된 텍스트 구문 항목을 참조하십시오.
열거 값이 있는 피연산자의 경우 선택사항을 입력합니다.
피연산자
다음 옵션은
텍스트로 입력
또는
좌표계
열거형 없음
tag
모션 제어
열거형 없음
tag
모션 유형
coordinatedmove
1 = Coordinated Move
속도 변경
아니요
예
0 = No
1 = Yes
속도
열거형 없음
immediate or tag
속도 단위
unitspersec
%ofmaximum
unitspermasterunit
0
1
4
가속도 변경
아니요
예
0 = No
1 = Yes
가속률
열거형 없음
immediate or tag
가속도 단위
unitspersec2
%ofmaximum
unitspermasterunit2
0
1
4
감속 변경
아니요
예
0 = No
1 = Yes
감속률
열거형 없음
immediate or tag
감속 단위
unitspersec2
%ofmaximum
unitspermasterunit2
0
1
4
가속 저크 변경
아니요
예
0 = No
1 = Yes
가속 저크
열거형 없음
immediate or tag
You must always enter a value for the Accel operand. This instruction only uses the value if the Profile is configured as S-curve.
Use this value to get started.
Accel Jerk = 100 (% of Time)
감속 저크 변경
아니요
예
0 = No
1 = Yes
감속 저크
열거형 없음
immediate or tag
You must always enter a value Decel Jerk operand. This instruction only uses the value if the Profile is configured as S-curve.
Use this value to get started.
Decel Jerk = 100 (% of Time)
Jerk Units = 2
저크 단위
unitspersec3
%ofmaximum
%oftime
unitspermasterunit3
%oftimemasterdriven
0
1
2 (use this value to get started)
4
6
범위
activemotion
activeandpendingmotion
0 = Active Motion
1 = Active and Pending Motion
출력
다음 표에 명령어 출력이 설명되어 있습니다.
니모닉
설명
.EN (Enable) Bit 31
활성화 비트는 렁이 거짓에서 참으로 전환되는 경우 설정됩니다. 렁이 참에서 거짓으로 전환되면 리셋됩니다.
.DN (Done) Bit 29
완료 비트는 렁 상태가 거짓에서 참으로 전환할 때 리셋됩니다. 목표 위치 성공적으로 계산되면 설정됩니다.
.ER (Error) Bit 28
에러 비트는 렁 상태가 거짓에서 참으로 전환할 때 리셋됩니다. 목표 위치 계산이 제대로 완료되지 않으면 설정됩니다.
설명
MCCD는 전환 명령어에 해당합니다.
  • 릴레이 래더에서 명령어가 실행되어야 할 때마다 렁-입력-조건을 거짓에서 참으로 전환합니다.
  • 스트럭쳐드 텍스트에서는 명령어가 전환 시에만 실행되도록 조건을 구성합니다.
좌표계
좌표 시스템 피연산자는 좌표 시스템의 차원을 정의하는 모션 축 집합을 지정합니다. 좌표 시스템의 기본 축이 최대 3개까지 지원됩니다.
모션 유형
모션 유형 피연산자는 변경할 모션 프로파일을 결정합니다. 현재 조정 이동 옵션만 사용할 수 있습니다.
조정 이동 - 선택하면 조정 이동 옵션이 좌표 시스템에서 현재 활성인 이동의 모션을 변경합니다.
속도 변경
속도 변경 피연산자는 조정 모션 프로파일의 속도를 변경할지 여부를 결정합니다.
  • 아니요 - 조정 모션의 속도가 변경되지 않습니다.
  • 예 - 조정 모션의 속도가 속도 및 속도 단위 피연산자에 정의된 값에 의해 변경됩니다.
속도
속도 피연산자는 조정 이동의 경로에서의 최대 속도를 정의합니다.
속도 단위
속도 단위 피연산자는 지정된 좌표 시스템의 좌표 단위 값을 직접 입력하거나 좌표 시스템에 정의된 최대값의 비율(%)로 속도 피연산자에 적용된 단위를 정의합니다.
가속도 변경
가속도 변경 피연산자는 조정 모션 프로파일의 가속도를 변경할지 여부를 결정합니다.
  • 아니요 - 조정 모션의 가속도가 변경되지 않습니다.
  • 예 - 조정 모션의 가속도가 가속도 및 가속도 단위 피연산자에 정의된 값에 의해 변경됩니다.
가속률
가속률 피연산자는 조정 이동의 경로를 따라 최대 가속도를 정의합니다.
가속도 단위
가속도 단위 피연산자는 지정된 좌표 시스템의 좌표 단위 값을 직접 입력하거나 좌표 시스템에 정의된 최대값의 비율(%)로 가속률 피연산자에 적용된 단위를 정의합니다.
감속 변경
감속도 변경 피연산자는 조정 모션 프로파일의 감속도를 변경할지 여부를 결정합니다.
  • 아니요 - 조정 모션의 감속도가 변경되지 않습니다.
  • 예 - 조정 모션의 감속도가 감속도 및 감속도 단위 피연산자에 정의된 값에 의해 변경됩니다.
감속률
감속률 피연산자는 좌표 이동의 경로를 따라 최대 감속도를 정의합니다.
감속 단위
감속도 단위 피연산자는 지정된 좌표 시스템의 좌표 단위 값을 직접 입력하거나 좌표 시스템에 정의된 최대값의 비율(%)로 감속률 피연산자에 적용된 단위를 정의합니다.
가속도 및 감속도 값 변경이 모션 프로파일에 미치는 영향
아래의 그래프는 속도가 최댓값에 가까워질 때 MCCD 명령어를 사용하여 가속도를 줄이면 어떻게 되는지 보여줍니다. 새로운 가속 저크율이 작아질수록 최대 가속도 변화가 추가로 제한됩니다. 가속도가 0으로 되는 데 필요한 시간이 추가됨에 따라 속도 오버슈트가 발생합니다. 속도를 다시 프로그래밍된 최댓값으로 되돌리기 위해 다른 프로파일이 생성됩니다.
가속도 변경의 영향
MCCD Effect of Change to Acceleration
이 그래프는 속도 및 위치가 각각의 목표 끝점에 가까워질 때 MCCD 명령어를 사용하여 감속도를 줄이면 어떻게 되는지 보여줍니다. 새로운 감속 저크율이 작아집니다. 0으로 감속하는 데 필요한 시간으로 인해 속도 오버슈트가 발생하여 속도가 0을 지나서 마이너스로 됩니다. 속도가 0으로 돌아갈 때까지 축 모션 또한 역방향으로 이루어집니다. 위치를 다시 프로그래밍된 목표로 되돌리기 위해 추가로 프로파일이 생성됩니다.
감속도 변경의 영향
MCCD Effect of Change to Deceleration
가속 저크 변경
가속 저크 변경 피연산자는 조정 모션 프로파일의 가속 저크를 변경할지 여부를 결정합니다.
  • 아니요 - 조정 모션의 가속 저크가 변경되지 않습니다.
  • 예 - 조정 모션의 가속도가 가속 저크율 및 저크 단위 피연산자에 정의된 값에 의해 변경됩니다.
가속 저크
가속 저크는 프로그래밍된 이동의 최대 가속 저크를 정의합니다. 가속 저크 계산에 대한 자세한 내용은 아래의 저크 단위를 참조하십시오.
감속 저크 변경
감속 저크 변경 피연산자는 조정 모션 프로파일의 감속 저크를 변경할지 여부를 결정합니다.
  • 아니요 - 조정 모션의 감속 저크가 변경되지 않습니다.
  • 예 - 조정 모션의 감속도가 감속 저크율 및 저크 단위 피연산자에 정의된 값에 의해 변경됩니다.
감속 저크
감속 저크는 프로그래밍된 이동의 최대 감속 저크를 정의합니다. 감속 저크 계산에 대한 자세한 내용은 저크 단위를 참조하세요.
저크 단위
저크 단위는 가속 저크 및 감속 저크 피연산자에 입력한 값에 적용되는 단위를 정의합니다. 지정된 좌표 시스템의 위치 단위 값을 직접 입력하거나 비율로 입력할 수 있습니다. 최대값 비율(%)을 사용하여 구성된 경우 좌표 시스템 속성에 지정된 최대 가속 저크 및 최대 감속 저크 피연산자의 비율로 저크가 적용됩니다. 시간 비율(%)을 사용하여 구성된 경우 명령어에 지정된 속도, 가속률 및 감속률을 기준으로 하는 비율 값이 사용됩니다.
엔지니어링 단위를 시간 비율(%)로 변환하려면 다음 등식을 사용하십시오.
L5K_MCCD_Jerk units equation 1
시간 비율(%)을 엔지니어링 단위로 변환하려면 다음 등식을 사용하십시오.
MCCD_Jerk units equation 2
범위
범위 피연산자에 해당하는 활성 모션을 선택하면 변경 내용이 활성인 조정 모션 명령어의 모션 다이내믹에만 영향을 미치도록 지정됩니다. 활성 및 보류 중 모션을 선택하면 변경 내용이 활성인 조정 모션 명령어와 함께 큐에 보류 중인 조정 모션 명령어의 모션 다이내믹에도 영향을 미치도록 지정됩니다. 현재는 큐 사이즈가 활성 명령어 다음 한 명령어로 제한됩니다.
MDSC와 마스터 구동 속도 제어(Master Driven Speed Control, MDSC)의 시간 구동 모드 간 변경
MCCD 명령어를 사용하여 마스터 구동 모드에서 시간 구동 모드로, 또는 그 반대로 변경할 수 없습니다. 모드 변경을 시도할 경우 런타임 에러가 표시됩니다.
폴트 코드
마스터 구동 속도 제어(Master Driven Speed Control, MDSC) 기능의 경우 시스템 모드를 마스터 구동에서 시간 구동으로, 아니면 시간 구동에서 마스터 구동으로 변경하려고 시도하면 런타임에 에러가 발생합니다.
확장 에러 코드
확장 에러 코드를 사용하면 이 특정 명령어에 대해 표시되는 에러 메세지를 추가로 정의할 수 있습니다. 메세지와 연결된 에러 코드에 따라 확장 코드의 동작이 다릅니다.
서보가 꺼진 상태 (5), 종료 상태 (7), 서보가 아닌 축 유형 (8), 축 구성 안 됨 (11), 호밍 중 에러(16) 및 잘못된 축 데이터 유형 (38) 에러의 확장 에러 코드는 모두 동일한 방식으로 작동합니다. 확장 에러 코드에 대해 0 ~ n 사이의 숫자가 표시됩니다. 이 숫자는 좌표 시스템에서 에러 상태인 축을 나타내는 인덱스입니다. 모션 명령어의 모션 에러 코드(ERR)를 참조하십시오.
MCCD 명령어에서 에러 코드 13 - 매개 변수가 범위를 벗어나면 확장 에러에서 문제의 매개 변수를 나타내는 숫자(0부터 시작하여 위에서 아래로 번호순으로 페이스 플레이트에 나열됨)가 반환됩니다. 예를 들어 2는 이동 유형 매개 변수 값이 에러 상태임을 나타냅니다.
참조 에러 코드 및 번호
확장 에러 번호 표시
명령어 파라미터
설명
범위를 벗어난 파라미터(13)
2
이동 유형
이동 유형이 0보다 작거나 1보다 큽니다.
범위를 벗어난 파라미터(13)
4
속도
속도가 0 미만입니다.
범위를 벗어난 파라미터(13)
7
가속률
가속률이 0 이하입니다.
범위를 벗어난 파라미터(13)
10
감속률
감속률이 0 이하입니다.
에러 코드 54 – 최대 감속도 값이 0인 경우 확장 에러에서 양수(0-n)가 반환되면 좌표 시스템의 문제 있는 축을 지칭합니다. 좌표 시스템 속성의 일반 탭으로 이동하여 축 그리드의 괄호([ ]) 열을 아래를 보고 최대 감속도 값이 0인 축을 확인합니다. 문제의 축 옆에 있는 줄임표 단추를 클릭하여 축 속성 화면에 액세스합니다. 다이내믹 탭으로 이동하여 최대 감속도 값을 적절히 변경합니다. 확장 에러 번호가 -1이라면 좌표 시스템의 최대 감속도 값이 0이라는 의미입니다. 좌표 시스템 속성의 다이내믹 탭으로 이동하여 최대 감속도 값을 수정합니다.
MCCD에 의한 상태 비트 변경:
MDSC(마스터 구동 속도 제어) 기능의 경우 MCCD 명령어를 실행하면(IP 전환) 각 MCLM 및 MCCM 명령어 태그에서 CDA(CalculatedDataAvailable) 상태 비트가 지워져(MCCD 명령어의 범위 변수로 지정) 이벤트 거리가 계산되었음을 나타냅니다. (범위 변수로 활성 모션 명령어나 활성 모션 및 보류 중 명령어(즉 큐에 있는 모든 명령어)를 지정합니다).
MCCD가 완료되고 이벤트 거리가 다시 계산된 후 CalculatedDataAvailable 상태 비트가 다시 설정됩니다. 그러므로 다시 계산된 이벤트 거리를 언제 사용해야 하는지 알아보려면 MCCD 명령어가 완료된 후 CalculatedDataAvailable 상태 비트를 확인하십시오.
MCCD를 실행하면(IP 전환) CDA 비트가 해제됩니다. 새로운 다이내믹 파라미터를 사용하여 이동의 계산 데이터가 다시 계산됩니다. 계산이 완료되면 CDA 비트가 다시 설정됩니다. 다시 계산된 계산 데이터는 MCCD 명령어로 변경된 새로운 역학 파라미터를 사용하여 MCCD 지점이 아니라 원래의 모션 시작점(MSP)에서 이벤트 거리 지점까지 측정됩니다.
MCCD로 인해 속도가 0으로 변경되면 이벤트 거리가 다시 계산되지 않고 CDA 비트가 설정되지 않습니다. 하지만 모션을 다시 시작하도록 MCCD를 한 번 더 실행하면 이벤트 거리가 다시 계산됩니다. 다시 계산된 계산 데이터에는 모션이 중지된 기간이 포함됩니다.
이벤트 거리를 0으로 설정하면 계산 데이터가 이동 길이와 같은 위치와 같도록 설정됩니다. 이것은 내부 지연으로 인해 PC 비트가 설정되기 전에 하나 또는 두 개의 대략적인 업데이트 기간이 될 수 있습니다. 보통 기본 업데이트 기간 중간 무렵에 끝 위치에 도달하므로 결과적으로 추가되는 기본 업데이트 기간이 지연됩니다. 따라서 마스터가 계산된 데이터와 동일한 거리만큼 이동한 경우 슬레이브 이동의 PC 비트가 설정될 때까지 최대 2회 반복을 기다려야 합니다.
연산 상태 플래그에 영향
아니요
주 폴트/부 폴트
이 명령어에만 해당되는 것은 없습니다. 초기화되지 않은 참조 또는 잘못된 유형의 참조가 좌표계 피연산자로 전달되면 주 폴트가 발생할 수 있습니다. 배열 인덱싱 폴트의 경우 배열을 통한 인덱스 항목을 참조하십시오.
실행
래더 다이어그램
조건/상태
수행한 작업
사전 스캔
.EN, .DN, .ER 비트가 거짓으로 해제되었습니다.
렁-입력-조건이 거짓임
.DN 또는 .ER 비트가 참인 경우 .EN 비트는 거짓으로 해제됩니다.
렁-입력-조건이 참임
.EN 비트가 참으로 설정되고 명령어가 실행됩니다.
사후 스캔
N/A
구조화된 텍스트
조건/상태
수행한 작업
사전 스캔
래더 다이어그램 표의 사전 스캔을 참조하십시오.
정상 실행
래더 다이어그램 표에서 렁-입력-조건이 거짓에 이어 렁-입력-조건이 참임을 참조하십시오.
사후 스캔
래더 다이어그램 표에서 사후 스캔 섹션을 참조하십시오.
예
래더 다이어그램
MCCD_LD_ex_v31
구조화된 텍스트
MCCD(myMccdCoordinateSystem, myMccdMotionControl, CoordinatedMove, Yes, MyMccdSpeed, Unitspersec, Yes, MyMsccdAccelRate, Unitspersec2, Yes, MyMccdDecelRate, Unitspersec2, Yes, 100.0, Yes, 100.0, %ofTime, ActiveMotion);
의견을 작성 부탁드립니다.
이 자료에 대한 문의사항이나 요청사항이 있습니까? 여기에 요청사항을 작성 부탁드립니다.
Normal