DynLimits ¶ DynLimits (Struct) DynLimits_DivInf (Function) DynLimits_Effective (Function) DynLimits_Equal (Function) DynLimits_Infinity (Function) DynLimits_LessOrEqual (Function) DynLimits_Lint (Function) DynLimits_Max (Function) DynLimits_Min (Function) DynLimits_Mult (Function) DynLimits_MultF (Function) DynLimits_MultS (Function) DynLimits_Positive (Function) DynLimits_Serialize (Function)
DynLimits_Min (FUN) ¶ FUNCTION DynLimits_Min InOut: Scope Name Type Inout l DynLimits Inout Const l0 DynLimits l1 DynLimits Output SMC_DynLimits_Min BOOL
DynLimits_Mult (FUN) ¶ FUNCTION DynLimits_Mult : BOOL InOut: Scope Name Type Return DynLimits_Mult BOOL Inout lDst DynLimits Inout Const lSrc DynLimits Input fVel LREAL fAcc LREAL fDec LREAL fJerk LREAL fTorque LREAL
DynLimits_MultF (FUN) ¶ FUNCTION DynLimits_MultF : BOOL InOut: Scope Name Type Return DynLimits_MultF BOOL Inout lDst DynLimits Inout Const lSrc DynLimits factors DynFactors
DynLimits_MultS (FUN) ¶ FUNCTION DynLimits_MultS : BOOL InOut: Scope Name Type Return DynLimits_MultS BOOL Inout lDst DynLimits Inout Const lSrc DynLimits Input d LREAL
DynLimits_Positive (FUN) ¶ FUNCTION DynLimits_Positive : BOOL InOut: Scope Name Type Inout Const l DynLimits Return DynLimits_Positive BOOL
DynLimits_Serialize (FUN) ¶ FUNCTION DynLimits_Serialize : BOOL InOut: Scope Name Type Return DynLimits_Serialize BOOL Input stream SM0.IOutStream Inout Const l DynLimits
Helpers ¶ ASSERT (Function) CloseRel (Function) DivInf (Function) GVL_ASSERT (GVL) Vec_CloseRel (Function)
InterpolateAxisPosition (FUN) ¶ FUNCTION InterpolateAxisPosition : LREAL Main logic for interpolation of axis position based on nanosecond timestamps. Used by FB SMC_ETC_InterpolateAxisPosition extracted for testability. InOut: Scope Name Type Inout Const dPrev AxisInterpolateData dCur AxisInterpolateData Input timestamp_ns ULINT curTime_ns ULINT moduloPeriod LREAL taskInterval LREAL velocitiesValid BOOL Return InterpolateAxisPosition LREAL
Is_SphereWithLine (FUN) ¶ FUNCTION Is_SphereWithLine : UDINT Intersects a sphere given by the center point c and the radius with a line given by a base point v0 and a (unit) direction vector d . Returns the number if intersections found in increasing order along the line. InOut: Scope Name Type Comment Return Is_SphereWithLine UDINT Inout a ARRAY [0..1] OF LREAL The points of intersection, that means v0 + a[i] * d is a point on the sphere. The points are returned in increasing order in the direction of d. Inout Const c SM3M.SMC_Vec The center of the sphere. v0 SM3M.SMC_Vec The base point of the line d SM3M.SMC_Vec The direction vector of the line. Must be a unit vector. Input radius LREAL The radius of the sphere. Must be positive. dEps LREAL If the line intersects at two points that are at most 2*dEps apart, only one point (the point in between) is returned. Also, if the distance from the line to the sphere is less than dEps, then the closest point of the sphere is returned.