S6F12를 빠뜨리면 S6F11은 조용히 사라진다 — T3 만료까지 byte로 추적
S6F11에 S6F12를 안 보내거나 body 형식을 틀리면 설비는 T3만 끝내고 이벤트를 버린다. 재전송도 S9F9도 없고 host 쪽은 모른다.
현장 엔지니어링 노트
장비 없이 SECS/GEM과 HSMS를 확인하려는 host/MES 개발자를 위한 실무 노트입니다.
196 entries indexed · EN / KO · updated continuously
PPBODY item header의 length byte 3개는 16 MB를 쓴다. 그런데 socket은 frame 65,537 byte에서 끊겼다. 경계를 byte로 봤다.
SCADA, HMI, 산업 통신, 알람, 태그, 히스토리언 관련 최신 노트입니다.
S6F11에 S6F12를 안 보내거나 body 형식을 틀리면 설비는 T3만 끝내고 이벤트를 버린다. 재전송도 S9F9도 없고 host 쪽은 모른다.
재접속 후 보고서를 바로 읽으려고 S6F19와 S6F15를 보냈다. 통신 게이트는 열려 있었는데 둘 다 S6F0으로 끊겼다. 실제 소켓 캡처 기록이다.
요청 네 개를 한 write()로 보내 응답 세 개를 받은 실제 캡처. W-bit 0은 응답이 아예 없고, 미구현 stream은 S7F0로 돌아온다.
잘못된 PType은 그냥 응답이 오고, 한 칸 밀려 쓴 Linktest.req는 소리 없이 사라진다. 실제 소켓 캡처로 확인한 바이트 4 이야기.
같은 세션에서 S2F23이 두 번 S2F0으로 돌아온 캡처. 원인은 E30 통신 게이트와 기능 미구현으로 서로 다른데 응답 바이트는 SystemBytes만 빼고 같다.
Select.rsp와 Linktest.rsp는 장비가 고른 Session ID로 온다. 데이터 메시지 응답만 보낸 값을 그대로 돌려준다. 캡처 세 판.
알람 연동 테스트는 통과하는데 현장에서 알람이 안 온다. 호스트가 보낸 S5F1에 ACKC5 0이 왔고, 정작 호스트 몫인 S10F3은 abort였다.
장비 없이 확인하기
공유 브라우저 데모에서 SECS/GEM 메시지 흐름을 살펴보고, 캡처된 Select 실패 사례와 비교해 보세요. 실제 장비 없이 먼저 흐름을 점검하는 출발점입니다.