ETC_SoE_IDNRead (FB) ¶ FUNCTION_BLOCK ETC_SoE_IDNRead Function block to read an IDN from an SoE EtherCAT Slave with variable length InOut: Scope Name Type Initial Comment Input xExecute BOOL Rising edge: ACTION starts Falling edge: Resets outputs If a falling edge occurs before the function block has completed its action, the outputs operate in the usual manner and are only reset if either the action is completed or in the event of an error. In this case, the corresponding output values (xDone, xError) are present at the outputs for exactly one cycle. xAbort BOOL FALSE TRUE: Action is stopped immediately and all outputs are reset to their initial values. usiCom USINT 1 Index of master 1: first ETC master uiDevice UINT The physical slave address to access the EtherCAT slave usiChannel USINT 1 not used in the moment because channel is set automatically wIDN WORD The IDN to read byElem BYTE 0 2 Name, 3 Attribute, 4 Unit, 5 Minimum, 6 Maximum, 0 or 7 Value udiTimeOut UDINT Timeout for operation in ms pBuffer CAA.PVOID 0 Pointer to receive buffer szSize CAA.SIZE 0 Size of receive buffer byDrive BYTE 0 If the device is a multidrive with this input the drive number could be selected Output xDone BOOL TRUE: Action successfully completed xBusy BOOL TRUE: Function block active xError BOOL TRUE: Error occurred, function block aborts action, FALSE: No error eError ETC_SOE_ERROR If xError is true then this output shows the error reason udiSercosError UDINT Error code as received from the EtherCAT slave szDataRead CAA.SIZE Number of Bytes that could be read
ISMPositionKinematics2.GetOrientationImage (METH) ¶ METHOD GetOrientationImage This method provides information about the orientations of the flange coordinate system that this kinematic transformation may generate (in machine coordinates). InOut: Scope Name Type Comment Inout oriInfo OrientationSpace Information about the possible orientations of the flange coordinate system generated by the position kinematics
ISMPositionKinematics_Offset (ITF) ¶ INTERFACE ISMPositionKinematics_Offset EXTENDS ISMPositionKinematics2 Extended position kinematics. If a position kinematics implements this interface, it can be used for axis orientation interpolation of CP movements. Note Position kinematics with configurations should implement the extended interface ISMPositionKinematics_Offset2 . Properties: NumAxes , inherited from MC_KIN_REF_SM3 Methods: CartesianToAxes_Offset AxesToCartesian , inherited from MC_KIN_REF_SM3 AxesToOrientation , inherited from ISMPositionKinematics CartesianToAxes , inherited from MC_KIN_REF_SM3 GetOrientationImage , inherited from ISMPositionKinematics2 Structure: CartesianToAxes_Offset (Method)
ISMPositionKinematics_Offset.CartesianToAxes_Offset (METH) ¶ METHOD CartesianToAxes_Offset : SMC_Error Computes the axis positions from position of the flange plus an offset vector. The offset vector is given relative to the orientation of the flange. Note in general, the orientation of the flange is unknown when this method is called. This means that the method as it does not consider an additional offset. If vOffset_TCP is zero, this method returns the same result as MC_KIN_REF_SM3.CartesianToAxes Returns whether the computation was successful. InOut: Scope Name Type Comment Return CartesianToAxes_Offset SMC_Error Inout a AXISPOS_REF Out: The position of the position axes Inout Const v_MCS SMC_Vector3D In: The position of the offset TCP, relative to the machine coordinate system. (The TCP is offset by the additional input vOffset_TCP .) vOffset_TCP SMC_Vector3D In: The additional position offset between the TCP of the position kinematics and the offset TCP. This input is expressed in the flange coordinate system of the position kinmatics. aRef AXISPOS_REF In: The reference position of all position axes. The reference position is used to resolve ambiguities, for example due to singular positions, modulo axes, or rotary axes with a range > 360°. If the kinematics does not have ambiguities, or if the configuration data suffices to resolve any ambiguities, the reference position is not used. In case of an ambiguity, the transformation should resolve the ambiguity in such a way that the resulting axis positions are as close as possible to aRef. cd CONFIGDATA In: The serialized configuration data of the offset position kinematics. (As returned by ISMPositionKinematics_Offset2.AxesToConfiguration_Offset .)
ISMPositionKinematics_Offset2 (ITF) ¶ INTERFACE ISMPositionKinematics_Offset2 EXTENDS ISMPositionKinematics_Offset Extended position kinematics with offset. Properties: NumAxes , inherited from MC_KIN_REF_SM3 Methods: AxesToConfiguration_Offset AxesToCartesian , inherited from MC_KIN_REF_SM3 AxesToOrientation , inherited from ISMPositionKinematics CartesianToAxes , inherited from MC_KIN_REF_SM3 CartesianToAxes_Offset , inherited from ISMPositionKinematics_Offset GetOrientationImage , inherited from ISMPositionKinematics2 Structure: AxesToConfiguration_Offset (Method)
ISMPositionKinematics_Offset2.AxesToConfiguration_Offset (METH) ¶ METHOD PUBLIC AxesToConfiguration_Offset Computes the configuration from the axis positions plus an offset vector. The offset vector is given relative to the orientation of the flange. The returned “offset configuration” is not necessarily the same as the configuration of the position kinematics. As an example, consider a scara2 robot and an offset vector that has a component in y-direction, which means an offset orthogonal to the second link. The second link together with the offset in y can be thought of as a modified scara robot, by replacing it with a direct link from the base of the second link to the flange: second link first link___-- x---------------------- ______/ \________ | x-----/ \______ | offset in y-direction modified \____| second link This modified scara robot will, in general, have different configurations. Note If vOffset_TCP is zero, this method returns the same configuration as MC_KIN_REF_SM3.AxesToCartesian . InOut: Scope Name Type Comment Inout cd CONFIGDATA Out: The serialized configuration data of the offset kinematics. This is not necesarily the same as the configuration of the original kinematics. Intended for use with ISMPositionKinematics_Offset.CartesianToAxes_Offset . Inout Const a AXISPOS_REF In: The position of all position axes vOffset_TCP SMC_Vector3D In: The additional position offset between the TCP of the position kinematics and the offset TCP. This input is expressed in the TCP coordinate system of the position kinmatics.
ISMToolKinematics (ITF) ¶ INTERFACE ISMToolKinematics EXTENDS ISMOrientationKinematics This interface is deprecated. Instead use the interface ISMOrientationKinematics directly. Properties: NumAxes , inherited from MC_KIN_REF_SM3 Methods: AxesToCartesian , inherited from MC_KIN_REF_SM3 CartesianToAxes , inherited from MC_KIN_REF_SM3 GetPositionFromOrientation , inherited from ISMOrientationKinematics
ISMToolKinematics2 (ITF) ¶ INTERFACE ISMToolKinematics2 EXTENDS ISMOrientationKinematics2 , ISMToolKinematics This interface is deprecated. Instead use the interface ISMOrientationKinematics3 . Properties: NumAxes , inherited from MC_KIN_REF_SM3 Methods: AxesToCartesian , inherited from MC_KIN_REF_SM3 CartesianToAxes , inherited from MC_KIN_REF_SM3 GetPositionFromOrientation , inherited from ISMOrientationKinematics GetPositionFromOrientation2 , inherited from ISMOrientationKinematics2 IsCompatibleWithPosKin , inherited from ISMOrientationKinematics2
MC_KIN_REF_SM3 (ITF) ¶ INTERFACE MC_KIN_REF_SM3 EXTENDS __SYSTEM.IQueryInterface Represents a kinematic transformation that can transform from position/orientation of the TCP to axis positions and vice versa. Note When implementing a new transformation, it is recommended to also implement the following interfaces: ISMKinematicWithConfigurations4 If the kinematics has multiple configurations or modes, such as the “elbowRight” mode of the scara transformations. ISMKinematicWithInfo2 If the kinematics contains rotary joints or wants to restrict the range of a joint. ISMKinematicWithInitialization If the kinematics has to be initialized before using it. ISMPositionKinematics_Offset2 If the kinematics can be combined with orientation kinematics (Required for the orientation interpolation in axis space.) ISMOrientationKinematics3 If it is an orientation kinematics that can be combined with position kinematics. ISMKinPeriodHandling If the kinematics uses rotary axes and allows to configure the period of the rotary axes in the configuration data. ISMKinematicsWithOrientationImage2 This interface allows to calculate the flange orientation given the programmed orientation of the flange. (There can be a difference between programmed and actual orientation if the kinematics does not have all three degrees of freedom for the orientation.) You don’t need to implement this interface for a position or orientation kinematics. ISMOrientationKinematicsWithOriImage2 This interface is required to define the orientation image, that is, the space of possible orientations, of the orientation kinematics. This interface is required by the coupled kinematics to calculate the flange orientation from the programmed orientation. If, instead of ISMPositionKinematics2 / ISMOrientationKinematics3 , only ISMPositionKinematics / ISMOrientationKinematics are implemented, “impossible” orientations may not be handled correctly. If the kinematic transformation needs the limits of an axis for the computation, then the interface ISMKinematicAxisSettings should be implemented. This is usually not needed but can be necessary to return sensible values when inside a singularity. Attention: Once connected to an axis group, the inputs of the function block implementing MC_KIN_REF_SM3 must not change! It is strongly recommended to use a second instance or to encode parametrization in the configuration. Properties: NumAxes Methods: AxesToCartesian CartesianToAxes Structure: AxesToCartesian (Method) CartesianToAxes (Method) NumAxes (Property)
MC_KIN_REF_SM3.AxesToCartesian (METH) ¶ METHOD AxesToCartesian : SMC_Error Computes position/orientation of the TCP from axis positions. Returns whether the computation was successful. InOut: Scope Name Type Comment Return AxesToCartesian SMC_Error Inout f SMC_Frame Out: The position and orientation of the TCP cd CONFIGDATA Out: The serialized configuration data Inout Const a AXISPOS_REF In: The position of all axes