PathElemOff_GetInterpolationParameterAtEnd (FUN) ¶ FUNCTION PathElemOff_GetInterpolationParameterAtEnd : LREAL Returns the value of the interpolation parameter at the end of the path element (dS1). InOut: Scope Name Type Return PathElemOff_GetInterpolationParameterAtEnd LREAL Inout peo PathElemOff
PathElemQueue (FB) ¶ FUNCTION_BLOCK FINAL PathElemQueue A fifo queue of path elements. In contrast to |Trj_PathQueue| , the elements also store their start position in the entire path. This queue is used for the interface between |TrajectoryPlanner| and FineInterpolator . If the path is changed dynamically, e.g. by an aborting movement, consecutive elements in this queue may not be continuous. In other words, a new element can have a start position less than the sum of start position and length of the previous element. The queue is written by one task and read by the other. The method Append is only called by the producer task, the methods GetFromStart and RemoveFirst are only called by the consumer task. The queue also holds the start position of the path in ACS. This is needed by the FineInterpolator to initialize aRef. The path elem queue together with the sample queue ( Trj_SampleQueue ) is the output of the planner for the FineInterpolator . Both queues are filled in lock-step: as soon as a sample in the sample queue references a path element, this element is added to the path queue. The following invariants hold between the queues and the planning position: The current path element (i.e. the element that contains the position of the planner on the path) is the last element of the path element queue. The end position of the last sample of the sample queue is not beyond the end of the last element of the path element queue. The trajectory is divided into so called segments. A segment is a section of the path between two planned stops. E.g., if a buffered movement is commanded, it will always start a new segment. Segments are stored in the sample queue and path element queue with segment counters (nSegment). The position on the path consists of the segment counter and w.dS (w : DynState). The segment counter is necessary, because w.dS is reset to zero at segment start. There is an additional invariant wrt. segments: The last sample before a new segment has velocity and acceleration zero. Methods: Append Capacity Full GetFromEnd GetFromStart GetReadPos GetWritePos HasSpaceFor Init IsEmpty NumElems RemoveAll RemoveFirst Reset SetPointer SetReadPos SetWritePos SpaceElemFunsLeft SpaceElemsLeft StartCycle Structure: Append (Method) Capacity (Method) Full (Method) GetFromEnd (Method) GetFromStart (Method) GetReadPos (Method) GetWritePos (Method) HasSpaceFor (Method) Init (Method) IsEmpty (Method) NumElems (Method) RemoveAll (Method) RemoveFirst (Method) Reset (Method) SetPointer (Method) SetReadPos (Method) SetWritePos (Method) SpaceElemFunsLeft (Method) SpaceElemsLeft (Method) StartCycle (Method)
PathElemOff_ElemFun (FUN) ¶ FUNCTION PathElemOff_ElemFun : POINTER TO ElemFun InOut: Scope Name Type Inout Const peo PathElemOff Return PathElemOff_ElemFun POINTER TO ElemFun
PathElemOff_FindByS (FUN) ¶ FUNCTION PathElemOff_FindByS : POINTER TO PathElemOff InOut: Scope Name Type Inout Const path PathElemQueue Input ds LREAL k0 UDINT Return PathElemOff_FindByS POINTER TO PathElemOff Output k UDINT dS0 LREAL
PathElemAxisPos (STRUCT) ¶ TYPE PathElemAxisPos : STRUCT InOut: Name Type Comment dS LREAL The position (releative to the PathElem) a TRAFO.AXISPOS_REF The axis position
PathElemOff (STRUCT) ¶ TYPE PathElemOff : STRUCT A path element and its offset in the path. InOut: Name Type Comment elem PathElem The path element dS0 LREAL The offset of the path element in the path
PathElemOff_GetSegment (FUN) ¶ FUNCTION PathElemOff_GetSegment : SegmentId InOut: Scope Name Type Inout Const peo PathElemOff Return PathElemOff_GetSegment SegmentId
TrajectorySampler.StartNewSegment (METH) ¶ METHOD FINAL StartNewSegment InOut: Scope Name Type Input dsI LREAL
TrajectorySampler.GetPhaseType (METH) ¶ METHOD FINAL GetPhaseType : Trj_PhaseType InOut: Scope Name Type Return GetPhaseType Trj_PhaseType
TrajectorySampler.IsBuffering (METH) ¶ METHOD FINAL IsBuffering : BOOL InOut: Scope Name Type Return IsBuffering BOOL