NTPサーバについての検討

最終更新日 2022年5月13日

2022年5月13日 必ずしも3回では無かった
2022年5月12日 WindowsOSの『インターネットサーバーと同期する』機能

検査装置を構築して工場に納めるのですが、1装置内にPC/PLC/ネットワーク機器が相当数構成要素となっています。各デバイスは独立してRTC(RealTimeClock)を搭載していますが、決して精度が高くは無く、装置間での時刻ズレがどうしても発生してしまいます。これはNG結果の調査等で検査ログ等のタイムスタンプを追うときに単純比較できないこととなり大きな問題となります。

装置内にWindowsPCがあれば、そのPCを基準としてOS内レジストリを設定してNTPdサービスを構築し、装置内他のデバイスがそのNTPdに対して定期的に時刻同期を掛ける事で解決する問題ではあります。

ところが実際に実行して見ると各PCの時刻は可成りズレています。Windowsクライアントの時刻同期はデフォルトの設定では1週間に1回の時刻合わせであり、また、結構同期に失敗している事があります。時刻差が小さいと同期しないとか大きすぎるとパスするとか約束事があるようです。

PLCも含めてSNTPに対応した軽いNTPサーバが機能していないと、いろいろ柵があるのかなと思ったりします。

また、外界と時間が大きくずれていると検査結果レポートに表れる数字に信用性も問題となるでしょう。となるとPCでNTPdを仕立てるのでは無く、独立して時刻取得可能なNTPdデバイスを導入すべきです。
装置の性格上PTP(Precision Time Protocol or Picture Transfer Protocol)が必要なのか検討する必要がありますが、SNTPに対応していれば大丈夫かと思います。また、1時間に1回程度の同期が負担無くこなせれば良いのかと思います。

NTPdデバイス自体がどのように時刻を取得するかと云う件を検討する必要があります。
普段からインターネットに接続しているのであれば上位NTPdにアクセスするのがリーズナブルなのですが、これは論外です。
一般にはGPSか電波時計かでしょうか?
GPSは1秒毎に文字列情報として日時の情報を得る事が出来ます。また、より正確な1ppsパルスを得る事も出来ます。衛星が見通せる箇所にアンテナ設定をする必要があります。
電波時計は長波JJYの情報を受信して時刻補正します。60秒で日時情報を構築し、マーカーで同期を取る事になります。屋内で電波を安定して取得出来るかと云う問題は残ります。海外でも使える場所はありますが限られます。
NHKのFMラジオ時報で補正する方法もあります。屋内でも受信出来るケースが多いです。
日時情報はなく、時報音による補正をすることになるため、途中で電源が落ちてしまうと日時情報が維持出来なくなると思われます。

市場に存在する商品を見る限りGPSモジュールによる時刻取得がリーズナブルと考えます。GPSモジュールも安価で、供給も十分にされています。
天候によるデータ取得不安定さはありますが。。。


2022年5月12日 WindowsOSのNTP同期機能は連続して3回コマンドを発行しているようです。

普段NTPTOOLを使用して構築したNTPサーバの動作確認を行うのですが、実施のユーザが扱う機械からのアクセスについても動作確認は必要です。その代表はWindowsOSなのですが、これを実行すると立て続けに3回コマンドが発行されていることが判っています。
コマンドラインから w32tm /resync を実行した場合は1回のみの発行です。
ITmediaの連載記事にNTP同期の詳細が説明されています。
https://atmarkit.itmedia.co.jp/ait/articles/0508/12/news089.html
ただ、この記事内にも3回発行されるという事は書かれていません。分散を求めるという記載はあるので3回の結果を基に設定値を決めるのかなと思います。
実際に送られてくるコマンドは確認出来るのだから,スケッチを直して見れば良いことです。


2022年5月13日 WindowsOSのNTP同期機能は必ずしも3回ではありませんでした。

ソースコードを弄ってWindowsOSから送られてくるNTPパケットをシリアルプリントする様にしてデバッグしました。
早速実行したところ、1回しかパケット送信は為されませんでした。条件があるような気がします。時差が大きいときに分散調査するために複数回のNTPパケットが送られてくるのかと想像します。もう少し時間をおいてパケット調査したいと思います。


戯言(nonsense)に戻る


免責事項

本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。

本ソフトウエアの著作権はToolsBoxに帰属します。
本ソフトウエアをご利用の結果生じた損害について、ToolsBoxは一切責任を負いません。
ToolsBoxはコンテンツとして提供する全ての文章、画像等について、内容の合法性・正確性・安全性等、において最善の注意をし、作成していますが、保証するものではありません。
ToolsBoxはリンクをしている外部サイトについては、何ら保証しません。
ToolsBoxは事前の予告無く、本ソフトウエアの開発・提供を中止する可能性があります。

商標・登録商標

Microsoft、Windows、WindowsNTは米国Microsoft Corporationの米国およびその他の国における登録商標です。
Windows Vista、Windows XPは、米国Microsoft Corporation.の商品名称です。
LabVIEW、National Instruments、NI、ni.comはNational Instrumentsの登録商標です。
I2Cは、NXP Semiconductors社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。