한국어 English Chinese Russian

질문&답변 게시판 / 기술지원



SSL 암호화로 사용자의 입력정보가 보호되고 있습니다.
No. 1053 Re: UDP 통신 프로그램 문의 2012-03-19

안녕하세요.

원격으로 봐드린대로 쿼리 수정해보시고 안되면 다시 연락 주세요.

감사합니다.

> 안재만 wrote:
> ------------------------------------
> 안녕하세요.
> VB6으로 통신장비와 UDP로 통신 프로그램을 만들고 있는
> 개인 프로그래머 입니다.
> 이곳 제품을 구입해서 사용하고 있지는 않지만
> 이곳에 전문가분들이 있으신거 같아서 질문드려 봅니다.
> 바쁘시더라도 잠시 짬을 내서 답변해 주시면 감사하겠습니다.
> 아무리 해도 해결이 안되서요.
> TCS-2001 이라는 컨트롤러와 통신하는 프로그램을 만들고 있는데요.
> UDP 통신으로 1:N 구성을 하려 합니다.
>
> 통신장비는 LGIS_GLOFA 통신모듈을 사용합니다.
> VB6으로 Socket 컨트롤을 얹어서 테스트를 하고 있습니다.
> 먼저 제 문제는 통신이 잘되다가 소켓의 DataArrival 이벤트가 일어나지 않는 현상입니다.
>
> 구성은 먼저 프로그램이 시작되면서
> 컨트롤러 장비의 갯수만큼 소캣을 배열로 생성을 합니다.
> 다음 작업시작버튼(컨트롤갯수만큼 생성)을 누르면 누른 커맨드버튼의 배열에 해당하는 소캣에
> RemoteHost, RemotePort, LocalPort 3개를 설정하고 .Bind를 합니다.
> 그리고 timer 가 1초 간격으로 시작됩니다.
> timer는 1초 마다 컨트롤러에 읽기 신호를 보냅니다.
> .senddata 로 말이죠.
> 그리고 또 1초 마다 DB에 컨트롤러에 전달할 명령(기록)이 있는지 감시합니다.
> 읽기 신호를 한번 보내고 그 다음 턴에서는 DB만 읽습니다.
> 만약 DB에 어떤 센서에 어떤 명령을 기록하라는 기록 명령이 들어오면
> .senddata 메서드로 명령을 보냅니다.
> 즉 1초 간격으로 읽기 신호, 쓰기 신호를 반복하게 끔 프로그램을 해 놨습니다.
> 그리고 작업중지 버튼을 누르면 .close 합니다.
>
> 로직상이라면 정상적으로 작동을 해야 하는데
> 프로그램을 시작하면 읽기 신호를 잘 보내고 DataArrival 이 잘 일어납니다.
> 그럼 읽은 값을 DB에 기록하고 다시 감시하고...
> 그런데 DB에 기록 명령을 넣어서 프로그램이 감지해 기록쪽 .senddata를 하면
> 거기까지는 DataArrival 이 되는데 그 다음 timer의 턴 부터 DataArrival 이벤트가
> 발생하지 않아 통신이 불가능해 집니다.
> 프로그램을 종료하고 다시 켜도 통신이 안됩니다.
>
> 그런데 exManager 프로그램의 통신테스트에서 해당 컨트롤러를 설정하고
> 통신을 해보면 잘 됩니다.
> 그 후 제 프로그램을 돌리면 또 잘 돌아갑니다.
>
> 이것때문에 지금 일주일째 고생을 하고 있습니다.
> 보내기만 하는 통신방식에서 왜 같은 간격으로 .senddata를 하는데 데이터를 쓰고 난 뒤 부터는
> 읽지를 못하게 되는건지요.
> 혹시 초기화를 하거나 기록 명령뒤에 뭔가 다른 행동을 해 줘야 하는건지
> 도데체 갈피를 못잡겠습니다.
>
> 원격도 가능하니 연락이나 답글 달아주시면 감사하겠습니다.
>
> 조금이나마 희망이 있는 답변을 들었으면 좋겠습니다.
> 감사합니다.

글쓴이 솔내시스템(주) 업체명


NO Subject Name Date Read
1052 UDP 통신 프로그램 문의 안재만 2012-03-18 3789
1053 Re: UDP 통신 프로그램 문의 솔내시스템(주) 2012-03-19 3353