문자열 -> DINT(STOD)
이 정보는 CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, GuardLogix 5570, Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 및 ControlLogix 5590 컨트롤러에 적용됩니다.
문자열을 DINT로(String to DINT, STOD) 명령어는 정수의 ASCII 표현을 정수 또는 REAL 값으로 변환합니다.
사용 가능한 언어
래더 다이어그램

펑션 블록
이 명령어는 함수 블록에서 사용할 수 없습니다.
구조화된 텍스트
STOD(Source,Dest);
피연산자
명령어 내에서 혼합된 데이터 유형에 대한 데이터 변환 규칙이 있습니다.
데이터 변환
을 참조하세요.래더 다이어그램과 스트럭쳐드 텍스트
피연산자 | 유형 | 형식 | 설명 | 참고 |
|---|---|---|---|---|
Source | 문자열 유형 | 태그 | ASCII 값을 포함하는 태그 | 문자열 유형은
|
Destination | SINT INT DINT | 태그 | 정수 값을 저장할 태그 | Source 값이 부동 소수점 수인 경우 명령어는 대상 데이터 유형에 관계없이 숫자의 비소수 부분만 변환합니다. |
식의 구문에 대한 자세한 내용은
스트럭쳐드 텍스트 구문
을 참조하십시오.설명
STOD 명령어는 Source를 정수로 변환하고 Destination에 결과를 저장합니다.
- 이 명령어는 양수 및 음수를 변환합니다.
- Source 문자열에 숫자가 아닌 문자가 포함되어 있으면 STOD는 첫 번째 연속 숫자 집합을 변환합니다.
이 명령어는 숫자 앞에 있는 빼기 기호를 제외한 최초 제어 문자 또는 숫자가 아닌 문자는 건너뜁니다.
문자열에 구분 기호(예: /)로 구분된 여러 개의 숫자 그룹이 포함되어 있는 경우 명령어는 첫 번째 숫자 그룹만 변환합니다
연산 상태 플래그에 영향
래더 다이어그램에서만.
연산 상태 플래그
를 참조하십시오.주 폴트/부 폴트
유형 | Code | 원인 | 복구 방법 |
|---|---|---|---|
4 | 51 | 문자열 태그의 LEN 값이 문자열 태그의 DATA 크기보다 큽니다. | 문자열 유형 태그의 LEN 구성원에 쓰고 있는 명령어가 없는지 확인합니다. LEN 값에 문자열에 포함되는 문자의 수를 입력합니다. |
4 | 53 | 출력 수가 대상 데이터 유형의 제한을 초과합니다. |
|
피연산자 관련 폴트에 대해서는
공통 속성
을 참조하십시오.실행
래더 다이어그램
조건 | 수행한 작업 |
|---|---|
사전 스캔 | N/A |
렁-입력-조건이 거짓임 | N/A |
렁-입력-조건이 참임 | 명령어가 실행됩니다. Destination이 지워집니다. 명령어에서 Source를 변환합니다. |
사후 스캔 | N/A |
구조화된 텍스트
조건 | Action |
|---|---|
사전 스캔 | 이전 래더 다이어그램 표의 사전 스캔을 참조하십시오. |
정상 실행 | 이전 래더 다이어그램 표의 렁-입력-조건이 참을 참조하십시오. |
사후 스캔 | 이전 래더 다이어그램 표의 사후 스캔을 참조하십시오. |
예
MV_read.EM이 설정된 경우 STOD 명령어는 MV_msg의 첫 번째 숫자 집합을 정수 값으로 변환합니다. 이 명령어는 최초 제어 문자($06)를 건너뛰고 구분 기호(\)에서 중지합니다.
래더 다이어그램

구조화된 텍스트
IF MV_read.EM THEN
STOD(MV_msg,MV_msg_nmbr);
MV_read.EM := 0;
END_IF;
의견을 작성 부탁드립니다.