pub struct VirtualPidConfig {
pub kc: f32,
pub ti_s: Option<f32>,
pub td_s: Option<f32>,
pub output_min: f32,
pub output_max: f32,
pub output_bias: f32,
}Expand description
Configuration for a VirtualPid: a standard textbook position-form PID controller –
proportional and integral on error, derivative on the measurement rather than the error
(to avoid “derivative kick” on a setpoint change) – with output clamping and
anti-reset-windup.
Fields§
§kc: f32Controller gain (Kc).
ti_s: Option<f32>Integral time in seconds (Ti). None disables integral action entirely (a P-only
or PD controller) rather than requiring some sentinel “infinite” value.
td_s: Option<f32>Derivative time in seconds (Td). None disables derivative action (a P-only or PI
controller).
output_min: f32§output_max: f32§output_bias: f32The output value corresponding to zero accumulated error – i.e. the operating point
the controller starts from (matches op[0] in Model/ProcessModelOPC.py’s reference
controller, which biases every computed output by this same constant).
Trait Implementations§
Source§impl Clone for VirtualPidConfig
impl Clone for VirtualPidConfig
Source§fn clone(&self) -> VirtualPidConfig
fn clone(&self) -> VirtualPidConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for VirtualPidConfig
Source§impl Debug for VirtualPidConfig
impl Debug for VirtualPidConfig
Source§impl PartialEq for VirtualPidConfig
impl PartialEq for VirtualPidConfig
Source§fn eq(&self, other: &VirtualPidConfig) -> bool
fn eq(&self, other: &VirtualPidConfig) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for VirtualPidConfig
Auto Trait Implementations§
impl Freeze for VirtualPidConfig
impl RefUnwindSafe for VirtualPidConfig
impl Send for VirtualPidConfig
impl Sync for VirtualPidConfig
impl Unpin for VirtualPidConfig
impl UnsafeUnpin for VirtualPidConfig
impl UnwindSafe for VirtualPidConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].