WIZnet Developer Forum

Wiz108sr 패킷 전송 관련 문의

저희는 UDP방식으로 송수신 하려고 합니다.

이더넷 패킷은 패킷 단위로 송수신 하는것으로 알고 있습니다.

하지만 485통신의 경우는 송수신하는 메시지의 시작과 끝을 알수가 없습니다.

WIZ108SR은 이것을 어떻게 처리하고 있는지 궁금합니다.

아래 그림에서 serial data packing condition setting에서 “character” 란이 있습니다.
이것이 패킷의 시작과 끝을 구분하는 문자를 인식 시키는 것으로 보입니다.
이것이 구체적으로 어떻게 동작하는지 알수 있을까요?


예를들어 제가 송신할 때 이 특정 문자를 시작과 끝에 보내야 하고, 이더넷 패킷 수신시에도 이 구분 문자를 수신하게 되는지 등등을 알고 싶습니다.

안녕하세요.
Data packing option의 1-byte 문자 처리에 관한 부분이, 필요로 하시는 기능과 일치하는 옵션은 아닙니다.

위즈네트의 Serial to Ethernet 모듈은 양 단 (serial / Ethernet)간에 수신된 데이터를 생성 즉시 전송하는 것이 기본 기능입니다. 때문에 특정 command의 형태로 serial data가 전송되어야 하는 경우 해당 Data packing option을 제어함으로써 하나의 프레임 형태로 전송하도록 할 수 있습니다.

예를 들어 Timer or Size가 활성화 된 경우, serial data의 발생 이후부터를 기준으로 ‘지정된 시간 / 혹은 지정된 크기’ 만큼의 데이터가 모듈에 모일 때 까지 버퍼링 한 뒤 하나의 패킷으로 Ethernet을 통해 데이터를 전송하도록 구성 할 수 있습니다. 마찬가지로 Character는 serial로 해당 byte가 수신 될 때 까지 데이터를 버퍼링 한 뒤 Ethernet을 통해 내보내게 되며, 이때 packing option character는 Ethernet data에 포함되지 않습니다.

때문에 Ethernet을 통해 수신된 데이터를 특정 485 device에 전달하고자 하는 경우 시작 바이트 및 종료 바이트를 모듈 내에서 명시하여 처리하기는 어렵습니다. Ethernet으로 전송할 데이터 command 형태를 정의하셔서 custom command header 필드에 전달될 device를 명시하시고, 각 serial device가 해당 필드의 내용을 통해 자신에게 수신된 데이터인지를 구분하는 방법이 적합 할 것으로 생각됩니다.

감사합니다.

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