13.  MISCELLANEOUS INSTRUCTIONS

13.1.  Overview

There are miscellaneous instructions for production control, user alarms, timer setting, speed override, program remarks, message handling, and parameter setting.

13.2.  RSR Enable/Disable Instruction

RSR[x] = [action]

The RSR enable/disable instruction enables and disables the queueing process of the specified RSR. When an RSR signal is set to disable, the RSR signal will be ignored. See Figure 61, " RSR Enable/Disable " .

Figure 61.  RSR Enable/Disable

RSR Enable/Disable

13.3.  User Alarm Instruction

The user alarm instruction puts the program in an alarm condition, pauses the program, and causes a message to be displayed on the error message line as follows:

UALM[x]

INTP 213 UALM[x] Message (prog_name, line_num)

For example:

INTP 213 UALM[1] Check feeder (RSR001, 47)

If the program is resumed, program execution will continue from the next program line. The user alarm instruction specifies the alarm message to be displayed. Refer to the “General Setup” chapter of the Setup and Operations Manual for information on how to define the contents of a user alarm. See Figure 62, " User Alarm " .

Figure 62.  User Alarm

User Alarm

13.4.  Timer Instruction

Timer instructions allow you to start, stop, and reset up to 20 different timers in a program. Timers allow you to determine how long a routine takes to execute, or how long your entire production program takes to execute. Timers can be started in one program and then stopped in another. The status of each timer is displayed in the $TIMER[n] system variable, where n is the number of the timer. See Figure 63, " Timer " .

TIMER[x] = [action]

You can display the status of program timers on the STATUS Prg Timer screen.

Figure 63.  Timer

Timer

13.5.  OVERRIDE Instruction

The OVERRIDE instruction sets the speed override to a percentage value of the programmed speed. See Figure 64, " OVERRIDE " .

OVERRIDE = x %

Figure 64.  OVERRIDE

OVERRIDE

13.6.  Remark Instruction

The remark instruction allows you to annotate the program. Remark information does not affect the execution of the program. When you add a remark instruction, you enter the message to display within the program. The remark instruction can be from 1 to 32 alphabetic, numeric, punctuation, and blank space characters. The first character of a remark instruction is an exclamation point (!).

The remark instructions can be displayed with a yellow background color to help clarify the program content. The use of color text in the editor can be turned On or Off using the Color command available under the EDCMD function key.

13.7. Multi-lng Remark Instruction

The multi-lng remark instruction allows you to annotate the program. There are 2 reasons you may wish to use this instead of the original remark instruction:

  • You support multiple languages and you wish the remarks to be localized for each language.

  • Or you wish to add remarks that are longer than 32 characters.

The multi-lng remark information does not affect the execution of the program. When you add a multi-lng remark instruction, you enter the message to display within the program. The multi-lng remark instruction can be alphabetic, numeric, punctuation, and blank space characters. The first two characters are two hyphens (––). The multi-lng remark has the following characteristics:

  • Each remark can be 242 characters although the total for all languages cannot exceed the maximum line length which is also 242 characters.

  • The remark will automatically be split among multiple lines in the editor based on the window width. It uses space to split the line so if the remark has no spaces the display will be truncated instead.

  • When a new remark is entered it is based on the current language. To enter or display a remark for a different language, you must change the language in the General Setup menu.

  • When the language is changed, the remark will only display the two hyphens until you enter a new remark for that language.

  • When a program is loaded, it may contain a remark in a language that does not exist on the controller. The language is not created. The remarks will be created but hidden from the editor.

  • The .LS file will display all remarks for all languages, even if the language does not exist on the controller.

    In the editor, the remark will look as follows:

       1:  --This program opens the raw part
        :  gripper
    

    In the .LS file, the remark will look as follows:

       1:  --eg:This program opens the raw part gripper
        :  --kn:This is KANJI version of remark
        :  --sp:This is Spanish version of remark
        :  --jp:Japanese
        :  --fr:French
        :  --gr:German
        :  --ch:Chinese
        :  --tw:Taiwanese
        :  --ot:Other ;
    

  • It is useful to add remarks for multiple languages in the .LS file and use "Ascii Upload" option to create the program. The suffix must be in lower case. The last suffix must contain the ; to end the remark.

  • The remark can be displayed with a yellow background color to help clarify the program content. The use of color text in the editor can be turned On or Off using the Color command available under the EDCMD function key.

13.8. Line Remark (Comment out) Instruction

The Line Remark instruction allows you to disable the execution and editing of an line (comment out). Any instruction can be remarked. The Line Remark has the following characteristics:

  • The Line Remark instruction will prefix the line with // and then display the line as normal.

  • When the language is changed, the Line Remark instruction is localized.

  • You cannot create a line with //. A line is created in the normal way. You press [EDCMD] Remark to convert a line to a Line Remark.

  • [EDCMD] Remark will allow multiple lines to be selected and F4 REMARK or F5 UNREMARK will remark or unremark all the selected lines.

  • You cannot use // to comment out just a portion of a line.

  • You cannot edit a line with //. Right arrow in the TP Editor will not move the cursor off the line number. TOUCHUP on a motion line is ignored.

  • You can only remove the // using [EDCMD] Remark and selecting unremark.

  • The line is still valid even though it is commented out. In other words, a position still exists for the motion lines and a label still exists for the label lines. In the case of a label, the label will be commented out so it is no longer valid to jump to. When a label is unremarked, then the label will be uncommented out unless another label has been added with the same number.

  • You can perform other modifications on the line such as delete, copy and paste, find and replace, and renumber.

  • Line Remark instructions must be valid instructions in order to successfully load a TP program or to perform Ascii Upload. You can use the Multi-lng Remark Instruction if you need to comment out an invalid instruction for Ascii Upload.

  • The toolbars in the icon editor have a Line Remark Toggle button. When pressed, the current line is toggled as a remark/unremark.

13.9.  Message Instruction

The MESSAGE instruction displays the specified message on the USER screen. The message can be from 1 to 23 alphabetic, numeric, punctuation, and blank space characters. If you want a blank line between messages, leave the message content empty. See Figure 65, " Message Instruction " .

When the MESSAGE [message content] instruction is executed, the user screen is displayed automatically.

MESSAGE [message content]

Figure 65.  Message Instruction

Message Instruction

13.10.  Parameter Name Instruction

You can display and change the value of a system variable through the parameter name instruction, by using teach pendant read and write operations. Refer to the “Status Displays and Indicators” chapter in the Setup and Operations Manual for more information on system variables.

Note

Some system variables only allow you to display their value. Therefore, you might not be able to change the value of some system variables using the parameter name instruction.

There are two kinds of data types for a system variable:

  • Numeric data type, which can be stored in a register.

  • Position data type, which can be stored in a position register. The following data types are possible:

    • Cartesian (xyzwpr)

    • Joint (axes J1 through J6)

When a position data type system variable is stored in a position register, the position register takes on the data type of the system variable.

Note

If the system variable you are setting requires a BOOLEAN value (true or false), use 1 for TRUE and 0 for FALSE.

Caution

Do not try to store a numeric system variable in a position register or a position system variable in a numeric register; otherwise, you will cause an error message to be displayed.

Warning

System variables control how the robot and controller operate. Do not set system variables unless you are certain of their effect; otherwise, you could injure personnel, damage equipment, or disrupt the normal operation of the robot and controller.

$[parameter name] = [value]

The $[parameter name]=[value] instruction allows you to change (write) the value of a system variable. See Figure 66, " Parameter Name Write Instruction " .

Figure 66.  Parameter Name Write Instruction

Parameter Name Write Instruction

R[ ] / PR[ ] = $[parameter name]

The [value] = $[parameter name] instruction allows you to display (read) the value of a system variable. See Figure 67, " Parameter Name Read Instruction " .

Figure 67.  Parameter Name Read Instruction

Parameter Name Read Instruction

13.11.  Maximum Speed Instruction

The maximum speed instructions set the maximum speed of joint motion and linear or circular motion in the program. If the motion speed exceeds the value designated by this instruction, the motion speed is limited by the designated value.

If you use a maximum speed instruction and

  • If a macro program is called, the maximum speed value is set back to the default value.

  • If a called macro program sets the maximum speed, the maximum speed value is set back to the default value when returning to the calling program.

Figure 68, " JOINT_MAX_SPEED Instruction - Multiple Motion Group Syntax " and Figure 69, " LINEAR_MAX_SPEED Instruction - Multiple Motion Group Syntax " show the maximum speed instructions used in a multiple motion group system.

JOINT_MAX_SPEED[...] = ...

Figure 68.  JOINT_MAX_SPEED Instruction - Multiple Motion Group Syntax

JOINT_MAX_SPEED Instruction - Multiple Motion Group Syntax

LINEAR_MAX_SPEED[...] = ...

Figure 69.  LINEAR_MAX_SPEED Instruction - Multiple Motion Group Syntax

LINEAR_MAX_SPEED Instruction - Multiple Motion Group Syntax

The maximum speed instructions have been shown as they would be used in a multiple motion group system. The syntax for the commands is shown in Figure 70, " JOINT_MAX_SPEED Instruction - Single Motion Group Syntax " and Figure 71, " LINEAR_MAX_SPEED Instruction - Single Motion Group Syntax " when they are used in a single motion group system.

Figure 70.  JOINT_MAX_SPEED Instruction - Single Motion Group Syntax

JOINT_MAX_SPEED Instruction - Single Motion Group Syntax

Figure 71.  LINEAR_MAX_SPEED Instruction - Single Motion Group Syntax

LINEAR_MAX_SPEED Instruction - Single Motion Group Syntax