ETC_LASTERROR (ENUM) ¶ TYPE ETC_LASTERROR : Attributes: qualified_only InOut: Name Initial Comment NO_ERROR 0 No error: everything running NO_COMM No more communication at all. More than 100 packets are not received. Perhaps cable break at the master WRONG_WORKING_COUNTER Working counter for processdata is wrong. One ore more slave are not operational or missing and the expected working counter is not reached DC_TIME_ZERO DC time from slave is always zero -> perhaps in and out connector is wrong and no time could be read from clock reference OPEN_FIRSTADAPTER_FAILED First Networkadapter could not be opened OPEN_SECONDADAPTER_FAILED Second Networkadapter could not be opened ADAPTER_MISMATCH Second Networkadapter usess the MAC-ID as first network adapter NO_SLAVES_FOUND Init slaves error: possibly slave missing or no communication at all VENDOR_ID_WRONG VendorID does not match PRODUCT_ID_WRONG ProductID does not match NUMBER_DEVICE_MISMATCH Read of product or vendor ID not successfull, more slaves in config as real? SDO_WRITE_ERROR SDO write error in startup procedure SDO_TIMEOUT SDO timeout in startup procedure EMERGENCY_RECEIVED Emergency from device received IDN_WRITE_ERROR IDN write error in startup procedure IDN_TIMEOUT IDN timeout in startup procedure WATCHDDOG_ERROR Watchdog expired for opmode WRONG_IN_OUT_PORT IN and OUT Port at one device is wrong. Last slave port status is wrong
ETC_MASTER_STATE (ENUM) ¶ TYPE ETC_MASTER_STATE : Attributes: qualified_only InOut: Name Initial ETC_MASTER_INIT 1 ETC_MASTER_PREOPERATIONAL 2 ETC_MASTER_SAVEOPERATIONAL 4 ETC_MASTER_OPERATIONAL 8
ETC_SLAVE_STATE (ENUM) ¶ TYPE ETC_SLAVE_STATE : Attributes: qualified_only InOut: Name Initial ETC_SLAVE_BOOT 3 ETC_SLAVE_INIT 1 ETC_SLAVE_PREOPERATIONAL 2 ETC_SLAVE_SAVEOPERATIONAL 4 ETC_SLAVE_OPERATIONAL 8
ISMKinematicWithInitialization (ITF) ¶ INTERFACE ISMKinematicWithInitialization EXTENDS MC_KIN_REF_SM3 Kinematics that require initialization should implement this interface. The method ISMKinematicWithInitialization.Initialize will be called if the kinematic is configured for an axis group (provided that the method ISMKinematicWithInitialization.IsInitialized returns false.) Properties: NumAxes , inherited from MC_KIN_REF_SM3 Methods: Initialize IsInitialized AxesToCartesian , inherited from MC_KIN_REF_SM3 CartesianToAxes , inherited from MC_KIN_REF_SM3 Structure: Initialize (Method) IsInitialized (Method)
ISMKinematicWithInitialization.Initialize (METH) ¶ METHOD Initialize : SMC_Error Performs any necessary initialization and returns an error code indicating success or failure. Note No other method or property of the kinematic FB should be called before this method has been successfully called. The only exception is the method ISMKinematicWithInitialization.IsInitialized , which may be safely called before. InOut: Scope Name Type Return Initialize SMC_Error
ISMKinematicWithInitialization.IsInitialized (METH) ¶ METHOD IsInitialized : BOOL Returns if initialization has SUCCESSFULLY been executed. InOut: Scope Name Type Return IsInitialized BOOL
ISMKinematicsWithOrientationImage (ITF) ¶ INTERFACE ISMKinematicsWithOrientationImage This interface computes the actual flange orientation from the programmed / desired flange orientation. For kinematics with three degrees of freedom for the orientation, there is no difference between programmed and actual flange orientation. For kinematics with less than three degrees of freedom for the orientation, some kind of projection from the programmed orientation to the closest achievable orientation is computed. This interface is required to support different tools (see SMC_GroupSetTool). Only when the actual flange orientation can be computed, the tool offset can be correctly compensated for. Some remarks on the usage of this interface, which may help to provide the context for why it is needed: Each tool is defined by the position offset of the TCP from the flange origin and the relative orientation between the TCP and the flange coordinate system. This interface can be used to get all the possible orientations of the flange coordinate system with respect to the MCS. The interface is used to compute whether a given tool offset is compatible with the kinematics, and for the inverse transformation of the kinematics. (See ISMKinematicsWithOrientationImage.GetFlangeOrientationImage for In the case of coupled kinematics, the position kinematics should implement the interface ISMPositionKinematics2 and the orientation kinematics should implement ISMOrientationKinematicsWithOriImage2 each containing their respective GetOrientationImage methods. The coupled kinematics Kin_Coupled itself already contains an implementation of ISMKinematicsWithOrientationImage . See ISMOrientationKinematicsWithOriImage2 for an extended interface which should be implemented isntead. Methods: GetFlangeOrientationImage Structure: GetFlangeOrientationImage (Method)
ISMKinematicsWithOrientationImage.GetFlangeOrientationImage (METH) ¶ METHOD GetFlangeOrientationImage : SMC_Error Given the programmed flange orientation, this method returns the possible achievable orientations of the flange coordinate system. For kinematics with three degrees of freedom for the orientation, the returned orientation is identical to the programmed orientation ( mR_Flange ). For kinematics with less than three degrees of freedom for the orientation, the returned orientation is a projection of the programmed orientation to the working space of the kinematics. This means, the closest achievable orientation is returned. (Note: the implementation needs to be consistent with the inverse transformation, which also performs this projection step.) The implementation should return the most accurate orientation image possible, preferably a single orientation. If this is not possible, a one-dimensional space of orientations can be returned in oriInfo . If this is not possible, then a three-dimensional space is returned. In this case, nothing is known about the actual orientation. A full inverse transformation is necessary to compute the actual orientation. Some notes on the use of this interface, to give more context information. If oriInfo.dof = zero, then the actual orientation is known. In this case, any tool offset can be used with the kinematics. If oriInfo.dof = one, then the orientation of the flange is known up to the rotation around a (known) axis (oriInfo.vU/vRot). mOriZero is set to some orientation in the reachable space. Only tool offsets that are parallel to oriInfo.vU can be used. If oriInfo.dof = three, then the actual orientation is unknown. Only the zero tool offset can be used. InOut: Scope Name Type Comment Return GetFlangeOrientationImage SMC_Error Inout oriInfo OrientationSpace Information about the possible orientations of the flange coordinate system. Inout Const mR_Flange SMC_Matrix3 Programmed / desired orientation of the flange, expressed in the MCS.
ISMKinematicsWithOrientationImage2 (ITF) ¶ INTERFACE ISMKinematicsWithOrientationImage2 Replaces ISMKinematicsWithOrientationImage . Methods: GetFlangeOrientationImageTotal GetFlangeOrientationImageWithOri Structure: GetFlangeOrientationImageTotal (Method) GetFlangeOrientationImageWithOri (Method)
ISMKinematicsWithOrientationImage2.GetFlangeOrientationImageTotal (METH) ¶ METHOD GetFlangeOrientationImageTotal : SMC_Error Returns the space of achievable orientations of the kinematics. In contrast to GetFlangeOrientationImageWithOri , this method returns the orientation image without knowledge of a specific programmed orientation. Thus, it is neccessarily less specific. InOut: Scope Name Type Comment Return GetFlangeOrientationImageTotal SMC_Error Inout oriInfo OrientationSpace Information about the possible orientations of the flange coordinate system.