私は3つのエンジンで構成されたCANOpenネットワークをセットアップしました。各エンジンは、独自のCANOpenスレーブを備えています。 CANOpenマスターとして働くHilscher CifXボードを持っています。SDOを介してCANOpen変数をポーリングすることは可能ですか?
私はRPDOとTPDOをHilscherボードのプロセスメモリに直接読み書きすることによって、適切なエンジンコマンドを達成しました。
ここで、Sycon.NET(Hilscher設定ツール)を使用してネットワークを設定して、追加の変数をPDOにマップしようとしましたが、キャプチャしたい変数がリストに表示されません。私はこれが、これらの変数のEDS測定値PDO Mapping = 0
であると考えています。
私はこれらの変数の値を20msごとに読みたいと思います。 SDOを介してデバイスをポーリングすることでこれを行うことはできますか?もしそうなら、どうですか?
@ M.Neubauer:ありがとうございました。私はDS301を調べて、あなたの例を "Initiate SDO Upload"プロトコルのメサージー構造にマップすることができました。私は、 "迅速な転送"ビットがスレーブからの応答の一部であることがわかります(私の場合)。この場合、スレーブが転送モードを選択することを意味しますか?データが4バイトを超えることはないため、スレーブは常に高速転送を使用することを保証していますか? –
はい、転送モードを決定するのはスレーブまでです。ほとんどの実装では迅速な転送が行われると思います。しかし、セグメント化されたアップロードで4バイト未満を転送することは可能です。したがって、保証はありません。 – mkninc
私はサービス全体を実装するのに良いです。 –