본 자료는
1. IEC-Series 및 IP 할당 방식에 따른 네트워크 드라이버 마운팅 시간
2. 네트워크 통신 프로그램 시 에러를 방지할 수 있는 방법
3. 내부 네트워크 연결 상태 확인하기
순서로 진행합니다.
IEC-Series 제품 부팅 후 네트워크 드라이버 활성화 및 IP 할당 대기 시간에 따른 최초 LAN 연결까지의 소요 시간이 발생하므로 프로그램 시작 직후 LAN 통신 연결을 시도하는 경우 통신 연결 에러가 발생할 수 있습니다.
1. IEC-Series 및 IP 할당 방식에 따른 네트워크 드라이버 마운팅 시간
IEC-Series 제품 부팅 시 네트워크 드라이버 마운팅 및 IP 할당 시간은 IEC-Series, IP 할당 방식 및 동작 모드가 Run 모드일 때 로드하는 프로그램의 복잡도에 따라 약간의 차이가 있습니다. 아래 표를 참고하시기 바랍니다.
[표] IEC-Series 별 네트워크 드라이버 마운팅 시간(상단 그림의 "※" 표시된 영역의 시간)동작 모드 | Run | Run | ||||
---|---|---|---|---|---|---|
마운팅 시간 | 3초 | 10초 | ||||
주의 | 본 측정 시간은 O/S가 Standard인 경우 측정한 대략적인 수치이며, O/S 버전 및 사용 환경에 따라 변동될 수 있습니다. |
Series |
Series |
Series |
||||
---|---|---|---|---|---|---|
동작 모드 |
Run | Run | ||||
마운팅 시간 | 3초 | 10초 | ||||
주의 | 본 측정 시간은 O/S가 Standard인 경우 측정한 대략적인 수치이며, O/S 버전 및 사용 환경에 따라 변동될 수 있습니다. |
2. 네트워크 통신 프로그램 시 에러를 방지할 수 있는 방법
IEC-Series 제품 부팅 후 네트워크 드라이버의 마운팅 시간에 따른 통신 에러를 방지할 수 있는 방법은 크게 2가지가 있습니다. 이중 [CASE-1]의 경우 여러가지 요인에 의해 네트워크 드라이버가 마운팅되는 시간이 달라질 수 있으므로 권장하지 않으며, [CASE-2] 방법을 적용하시길 권장합니다.
CASE-1 | 네트워크 드라이버가 마운팅되는 시간만큼 임의로 딜레이 시키는 방법 |
---|---|
"1. IEC-Series 및 IP 할당 방식에 따른 네트워크 드라이버 마운팅 시간"의 표를 참고하거나, 직접 네트워크 드라이버 마운팅 시간을 체크하여 일정 시간 동안 프로그램 상에서 네트워크 통신을 하지 않도록 프로그램을 작성합니다. 단, 해당 방법은 O/S 버전, 네트워크 상태 등 여러가지 요인에 의해 네트워크 드라이버의 마운팅 시간이 달라질 수 있으므로 권장하지 않습니다. |
[권장] | |
---|---|
CASE-2 | 주기적인 Ping 통신을 통하여 네트워크가 활성화되었는지 확인하는 방법 |
네트워크 통신 전에 네트워크 장비(공유기, 라우터 등) 또는 서버의 IP 주소로 Ping 통신을 시도하여 성공 여부에 따라 네트워크 연결을 처리하도록 프로그램을 작성하면 발생할 수 있는 예외를 방지할 수 있습니다. 프로그램상에서 Ping 통신을 시도하려면 SmartConfigs 컴포넌트의 기능을 사용해 구현할 수 있으며, 하단 예제 코드를 확인하여 프로그램 작성에 참고하시기 바랍니다. |
3. 내부 네트워크 연결 상태 확인하기
내부 네트워크에 연결하기 위해서는 아래 STEP과 같은 과정이 필요합니다. 외부 네트워크도 결국 내부 네트워크에 연결된 이후 접근이 가능한 것으로, 내부 네트워크의 연결 상태가 네트워크의 연결 상태를 판단하는 가장 기초적인 방법일 것입니다. 따라서 내부 네트워크 장비(공유기, 허브, 라우터, 스위치 등)와 Ping 테스트를 진행하여 연결 상태를 확인할 수 있어 네트워크의 가용 상태를 점검하실 수 있습니다.
- [STEP-1] 내부 네트워크 드라이버 로딩 과정
IEC-Series 부팅 시 내부의 네트워크 드라이버가 로딩되는 과정을 거칩니다.
- [STEP-2] 네트워크 장비(공유기, 허브, 라우터, 스위치 등)로부터 연결(DHCP IP 할당)
이후 네트워크 장비로부터 IP를 할당받습니다.
- [STEP-3] 내부 네트워크 연결 완료
IP를 할당받으면 내부 네트워크에 연결이 완료된 것으로, 만약 외부 네트워크로 접근이 발생할 경우 서버 연결 상태 확인처리를 추가하여 진행하시기 바랍니다.
"Tech Note 81. [C#] SmartTCPClient-Wrapping Class를 이용한 TCPClient 프로그램 구현 방법"에 첨부된 SmartTCPClient-Wrapping Class는 네트워크 상태를 확인하는 기능을 지원하여 간편하게 네트워크가 가용 상태인지 확인할 수 있습니다.
[관련된 SmartTCPClient-Wrapping Class의 인터페이스]
IsNetworkAvailable : 공유기(허브)의 연결 상태를 체크합니다.
자세한 내용은 "Tech Note 81. [C#] SmartTCPClient-Wrapping Class를 이용한 TCPClient 프로그램 구현 방법"내용을 참고하시기 바랍니다.