지금까지 시리얼 통신을 하면서 이렇게 재접속 시간이 오래 걸리는 경우는 처음 보았습니다.
일단 상황부터 정리하여 보면 다음과 같습니다.
1. 사용 환경
- 운영 시스템 : Windows 10
- HMI : Citect SCADA v8.20
- 통신 방식 : RS-232C
2. 문제 정의
- 일단 현장에서 진단해 본 결과 통신 선로에 노이즈가 있었습니다.
그래서 통신 데이터가 가끔씩 깨지는 것을 확인할 수 있었습니다.
- 그럼에도 불구하고 기존 시스템(Windows XP, Citect SCADA v5.2)은 재접속이 원활하여
현장에서는 통신 두절이 발생되는 것을 느끼지 못하고 있었습니다.
- 하지만 신규 시스템에서는 가끔씩(1일 10여 차례 이상) 통신 두절 현상이 발생됩니다,
- 문제가 발생될 때 해결 방법은 10분 이상 기다리면 재접속이 됩니다.
또는 IO Server를 재기동하면 바로 접속이 됩니다.
3. 진단
- 통신이 두절 되었을 때, 싸이텍에서는 채널 리셋을 하고(초기화) 다시 통신을 시도하는데,
통신 두절시 포트가 점유되어 리셋이 정상적으로 동작되지 않았습니다.
- 이 현상은 System Base 및 기타 다른 USP to Serial 장비들로 테스트를 해 보았는데, 모두 동일하게 나타났습니다.
즉, USB to Serial 컨버터 문제는 아닌 것으로 판단되었습니다.
4. 초지 내용
아래와 같이 조치를 한 결과, 통신 두절이 되어도 즉시 재접속이 되어 운영에 지장이 없음을 확인하였습니다.
하지만 제 기술력이 부족하여, 정확하게 기술적인 내용을 설명은 하지 못하는 점 양해 바랍니다.
다만 현상적으로 조건의 차이만을 말씀드릴 수 있으며, 확실하게 결과는 좋아졌습니다.
조치한 내용은 다음과 같습니다.
- 윈도 장치 관리자에서 USB Serial Port 항목을 우클릭하여 속성 창을 표시합니다.
- [포트 설정] 탭에서 [고급] 버튼을 클릭하여 고급 설정 창을 표시합니다.
- 우선 아래 그림은 옵션 변경 전의 모습입니다.
- 옵션을 아래와 같이 조정합니다.
응답 시간 (msec) = 1
읽기 시간 초과 최소값 (msec) = 500
쓰기 시간 초과 최소값 (msec) = 500
Selective Suspend Idel Timeout (secs) = 1
- [확인] 버튼을 클릭하고 시스템을 재기동합니다.
어떻게 이렇게 설정한 것이 문제를 해결했는지는 모르겠습니다.
따라서 이 조치 사항은 참고만 해 주시기 바랍니다.
혹시라도 전문가 분께서 이 글을 보시고, 자세한 기술적인 설명을 올려 주시면 감사하겠습니다.