Skip to main content

接続損失(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