接続損失(DHT)
特にと PROFINET LinuxやLinuxなどのリアルタイム機能が制限されているプラットフォーム上のコントローラー CODESYS Control Win、選択された送信クロックが低すぎる(<4 ms)場合、維持できないことがよくあります。これは、エラー「ARコンシューマーDHTの有効期限が切れました」(PNIOStatus = 0xCF81FD05
)。
接続が失われる一般的な原因
パワーセーフポリシー
今日のオペレーティングシステムとCPUには、通常、システムの一部(CPUまたはネットワークアダプター)を「スリープ」させる多数の省電力機能があります。コンポーネントは、確実に送信できなくなるほどの遅延で「ウェイクアップ」される可能性があります。不思議なことに、システムの負荷が低いと通信の問題が発生します。したがって、問題が発生した場合は、これらのPowersafe機能を無効にする必要があります。
リアルタイムパッチ(Linux)
短い送信クロック(1ミリ秒以下)が安定していることを確認するには、通常、Linuxシステムにリアルタイムパッチをインストールする必要があります。これは、それぞれのプラットフォームのパフォーマンスと負荷によって異なります。 「Profinet_IOTask」(タスク監視中)の大きなジッターによって認識できます。
を管理するネットワークタスクの優先度を上げる PROFINET ネットワークアダプター。
PLC シェルを使用して、これらのコマンドを実行します (詳細については、ランタイムの説明を参照してください)。
irq-list irq-set prio eth 0
トラフィックスケジューリング(Linux)
大量のデータトラフィックを生成する他のサービス(大規模なWeb視覚化など)と並行してProfinetネットワークアダプターを使用する場合、Profinetリアルタイムデータがアダプター上で置き換えられる可能性があります。これは、Profinetデータがより優先されるトラフィックスケジューリングによって回避できます。
例:
Linux.PACKET_QDISC_BYPASS
ランタイムの* .cfgファイルに設定されます。残りのすべてのトラフィックは帯域幅が制限されており、優先度が低く設定されています(/etc/interfaces
):iface eth0 inet static
...
#move all outgoing traffic to a default class with low priority
pre-up /sbin/tc qdisc add dev $IFACE root handle 1:0 htb default 1
pre-up /sbin/tc class add dev $IFACE parent 1:0 classid 1:1 htb rate 1Mbps ceil 1Mbps prio 0