컨트롤러 메모리 정보 알아내기
이 정보는
CompactLogix
5380, ControlLogix
5580 및 5590, Compact GuardLogix
5380, GuardLogix
5580 및 ControlLogix 5590 컨트롤러에는 적용되지 않습니다. 이러한 컨트롤러에서는 사용된 메모리 속성이 지원되지 않거나 액세스할 수 없습니다.컨트롤러 메모리는 I/O 메모리와 확장 메모리로 구분됩니다. 다음 표에서는 컨트롤러가 각 메모리 유형을 사용하는 방법을 보여줍니다.
해당 | 사용 메모리 |
|---|---|
I/O 태그 | I/O 메모리 |
생성 태그 | |
사용 태그 | |
MSG 명령어를 통한 통신 | |
워크스테이션에서 통신 | |
I/O, 생산 또는 사용 이외의 태그 | 확장 메모리 |
로직 루틴 | |
FactoryTalk Linx 를 사용하는 폴링된 (OPC/DDE) 태그에서 통신. | I/O 메모리 및 확장 메모리 |
컨트롤러는 32비트 워드로 값을 반환합니다. 바이트 단위로 값을 보려면 4를 곱하기만 하면 됩니다. 이 절차를 사용하여 컨트롤러 메모리에 대한 다음 정보를 가져옵니다.
- 사용 가용한(가용) I/O 및 확장 메모리
- 총 I/O 및 확장 메모리
- 최대 I/O 및 확장 메모리 인접 블록
컨트롤러에서 메모리 정보 가져오기
컨트롤러에서 메모리 정보를 가져오려면 다음과 같이 구성되는 메시지(MSG) 명령어를 실행합니다.
메세지 속성(Message Properties) 대화 상자에서 - 구성(Configuration) 탭:

메세지 속성(Message Properties) 대화 상자에서 - 통신(Communication) 탭:

원하는 메모리 정보 선택
MSG 명령어가 다음 정보를 INT_array(MSG 명령어의 대상 태그)로 반환합니다.
중요:
1756-L55M16 컨트롤러의 경우, MSG 명령어가 각 확장 메모리 범주에 대해 2개 값을 반환합니다. 1756-L55M16 컨트롤러의 가용 또는 총 확장 메모리를 정하려면 범주에 두 값을 더합니다.

INT를 DINT로 변환
MSG 명령어는 두 개의 별도 INT로 각 메모리 값을 반환합니다.
- 첫 번째 INT는 값 중에서 하위 16비트를 나타냅니다.
- 두 번째 INT는 값 중에서 상위 16비트를 나타냅니다.
별도 INT를 사용 가능한 한 값으로 변환하려면 복사(COP) 명령어를 사용합니다.
피연산자: | 지정 내용: | 의미: |
|---|---|---|
Source | 두 개의 요소 쌍 중 첫 번째 INT(하위 16비트) | 하위 16비트로 시작 |
Destination | 32비트 값을 저장할 DINT 태그 | 값을 DINT 태그로 복사 |
길이 | 1 | 1과 대상 데이터 유형에 바이트 수를 곱한 값을 복사합니다. 이 경우, 명령어는 4바이트(32비트)를 복사하는데, 16비트의 하위 값과 상위 값을 한 개의 32비트 값으로 결합합니다. |
의견을 작성 부탁드립니다.