이 블로그는 원래 cimetrix.com에 게시되었습니다.
서론
1977년, 고전 영화 <제3종 접촉>이 개봉되었다. 영화 후반부에는 우주 외계인과 인간 사이의 극적인 '대화'가 펼쳐진다. 한 과학자가 이렇게 말한다. "누군가 이 모든 걸 기록하고 있길 바란다."
그들이 진짜 원했던 것은 메시지 로깅이었다!
소프트웨어 로깅이 애플리케이션 문제 해결에 중요한 것처럼, 공장 호스트와 제조 장비 간의 상세한 메시지 트래픽을 로깅하는 것도 문제 해결에 마찬가지로 중요합니다.
예를 들어, 호스트가 명령을 전송하면 장비가 해당 메시지에 따라 동작하지만, 예상대로 작동하지 않는 경우가 있습니다. 문제 발생 위치를 파악하기 위해 전송된 메시지와 장비의 응답, 그리고 장비의 기타 로그를 함께 확인하는 것이 매우 유용할 것입니다.
기록된 메시지를 표시/표현하는 데 사용되는 형식 또한 매우 중요합니다. SECS 메시지 형식에 대한 최신 산업 표준은 SEMI E173, 즉 XML SECS-II 메시지 표기법(SMN) 사양입니다.
예를 들어:
<?xml version=”1.0″ encoding=”utf-8″?>
<SECSMessageScenario xmlns=”urn:semi-org:xsd.SMN”>
<Comment time=”2018-02-05T18:19:20.365Z”>State Change NotConnected</Comment>
<Comment time=”2018-02-05T18:19:20.400Z”>State Change NotSelected</Comment>
<HSMSMessage time=”2018-02-05T18:19:20.394Z” sType=”Select.req” direction=”H to E” txid=”1″>
<Header>FFFF0000000100000001</Header>
</HSMSMessage>
<HSMSMessage time=”2018-02-05T18:19:20.417Z” sType=”Select.rsp” direction=”E to H” txid=”1″>
<Header>FFFF0000000200000001</Header>
<Description>Communication Established</Description>
</HSMSMessage>
다음은 S5, F5 예시입니다:
<SECSMessage s=”5″ f=”5″ direction=”H to E” replyBit=”true” txid=”7″ time=”2018-02-05T18:19:20.507Z”>
<SECSData>
<UI4 />
</SECSData>
</SECSMessage>
<SECSMessage s=”5″ f=”6″ direction=”E to H” replyBit=”false” txid=”7″ time=”2018-02-05T18:19:20.507Z”>
<SECSData>
<LST>
<LST>
<BIN>0</BIN>
<UI4>1</UI4>
<ASC>Alarm 1 Text</ASC>
</LST>
</LST>
</SECSData>
</SECSMessage>
SMN 형식은 다음에 이상적으로 적합합니다:
- HSMS 헤더 정보를 명확하게 캡처하기
- 정확한 이진 형식으로 메시지 기록
- 소프트웨어를 사용하여 로그 읽기
- 호스트 또는 장비 에뮬레이터를 생성하는 것은 소프트웨어 애플리케이션의 로깅을 쉽게 읽고 재생할 수 있기 때문입니다.
- SMN 로그에서 데이터 추출
로그는 장비, 호스트 또는 심지어 Cimetrix의 CIMSniffer 유틸리티와 같은 "네트워크 스니퍼"로도 캡처할 수 있습니다.
Cimetrix의 Logviewer 유틸리티는 SMN 로그도 지원합니다:

이러한 표준과 도구가 마련된 이상, '접촉'에 나오는 과학자처럼 메시지가 기록되길 바라는 태도를 보일 이유가 없습니다. 로깅을 켜세요!
Cimetrix의 CIMConnect, HostConnect 및 SECSConnect는 모두 SMN 형식으로 메시지 로깅을 제공합니다.