안녕하세요.
장비와 시리얼로 통신을 하는데 에러가 발생합니다.
현재 시스템은 [ Host - 중계기 - 컨트롤러 - 장비 ]이렇게 구성되어 있습니다.
그리고 노트북에 시리얼이 없어 USB to Serial을 사용하고 있습니다.
현재 통신 프로그램에서는 CPort 3.10을 사용하고 있구요.
평소에 통신 프로그램은 정상적으로 동작합니다.
그런데 컨트롤러와 장비와 연결된 전원선을 뽑아버리면 Host의 통신프로그램에서 아래와 같은
메시지가 발생합니다. 처음에 1번 메시지 발생 후 다음 부터는 계속 2번 메시지가 발생합니다.
1: "WriteFile function failed(win error code:31)
2: "PurgeComm function failed(win error code:5)
catch(...) {} 함수에서 포트를 종료하고 다시 열려고 해도 계속 2번 메시지가 발생하고,
ComPort->ClearBuffer(true,true)를 하여 버퍼를 클리어 하려고 해도 계속 같은 메시지가 발생합니다.
결국. USB to Serial 을 뺐다가 다시 끼면 정상동작합니다...
USB to Serial의 문제일까요??
장비쪽에서 데미지가 발생했다고 해도 Host에 까지 영향이 오는건 잘 이해가 가지 않습니다만..
이 부분을 처리는 해야 하는데 어떻게 접근해야 하는지 조언 구합니다.
동일한 문제를 격으신 분 계시면 조언 부탁드릴께요 ...
|