[제품종류] IEC1000
[개발환경] Visual Studio 2008 C#
제가 설명을 너무 적게 한 것 같아 다시 내용을 추가하여 올립니다.1차 질문 ---------------------------------------------------->
IEC1000-07B2 장비를 사용하고있습니다.
Desktop(이하 PC)의 NTP를 사용하여 HMI와 연동하려고 하는대요.
PC의 OS는 Win10 이며, 이미 PC끼리 NTP Server and Client 구축은 완성되어 있는 상태입니다.
그리고 HMI를 NTP Client로 사용하기 위하여 개발문서를 참고하여,
// 입력된 아이피 값은 NTP Serve인 PC IP 값 입니다.
smartConfigs1.ControlPanel.SyncDateTime("192.168.10.35");
을 사용하여도 결과값은 false로 계속 연결에 실패하고있습니다.
(이외 192.168.10.35:123 도 해봤으나 실패)
어떻게 해야 PC Win10 NTP Server로 연결할수 있나요?
1차 답변 ====================================
안녕하세요,
일단 작성자님이 자체적으로 제작하신 프로토콜에 대해 검증해드리기는 어렵습니다.
문제를 확인하기 위해 Ping 테스트로 서버와 연결이 되었는지 확인 후 프로토콜이 아래의 SNTP와 호환이 되는지 확인하시기 바랍니다.
1. time.windows.com
2. time.nist.gov
3. time.kriss.re.kr
4. time.google.com
5. ntp.postech.ac.kr
PC의 타임 서버를 설정하여 동기화가 된다면 IEC-Series에서도 동기화될 가능성이 높습니다. 따라서 서버 PC가 아닌 다른 PC에서 제작한 SNTP를 설정하여 동기화가 잘 되는지 확인하는 작업도 필요합니다.
감사합니다.
2차 질문 ---------------------------------------------------->
지금 하려는것은 폐쇄망을 고려하여 특정 NTP Server가 아닌
폐쇄망 내에 연결되어있는 PC + HMI을 1개의 PC에 동기화 시키려는 작업을 하려고 합니다.
때문에 PC NTP Server (이하 PNS) 을 1개를 정하고, 남은 PC NTP Client (이하 PNC)는 PNS의 기준으로 동기화가 되도록 하였습니다.
동기화 한 작업은 Windwos10 OS의 w32time.dll Service을 사용하여, PNS, PNC을 구축한 것입니다.
때문에 NTP 인터페이스는 time.windows.com과 동일한 것으로 알고 있습니다.
PNC 연결 방식은 PNC의 NTPServer을 PNS ip 주소로 변경하면 적용이 됩니다.
(첨부파일 Win10 Cmd NTPServer 확인값.png)
그런대 HMI에서는 PNS의 IP을 입력하면 약 10초정도 있다가 false 나오는지 모르겠습니다.
어떻게 해야되냐요?
=============== 답 변 ===============
안녕하세요.
말씀하신 내용만으로는 문제의 원인을 찾기에 많은 어려움이 있습니다.
저희가 SNTP를 구현한 방식은 Windows에서 지원되는 기능을 사용하지 않고 관련 자료 및 문서를 참조하여 직접 구현한 것입니다.
SmartX Framework에서 지원되는 프로토콜은 NTP프로토콜이 아닌 SNTP입니다. 정확한 문제는 확인 해이겠지만 이부분에서 호환성 문제가 발생할 것으로 생각됩니다.
※ PNS를 제어판에서 설정하여 테스트하셨는지요? (제어판->날짜 및 시간-> 인터넷 시간 탭-> 설정 변경을 통하여 확인이 되었는지요?)
※ 네트워크 관련 설정 및 방화벽에 의한 PORT을 설정에 문제가 없다는 것을 전제로 합니다.
※ 만약 위와 같이 하셨을 경우에 정상적으로 동기화가 된다면 호환성에 문제로 이를 해결하기위해서는 디버깅작업이 필요할 듯합니다. 문제는 디버깅시 서버 측에서도 확인이 필요합니다.
※ 만약 디버깅이 가능하다면 디버깅을 통하여 문제를 해결하고자 합니다.
※ PNS가 저희 측에서 연결이 가능하게 되어야 하며 서버 사이드의 코드에서 직접 디버깅이 필요합니다. 추가적인 문제는 내부 w32time.dll Service를 사용하셨으면 내부 코드의 디버깅이 어렵지 안을까 합니다.
※ 만약 호환성의 문제일 경우 디버깅이 불가한 이유로 NTP Server Open Source 쪽으로 알아보시기 바랍니다.
- 감사합니다.
=============== 답 변 ===============
안녕하세요...
말씀하신 데로 지금 저희도 Windows 10의 W32Time.dll을 사용하여 NTP Server를 구축하여 테스트 결과 잘됩니다. 아마도 네트워크 관련 문제일수도있을듯 합니다. Ping 테스트로 확인 부탁드립니다.
- 감사합니다.