Target과 함께 비트 필드 배포(BTDT)
이 정보는 CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, GuardLogix 5570, Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 및 ControlLogix 5590 컨트롤러에 적용됩니다. 컨트롤러 구분이 있을 때는 언급합니다.
BTDT 명령어는 먼저 Target을 Destination에 복사합니다. 그런 다음 이 명령어는 지정된 비트를 Source에서 복사해 적절한 위치로 이동한 다음 Destination에 씁니다. Target과 Source는 변경되지 않습니다.
사용 가능한 언어
래더 다이어그램
이 명령어는 래더 다이어그램에서 사용할 수 없습니다.
펑션 블록

구조화된 텍스트
BTDT(BTDT_tag);
피연산자
펑션 블록
피연산자 | 유형 | 형식 | 설명 |
|---|---|---|---|
BTDT tag | FBD_BIT_FIELD_DISTRIBUTE | 구조 | BTDT 구조 |
구조화된 텍스트
입력 매개 변수 | 데이터 유형 | 설명 |
|---|---|---|
EnableIn | BOOL | 선택하지 않으면 명령이 실행되지 않고 출력이 업데이트되지 않습니다. 설정하면 명령어가 실행됩니다. 기본값은 설정 상태입니다. |
Source | DINT | Destination으로 이동할 비트가 포함된 입력값. 유효값 = 모든 정수 |
SourceBit | DINT | Source의 비트 위치(이동을 시작할 가장 낮은 비트 번호). 유효값 = 0~31 |
Length | DINT | 이동할 비트 수 유효값 = 1~32 |
DestBit | DINT | Dest의 비트 위치(비트 복사를 시작할 가장 낮은 비트 번호). 유효값 = 0~31 |
Target | DINT | Source에서 비트를 이동하기 전에 Dest로 이동할 입력값. 유효값 = 모든 정수 |
출력 매개 변수 | 데이터 유형 | 설명 |
|---|---|---|
EnableOut | BOOL | 명령어의 활성화 여부를 나타냅니다. |
Dest | DINT | 비트 이동 작업의 결과. |
스트럭쳐드 텍스트 내에서 식의 구문에 대한 자세한 내용은
스트럭쳐드 텍스트 구문
을 참조하십시오.설명
참인 경우 BTDT 명령어는 먼저 Target을 Destination에 복사하고 비트 그룹을 Source에서 Destination으로 복사합니다. 비트 그룹은 Source bit(그룹의 가장 낮은 비트 번호)와 Length(복사할 비트 수)로 식별됩니다. Destination 비트는 Destination에서 시작할 가장 낮은 비트 수를 식별합니다. Source와 Target은 변경되지 않습니다.
비트 필드의 길이가 Destination을 초과하면 이 명령어는 추가 비트를 저장하지 않습니다. 추가 비트가 다음 워드로 래핑되지 않습니다.
연산 상태 플래그에 영향
컨트롤러 | 연산 상태 플래그에 영향 |
|---|---|
CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 및 ControlLogix 5590 컨트롤러 | 예 |
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 및 GuardLogix 5570 컨트롤러 | 아니요 |
연산 상태 플래그를 참조하십시오.
주 폴트/부 폴트
이 명령어에만 해당되는 것은 없습니다. 피연산자 관련 폴트에 대해서는 공통 속성을 참조하십시오.
실행
펑션 블록
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다. |
Tag.EnableIn이 거짓임 | EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다. |
Tag.EnableIn이 참임 | EnableIn 및 EnableOut 비트가 참으로 설정됩니다. 명령어가 실행됩니다. |
명령어 최초 실행 | N/A |
명령어 최초 스캔 | N/A |
사후 스캔 | EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다. |
구조화된 텍스트
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | 펑션 블록 표의 사전 스캔을 참조하십시오. |
정상 실행 | 펑션 블록 표에서 Tag.EnableIn이 참임을 참조하십시오. |
사후 스캔 | 펑션 블록 표에서 사후 스캔을 참조하십시오. |
예
1단계
컨트롤러가 Target을 Dest에 복사합니다.

2단계
SourceBit와 Length가 Dest에 복사할 Source의 비트를 지정합니다. DestBit에서 시작하여 Source와 Target은 변경되지 않습니다.

펑션 블록

구조화된 텍스트
BTDT_01.Source := sourceSTX;
BTDT_01.SourceBit := source_bitSTX;
BTDT_01.Length := LengthSTX;
BTDT_01.DestBit := dest_bitSTX;
BTDT_01.Target := TargetSTX;
BTDT(BTDT_01);
distributed_value := BTDT_01.Dest;
의견을 작성 부탁드립니다.