WIZnet Developer Forum

[WIZ108SR] 모듈의 Connection Process

안녕하세요~

WIZ108SR(Client)을 이용하여 Mitsubishi PLC(Server)와 연결하여 사용중에 있습니다.

WIZ108SR을 이용하여 통신을 하고 있는중에 간혹 Ethernet 연결이 끊어지는 경우가 있는 것 같습니다.

이 경우가 문제가 되고 있는데, 연결을 끊어지는 부분이 언제 발생하는지는 모르겠습니다.

연결이 끊어지더라도 다시 연결이 되기 떄문에 크게 문제되는 것 같지는 않습니다.

그런데, Mitsubishi 측에서는 모듈의 Connection이 끊어진 경우(랜선이 빠진 경우 포함) PLC 측에서는 Connection Close를 시킨다고 합니다.

그런데 간혹 PLC에서 CLOSE를 하지 못하는 경우도 있는것으로 추정됩니다.

그래서 PLC측에서는 연결시 CLOSE 명령을 먼저 전송 후 다시 OPEN 하는 방식을 이야기합니다.

WIZ108SR 모듈의 경우 Connection시(새로운 연결 또는 재연결) OPEN 명령만으로 연결시도하는 것인지

CLOSE 이후 OPEN을 시도하는 것인지 알고 싶습니다.

만약 OPEN 명령만으로 연결시도하는 것이라면, CLOSE 후 OPEN이 되도록 가능한 것인지도 알고 싶습니다.

빠른 회신 주시면 감사하겠습니다.

안녕하세요.

TCP 통신의 경우, 일단 해당 socket의 connection이 종료 된 이후에는 상대방 목적지에 socket close를 전송 할 수 없습니다. 따라서 WIZ108SR 제품의 connect 동작 이전에 별도의 close 요청 동작은 없습니다.
(물론 WIZ108SR 제품의 socket connection이 종료 될 경우, 당연히 close 과정을 거친 후 새로운 socket open이 수행됩니다.)

WIZ108SR client mode 동작의 경우, socket close 이후 다시 connect를 시도하여 새로운 connection 생성을 시도합니다. 때문에 새 socket에서 이전 연결 socket의 close 요청을 전송 하여도 이전 연결과는 다른 연결로 인지하여 목적지가 해당 요청을 수신 할 수 없습니다.

언급하신 상황의 경우, PLC 장비 쪽에 별도의 control channel 을 두어, TCP client 연결에 실패 할 때 알려 줄 수 있는 기능(PLC 장비의 socket 재오픈)을 하도록 구현하면 어떨까 합니다. 물론 이러한 기능 추가의 경우 저희 S2E 제품도 TCP connection 실패 발생 시 retry 후 해당 control channel로 메시지를 전송 하는 기능의 customizing이 필요할 것으로 생각됩니다.

카테고리를 한국어 포럼으로 이동하고, 게시물 제목에 [WIZ108SR]을 추가하였습니다.

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.