Q&A

  • RS-232 통신 에서 프로그램이 종료해도 포트가 사용중이라고 나오는 경우 어떤게 된 경우 인지 알고 싶습니다 .
안녕 하세요

제가 오라클 데이터 베이스로 부터 데이터를 받아다가 rs -232 로 데이터를 전송해주는

프로그램을 만들었습니다.

타이머로 1분 마다 rs -232 로 데이터를 전송하는 로직 인데요 네트 워크가 안될경우나 에러가 날경우

핑 체크와 try exeption로 에러를 막았다고 막았는데 이게 한 컴퓨터가 30대 정도 있는데

하루에 2~3대가 꼭 통신이 먹통이 되네요 .

통신이 먹통이 되서 프로그램을 종료 하면 시리얼 포트가 사용중이라고 나오네요

프로그램을 종료 했는데 어떻게 윈도우 상에서 사용중으로 나오는지 이해가 안가네요

사용중 여부는

HFileRes := CreateFile(Pchar(COMstr), GENERIC_READ,0, nil,  OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0);

이런식으로 검사 했고요 .

공장이라 고압쓰는 장비가 있어서 rs-232 포트를 못쓰게 만들었다고 쳐도 어떻게 윈도우 상에서

포트가 사용중이라고 나오는지 모르겠습니다.

작업 관리자로 봐도 윈도 프로세서 이외에 다 종료 했는데도 말이죠

물론 재부팅 통신 및 프로그램이  다시 잘됩니다.

이런 경우 경험 해보신분 답변 부탁 드립니다. 초보라 어떻게 해야 되리 갈피를 못잡겠네요
0  COMMENTS