CSPredictionAdapter (FB) ¶ FUNCTION_BLOCK CSPredictionAdapter IMPLEMENTS ICoordinateSystemPrediction Implements the interface ICoordinateSystemPrediction based on the interface ICoordinateSystem . Methods: Extrapolate GetPredictionState GetPredictionStateSize Init Structure: Extrapolate (Method) GetPredictionState (Method) GetPredictionStateSize (Method) Init (Method)
CSPredictionAdapter.Extrapolate (METH) ¶ METHOD Extrapolate InOut: Scope Name Type Comment Inout cs SM3M.SMC_Frame Input pState POINTER TO BYTE Pointer to the prediction state t LREAL The time, relative to the start of the task cycle in which the state was copied.
CSPredictionAdapter.GetPredictionState (METH) ¶ METHOD GetPredictionState InOut: Scope Name Type Input pState POINTER TO BYTE
CSPredictionAdapter.GetPredictionStateSize (METH) ¶ METHOD GetPredictionStateSize : UDINT InOut: Scope Name Type Return GetPredictionStateSize UDINT
CSPredictionAdapter.Init (METH) ¶ METHOD Init InOut: Scope Name Type Comment Input cs ICoordinateSystem predictionInterval LREAL The time (in seconds) between two predictions. Must be > 0.
CSPredictionAdapterState (ALIAS) ¶ TYPE CSPredictionAdapterState : ARRAY[0..MAX_COUNT_DYNAMIC_CS_STATES - 1] OF CSPredictionElem
CSPredictionElem (STRUCT) ¶ TYPE CSPredictionElem : STRUCT InOut: Name Type t LREAL f SM3M.SMC_FrameQ
ICoordinateSystem (ITF) ¶ INTERFACE ICoordinateSystem EXTENDS __SYSTEM.IQueryInterface Interface for a coordinate system that may vary in time. Methods: GetPose Structure: GetPose (Method)
ICoordinateSystem.GetPose (METH) ¶ METHOD GetPose Returns the current pose of the CS at a given point in time. (Note that in most cases, this method will have to extrapolate the currently known position into the future or past to compute an approximation of the requested value.) Note Implementations of this method must not have any (visible) side effects. This means that they must return the same result when given the same time input, even if called multiple times in the same bus task interval or in the same planning cycle. InOut: Scope Name Type Comment Inout cs SM3M.SMC_Frame Out: the pose of the CS relative to the base coordinate system Input fTime LREAL The point in time the pose is requested for. The meaning of fTime=0, i.e. the reference point to which t is relative needs to be defined by the caller of this method. For example, for dynamic coordinate systems used in the bus task, for example to represent a coordinate system on a conveyor belt, fTime=0 is the _beginning_ of the current task cycle plus the dead time of the system (the time needed to transfer the set values plus the time the drive needs to reach the set values). In this example, there are basically two different situations: The dynamic coordinate system is based on values computed in the same application. For example, the dynamic coordinate system is fixed on a piece moving on a conveyor belt, and the conveyor belt is controlled by the same application. Then, for fTime=0, the position on the conveyor belt based on the last set position of the belt’s motor is returned. (In this case, the dead time is taken into account implicitly, based on the assumption that the dead time for the belt motor is identical to the dead time for the axis group using the dynamic coordinate system.) The dynamic coordinate system is based on values outside the application. For example a conveyor belt that is controlled by a separate process and that we only get an encoder value from. In this case, the dead time has to be considered explicitly by the implementation of this interface. For fTime=0 , the encoder value of the belt has to be extrapolated into the future by the dead time to approximate the pose. (This can be achieved, for example, by using a logical axis below the encoder.)
ICoordinateSystemPrediction (ITF) ¶ INTERFACE ICoordinateSystemPrediction EXTENDS __SYSTEM.IQueryInterface Interface for a coordinate system that implements a prediction. Methods: Extrapolate GetPredictionState GetPredictionStateSize Structure: Extrapolate (Method) GetPredictionState (Method) GetPredictionStateSize (Method)