기본 데이터 유형
컨트롤러는 IEC 1131-3에 정의된 기본 데이터 유형을 지원합니다. 기본 데이터 유형은 다음과 같습니다.
데이터 유형 | 설명 | 범위 |
BOOL | 1비트 부울 | 0 = 해제됨 1 = 설정됨 |
SINT | 1바이트 정수 | -128~127 |
INT | 2바이트 정수 | -32,768~32,767 |
DINT | 4바이트 정수 | -2,147,483,648~2,147,483,647 |
LINT | 8바이트 정수
팁:
LINT 데이터 유형은
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 및 GuardLogix 5570 컨트롤러에서 제한적으로 사용됩니다. 복사(COP, CPS) 명령어, CST/WallClock 시간 속성, 시간 동기화 및 Add-On 명령어에서만 사용할 수 있습니다. | -9223372036854775808~9223372036854775807 |
DT | 날짜 및 시간. 64비트 저장 장치; 단위는 마이크로초입니다. | DT#1970-01-01-00:00:00.000_000(UTC+00:00) ~ DT#2250-12-31-23:59:59.999_999(UTC+00:00)
팁:
싱가포르와 같은 일부 표준 시간대에서 이 범위는 다음과 같습니다.
DT#1970-01-01-08:00:00.000_000(UTC+08:00) ~ DT#2251-01-01-07:59:59.999_999(UTC+08:00) |
LDT | 긴 날짜 및 시간. 64비트 저장 장치; 단위는 나노초입니다. | LDT#1970-01-01-00:00:00.000_000(UTC+00:00) ~ LDT#2250-12-31-23:59:59.999_999_999(UTC+00:00)
팁:
싱가포르와 같은 일부 표준 시간대에서 이 범위는 다음과 같습니다.
LDT#1970-01-01-08:00:00.000_000_000(UTC+08:00) ~ LDT#2251-01-01-07:59:59.999_999_999(UTC+08:00) |
TIME32 | 기간. 32비트 저장 장치; 단위는 마이크로초입니다. | T32#-35m_47s_483ms_647us ~ T32#35m_47s_483ms_647us |
TIME | 기간. 64비트 저장 장치; 단위는 마이크로초입니다. | T#-106750d_12h_59m_59s_999ms_999us~T#106750d_12h_59m_59s_999ms_999us |
LTIME | 긴 시간. 64비트 저장 장치; 단위는 나노초입니다. | LT#-106750d_12h_59m_59s_999ms_999us_999ns ~ LT#106750d_12h_59m_59s_999ms_999us_999ns |
USINT | 1바이트 부호 없는 정수 | 0~255 |
UINT | 2바이트 부호 없는 정수 | 0~65,535 |
UDINT | 4바이트 부호 없는 정수 | 0~4,294,967,295 |
ULINT | 8바이트 부호 없는 정수 | 0~18,446,744,073,709,551,615 |
REAL | 4바이트 부동 소수점 수 | -3.4028235E38~-1.1754944E-38 (음수 값) 및 0.0 및 1.1754944E-38~3.4028235E38 (양수 값) |
LREAL | 8바이트 부동 소수점 수 | -1.7976931348623157E308~ -2.2250738585072014E-308 (음수 값) 및 0.0 및 2.2250738585072014E-308~ 1.7976931348623157E308 (양수 값) |
이러한 컨트롤러는 다음과 같은 기본 데이터 유형을 지원합니다.
컨트롤러 | 데이터 유형 |
|---|---|
CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 및 ControlLogix 5590 컨트롤러 | SINT, INT, DINT, LINT, REAL USINT, UINT, UDINT, ULINT, LREAL |
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 및 GuardLogix 5570 컨트롤러 | SINT, INT, DINT, LINT, REAL. |
컨트롤러는 모든 즉시 값을 DINT 데이터 유형으로 처리합니다.
REAL 데이터 유형은
무한대와
NAN도 저장하지만 소프트웨어 표시는 표시 형식에 따라 달라집니다.
무한대와
NAN도 저장하지만 소프트웨어 표시는 표시 형식에 따라 달라집니다.데이터 유형 변환
하나의 명령어 내에서 피연산자의 데이터 유형을 혼합하는 경우 명령어에 따라 데이터가 해당 명령어에 적합한 최적의 데이터 유형으로 자동 변환됩니다. 컨트롤러가 새 데이터 유형에 맞춰 데이터를 변환하거나 단순히 가능한 최적의 형태로 데이터를 끼워 맞추는 경우도 있습니다.
변환 | 결과 | ||
큰 정수 -> 작은 정수 | 컨트롤러는 큰 정수의 위쪽 부분을 잘라서 오버플로를 만듭니다. 예: | ||
10진수 | 이진수 | ||
DINT | 65,665 | 0000_0000_0000_0001_0000_0000_1000_0001 | |
INT | 129 | 0000_0000_1000_0001 | |
SINT | -127 | 1000_0001 | |
SINT 또는 INT -> REAL | 데이터 정밀도가 상실되지 않음 | ||
DINT -> REAL | 데이터 정밀도가 상실되었을 수 있음. 두 데이터 유형 모두 32비트 데이터를 저장하지만 REAL 유형은 32비트 중 일부를 지수 값을 저장하는 데 사용합니다. 정밀도가 손실되면 컨트롤러는 DINT의 중요도가 가장 낮은 부분을 취합니다. | ||
LREAL -> LREAL | 데이터 정밀도가 상실되지 않음. | ||
LREAL -> REAL | 데이터 정밀도가 상실되었을 수 있음. | ||
LREAL/REAL -> 부호 없는 정수 | 데이터 정밀도가 상실되었을 수 있음. 소스 값이 너무 커서 대상에 맞지 않을 경우 컨트롤러가 저장할 수 있는 부분만 저장하고 오버플로를 생성할 수 있습니다. | ||
부호 있는 정수/부호 없는 정수 -> LREAL/REAL | Destination에 저장할 수 있는 것보다 더 많은 상위 비트가 정수 값이 포함된 경우 하위 비트가 잘립니다. | ||
부호 있는 정수 -> 부호 없는 정수 | 소스 값이 너무 커서 대상에 맞지 않을 경우 컨트롤러가 저장할 수 있는 부분만 저장하고 오버플로를 생성할 수 있습니다. | ||
부호 없는 정수 -> 부호 있는 정수 | 소스 값이 너무 커서 대상에 맞지 않을 경우 컨트롤러가 저장할 수 있는 부분만 저장하고 오버플로를 생성할 수 있습니다. | ||
정수로 REAL 변환 | 컨트롤러는 소수 부분을 반올림하고 소수가 아닌 부분의 위쪽 부분을 자릅니다. 데이터 손실 시 컨트롤러는 오버플로 상태 플래그를 설정합니다. 가장 가까운 정수로 반올림합니다. 0.5보다 작으면 버리고 0.5인 경우 우수리 없이 최대한 가까운 정수, 0.5보다 큰 경우 반올림 예: | ||
REAL(소스) | DINT(결과) | ||
1.6 | 2 | ||
-1.6 | -2 | ||
1.5 | 2 | ||
-1.5 | -2 | ||
1.4 | 1 | ||
-1.4 | -1 | ||
2.5 | 2 | ||
-2.5 | -2 | ||
데이터를 BOOL 데이터 유형으로 변환하거나 BOOL 데이터 유형에서 변환하는 것은 불가능합니다.
중요:
연산 상태 플래그는 저장되는 값에 따라 설정됩니다. 일반적으로 연산 상태 키워드에 영향을 미치지 않는 명령어이지만 명령어 파라미터의 데이터 유형이 혼합되어 유형 변환이 일어나는 경우 영향을 미치는 것처럼 보일 수 있습니다. 유형 변환 프로세스를 통해 수학 상태 키워드가 설정됩니다.
안전 데이터 유형
Logix Designer
응용 프로그램은 안전 태그가 직접 또는 간접적으로 참조하는 사용자 정의 또는 Add-On 정의 유형의 잘못된 데이터 유형을 초래하는 사용자 정의 또는 Add-On 정의 유형의 수정 작업을 방지합니다. (여기에는 중첩된 구조가 포함됩니다.)안전 태그는 다음과 같은 데이터 유형으로 구성될 수 있습니다.
- 모든 기본 데이터 유형.
- 안전 명령어에 사용되는 미리 정의된 유형.
- 사용자 정의 데이터 유형 또는 앞의 두 유형으로 구성된 배열.
안전 태그의 사용자 정의 데이터 유형 구성원 이름 온라인 편집
CompactLogix
5380, Compact GuardLogix
5380, ControlLogix
5580 및 GuardLogix
5580 컨트롤러에서 사용자 정의 데이터 유형의 구성원 이름을 온라인으로 편집할 수 있습니다. 그러나 사용자 정의 데이터 유형이 안전 태그에 사용되고 컨트롤러가 안전 보안 상태인 경우에는 온라인 편집이 비활성화됩니다.의견을 작성 부탁드립니다.