診断 — エラーケース
次のセクションでは、発生する可能性のあるエラーケースと、診断値に基づいてその処理方法について説明します。
アプリケーションのサイクルタイムを超えている
実行時間がサイクルタイムを超えるか、設定されたサイクルタイムをほぼ超えている場合は、サイクルタイムアウトの診断がトリガーされる場合があります。
次の例では、アプリケーションタスクの実行時間が、設定されたサイクルタイムよりも大幅に短くなっています。アプリケーションタスクはTime Provider受信タスクよりも優先度が低いため、受信したパッケージごとに中断され、実行時間にも影響します。通信タスクは優先度が最も低く、常にアプリケーションタスクの後に処理されます
![]() |
診断値 IEC execution time システム上のアプリケーションタスクの最小実行時間、最大実行時間、平均実行時間を示します。これは、アプリケーションに設定されているサイクルタイムよりも大幅に短くなるはずです。
で CODESYS Safe Controlサイクルタイムはローカルタイムスタンプとタイムプロバイダのタイムスタンプを使用して監視され、サイクルタイムが 5% を超えると、次のいずれかの例外エラーが発生します。
Exception ID: 0x40000065: Exception channel 1: Plausibility check of the local timestamp interval: <interval of local timestamp> to the cycle time: <cycle time> (Deviation: <deviation>, Deviation tolerance: <maximum allowed deviation>)
Exception ID: 0x40000066: Exception channel 1: Plausibility check of the remote timestamp interval: <interval of the remote timestamp> to the cycle time: <cycle time> (Deviation tolerance: <maximum allowed deviation>)
アプリケーションタスクの遅延
優先度の高いタスクなどによってアプリケーションタスクの実行が遅れると、サイクルタイムアウトの診断がトリガーされる場合があります。
![]() |
診断値 IEC task jitter システム上のアプリケーションタスクの最小、最大、および平均のタスクジッターを示します。アプリケーションタスクが予想される時間にできるだけ近い時間で実行されるように、この値はできるだけ小さくする必要があります
で CODESYS Safe Controlサイクルタイムはローカルタイムスタンプとタイムプロバイダのタイムスタンプを使用して監視されます。実行の遅延がサイクルタイムの 5% を超えると、以下の例外のいずれかが発生します
Exception ID: 0x40000065: Exception channel 1: Plausibility check of the local timestamp interval: <interval of local timestamp> to the cycle time: < cycle time> (Deviation: <deviation>, Deviation tolerance: <maximum allowed deviation>)
Exception ID: 0x40000066: Exception channel 1: Plausibility check of the remote timestamp interval: <interval of remote timestamp> to the cycle time: <cycle time> (Deviation tolerance: <maximum allowed deviation>)
タイムプロバイダーパッケージの遅延
Time Provider パッケージの遅延は、システム内のさまざまな場所で発生する可能性があります。
タイムプロバイダーは遅延して呼び出されます。
タイムプロバイダーパッケージは送信中に遅延します。
タイムプロバイダの受信タスクが遅れています。
で監視する場合 CODESYS Safe Controlこれら 3 つのケースすべてで次の例外エラーが発生します。
Exception ID: 0x40000067: Exception channel 1: Plausibility check of remote timestamp interval: <interval of remote timestamp> to local timestamp interval: <interval of local timestamp> (Deviation: <deviation>, Deviation tolerance: <maximum allowed deviation>)
これには、最後にパッケージを受け取ったときからの間隔の差を監視することが含まれます。
診断値 TP sample interval パッケージを最後に受信してから経過した最小、最大、および平均時間を示します。これは、Time Provider パッケージが受信されるたびに決定されるローカルタイムスタンプを使用して測定されます。診断値 TP remote interval は同じ時間間隔を示しますが、これは受信した Time Provider パッケージのタイムスタンプを使用して測定されます。
理想的には、これらの値は互いにわずかに異なるだけです。
伝送が一定だと仮定すると、時間測定では送信時間が相殺されます。
![]() |
タイムプロバイダの実行の遅延
Time Provider の実行が遅れると、リモートインターバルは一定の送信時間だけ延長されます (ttx)。これは、診断値が高くなったり、大きく変動したりする場合に見られます TP remote interval。
送信時間も(ttx) 他の要因はありません CODESYS Safe Control この値は Time Provider パッケージに保存されているタイムスタンプのみに基づいて計算されるため、影響があります。
より均一で一定であるほど TP remote interval 値が 1 であるほど、タイムプロバイダの実行の信頼性は高くなります。
タイムプロバイダーパッケージの遅延送信
Time Provider パッケージの送信時に遅延が発生すると、 Local Interval タイムプロバイダが常時実行されるように拡張されます。これは診断値の増加にも表れています TP local interval。
これには、ネットワーク伝送パスと Time Provider 受信タスクの正しいスケジューリングの両方が含まれます。この値は Local Interval Time Provider パッケージを受け取った直後に決定されたローカルタイムスタンプを使用して計算されます。
不均一で変動が激しい TP local interval 診断値は、Time Provider での受信タスクの送信または優先順位付けに問題があることを示しています。 CODESYS Safe Control。


