바이트 스왑(SWPB)

이 정보는
CompactLogix
5370,
ControlLogix
5570,
Compact GuardLogix
5370,
GuardLogix
5570,
Compact GuardLogix
5380,
CompactLogix
5380,
ControlLogix
5580,
GuardLogix
5580 및 ControlLogix 5590 컨트롤러에 적용됩니다.
SWPB 명령어는 Source의 바이트 순서를 다시 배열합니다. 결과를 Destination에 저장합니다.
사용 가능한 언어
래더 다이어그램
SWPB_LD_avail_v31
펑션 블록
이 명령어는 함수 블록에서 사용할 수 없습니다.
구조화된 텍스트
SWPB(Source, Order Mode, Dest);
피연산자
중요: 다음과 같은 경우 작업 시 예외가 발생할 수 있습니다.
  • 출력 태그 피연산자가 덮어써집니다.
  • 구조 피연산자의 구성원이 덮어써집니다.
  • 지정된 경우를 제외하고 여러 명령어에서 구조 피연산자를 공유합니다.
명령어 내에서 숫자 데이터 유형을 혼합하기 위한 데이터 변환 규칙이 있습니다.
데이터 변환
을 참조하세요.
래더 다이어그램과 스트럭쳐드 텍스트
피연산자
데이터 유형
형식
설명
Source
INT
DINT
태그
다시 배열할 비트를 포함한 태그.
Order Mode
목록 항목
이 피연산자는 다시 정렬할 방법을 지정합니다. 순서 모드 테이블을 참조하세요.
Dest
INT
DINT
태그
바이트를 새로운 순서로 저장하는 태그. Dest 테이블을 참조하세요.
HIGH/LOW 순서 모드를 선택한 경우 HIGHLOW(슬래시 없음)로 입력하세요. 스트럭쳐드 텍스트 내 식의 구문에 대한 자세한 내용은 스트럭쳐드 텍스트 구문을 참조하십시오.
Order Mode
Source가 다음인 경우
바이트 변경할 패턴(각 문자는 다른 유형을 나타냄)
다음을 선택함
INT
AB => BA
모든 옵션
DINT
ABCD => DCBA
REVERSE
ABCD => CDAB
WORD
ABCD => BADC
HIGH/LOW
Dest
Source가 다음인 경우
Destination이 다음임
INT
INT, DINT
대상이 DINT이면 바이트 스왑 후에 결과가 부호 확장됩니다.
DINT
DINT
연산 상태 플래그에 영향
아니요
주 폴트/부 폴트
이 명령어에만 해당되는 것은 없습니다. 배열 인덱스 오류의 경우 배열을 통한 인덱스를 참조하세요.
실행
래더 다이어그램
조건/상태
수행한 작업
사전 스캔
N/A
렁-입력-조건이 거짓임
N/A
렁-입력-조건이 참임
명령어가 지정된 바이트를 다시 배열합니다.
사후 스캔
N/A
구조화된 텍스트
조건/상태
수행한 작업
사전 스캔
래더 다이어그램 표의 사전 스캔을 참조하십시오.
정상 실행
래더 다이어그램 표의 렁-입력-조건이 참인 경우를 참조하십시오.
사후 스캔
래더 다이어그램 표에서 사후 스캔 섹션을 참조하십시오.
예
예 1 - DINT 태그의 바이트 스왑
3개의 SWPB 명령어가 다른 순서 모드에 따라 DINT_1의 바이트를 다시 정렬합니다. 디스플레이 스타일은 ASCII이며 각 문자는 1바이트를 나타냅니다. 모든 명령어가 바이트를 새로운 순서로 다른 Destination에 저장합니다.
래더 다이어그램
SWPB_LD_ex1_v31
예 2 - 배열의 모든 요소의 바이트 스왑
래더 다이어그램
SWPB_LD_ex2_#1_v31
SWPB_LD_ex2_#2_[index]_v31
SWPB_LD_ex2_#3_v31
예 3: 스트럭쳐드 텍스트의 SWPB
구조화된 텍스트
index := 0;
SIZE (array[0],0,array_length);
REPEAT
SWPB(array[index],REVERSE,array_bytes_reverse[index]);
index := index + 1;
UNTIL(index >= array_length)END_REPEAT;
의견을 작성 부탁드립니다.
이 자료에 대한 문의사항이나 요청사항이 있습니까? 여기에 요청사항을 작성 부탁드립니다.
Normal