저는 MES에서 CIM을 통해 설비 정보를 받는 두 가지 방법으로 HSMS와 PLC Address Map을 주로 사용합니다. 전체 MES 메시지 구성과 흐름을 이해하려면 이전 포스팅의 구성도 참고하시길 권합니다. MES 메시지는 일반적으로 Validation, Start, Report, End의 흐름으로 움직이며, 배터리 제조 공정을 예시로 많이 다루었습니다. 먼저 Validation 단계에서 PLC 통신은 HSMS가 아닌 PLC Address Map에서 직접 정보를 가져오는 방식과 관련이 있습니다. 이는 사실상 서랍장에서 정보를 꺼내는 행위와 같아 MES와 PLC가 어떤 정보를 어느 서랍장에 넣고 꺼낼지에 대해 서로 합의하는 과정이 필요합니다. 누가 어떤 서랍장에서 정보를 넣고 꺼낼지, 누가 읽을지의 책임도 함께 정해집니다.
PLC Address Map의 구성 요소로는 디바이스 영역(Device/Prefix)이 있습니다. 이는 메모리의 성격을 나타내는 알파벳 기호를 사용해 HSMS에서 Stream으로 나누듯 메모리 영역을 구분한 방식과 유사합니다. 다만 제가 근무했던 환경에서는 주로 R영역만을 사용했습니다. 어드레스 번호(Address)는 메모리의 방 번호로 제조사마다 10진수, 16진수, 8진수 표기를 다르게 쓰므로 주의가 필요합니다. 데이터 타입(Data Type)은 그 방에 들어있는 데이터의 크기와 형태를 규정하는 것으로, Bit, INT, DINT, REAL, ASCII 등이 포함됩니다. PLC Address Map은 설비별로 어떤 구간이 어떤 정보를 담고 있는지 정리하는 표 형태로 많이 작성됩니다. 메세지 구분의 의미와 정보의 예시는 각각의 Address 구간과 함께 명시되며, 예를 들면 OCV 01의 설비라인 0001 0000~0005에서 CELL ID와 같이 특정 정보가 위치하고, 전압 데이터는 2000~2500 구간에 배치되는 식으로 표기됩니다.
또한 이 Map은 PLC 자체의 동작과 무관하게 MES와 PLC 간의 통신을 위한 공유된 주소 체계라는 점이 중요합니다. 이때 MES가 Read 여부를 판단하는 전송 플래그나 정보 변경 여부를 플래그로 받아들이는 방식은 현장 협의로 정해지기도 합니다. 따라서 Validation 단계에서 서로 합의한 Address Map의 구조, 위치, 데이터 타입, 그리고 플래그 규칙 등을 명확히 정의하는 것이 MES-PLC 간 원활한 데이터 교환의 핵심이라고 할 수 있습니다.
원문 링크 : PLC Address Map 읽기