안전 방향(SDI)
이 명령어는
Compact GuardLogix
5380, GuardLogix
5580 및 ControlLogix 5590 컨트롤러에만 적용됩니다.안전 방향(SDI) 명령어는 모터 또는 축의 위치를 모니터링하여 정의된 거리를 초과해서 의도하지 않은 방향으로 이동하는 움직임을 감지합니다.
사용 가능한 언어
래더 다이어그램

펑션 블록
이 명령어는 함수 블록에서 사용할 수 없습니다.
구조화된 텍스트
이 명령어는 구조화된 텍스트에서 사용할 수 없습니다.
안전 방향 적용
안전 방향은 모터 또는 축의 위치를 제공하는 CIP Safety 드라이브 및 피드백을 스케일링하는 SFX(안전 피드백 인터페이스) 명령어와 함께 사용됩니다. 작동 중에 모터가 지정된 제한을 초과해서 의도하지 않은 방향으로 이동할 경우 SDI가 신호를 보냅니다. 출력은 SS1, SS2 또는 STO와 같은 응용 프로그램별 동작을 시작하는 데 사용됩니다.
피연산자
중요:
다음과 같은 경우 작업 시 예외가 발생할 수 있습니다.
- 출력 태그 피연산자가 덮어써집니다.
- 구조 피연산자의 구성원이 덮어써집니다.
- 구조 피연산자를 여러 명령어에서 공유합니다.
주의:
SDI 안전 제어 구조에는 내부 상태 정보가 포함되어 있습니다. 실행 모드 중 구성 피연산자 중 하나가 변경되면 보류 중인 편집을 수락하고 컨트롤러 모드를 프로그램 모드에서 실행 모드로 전환하여 변경 내용을 적용합니다.
다음 표에는 명령어를 구성하는 데 사용되는 피연산자가 나와 있습니다.
피연산자 | 데이터 유형 | 형식 | 설명 |
|---|---|---|---|
Safety Control | SAFE_DIRECTION | 태그 | 명령어의 적절한 연산에 필요한 데이터 구조. |
Restart Type | 목록 항목 | 이 입력은 명령어의 재시작 유형을 선택합니다. 수동(0) 명령어가 작동할 수 있도록 하려면 요청이 제거된 후에 리셋 입력을 0에서 1로 전환해야 합니다. 자동(1) 요청이 제거되고 폴트가 없으면([FP] = OFF(0)) 명령어가 리셋됩니다. 리셋되면 명령어를 작동할 수 있습니다. 주의: 자동 재시작은 사용으로 인해 불안전한 조건이 발생하지 않는다고 입증된 적용 상황에서만 사용하십시오. | |
Cold Start Type | 목록 항목 | 이 입력은 컨트롤러 전원을 공급하거나 컨트롤러 모드를 실행으로 변경할 때의 동작을 선택합니다. 수동(0) 명령어가 작동할 수 있도록 하려면 요청이 제거되면 리셋 입력을 0에서 1로 전환해야 합니다. 자동(1) 요청이 제거되면 명령어가 리셋됩니다. |
다음 표에 명령어 입력이 설명되어 있습니다.
피연산자 | 데이터 유형 | 형식 | 설명 |
|---|---|---|---|
Position Window | REAL | 즉시 태그 | 이 피연산자는 폴트가 발생하기 전에 의도하지 않은 방향으로 허용된 증분 이동의 양을 설정합니다. 범위: 0보다 큰 모든 REAL 값. |
Feedback SFX | SAFETY_FEEDBACK_INTERFACE | 태그 | 이 피연산자는 위치 데이터를 제공합니다. 이 피연산자를 이 SDI 명령어에 사용되는 SFX 안전 제어 태그에 지정합니다. 다음과 같은 SFX 안전 제어 태그 구성원이 사용됩니다. FeedbackSFX.FeedbackPosition 단위: 피드백 카운트 FeedbackSFX.PositionScalingOut 단위: 피드백 카운트/위치 단위 |
Positive Request | BOOL | 태그 | 이 피연산자는 SDI 기능을 활성화해 의도하지 않은 양의 모션 확인을 시작할 수 있습니다. ON(1): 양의 모션 확인을 시작합니다. 끄기(OFF)(0): 재시작 유형에 따라 기능을 리셋할 수 있음 |
Negative Request | BOOL | 태그 | 이 피연산자는 SDI 기능을 활성화해 의도하지 않은 음의 모션 확인을 시작할 수 있습니다. ON(1): 음의 모션 확인을 시작합니다. 끄기(OFF)(0): 재시작 유형에 따라 기능을 리셋할 수 있음 |
Reset 1 | BOOL | 태그 | 이 피연산자는 SDI 기능을 리셋합니다. OFF(0)에서 ON(1)으로 전환할 경우 요청이 OFF(0)이고 폴트 조건이 제거되면 SDI 기능과 폴트 있음[FP]이 리셋됩니다. 리셋 필요[RR] 출력은 기능을 리셋하려면 리셋이 필요한 경우를 나타냅니다. |
1
일부 안전 표준에서는 리셋 입력의 전환을 모니터링해야 합니다. 리셋이 안전 기능을 리셋하는 데 사용되는 경우, 리셋 입력이 ‘높음’에서 ‘낮음’으로 또는 ‘낮음’에서 ‘높음’으로 전환했음을 검증하기 위해 추가 로직이 필요할 수 있습니다.이 표에 명령어 출력에 대한 설명이 나와 있습니다. 이 출력은 다른 로직 루틴에 사용되는 외부 태그(안전 출력 모듈)나 내부 태그입니다.
피연산자 | 데이터 유형 | 설명 |
|---|---|---|
Output 1 [O1] | BOOL | ON(1): 명령어가 실행 중이고 기능에 폴트가 없음을 나타냅니다. 끄기(OFF)(0): 아래 조건 중 하나가 충족될 경우:
|
Reset Required [RR] | BOOL | ON(1): 명령어를 다시 시작하거나 폴트를 해제하려면 리셋이 필요함을 나타냅니다. 리셋 시퀀스는 리셋 입력을 참조하십시오. 끄기(OFF)(0): 자동 재시작 작동에서 정상 작동. |
Fault Present [FP] | BOOL | ON(1): 명령어에 폴트가 있습니다. 끄기(OFF)(0): 명령어가 정상적으로 작동 중입니다. |
Diagnostic Code | SINT | 이 출력은 명령어의 진단 상태를 나타냅니다. 특정 코드와 작업은 진단 코드 및 시정 조치를 참조하십시오. |
Fault Type | SINT | 이 출력은 발생한 폴트 유형을 나타냅니다. 특정 코드와 작업은 폴트 코드 및 시정 조치 섹션을 참조하십시오. |
이 표에는 사용자가 지정한 태그에 작성되는 명령어 출력에 대한 설명이 나와 있습니다.
피연산자 | 데이터 유형 | 형식 | 설명 |
|---|---|---|---|
SDI Active | BOOL | 태그 | SDI 명령어가 이 태그에 SDI 활성 상태를 씁니다. 끄기(OFF)(0): SDI 비활성 ON(1): SDI 활성
팁:
SDI 활성 피연산자를 드라이브 모듈의 모션 안전 인스턴스에 해당하는 안전 출력 태그 구조의 SDI 활성 구성원에 할당합니다. 모션 태스크와 안전 태스크를 조정하도록 드라이브 축 태그 구조에서 해당 축 안전 상태가 자동으로 업데이트됩니다.
|
SDI Limit | BOOL | 태그 | SDI 명령어가 이 태그에 SDI 제한 상태를 씁니다. 끄기(OFF)(0): 축이 안전 방향으로 이동합니다. ON(1): 축이 의도하지 않은 방향으로 이동합니다.
팁:
SDI 제한 피연산자를 드라이브 모듈의 모션 안전 인스턴스에 해당하는 안전 출력 태그 구조의 SDI 제한 구성원에 할당합니다. 모션 태스크와 안전 태스크를 조정하도록 드라이브 축 태그 구조에서 해당 축 안전 상태가 자동으로 업데이트됩니다.
|
SDI Fault | BOOL | 태그 | SDI 명령어가 이 태그에 SDI 폴트 상태를 씁니다. 끄기(OFF)(0): 폴트 없음 ON(1): Faulted 다음 폴트 유형과 해당 조건에 대해 SDI 폴트가 ON(1)으로 설정됩니다.
명령어 입력 피연산자 값이 범위에서 벗어납니다.
모니터링에 사용된 피드백이 유효하지 않거나 SDI가 요청될 때 SFX 명령어가 실행 중이 아닙니다.
팁:
SDI 폴트 피연산자를 드라이브 모듈의 모션 안전 인스턴스에 해당하는 안전 출력 태그 구조의 SDI 폴트 구성원에 할당합니다. 모션 태스크와 안전 태스크를 조정하도록 드라이브 축 태그 구조에서 해당 축 안전 상태 태그가 자동으로 업데이트됩니다.
|
중요:
어떠한 상황에서도 명령어 출력 태그에 쓰기 작업을 수행하지 마십시오.
연산 상태 플래그에 영향
아니요
주 폴트/부 폴트
이 명령어에만 해당되는 것은 없습니다. 배열 인덱스 폴트의 경우 배열을 통한 인덱스를 참조하세요.
실행
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | .01, .FP, .RR, .SDIActive, .SDILimit, .SDIFault 출력이 OFF(0)로 해제됩니다. 진단 코드 출력을 0으로 설정하였습니다. 폴트 유형 출력이 1로 설정됩니다. |
렁-입력-조건이 거짓임 | .O1, .SDIActive, .SDILimit가 OFF(0)로 해제됩니다. 렁이 거짓으로 전환되었을 때 명령어 폴트가 있으면 폴트 조건이 유지되고 진단 코드가 표시됩니다. |
렁-입력-조건이 참임 | 명령어가 실행됩니다. |
사후 스캔 | N/A |
연산
정상 작동
이전에 리셋되었고 양의 요청 입력 또는 음의 요청 입력이 ON(1)으로 전환되면 SDI 기능이 시작됩니다. 이 때 현재 위치가 캡처됩니다. 현재 위치를 기준으로 위치 창 제한을 초과해서 의도하지 않은 방향으로 이동할 경우 해당 제한 출력이 설정됩니다. 캡처된 위치를 초과해서 허용된 방향으로 이동할 경우 캡처된 위치가 허용된 방향의 이동 범위에 따라 업데이트됩니다. 제한 출력이 설정되면 SDI 기능이 리셋될 때까지 유지됩니다.
SDI 명령어에 사용된 모든 위치 값은 위치 단위로 표시됩니다. 위치 단위는 사용자가 특정 응용 프로그램에 따라 정의하며 SFX 명령어에 구성됩니다.
통과 태그
안전 모션 모니터링 드라이브에 모션 태스크로 제어되는 모션 축이 하나 이상 있습니다. 안전 모션 모니터링 드라이브에는 안전 컨트롤러의 안전 태스크에 사용되는 안전 기능을 지원하는 하나 이상의 모션 안전 인스턴스도 있습니다. 드라이브 모션 안전 인스턴스와 관련된 태그 중에는 통과 태그가 있습니다. 다음 표에 SDI 기능의 통과 태그와 해당 축 태그가 나와 있습니다.
SDI 명령어 출력 | 모션 안전 인스턴스의 통과 태그 | 안전 모션 모니터링 드라이브 동작 | 축 태그 |
|---|---|---|---|
SDI 활성 | module 1 :SO.SDIActive[instance2 ] | 업데이트 태그 | axis 3 .SDIActiveStatus |
SDI 제한 | module 1 :SO.SDILimit[instance2 ] | 업데이트 태그 | axis 3 .SDILimitStatus |
SDI 폴트 | module 1 :SO.SDIFault[instance2 ] | 업데이트 태그 | axis 3 .SDIFault |
1
module은 Logix Designer I/O 구성 트리에 있는 드라이브 모듈의 이름입니다.2
instance는 이중 축 드라이브의 경우 1 또는 2이고, 그렇지 않은 경우 널입니다.3
axis는 Logix Designer 모션 그룹의 축 이름이며 모듈과 연결되어 있습니다.SDI 활성, SDI 제한, SDI 폴트 명령어 출력을 모션 안전 인스턴스 통과 태그에 할당하면 해당 축 안전 상태 및 축 안전 폴트 태그가 모션 컨트롤러에서 자동으로 업데이트됩니다. 모션 컨트롤러의 모션 제어 태스크가 축 안전 상태 및 축 안전 폴트 태그를 읽어 안전 태스크와 모션 태스크 사이의 작동을 조정합니다. 다음은 일반적인 이벤트 시퀀스입니다.
- 안전 응용 프로그램이 축이 음의 트래블 방향으로 이동하는 것을 방지하는 입력을 수신합니다.
- 안전 응용 프로그램이 음의 요청 입력을 ON(1)으로 설정하여 SDI 기능을 요청합니다.
- SDI 명령어가 SDI 활성 출력을 설정하고 드라이브에 모션 안전 인스턴스의 module:SO.SDIActive[instance] 태그를 씁니다.
- 드라이브의 모션 안전 인스턴스가 모션 컨트롤러에서 읽은 축 안전 상태 태그를 업데이트합니다.
- 모션 응용 프로그램이 양의 트래블 방향으로만 움직이도록 축을 계속 작동합니다.
정상 작동, 자동 재시작
다음 다이어그램에 자동 재시작으로 구성된 경우 정상 작동이 표시됩니다. 음의 요청이 ON(1)으로 전환되면 SDI 기능이 작동됩니다. 증분 위치가 음의 방향으로 위치 창보다 더 많은 거리를 이동할 경우 SDI 제한이 설정됩니다. SDI 제한이 설정되면 음의 요청을 OFF(0)로 설정하여 기능을 리셋해야 합니다.

정상 작동, 수동 재시작
수동 재시작이 구성된 경우 후속 작동을 실행하려면 SDI 기능을 리셋해야 합니다. 리셋 필수 출력은 요청 입력이 OFF(0)로 전환된 후 명령어를 리셋하려면 리셋 입력을 OFF(0)에서 ON(1)으로 전환해야 함을 나타냅니다. 다음 다이어그램에 수동 재시작 유형의 정상 작동이 표시됩니다.

폴트 코드 및 시정 조치
폴트 코드 | 설명 | 시정 조치 |
|---|---|---|
1 | 폴트 없음 | 없음 |
2 | 유효하지 않은 구성 폴트 |
|
101 | 위치 창 계산 오버플로 폴트. 피드백 SFX 태그의 위치 스케일링에 위치 창을 곱한 값이 (2^31 – 1)을 초과합니다. |
|
102 | SFX 명령어에 준비 안 됨 폴트 | SDI를 요청하기 전에 이 SDI 명령어에 대한 입력을 제공하는 SFX 명령어가 실행 중이며 폴트가 없는지 확인하십시오. |
진단 코드 및 시정 조치
진단 코드 | 설명 | 시정 조치 |
|---|---|---|
0 | 진단 정보 없음 | 없음 |
10 | SDI 기능이 실행 중일 때 렁이 거짓으로 전환되었습니다. | 이 명령어가 활성화되었는지 확인하십시오. |
15 | 음의 요청 입력과 양의 요청 입력이 모두 동일한 스캔에서 ON(1) 상태로 설정되어 있었습니다. | 동시에 양의 방향으로의 이동 또는 음의 방향으로의 이동만 확인할 수 있습니다. |
20 | 위치 창 값이 올바르지 않습니다. | 위치 창 값이 양수여야 합니다. |
21 | 양의 방향으로 제한이 초과되었습니다. |
|
22 | 음의 방향으로 제한이 초과되었습니다. |
|
예

의견을 작성 부탁드립니다.