logo资料库

库卡机器人软浮动功能说明.pdf

第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
资料共15页,剩余部分请下载后查看
KUKA System Software 8.3 6.16 Torque mode 6.16.1 Overview of torque mode Description Restriction The “torque mode” function consists of the sub-functionalities “torque limita- tion” and “deactivation of monitoring functions”. Torque limitation: The torques, i.e. the motor current, can be limited for individual axes or multi- ple axes. Torque limitation enables the following applications: The axis can push or pull with a defined torque against a resistance. Example: application of a defined pressure on the workpiece by an electric motor- driven spot welding gun. The axis can be set to “soft”. It can then be moved by application of an ex- ternal force. It can be pushed away, for example. Examples: The robot must grip a workpiece in a press that is then ejected by the press. In order for the robot to be able to yield and absorb the ejector stroke, the affected axis is set to “soft”. The robot must set a workpiece down at a point from which it can be pulled into exactly the right position by means of clamps. The robot must be com- pliant for this. Deactivation of monitoring functions: The torque limitation generally results in a relatively large deviation between the command position and the actual position. Certain monitoring functions are triggered by this deviation, although this is undesirable with torque limita- tion. These regular monitoring functions can thus be deactivated. The following restriction must be taken into consideration if axes are to absorb ejector motions: A diagonal ejector motion cannot generally be absorbed by switching a single axis to “soft”. Remedy: In the case of slightly diagonal ejector motions, a possible remedy is to in- stall the robot with a slight inclination. Or contact KUKA Roboter GmbH. Inclined installation of the robot is only permissible up to a certain an- gle of inclination. Further information is contained in the robot operat- ing or assembly instructions. 6.16.1.1 Using torque mode Torque mode is only possible in program mode, not in manual mode. 204 / 477 Issued: 24.01.2014 Version: KSS 8.3 SI V2
6 Configuration By default, the robot controller is configured so that only limits that exceed the holding torque of the axis ($HOLDING_TORQUE) can be set. It is nonetheless possible that the axis with limited torque is no longer able to achieve the necessary torque for brak- ing, holding or moving the axis. This can be the case, for example, if the de- fault configuration of the robot controller has been changed or incorrect load data are used. Incorrectly set values can result in unexpected behavior of the robot control- ler, e.g. motion in a different direction or with different acceleration. For this reason: Only ever limit the torque in small steps, gradually approaching the re- quired limit. Do not limit the torque further than necessary. Failure to take this precaution into consideration may result in death, injuries or damage to property. If an application requires torque limits that no longer exceed the hold- ing torque of the axis, KUKA Roboter GmbH must be contacted. 1. Set the torque limits for the desired axis and/or deactivate the regular mon- itoring functions. (>>> 6.16.2 "Activating torque mode: SET_TORQUE_LIMITS()" Page 207) If the regular monitoring functions are deactivated, other monitoring func- tions specially adapted to torque mode are automatically activated. (>>> "Monitoring functions" Page 206) If the axis is to be set to “soft”: move the axis so that the torque limit be- comes active. At the end of the motion, the brakes of this axis remain open. Alternatively, a “motion” to the current position can be executed. The robot does not move, but the brakes are released. 2. 3. Optionally: generate a signal indicating that the axis is stationary (e.g. sig- nal to an injection molding machine). 4. Perform the desired action, e.g. move to workpiece and build up pressure or push the axis away. 5. Optionally: wait for a signal to end torque mode. 6. Deactivate torque mode again. (>>> 6.16.3 "Deactivating torque mode: RESET_TORQUE_LIMITS()" Page 210) The torque limits are canceled and the regular monitoring functions are re- activated. Furthermore, the command position is adjusted to the actual po- sition. Torque mode is considered to be activated in the following case: If the upper torque limit is less than or equal to the upper value of the $TORQUE_AXIS_MAX interval. (>>> 6.16.5.3 "$TORQUE_AXIS_MAX" Page 212) And/or: If the lower torque limit is greater than or equal to the lower value of the $TORQUE_AXIS_MAX interval. And/or: If the regular monitoring functions are deactivated. Torque mode is considered to be deactivated in the following case: If no limits are set or if the limits are invalid. A limit is invalid if it is outside the $TORQUE_AXIS_MAX interval. Procedure Activated/deacti- vated Issued: 24.01.2014 Version: KSS 8.3 SI V2 205 / 477
KUKA System Software 8.3 Automatic deacti- vation Monitoring functions And: If the regular monitoring functions are deactivated. Torque mode is automatically deactivated in the following cases: End of program Program reset Program deselection Block selection (but no deactivation if the target of the block selection is in an interrupt program) RESUME (but no deactivation if the RESUME statement returns to an in- terrupt program) Manual mode is activated. Planning is carried out from the current actual position and motion is resumed with full torque. Torque mode generally results in a relatively large deviation between the com- mand position and the actual position. Certain monitoring functions are trig- gered by this deviation, although this is undesirable in torque mode. These regular monitoring functions can thus be deactivated using SET_TORQUE_LIMITS(). If the regular monitoring functions are deactivated, other monitoring functions specially adapted to torque mode are automatically activated for the actual ve- locity and following error. If required, user-defined values can be set for these special monitoring functions using SET_TORQUE_LIMITS(). The following messages belong to the regular monitoring functions. They are no longer displayed if the regular monitoring functions are deactivated. Monitoring Following error monitoring Standstill monitoring Positioning monitoring Monitoring whether motor blocked Message no. / message 26024: Ackn. Max. following error exceeded ({Drive}). 1100: Stopped {(Axis number)} 1105: Positioning monitoring {(Axis num- ber)} 26009: Motor blocked ({Drive}). It is also possible, however, to retain the regular monitoring functions in torque mode. This may be useful, for example, if torque mode is used to avoid dam- age in the case of collisions. (>>> 6.16.6.2 "Robot program: avoiding damage in the event of collisions" Page 214) 6.16.1.2 Robot program example: setting A1 to “soft” in both directions Description Program This simple example illustrates the basic principle of torque mode. In this example, A1 is to be set to “soft” in both directions. For this purpose, both the positive and negative current limits are set to 0 Nm. This allows A1 to be moved by application of an external force. ... 1 PTP {A1 10} 2 SET_TORQUE_LIMITS(1, {lower 0, upper 0, monitor #off}) 3 PTP {A1 11} ... 4 RESET_TORQUE_LIMITS(1) 5 PTP {A1 -20} ... 206 / 477 Issued: 24.01.2014 Version: KSS 8.3 SI V2
Line 2 3 4 5 6 Configuration Description Negative and positive current limits of A1 are set to 0; the reg- ular monitoring functions are deactivated. (The actual velocity and the following error are now monitored with special monitoring functions.) A “motion” is executed to activate torque limitation. (Since both current limits are set to 0, the robot will not actually move.) A1 can now be moved by application of an external force. Deactivate torque mode again for A1. Torque limitation is canceled and the regular monitoring func- tions are reactivated. Furthermore, the command position is automatically adjusted to the actual position. The robot moves to the next position. (The motion from line 4 is not belatedly executed now, as the command/actual adjustment has been carried out in line 5.) It is only for A1 that the holding torque is 0 Nm. The limits can therefore not generally be set to 0 for setting an axis to “soft”. This documentation contains a more detailed example of setting axes to “soft” that can also be applied to other axes. (>>> 6.16.6.1 "Robot program: setting axis to “soft” in both directions" Page 214) 6.16.2 Activating torque mode: SET_TORQUE_LIMITS() Description This function can be used to perform the following actions for a specific axis: Limit the torques in the positive and/or negative direction. Deactivate the regular monitoring functions that would be triggered by a higher following error. If the regular monitoring functions are deactivated: modify the values for the special monitoring functions. Function SET_TORQUE_LIMITS (axis: in, values: in) Description Element axis values Type: INT Axis to which the statement applies Type: TorqLimitParam Values set for the axis TorqLimitParam STRUC TorqLimitParam REAL lower, upper, SW_ONOFF monitor, REAL max_vel, max_lag Element lower upper Description Lower torque limit Unit: Nm (for linear axes: N) Default value: -1E10 (i.e. unlimited) Upper torque limit Unit: Nm (for linear axes: N) Default value: 1E10 (i.e. unlimited) Issued: 24.01.2014 Version: KSS 8.3 SI V2 207 / 477
KUKA System Software 8.3 Element monitor max_vel max_lag Description #ON (Default): activates the regular monitoring func- tions. #OFF: deactivates the regular monitoring functions. In- stead, the monitoring functions max_vel and max_lag are activated. Maximum permissible actual velocity in torque mode (only relevant if the regular monitoring functions are deactivated) Only a positive value may be programmed. Unit: Degrees (for linear axes: mm) Default value (valid for all operating modes): T1 jog velocity * internal safety factor In T1, the maximum velocity with which jogging can be car- ried out is the default value, even if a higher value is pro- grammed. Note: Only set a higher value than the default value if absolutely necessary. Maximum permissible following error in torque mode (only relevant if the regular monitoring functions are deactivated) Only a positive value may be programmed. Unit: Degrees (for linear axes: mm) Default value: 5 degrees (for linear axes: 100 mm) Note: Only set a higher value than the default value if absolutely necessary. When must the upper torque be limited and when must the lower torque be limited? General: The direction in which the following error is building up must always be limited. Example: The robot is to be moved up against an obstacle and then stop there. The torque that is thus built up is to be limited. If the obstacle appears in the positive direction, upper must be set. If the obstacle appears in the negative direction, lower must be set. SET_TORQUE_LIMITS() can be used in robot programs and in submit programs. Advance run stop: In the robot program, the statement triggers an ad- vance run stop. Values may remain partially non-initialized. The non-initialized components mean that the existing values are to remain unchanged. If both limits are set, upper must be >= lower. If one limit (or both) is already set and the other limit is then set, and if the new limit would result in an empty interval, the new limit value becomes the value for both limits. Example: Already set: {lower 1, upper 2} Newly set: {lower 3} This results in: {lower 3, upper 3} It is permissible to set a positive lower or a negative upper limit. The limits set must be greater than the current holding torque $HOLDING_TORQUE. If they are set differently, the robot controller gen- erates an error message that must be acknowledged by the user. lower/upper Characteristics 208 / 477 Issued: 24.01.2014 Version: KSS 8.3 SI V2
6 Configuration If an application requires torque limits that no longer exceed the hold- ing torque of the axis, KUKA Roboter GmbH must be contacted. lower must be less than or equal to the upper value of the $TORQUE_AXIS_MAX_0 interval. upper must be greater than or equal to the lower value of the $TORQUE_AXIS_MAX_0 interval. If the limits are set differently, the robot controller generates an error mes- sage that must be acknowledged by the user. Examples Example 1: For A1, the permissible torque range is limited to the interval 800 … 1,400 Nm. SET_TORQUE_LIMITS(1, {lower 800, upper 1400} ) Example 2: For A3, the upper torque limit is set to 1,200 Nm. SET_TORQUE_LIMITS(3, {upper 1200} ) Example 3: For A1, the regular monitoring functions are (re)activated. SET_TORQUE_LIMITS(1, {monitor #on} ) Example 4: For A1, the permissible torque range is limited to the interval -1,000 … 1,000 Nm. Furthermore, the regular monitoring functions are deactivated and the special monitoring functions are set to user-defined values. SET_TORQUE_LIMITS(1, {lower -1000, upper 1000, monitor #off, max_vel 10, max_lag 20} ) Example 5: For A1, the permissible torque range is set to -1E10 … 1E10, i.e. the range is unlimited. The regular monitoring functions are (re)activated. SET_TORQUE_LIMITS(1, {lower -1E10, upper 1E10, monitor #on} ) This all corresponds to RESET_TORQUE_LIMITS(1), with the difference that in example 5, the command position is not to adapted to the actual position. Example 6: For A1, the lower torque limit is set to a calculated value. The value has been calculated with the function myCalc() and transferred with the variable myLimits. (In the concrete application, the user must write his own function for this.) In order for the other components to be non-initialized, the value is pre-initial- ized with a partially initialized aggregate. DECL TorqLimitParam myParams ... myParams = {lower 0} myParams.lower = myCalc() SET_TORQUE_LIMITS(1, myParams) Example 7: In this case, the limits are also set to a value that has been calculated with a function. (In the concrete application, the user must write his own function for this.) Issued: 24.01.2014 Version: KSS 8.3 SI V2 209 / 477
KUKA System Software 8.3 The return value of the function is transferred directly, however. DEFFCT TorqLimitParam myCalcLimits() DECL TorqLimitParam myLimits ... RETURN myLimits ENDFCT ... SET_TORQUE_LIMITS(1, myCalcLimits()) 6.16.3 Deactivating torque mode: RESET_TORQUE_LIMITS() Description This function has the following effect on the selected axis: It cancels the limitation of the torques insofar as they were limited. It reactivates the regular monitoring functions insofar as they were deacti- vated. It adapts the command position to the actual position. Function RESET_TORQUE_LIMITS (axis: in) Element axis Description Type: INT Axis to which the statement applies Characteristics Alternative The statement can be used in robot programs and in submit programs. Advance run stop: In the robot program, the statement triggers an ad- vance run stop. This cannot be masked with CONTINUE! If no command/actual value adjustment is required, torque mode can also be deactivated with SET_TORQUE_LIMITS instead of RESET_TORQUE_LIMITS: SET_TORQUE_LIMITS(1, {lower -1E10, upper 1E10, monitor #on} ) Advantage: Can be used during a motion (“on the fly”). Disadvantage: If the torque limitation has resulted in a relatively large fol- lowing error, the robot accelerates very fast. This can trigger monitoring functions and stop the program. Deactivation by means of SET_TORQUE_LIMITS is not suitable in most cases. 6.16.4 Interpreter specifics Description SET_TORQUE_LIMITS() and RESET_TORQUE_LIMITS() can be used in robot programs and in submit programs. The statements are interpreter-specific, i.e. they only work in the interpret- er in which they have been used. SET_TORQUE_LIMITS() first takes effect when the axis is moved for the interpreter that generates the statement. Example: a. Torque mode is activated in the robot program for an external axis. b. The external axis is moved by a submit program. Torque mode has no effect. c. The external axis is moved by a robot program. Torque mode takes ef- fect. If torque mode is already active, SET_TORQUE_LIMITS() takes effect im- mediately. 210 / 477 Issued: 24.01.2014 Version: KSS 8.3 SI V2
Example 6 Configuration SET_TORQUE_LIMITS() works immediately if a motion is active. For this reason, the torque limits can be set at any time in robot programs, both in- side and outside an interrupt, and the monitoring functions can be activat- ed and deactivated. It is also possible to use torque mode inside an interrupt program only. (If RESET_TORQUE_LIMITS() is used, it may subsequently be necessary to return to the interrupt position with PTP $AXIS_RET.) (>>> 6.16.6.3 "Robot program: torque mode in the interrupt" Page 216) When a torque-driven axis “changes owner”, the command position is ad- justed to the actual position. “Change of owner” means: an interpreter has moved the axis in torque mode (and thus “owns” it). While torque mode is active, the axis is moved by a different interpreter. The main application here is: jogging after a program has been interrupted in torque mode. The following example shows when SET_TORQUE_LIMITS() is effective, de- pending on whether torque mode is already active or not. Initial situation (default): the monitoring functions are activated. 1 SET_TORQUE_LIMITS(1, {monitor #off}) 2 HALT 3 PTP_REL {A1 10} 4 HALT 5 SET_TORQUE_LIMITS(1, {monitor #on}) 6 HALT 7 PTP_REL {A1 15} Line 1 2 3 4 5 6 Description The monitoring functions for A1 are deactivated. Here the monitoring functions are still activated. The axis is moved. From here on, the statement SET_TORQUE_LIMITS is effective. The monitoring functions are deactivated. The monitoring functions are activated. Here the monitoring functions are already activated. Because torque limitation was already active, the statement took effect immediately and not just after the next motion of this axis. 6.16.5 Diagnostic variables for torque mode All these variables and constants are write-protected. Their value is not dependent on the interpreter. 6.16.5.1 $TORQUE_AXIS_ACT Variable Description $TORQUE_AXIS_ACT[axis number] Data type: REAL Current motor torque for axis [axis number] Unit: Nm (for linear axes: N) The value is only relevant if the brakes are released. If the brakes are applied, it is virtually zero. Advance run stop: In the robot program, the variable triggers an advance run stop. Issued: 24.01.2014 Version: KSS 8.3 SI V2 211 / 477
分享到:
收藏