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,};SoemLinkOption(iface,sync0_period,sync0_shift,sync_tolerance,sync_timeout,)new SoemLinkOption(iface,sync0Period,sync0Shift,syncTolerance,syncTimeout);| フィールド | 型 | 説明 |
|---|---|---|
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 状態への移行を待つタイムアウト |