pub struct MoveToLoad {
pub done: bool,
pub active: bool,
pub error: bool,
pub state: StateMachine,
/* private fields */
}Expand description
Move To Load function block.
Moves an axis towards a target load (e.g., from a load cell) and stops as quickly as possible once the edge of that load is reached.
- If
current_load > target_load, it moves in the negative direction. - If
current_load < target_load, it moves in the positive direction.
A hysteresis value (minimum 1.0) is used to handle noise spikes. The axis
will halt as soon as current_load crosses the target_load +/- hysteresis threshold.
If the axis reaches the position_limit before the load is achieved, the block
halts the axis and enters an error state.
Fields§
§done: boolOutput: operation completed successfully.
active: boolOutput: block is currently executing motion.
error: boolOutput: operation failed. Check state.error_code.
state: StateMachineInternal state machine.
Implementations§
Source§impl MoveToLoad
impl MoveToLoad
pub fn new() -> Self
Sourcepub fn abort(&mut self, axis: &mut impl AxisHandle)
pub fn abort(&mut self, axis: &mut impl AxisHandle)
Abort the operation immediately.
Sourcepub fn call(
&mut self,
axis: &mut impl AxisHandle,
execute: bool,
target_load: f64,
current_load: f64,
position_limit: f64,
hysteresis: f64,
)
pub fn call( &mut self, axis: &mut impl AxisHandle, execute: bool, target_load: f64, current_load: f64, position_limit: f64, hysteresis: f64, )
Execute the function block.
axis: The handle to the PP axis.execute: Set to true to start the move. On a falling edge, the axis halts.target_load: The target load to reach.current_load: The raw, instantaneous reading from the load cell.position_limit: The absolute position boundary. If reached before the load, an error occurs.hysteresis: The acceptable noise band (minimum 1.0) to prevent premature stopping.
Trait Implementations§
Source§impl Clone for MoveToLoad
impl Clone for MoveToLoad
Source§fn clone(&self) -> MoveToLoad
fn clone(&self) -> MoveToLoad
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MoveToLoad
impl Debug for MoveToLoad
Auto Trait Implementations§
impl Freeze for MoveToLoad
impl RefUnwindSafe for MoveToLoad
impl Send for MoveToLoad
impl Sync for MoveToLoad
impl Unpin for MoveToLoad
impl UnsafeUnpin for MoveToLoad
impl UnwindSafe for MoveToLoad
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more