コンテンツにスキップ

SOEM

SoemLink は C 実装の EtherCAT マスタ SOEM を用いた Link 実装.

Ethernet の raw socket を扱うため, Linux/macOS では実行に root 権限 (または CAP_NET_RAW) が必要. Windows では, npcap を「WinPcap API-compatible mode」でインストールする必要がある.

SoemLinkOption {
iface,
sync0_period,
sync0_shift,
sync_tolerance,
sync_timeout,
};
フィールド 説明
iface Interface 使用するネットワークインターフェース. Interface::Auto で自動選択, Interface::Name(..) で名前指定
sync0_period Duration SYNC0 信号の周期
sync0_shift Duration SYNC0 信号のシフト量
sync_tolerance Duration 同期完了とみなす許容誤差
sync_timeout Duration 同期完了を待つタイムアウト

SOEMの設定をフルに行う SoemLinkOptionFull も用意されている (Rust のみ).

SoemLinkOptionFull {
iface,
sync0_period,
sync0_shift,
send_cycle,
sync_tolerance,
sync_timeout,
state_timeout,
op_wait_timeout,
};
フィールド 説明
iface Interface 使用するネットワークインターフェース. Interface::Auto で自動選択, Interface::Name(..) で名前指定
sync0_period Duration SYNC0 信号の周期
sync0_shift Duration SYNC0 信号のシフト量
send_cycle Duration プロセスデータ送信の周期
sync_tolerance Duration 同期完了とみなす許容誤差
sync_timeout Duration 同期完了を待つタイムアウト
state_timeout Duration SAFE-OP 状態への遷移を待つタイムアウト
op_wait_timeout Duration OP 状態への移行を待つタイムアウト