Library Reference ¶ This is a dictionary of all referenced libraries and their name spaces.
AXIS_REF ¶ AXIS_REF_SM3 (FunctionBlock) CAA-Device-Diagnosis CheckCurrentSupportedCommunicationState (Method) CheckSupportedCommunicationState (Method) GetDeviceErrorAsync (Method) GetDeviceInfo (Method) GetDeviceState (Method) GetSpecificDeviceErrorAsync (Method) GetSpecificDeviceState (Method) INode ChildNodeCount (Property) Connector (Property) Enable (Property) FirstChildNode (Property) Index (Property) IsRootNode (Property) NextSiblingNode (Property) ParentNode (Property) SiblingNodeCount (Property) IsDeviceDiagInitialized (Property) SetCommunicationState (Method) GetActValuesForCycle (Method) GetSetValuesForCycle (Method) Help-functions SMC3_DetectDriveError (Action) SkipNextInputUpdate (Method) SkipNextOutputUpdate (Method) WriteSetValues (Method) IAxisRef (Interface) GetAxisRefPointer (Method) SMC3_ReinitDrive (FunctionBlock) SMC_AxisChangeSettings (FunctionBlock) SMC_AxisReadSettings (FunctionBlock) SMC_CycleCounter SMC_CycleCounter (Alias) SMC_CycleCounter_Dec (Function) SMC_CycleCounter_Dist (Function) SMC_CycleCounter_Inc (Function) SMC_CycleCounter_Less (Function)
AXIS_REF_SM3 (FB) ¶ FUNCTION_BLOCK AXIS_REF_SM3 IMPLEMENTS DED.IDevice2, IAxisRef The function block serves as drive interface containing routines serving as drivers. Every SoftMotion axis is an extended instance of this function block. Note Every motion-generating function block or, more generally, a function block having a VAR_IN_OUT of type AXIS_REF_SM3 needs to be called in the bus cycle task of the drive device represented by this AXIS_REF_SM3 . InOut: Scope Name Type Initial Comment Input wAxisStructID WORD 16#FE12 nAxisState SMC_AXIS_STATE power_off State of the axis according to the PLCopen state diagram: 0: power_off 1: errorstop 2: stopping 3: standstill 4: discrete_motion 5: continuous_motion 6: synchronized_motion 7: homing Parameter number: 1000 bRegulatorOn BOOL FALSE Parameter number: 1010 bDriveStart BOOL FALSE Parameter number: 1011 bCommunication BOOL FALSE TRUE : Communication OK Parameter number: 1012 wCommunicationState WORD 16#FFFF Parameter number: 1013 uiDriveInterfaceError UINT Drive interface error number Parameter number: 1014 bRegulatorRealState BOOL FALSE Parameter number: 1015 bDriveStartRealState BOOL FALSE Parameter number: 1016 wDriveId WORD 0 Parameter number: 1021 iOwner INT 0 Parameter number: 1022 fCycleTimeSpent LREAL Parameter number: 1024 fTaskCycle LREAL 0.005 Parameter number: 1025 bError BOOL FALSE Parameter number: 1030 dwErrorID DWORD 0 Drive specific error identifier, parameter number: 1031 bErrorAckn BOOL FALSE Parameter number: 1032 bDisableErrorLogging BOOL FALSE Parameter number: 1036 fbeFBError ARRAY [0..g_SMC_NUMBER_FB_ERRORS] OF SMC_FBERROR Parameter number: 1035 dwRatioTechUnitsDenom DWORD 1 Parameter number 1051 iRatioTechUnitsNum DINT 1 Parameter number 1052 nDirection MC_Direction positive Parameter number 1053 fScalefactor LREAL 1 Parameter number 1054 fFactorVel LREAL 1 Parameter number 1055 fFactorAcc LREAL 1 Parameter number: 1056 fFactorTor LREAL 1 Parameter number: 1057 fFactorJerk LREAL 1 Factor jerk Parameter number: 1058 fFactorCur LREAL 1 Parameter number: 1059 iMovementType INT SMC_AXIS_TYPE.finite Parameter number: 1060 fPositionPeriod LREAL 1000 Parameter number: 1061 eRampType SMC_RAMPTYPE trapez Parameter number: 1062 byControllerMode BYTE SMC_position Parameter number:1091 byRealControllerMode BYTE SMC_position Parameter number: 1092 fSetPosition LREAL 0 Parameter number: 1100, 1 fActPosition LREAL 0 Parameter number: 1101 fAimPosition LREAL 0 Parameter number: 1105 fSavePosition LREAL 0 Parameter number: 1107 fSetVelocity LREAL 0 Parameter number: 1110, 11 fActVelocity LREAL 0 Parameter number: 1111, 10 fMaxVelocity LREAL 0 Maximum velocity of the drive (remote parameter) in [u/s] Parameter number: 1112,9 fSWMaxVelocity LREAL 0 Maximum velocity (software limit) in [u/s] Parameter number: 1113 bConstantVelocity BOOL FALSE Parameter number: 1115 fSaveVelocity LREAL 0 Parameter number: 1117 fSetAcceleration LREAL 0 Parameter number: 1120 fActAcceleration LREAL 0 Parameter number: 1121 fMaxAcceleration LREAL 0 Maximum acceleration of the drive (remote parameter) in [u/s²] Parameter number: 1122, 13 fSWMaxAcceleration LREAL 0 Maximum acceleration (software limit) in [u/s²] Parameter number: 1123 bAccelerating BOOL FALSE Parameter number: 1125 fSaveAcceleration LREAL 0 Parameter number: 1127 fMaxDeceleration LREAL 0 Maximum deceleration of the drive (remote parameter) in [u/s²] Parameter number: 1132, 15 fSWMaxDeceleration LREAL 0 Maximum deceleration (software limit) in [u/s²] Parameter number: 1133 bDecelerating BOOL FALSE Parameter number: 1135 fSaveDeceleration LREAL 0 Parameter number: 1137 fSetJerk LREAL 0 Parameter number: 1140 fActJerk LREAL 0 Parameter number: 1141 fMaxJerk LREAL 0 Maximum jerk of the drive (remote parameter) in [u/s³] Parameter number: 1142, 16 fSWMaxJerk LREAL 0 Maximum jerk (software limit) in [u/s³] Parameter number: 1143 fRampJerk LREAL 100000 Maximum Jerk, special value for sin² ramp type in [u/s³] Parameter number: 1144 fSaveJerk LREAL 0 Parameter number: 1147 fSetCurrent LREAL 0 Parameter number: 1150 fActCurrent LREAL 0 Parameter number: 1151 fMaxCurrent LREAL 100 Maximum current in [A] Parameter number: 1152 fSWMaxCurrent LREAL 0 Maximum user defined current in [A] Parameter number: 1153 fSetTorque LREAL 0 The set torque in [Nm] or [N] (linear) at the gearbox output. Parameter number: 1160 fActTorque LREAL 0 Actual torque in [Nm] or [N] (linear) at the gearbox output. Parameter number: 1161 fMaxTorque LREAL 0 The maximum torque in [Nm] or [N] (linear) at the gearbox output. Parameter number: 1162 fSWMaxTorque LREAL FPU.GetLRealSpecialVal(FPU.ESpecial_FP_Value.PosInf) The maximum torque (software limit) in [Nm] or [N] (linear) at the gearbox output. Parameter number: 1163 fSWLimitPositive LREAL 0 Position limit in positive direction in [u] Parameter number: 1200, 2 fSWLimitNegative LREAL 0 Position limit in negative direction in [u] Parameter number: 1201, 3 usiSWEndSwitchState USINT 0 Parameter number: 1204 bSWLimitEnable BOOL FALSE Parameter number: 1205 bHWLimitEnable BOOL TRUE Parameter number: 1206 bStartReference BOOL FALSE Parameter number: 1210 fReference LREAL 0 Parameter number: 1211 bStartReferenceRealState BOOL FALSE Parameter number: 1212 fOffsetPosition LREAL 0 Parameter number: 1215 dwPosOffsetForResiduals DWORD 0 Parameter number: 1230 dwOneTurn DWORD 0 Parameter number: 1231 dwLastPosition DWORD 0 Parameter number: 1232 bySwitchingState SMC_SWITCHING_STATE SMC_ST_INITIALIZING Parameter number: 1233 iRestNumerator DINT 0 Parameter number: 1234 iTurn INT 0 Parameter number: 1235 dwPosOffsetForResidualsHoming DWORD 0 Parameter number: 1237 dwActPosition DWORD 0 Parameter number: 1238 dwBusBandWidth DWORD 0 The bus band width, 0 if the bus has 32 bit, 2^k otherwise where 0 < k < 32 is the bus bit depth. Parameter number: 1240 dwBusModuloMask DWORD 16#FFFFFFFF The value (2^k - 1) where k is the bus bit depth. Parameter number ? eBrakeControl SMC3_BrakeSetState SMC_BRAKE_AUTO Parameter number: 1017 bBrakeClosedRealState BOOL FALSE Parameter number: 1018 bOldError BOOL Parameter number: 1033 bVirtual BOOL TRUE : Virtual drive. Parameter number: 1040 bLogical BOOL Parameter number: 1041 fSetActTimeLagCycles LREAL 3 Parameter number: 1070 diSetPosition DINT 0 Parameter number: 1108 diActPosition DINT 0 Parameter number: 1109 diSetVelocity DINT 0 Parameter number: 1118 diActVelocity DINT 0 Parameter number: 1119 diSetAcceleration DINT 0 Parameter number: 1128 diActAcceleration DINT 0 Parameter number: 1129 diSetCurrent DINT 0 Parameter number: 1158 diActCurrent DINT 0 Parameter number: 1159 diSetTorque DINT 0 Parameter number: 1168 diActTorque DINT 0 Parameter number: 1169 fSWLimitDeceleration LREAL 0 Deceleration in [u/s²] with which the system will brake in case of a software limit. Parameter number: 1203 xWaitForHaltWhenStopInterruptsHome BOOL TRUE : When MC_Home is interrupted by MC_Stop , then``MC_Stop.bDone`` is delayed until the drive reports that it has successfully halted. bStartReferenceRealState = FALSE Parameter number: 1213 fSWErrorMaxDistance LREAL 0 Distance in which the drive has to reach standstill after an error has occurred. Parameter number: 1250 eCheckPositionLag SMC3_CheckPositionLagMode 0 Parameter number: 1207 fMaxPositionLag LREAL Parameter number: 1208 bPositionLagActive BOOL Parameter number: 1209 bModuloDoneByDrive BOOL Parameter number: 1242 diFollowingError DINT Parameter number: 1243 fFollowingError LREAL Parameter number: 1244 aCaptDesc ARRAY [0..7] OF SMC3_CaptureDescription Parameter number: 1400 bRestarting BOOL FALSE xPersistentDataLoaded BOOL FALSE strDriveInterfaceError STRING(255) adatAcyclic ARRAY [1..SMC3_gc_usiNumberAcyclicChannels] OF SMC3_DriveAcyclicTel nAbortCounter UDINT Internal: counts the number of aborts. This counter simply wraps to 0 when exceeding 2^32-1, so use accordingly. Increased in method SetOwner(). vMinRequiredVersion VERSION The minimum version of SM3_Basic that the driver requires. iRampType1 SMC_TG_IRAMPTYPE Instance of ramp type interface, used for Robotics, acceleration ramp Note: only set for ramp type trapez and quadratic, or custom ramps. iRampType2 SMC_TG_IRAMPTYPE Instance of ramp type interface, used for Robotics, deceleration ramp Note: only set for ramp type trapez and quadratic, or custom ramps. bAvoidReversalOnHaltStop BOOL Parameter number: 1260 bConsiderLimitsOfAbortedMotionOnHaltStop BOOL Parameter number: 1270 bUpdateIOsInStop BOOL Update the IOs if the application is stopped. overrideFactors SMRB.DynFactors STRUCT(fVel := 1, fAcc := 1, fJerk := 1, fTorque := 1) m_superimposed SMC_SuperimposedData Internal: information of superimposed movements fLastActPosition LREAL The act position of the previous cycle fLastActVelocity LREAL The act velocity of the previous cycle Output strDriver STRING(16) dwDriverVersion DWORD Properties: ChildNodeCount Connector Enable FirstChildNode Index IsDeviceDiagInitialized IsRootNode NextSiblingNode ParentNode SiblingNodeCount Methods: GetActValuesForCycle GetSetValuesForCycle WriteSetValues CheckCurrentSupportedCommunicationState CheckSupportedCommunicationState GetDeviceErrorAsync GetDeviceInfo GetDeviceState GetSpecificDeviceErrorAsync GetSpecificDeviceState SetCommunicationState SkipNextInputUpdate SkipNextOutputUpdate Structure: CAA-Device-Diagnosis CheckCurrentSupportedCommunicationState (Method) CheckSupportedCommunicationState (Method) GetDeviceErrorAsync (Method) GetDeviceInfo (Method) GetDeviceState (Method) GetSpecificDeviceErrorAsync (Method) GetSpecificDeviceState (Method) INode ChildNodeCount (Property) Connector (Property) Enable (Property) FirstChildNode (Property) Index (Property) IsRootNode (Property) NextSiblingNode (Property) ParentNode (Property) SiblingNodeCount (Property) IsDeviceDiagInitialized (Property) SetCommunicationState (Method) GetActValuesForCycle (Method) GetSetValuesForCycle (Method) Help-functions SMC3_DetectDriveError (Action) SkipNextInputUpdate (Method) SkipNextOutputUpdate (Method) WriteSetValues (Method)
IAxisRef (ITF) ¶ INTERFACE IAxisRef Interface that gives access to the pointer of an AXIS_REF_SM3 . Its sole purpose is to achieve online safety: while pointers may be invalidated by online change, interfaces are not. Methods: GetAxisRefPointer Structure: GetAxisRefPointer (Method)
SMC3_ReinitDrive (FB) ¶ FUNCTION_BLOCK SMC3_ReinitDrive This function block reinits a drive/axis. That means that the start-up phase is run through again and the application can not control the drive until the function block sets bDone = TRUE . Note Do not call the function block until it has reached the communication state SMC_COMSTATE_BASE_COM_INITIALIZATION or higher. See also: SMC_CheckAxisCommunication . Input bVirtual determines whether a axis really exists or if it is simulated. If the input bVirtual is set TRUE , the axis is set into virtual mode. Then it will be replaced by a simulation similar to a virtual drive device. This has no influence on the field bus devices, which will work as usual but without receiving messages from or sending messages to the real device. This corresponds to the settings done in SoftMotion Device Editor. In case of connected drive devices, regard that SMC3_ReinitDrive doesn’t start the associated field bus automatically. Actually the function block could be executed after an reboot of the fieldbus or has to be used to activate the settings made with SMC_ChangeGearingRatio . InOut: Scope Name Type Inout Axis AXIS_REF_SM3 Input bExecute BOOL bVirtual BOOL Output bDone BOOL bBusy BOOL bError BOOL nErrorID SMC_ERROR
SMC_AxisChangeSettings (FB) ¶ FUNCTION_BLOCK SMC_AxisChangeSettings This function block can be used to change advanced settings of an axis. InOut: Scope Name Type Comment Inout Axis AXIS_REF_SM3 Input bExecute BOOL TRUE : Activates FB, else inactive. bUpdateIOsInStop BOOL Update the IOs if the application is stopped. This setting will only have an effect, if “Update IOs while in stop” is enabled in the PLC settings. The default value for this setting is FALSE. Note: this may violate other PLC settings, like “keep current value”, because the axis may change the outputs, e.g. when decelerating due to an error reaction. Output bDone BOOL TRUE : Signal has been sent to the drive bBusy BOOL TRUE : FB is not idle.
SMC_AxisReadSettings (FB) ¶ FUNCTION_BLOCK SMC_AxisReadSettings This function block can be used to read advanced settings of an axis. InOut: Scope Name Type Comment Inout Axis AXIS_REF_SM3 Input bEnable BOOL TRUE : Activates FB, else inactive. Output bUpdateIOsInStop BOOL Current value of the Update the IOs flag if the application is stopped.
SMC_SeriesStats (STRUCT) ¶ TYPE SMC_SeriesStats : STRUCT Basic statistics of a series of values. InOut: Name Type Comment udiN UDINT Number of values in the series fMin LREAL Minimum value fMax LREAL Maximum value fAvg LREAL Average value fSDev LREAL Standard deviation aLargest ARRAY [0..(SMC_ConstPerf.NUM_SAMPLES - 1)] OF SMC_SeriesSample The largest samples, sorted by value in descending order. The number of elements stored is MIN(udiN, ConstPerf.NUM_SAMPLES) . aSmallest ARRAY [0..(SMC_ConstPerf.NUM_SAMPLES - 1)] OF SMC_SeriesSample The smallest samples sorted by value in ascending order. The number of elements stored is MIN(udiN, ConstPerf.NUM_SAMPLES) .
DriveInterface ¶ MC_DIRECTION (Enum) SMC3_CaptureDescription (Struct) SMC3_CheckPositionLagMode (Enum) SMC3_DriveAcyclicTel (Struct) SMC3_MappingEntry (Alias) SMC3_ParamCommunicationMethod_Enum (Enum) SMC_AXIS_STATE (Enum) SMC_AXIS_TYPE (Enum) SMC_CONTROLLER_MODE (Enum) SMC_ENCODER_REF (Struct) SMC_FBERROR (Struct) SMC_MOVEMENTTYPE (Enum) SMC_RAMPTYPE (Enum) SMC_SWITCHING_STATE (Enum) SMC_ValueSelect (Enum)
MC_DIRECTION (ENUM) ¶ TYPE MC_DIRECTION : Specifies the direction of a movement. Please note that not all modes can be applied to all function blocks and axis types (modulo/finite). InOut: Name Initial Comment fastest 3 Selects the direction automatically in order to reach the target position as fast as possible (only modulo axes). current 2 Keeps the current direction to reach the target (only modulo axes). positive 1 Moves in positive direction. shortest 0 Selects the direction according to the shortest distance (only modulo axes). negative -1 Moves in negative direction.