W550S2E modbus 관련 문의 드립니다.

안녕하세요.

W550S2E 모듈로 modbus TCP to modbus RTU/ASCII를 구현 하려고 합니다.
Github를 보니 configuration tool과 W550S2E 모듈로 구현한 소스가 있던데요
정상동작 하나요?
configuration tool은 컴파일을 해야 하나요?

쇼핑몰을 보니 W5500S2E-Z1 모듈도 있던데 W550S2E로 구현한 것과 동일 한가요?
확인 부탁 드립니다.

네. 현재 구현되어 있으며, 펌웨어 버전 1.4.0 에서 지원 합니다.

문의 글에 링크된 v1.2.0툴을 이용해야 하며, 따로 컴파일하지 않아도 됩니다.
해당 페이지의 릴리즈 탭을 확인 해 주세요.

그리고, 현재 가지고 계신 모듈의 펌웨어가 1.4.0 이하라면

페이지에서 바이너리 받은 후 펌웨어 업로드 하신 후 팩토리 리셋을 수행하여야

v1.2.0 툴에서 설정 정보가 보입니다.

W5500S2E-Z1 역시 시리얼 to 이더넷의 기능을 합니다만, WIZ550S2E와 부가적 기능에 있어 차이가 있습니다.

W550S2E 모듈 modbus TCP 응답이 없어 질문 드립니다.
W550S2E 펌웨어 업데이트(1.4.0), 공장초기화, 첨부된 그림과 같이 설정
(우측 하단 Network Status가 Disconnected로 나오는 것이 맞나요?)

연결 구성은 아래와 같습니다.
PC(modbus poll 프로그램 사용) ------ W550S2E ------ RS232(TTL) to USB ------ PC(modbus poll Slave 프로그램 사용)

wireshark로 보면 W550S2E에서 응답이 없는 것으로 보입니다.

_ 참고로 같은 연결 구성으로 W5500S2E-Z1은 잘 동작 합니다._*

Connection Password 를 모두 지우고 설정 하신다음에 확인 바랍니다.

패스워드를 지우니 잘 되는 것 같습니다.
소스에서 패스워드 default 값 변경 하려면 어느 부분을 수정해야 하는지 확인 부탁 드립니다.

modbus RTU/ASCII 부분 timeout이 default로 얼마 설정되어 있는지요?
소스에서 변경하려면 어느부분을 수정해야 하는지도 같이 부탁 드립니다.

디폴트 값을 설정 하는 부분은 src/Configuration/ConfigData.c(70 line) 에 void set_S2E_Packet_to_factory_value() 함수의 memcpy(s2e_packet.options.pw_connect, “WIZnet\0\0\0\0”, 10); 부분 입니다.

해당 부분을 수정 하기 보단 src/S2E/S2E.c(540 line) 에 static void s2e_sockestablished_process(uint8_t sock) 함수의 패스워드 체크 부분에 조건을 거는게 더 나을 듯 합니다.
if(option->modbus_use == 0) {
if(auth_flag) {
auth_process(sock);
return;
}
}
해당 부분이 모드버스 기능 추가할때 부터 위처럼 되었어야 편하게 이용 할 수 있네요.

모드 버스 타임 아웃은 어떤걸 말하는거죠? 마스터 요청에 일정시간내에 응답해야 하는 시간을 말하는 건가요?

코드 변경하여 잘 동작 하는 것 확인 했습니다.
감사합니다.

modbus RTU(RS-485)에서 고장이나 기타 다른 이유로 응답하지 않을 경우 timeout이 있지 않을까 해서요… 이 건은 제가 좀더 찾아 볼께요

한가지 더 질문이 있는데요
릴리즈된 펌웨어 보면 boot+app로 되어 있는데 소스를 컴파일 해보니 따로 생성되는 것은 없더라구요… boot+app 파일을 머지 하려면 특별한 툴이 필요한가요?

WIZ550S2E에 적용된 모드버스 기능은 폴링으로 Modbus/TCP <—변환—> Modbus/RTU,ASCII 이며, 별로에 타임아웃 기능은 없습니다. 해당 기능은 마스터에서 처리 해야 될 듯 한데요. 하지만, 혹시 WIZ550S2E와 같은 변환기에서 해당 목적을 위해 추가 될 기능을 의견 주시면 검토 후 반영 하겠습니다.

릴리즈를 위한 App, Boot 펌웨어를 합치려면 첨부된 파일을 이용하세요.
WIZ550SR_Out.zip (265.6 KB)
image

그림과 같이 프로젝트 폴더에 압축을 푼 다음 해당 폴더의 release_WIZ550SR.bat을 실행 하면 됩니다.

와~필요한 것을 콕콕 잘 찾아주시네요^^;
덕분에 잘 테스트 했습니다.
감사합니다. 주말 잘 보내셔요~

제가 WIZ550SR용으로 드렸네요. 다시 첨부 합니다.
WIZ550S2E_Out - 복사본.zip (280.5 KB)

사용법은 동일합니다.
EraseEEPROM.hex 의 경우 설정 필드를 지우는 용도 이며, 다운로드 이후 모듈을 리셋하면 Erase 완료 를 확인 할 수 있습니다. 해당 파일로 설정 필드를 지우고 전체 파일 업로드 후 MAC input 메세지가 나오면, S0008DC123456 과 같은 형식으로 입력 해야 합니다.

주말 잘 보내세요.

안녕하세요. 오랜만에 연락 드립니다.
제품 양산하려고 하는데 S0008DC123456 형식의 MAC은 정상적으로 저장이 되나
S58E32500070E 형태는 저장이 안됩니다.
MAC을 입력하고 리셋 하기전에는 동작하나 리셋을 하면 다시 MAC을 넣으라는 메시지가 나옵니다.
내부에서 필터링하는 부분이 있나요?
확인 후 회신 부탁 드립니다.

안녕하세요

main에 보시면 check_mac_address()라는 함수에서 0008dc로 필터링하게 되어있습니다.

안녕하세요.
WIZnet_Configuration_Tool_1.2 관련 문의 드립니다.

WIZnet_Configuration_Tool_1.2에서 Search를 클릭하면 네트워크가 죽는 현상이 발생하는데 원인을 못 찾고 있습니다.

연결 환경은 아래와 같습니다.
8포트 스위칭 허브에
리눅스 PC : 192.168.0.80
랩탑1 : 192.168.0.81
랩탑2 : 192.168.0.83
WIZ550S2E #1 : 192.168.0.21
WIZ550S2E #2 : 192.168.0.22
WIZ550S2E #3 : 192.168.0.23
WIZ550S2E #4 : 192.168.0.24

이렇게 연결된 상태이고
랩탑1 → 리눅스PC로 ping 테스트 하던 중 랩탑1에서 Configuration Tool Search를 클릭하면 가끔 스위칭허브에 연결된 네트워크 전체가 먹통이 되는 현상이 있습니다.
랩탑1에서 WIZ550S2E에 ping테스트를 해도 연결이 끊긴 것으로 나옵니다.
스위칭허브, WIZ550S2E 전체 전원을 OFF → ON하면 다시 정상 동작 하고요…

Search를 클릭하면 내부적으로 어떤 동작을 하는지 알 수 있을까요?
위 내용으로 검색을 해봐도 비슷한 내용은 보이지 않습니다.
혹시 비슷한 사례가 있을 까요?

안녕하세요.
저희 Configuration Tool에서 Search를 할 시 Broadcast로 Packet을 전송 합니다.
자세한 내용은 아래 코드를 참고 부탁드리며, 비슷한 사례는 저희도 경험해 보지 못하였습니다.
환경을 다르게하여 테스트 부탁 드립니다.

감사합니다.

수정중…

안녕하세요.

WIZ550S2E 다중 접속 문의 드립니다.

포럼 찾아보니 아래와 같이 불가능 하고 향후 지원할 수도 있다는 글을 봤는데요…

WIZ550S2E 도 같은 상황 인가요?
최대 3대 까지 접속이 가능해야 하는데요 방법이 있을 까요?

확인 부탁 드립니다.
추가로
동시접속은 가능해도 시리얼(RS-485)버스 중재는 없어도 됩니다
동시 데이터 송수신 시 데이터 충돌 되어도 됨