Skip to main content

HomingMethod

Enum HomingMethod 

Source
pub enum HomingMethod {
Show 19 variants HardStopPos, HardStopNeg, IntegratedLimitSwitchPos, IntegratedLimitSwitchNeg, IntegratedHomeSensorPosRt, IntegratedHomeSensorNegRt, IntegratedHomeSensorPosFt, IntegratedHomeSensorNegFt, CurrentPosition35, CurrentPosition37, Integrated(i8), LimitSwitchPosPnp, LimitSwitchNegPnp, LimitSwitchPosNpn, LimitSwitchNegNpn, HomeSensorPosPnp, HomeSensorNegPnp, HomeSensorPosNpn, HomeSensorNegNpn,
}
Expand description

Homing methods for CiA 402 servo drives.

Integrated methods delegate to the drive’s built-in CiA 402 homing mode (SDO 0x6098). The drive uses its own sensor inputs.

Software methods (no Integrated prefix) are implemented by the Axis struct, which monitors AxisView sensor signals and captures the home position when triggered.

Limit switch variants use the sensor type convention:

  • Pnp: sensor reads true when object detected (normally open)
  • Npn: sensor reads false when object detected (normally closed)

Variants§

§

HardStopPos

Hard stop in positive direction (torque foldback). CiA 402 code: -1.

§

HardStopNeg

Hard stop in negative direction (torque foldback). CiA 402 code: -2.

§

IntegratedLimitSwitchPos

Drive’s integrated positive limit switch. CiA 402 code: 18.

§

IntegratedLimitSwitchNeg

Drive’s integrated negative limit switch. CiA 402 code: 17.

§

IntegratedHomeSensorPosRt

Drive’s integrated home sensor, positive direction, rising edge. CiA 402 code: 19.

§

IntegratedHomeSensorNegRt

Drive’s integrated home sensor, negative direction, rising edge. CiA 402 code: 21.

§

IntegratedHomeSensorPosFt

Drive’s integrated home sensor, positive direction, falling edge. CiA 402 code: 22.

§

IntegratedHomeSensorNegFt

Drive’s integrated home sensor, negative direction, falling edge. CiA 402 code: 20.

§

CurrentPosition35

Set the present position as the reference (no motor movement) — CiA 402 “homing on the current position”, method 35 (the original, IEC 61800-7-201 Ed.1). The reference value is taken from the home offset (0x607C). This is the Kollmorgen AKD’s only current-position method (the AKD lists codes 36–127 as reserved).

§

CurrentPosition37

Set the present position as the reference (no motor movement) — CiA 402 “homing on the current position”, method 37 (the Ed.2 replacement for 35, with standardized home-offset handling). Used by most non-AKD drives. Same operation as 35, different code.

§

Integrated(i8)

Arbitrary CiA 402 homing method code (vendor-specific or non-standard).

§

LimitSwitchPosPnp

Move positive, home on positive limit switch (PNP: true = detected).

§

LimitSwitchNegPnp

Move negative, home on negative limit switch (PNP: true = detected).

§

LimitSwitchPosNpn

Move positive, home on positive limit switch (NPN: false = detected).

§

LimitSwitchNegNpn

Move negative, home on negative limit switch (NPN: false = detected).

§

HomeSensorPosPnp

Move positive, home on home sensor (PNP: true = detected).

§

HomeSensorNegPnp

Move negative, home on home sensor (PNP: true = detected).

§

HomeSensorPosNpn

Move positive, home on home sensor (NPN: false = detected).

§

HomeSensorNegNpn

Move negative, home on home sensor (NPN: false = detected).

Implementations§

Source§

impl HomingMethod

Source

pub fn is_integrated(&self) -> bool

True if the drive handles this method internally (hardware-delegated).

Source

pub fn cia402_code(&self) -> i8

CiA 402 method code for hardware-delegated methods.

§Panics

Panics if called on a software-implemented method. Check is_integrated() first.

Source

pub fn requires_motion(&self) -> bool

True if this method involves motor movement.

Trait Implementations§

Source§

impl Clone for HomingMethod

Source§

fn clone(&self) -> HomingMethod

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for HomingMethod

Source§

impl Debug for HomingMethod

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for HomingMethod

Source§

impl PartialEq for HomingMethod

Source§

fn eq(&self, other: &HomingMethod) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for HomingMethod

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V