Skip to content

SOEM

SoemLink is a Link implementation using SOEM, an EtherCAT master written in C.

Because it handles an Ethernet raw socket, running it on Linux/macOS requires root privileges (or CAP_NET_RAW). On Windows, npcap must be installed in “WinPcap API-compatible mode”.

SoemLinkOption {
iface,
sync0_period,
sync0_shift,
sync_tolerance,
sync_timeout,
};
Field Type Description
iface Interface network interface to use. Interface::Auto for automatic selection, Interface::Name(..) to specify by name
sync0_period Duration period of the SYNC0 signal
sync0_shift Duration shift amount of the SYNC0 signal
sync_tolerance Duration tolerance considered as synchronization complete
sync_timeout Duration timeout to wait for synchronization to complete

SoemLinkOptionFull, which fully configures SOEM, is also provided (Rust only).

SoemLinkOptionFull {
iface,
sync0_period,
sync0_shift,
send_cycle,
sync_tolerance,
sync_timeout,
state_timeout,
op_wait_timeout,
};
Field Type Description
iface Interface network interface to use. Interface::Auto for automatic selection, Interface::Name(..) to specify by name
sync0_period Duration period of the SYNC0 signal
sync0_shift Duration shift amount of the SYNC0 signal
send_cycle Duration period of process data transmission
sync_tolerance Duration tolerance considered as synchronization complete
sync_timeout Duration timeout to wait for synchronization to complete
state_timeout Duration timeout to wait for the transition to the SAFE-OP state
op_wait_timeout Duration timeout to wait for the transition to the OP state