Summary of Contents for Mitsubishi Electric CR800 Series
Page 1
Mitsubishi Industrial Robot CR800 Series Controller INSTRUCTION MANUAL Detailed explanations of functions and operations This instruction manual apply to both the CR800-R/CR800-Q controller corresponding to iQ Platform, and the CR800-D controller of standalone type. BFP-A3478-J...
Safety Precautions Always read the following precautions and the separate "Safety Manual" before starting use of the robot to learn the required measures to be taken. CAUTION All teaching work must be carried out by an operator who has received special training.
Page 4
The points of the precautions given in the separate "Safety Manual" are given below. Refer to the actual "Safety Manual" for details. DANGER When automatic operation of the robot is performed using multiple control devices (GOT, programmable controller, push-button switch), the interlocking of operation rights of the devices, etc.
Page 5
CAUTION Make sure that if the safety fence entrance door is opened during automatic operation, the door is locked or that the robot will automatically stop. Failure to do so could lead to personal injuries. CAUTION Never carry out modifications based on personal judgments, or use non- designated maintenance parts.
Page 6
CAUTION Make sure there are no mistakes in the wiring. Connecting differently to the way specified in the manual can result in errors, such as the emergency stop not being released. In order to prevent errors occurring, please be sure to check that all functions (such as the teaching box emergency stop, customer emergency stop, and door switch) are working properly after the wiring setup is completed.
Page 7
*CR800 controller Notes of the basic component are shown. CAUTION Please install the earth leakage breaker in the primary side power supply of the controller because of leakage protection. ACIN cable connection Groove for main Three phase Single phase <1> <2> Controller rear key (wide) AC200V...
Revision history Date Specifications No. Details of revisions 2017-05-30 BFP-A3478 • First print 2017-06-28 BFP-A3478-A • “(1) PLC CPU parameter setting” in “6.2.1 Parameter setting” was modified. • Factory default setting of the hand I/O type parameter (HIOTYPE) was corrected. 2017-09-25 BFP-A3478-B •...
Page 9
• AutoCAD® is a registered trademark of Autodesk, Inc. in the U.S. and other countries. • All other company names and production names in this document are the trademarks or registered trademarks of their respective owners. Copyright(C) 2017-2020 MITSUBISHI ELECTRIC CORPORATION...
Page 10
For users operating robots that have not been mounted with an operation panel: Operation of robot programs such as start-up and shutdown are carried out using external signals (exclusive input/output signals). This instruction manual is based on key operations on the teaching pendant and operation in the operation screen of the teaching pendant.
Contents Page 1 Before starting use .......................... 1-1 1.1 Using the instruction manuals ....................1-1 1.1.1 The details of each instruction manuals ................1-1 1.1.2 Symbols used in instruction manual ................... 1-2 1.2 Safety Precautions ........................1-3 1.2.1 Precautions given in the separate Safety Manual .............. 1-4 2 Explanation of functions ........................
Page 12
Contents Page 3.8.3 Stopping ..........................3-56 3.8.4 Resuming automatic operation from stopped state ............3-56 3.8.5 Resetting the program ...................... 3-56 3.9 Turning the servo ON/OFF ..................... 3-57 3.10 Error reset operation ......................3-57 3.11 Operation to Temporarily Reset an Error that Cannot Be Canceled ........3-58 3.12 Operating the program control screen ..................
Page 13
Contents Page (6) Confirming that the target position is reached .............. 4-102 (7) High path accuracy control ................... 4-103 (8) Hand and tool control ....................4-104 4.1.2 Pallet operation ....................... 4-105 4.1.3 Program control ......................4-110 (1) Unconditional branching, conditional branching, waiting ..........4-110 (2) Repetition ........................
Page 14
Contents Page (7) Space ........................... 4-133 4.3.8 Data type ........................4-134 4.3.9 Constants ........................4-134 4.3.10 Numeric value constants ....................4-134 (1) Decimal number ......................4-134 (2) Hexadecimal number ....................4-134 (3) Binary number ......................4-134 (4) Types of constant ......................4-134 4.3.11 Character string constants ....................
Page 15
Contents Page 4.13 Detailed explanation of Robot Status Variable ..............4-343 4.13.1 How to Read Described items ..................4-343 4.13.2 Explanation of Each Robot Status Variable ..............4-343 4.14 Detailed Explanation of Functions ..................4-439 4.14.1 How to Read Described items ..................4-439 4.14.2 Explanation of Each Function ..................
Page 16
Contents Page 5.19 Warm-Up Operation Mode ....................5-542 5.20 About singular point passage function ................5-549 5.21 About the collision detection function .................. 5-554 (1) Overview of the function ....................5-554 (2) Related parameters ...................... 5-555 (3) How to use the collision detection function ..............5-556 5.22 Optimizing the overload level ....................
Page 17
Contents Page (4) Example of external operation timing chart (Part 4) ............. 6-657 (5) Example of external operation timing chart (Part 5) ............. 6-658 6.6 How to select and run a program using external signals ............6-659 6.6.1 Methods .......................... 6-659 6.6.2 Selecting a method to run a program ................
Page 18
Contents Page (1) Position adjustment function ................Appendix-737 (2) Frame transformation function ................ Appendix-739 (3) Position jump ....................Appendix-741 (4) Parameter SPLOPTGC ................... Appendix-742 7.2.10 High speed spline interpolation command ............Appendix-743 (1) Outline ......................Appendix-743 (2) Required software versions ................Appendix-743 (3) Specifications ....................
1Before starting use 1 Before starting use This chapter explains the details and usage methods of the instruction manuals, the basic terminology and the safety precautions. Moreover, handling and operation of a teaching pendant (T/B) are described based on R32TB in instruction manuals. If using other T/B, such as R56TB, refer to a supplied instruction manual of the T/B.
1Before starting use 1.1.2 Symbols used in instruction manual The symbols and expressions shown in Table 1-1 are used throughout this instruction manual. Learn the meaning of these symbols before reading this instruction manual. Table 1-1:Symbols in instruction manual Terminology Item/Symbol Meaning iQ Platform compatible type...
1Before starting use 1.2 Safety Precautions Always read the following precautions and the separate "Safety Manual" before starting use of the robot to learn the required measures to be taken. CAUTION All teaching work must be carried out by an operator who has received special training.
1Before starting use 1.2.1 Precautions given in the separate Safety Manual The points of the precautions given in the separate "Safety Manual" are given below. Refer to the actual "Safety Manual" for details. DANGER When automatic operation of the robot is performed using multiple control devices (GOT, programmable controller, push-button switch), the interlocking of operation rights of the devices, etc.
Page 23
1Before starting use CAUTION Do not stop the robot or apply emergency stop by turning the robot controller's main power OFF. If the robot controller main power is turned OFF during automatic operation, the robot accuracy could be adversely affected. CAUTION Do not turn off the main power to the robot controller while rewriting the internal information of the robot controller such as the program or parameters.
2Explanation of functions 2 Explanation of functions 2.1 Teaching pendant (T/B) functions This chapter explains the functions of R32TB (optional). ② ④ ① ③ ⑤ ⑤ ⑥ ⑥ ⑧ ⑦ ⑨ ⑩ ⑪ ⑰ ⑫ ⑱ ⑬ ⑭ ⑲ ⑮ ⑯...
2Explanation of functions 2.1.1 Operation rights Only one device is allowed to operate the controller (i.e., send commands for operation and servo on, etc.) at the same time, even if several devices, such as T/Bs or PCs, are connected to the controller.This limited device "has the operation rights".
2Explanation of functions Note1) To operate the robot on the <operation panel> of the T/B, the operating rights depend on the controller mode as shown below. • "MANUAL": Enable the operation rights by pressing [TB ENABLE] of the T/B. • "AUTOMATIC": The operating rights are automatically transferred to the T/B without pressing [TB ENABLE] of the T/B when the <operation panel>...
2Explanation of functions *In AUTOMATIC mode 1) Pull up lightly (in the position 2) the 3-position enable switch of the T/B. 2) Pull out the T/B connector within five seconds while 1). Refer to Fig. 2-2, raise up the lock lever in the connector upper part, and pull up the connector.
Page 28
2Explanation of functions Function Explanation Explanation page Additional axis control With this function, it is possible to control up to two axes as additional Separate manual "ADDITIONAL axes of the robot. Since the positions of these additional axes are stored AXIS INTERFACE".
2Explanation of functions 2.3 Robot type resetting If the type information is lost by the ablation of the battery etc., the errors (H1600: Mechanism un- setting. etc.) occur, and the operation becomes impossible. In this case, it can return to the status at factory shipping by the following type resetting operations. The machine reset operation can be performed from the teaching box or RT ToolBox3.
3Explanation of operation methods 3 Explanation of operation methods This chapter describes how to operate R32TB (optional). 3.1 Operation of the teaching pendant menu screens (1) Screen tree Menu screen Title screen MELFA CR800-D Ver . S3 <MENU> RH-3FRH5515-D [EXE] Note 1) Refer to "separate instruction 1.FILE/EDIT 2.RUN...
Page 31
3Explanation of operation methods [Select the program] <PROGRAM SELECTION> A SELECT THE PROGRAM INTO TASK SLOT 1. OK? ⇒ 2.Run menu screen Check screen <RUN> <CHECK> SLOT 1 100% 1 Mov P1 1.CHECK 2.TEST RUN [CHECK] 2 Mov P2 3.OPERATION 3 Mov P3 4 Mov P4...
Page 33
3Explanation of operation methods 1. SQ DI RECT 6. ENHANCED <SQ DI RECT> JNT 100% PO S. 123 <ENHANCED> X: +128.56 A : + 180.00 1. SQ DI RECT 2. W O RK COO RD DIRECT Y: +0 .00 +90.00 Z: +...
3Explanation of operation methods (2) Input of the number/character Each time the [CHARACTER] key is pressed, the number input mode and the character input mode change. The current input mode is displayed in the center under the screen, and the display of "123" shows that the number input mode and "ABC"...
3Explanation of operation methods Move the cursor to character"B", and input "M" and "Y" after pressing and deleting the [CLEAR] key. <NEW PROGRAM> <NEW PROGRAM> PROGRAM NAME PROGRAM NAME ABC CLOSE ABC CLOSE Correction of the input character [←] [CLEAR] [MNO] [WXYZ] [WXYZ] [WXYZ] If the long pushing [CLEAR] key, all the data in the parenthesis can be deleted.
3Explanation of operation methods Using the T/B Set the controller mode to "MANUAL". When the controller is set to a mode other than MANUAL mode, only specific operations (current position display on the JOG screen, changing of override, monitoring) can be performed. Function key There is the menu displayed on the lowest stage of the screen in the white character.
3Explanation of operation methods 3.2 Jog Feed (Overview) Jog feed refers to a mode of operation in which the position of the robot is adjusted manually. Here, an overview of this operation is given, using the vertical multi-joint type robot as an example. The axes are configured differently depending on the type of robot.
3Explanation of operation methods Type Operation Explanation WORK jog Perform steps 1) to 3) above. It is necessary to set "0 (Work jog mode)" in the parameter WKnJOGMD (n = 1 to 8) in advance to perform this jog 4) Press the function key to change to the (WORK jog mode) operation.
3Explanation of operation methods 3.2.3 JOINT jog Adjusts the coordinates of each axis independently in angle units. - J4 - J3 - J6 - J2 ー J1 3.2.4 XYZ jog Adjusts the axis coordinates along the direction of the robot coordinate system. The X, Y, and Z axis coordinates are adjusted in mm units.
3Explanation of operation methods 3.2.5 TOOL jog Adjusts the coordinates of each axes along the direction of the hand tip. The X, Y, and Z axis coordinates are adjusted in mm units. The A, B, and C axis coordinates are adjusted in angle units.
3Explanation of operation methods 3.2.7 CYLNDER jog Adjusting the X-axis coordinate moves the hand in the radial direction away from the robot's origin. Adjusting the Y-axis coordinate rotates the arm around the J1 axis. Adjusting the Z-axis coordinate moves the hand in the Z direction of the robot coordinate system. Adjusting coordinates of the A, B, and C axes moves the hand in the same way as in XYZ jog feed.
3Explanation of operation methods 3.2.9 Switching Tool Conversion Data Set the tool conversion data you want to use in the MEXTL1 to 16 parameters, and select the number of the tool you want to use according to the following operation. 1) Set the controller mode to "MANUAL".
3Explanation of operation methods Verifying the Tool Number The current tool number can be checked on the TOOL SELECT screen, <JOG> screen, or with the < > M_Tool variable. Related Information MEXTL, MEXTL1, MEXTL2, MEXTL3, MEXTL4 ..MEXTL16 parameters Tool instruction, M_Tool variable The MEXTL parameter holds tool conversion data at that point.
Page 44
3Explanation of operation methods 3) If the base coordinate number to wish is inputted and the [EXE] key is pressed, the world coordinate will change. 1 to 8 : Base coordinate number (correspond to parameter WK1CORD - WK8CORD) 0: Return to condition at shipment. (Condition without base conversion) <BASE SELECT>...
3Explanation of operation methods 3.2.11 Impact Detection during Jog Operation This function can be enabled and disabled with a parameter. If the controller detects an impact, an error numbered 101n will be generated (the least significant digit, n, is the axis number). This function can also be enabled during jog operation;...
3Explanation of operation methods (1) Impact Detection Level Adjustment during Jog Operation The sensitivity of impact detection during jog operation is set to a lower value. If higher impact sensitivity is required, adjust the COLLVLJG parameter before use. Also, be sure to set the HNDDAT0 and WRKDAT0 parameters correctly before use.
3Explanation of operation methods 3.3 Opening/Closing the Hands The open/close operation of the hands attached to on the robot is explained below. The a maximum of six hands are controllable. The hand 6, 5, 4, 3, 2, and 1 are assigned to each key of X, Y, Z, A, B, and C axis.
3Explanation of operation methods 3.4 Returning to the Safe Point The robot can be moved to the safe point specified by the JSAFE parameter. The safe point return procedure is as follows: 1) Set the controller mode to "MANUAL". Press the [ENABLE] switch of the T/B to enable the T/B. (The switch and the ENABLE LED light up.) Up :DISABLE Down:ENABLE...
3Explanation of operation methods 3.5 Aligning the Hand The posture of the hand attached to the robot can be aligned in units of 90 degrees. This feature moves the robot to the position where the A, B and C components of the current position are set at the closest values in units of 90 degrees.
Page 50
3Explanation of operation methods CAUTION If any posture components (A, B and C) become 180 degrees as a result of aligning the hand, the component values can be either +180 degrees or -180 degrees even if the posture is the same. This is due to internal operation errors, and there is no consistency in which sign is employed.
3Explanation of operation methods 3.6 Programming MELFA-BASIC VI used with this controller allows advanced work to be described with ample operation functions. The programming methods using the T/B are explained in this section. Refer to Page 167, "4.12 Detailed explanation of command words" in this manual for details on the MELFA-BASIC VI commands and description methods.
3Explanation of operation methods (2) Creating a program The key operation in the case of inputting the program of the following and the three steps is shown. 1 Mov P1 2 Mov P2 3 End 1) Press the function key ([F3]) corresponding to "INSERT" in the command edit screen. <PROGRAM>...
Page 53
3Explanation of operation methods 5) Registration of Step 1 Press the [EXE] key and register the step 1. <PROGRAM> 1 <PROGRAM> 1 100% 1Mov P1 1MOV P1 _ ⇒ EDIT DELETE CLOSE INSERT TEACH Registration of Step 1 [EXE] 6) Hereafter, input Steps 2 and 3 in the same way. <PROGRAM>...
3Explanation of operation methods (3) Completion of program creation and saving programs If the function key which corresponds for "CLOSE" is pressed, the program will be saved and creation will be finished. If the "CLOSE" is not indicated, press the [FUNCTION] key, and display it. <PROGRAM>...
3Explanation of operation methods (4) Correcting a program Before correcting a program, refer to Page 33, "3.6.1 Creating a program" "(1)Opening the program edit screen", and open the program edit screen. An example, change " 5 Mov P5" to "5 Mvs P5". <PROGRAM>...
Page 56
3Explanation of operation methods Select and correct the line. [ ↑ ] by the [ ↓ ] key, the cursor can be moved to step 5, and the function key corresponding to "EDIT" can also be pressed and corrected to it. Cancel correction.
3Explanation of operation methods (5) Registering the current position data Teach the position variable which moves the robot to the movement position by jog operation etc., and is using the position by the program (registration). It is overwritten if already taught (correction). There are the teaching in the command edit screen and the teaching in the position edit screen.
Page 58
3Explanation of operation methods (b) Teaching in the position edit screen The operating procedure in the case of teaching the current position to the below to the position variable P5 is shown. Move the robot to the movement position by jog operation etc. beforehand. 1) Teaching in the position edit screen Press the function key ([F2]) corresponding to "CHANGE", and display the position edit screen.
Page 59
3Explanation of operation methods Change of the command edit screen and the position edit screen. If the function key corresponding to "CHANGE" is pressed, the command edit screen and the position edit screen can be changed each other. If the "CHANGE" is not displayed on the screen, it is displayed that the [FUNCTION] key is pressed. If "→" is displayed at the right end of the menu, the state of changing the menu by pressing the [FUNCTION] key is shown.
3Explanation of operation methods (6) Deletion of the position variable The operating procedure which deletes the position variable is shown. Restrict to the variable which is not used by the program and it can delete. 1) Display the position edit screen. Press the function key corresponding to "CHANGE", and display the position edit screen.
3Explanation of operation methods (7) Confirming the position data (Position jump) Move the robot to the registered position data place. The robot can be moved with the "joint mode" or "XYZ mode" method. Perform a servo ON operation while lightly holding the deadman switch before moving positions. Table 3-4:Moving to designated position data Name Movement method...
3Explanation of operation methods (8) Correcting the MDI (Manual Data Input) MDI is the method of inputting the numerical value into each axial element data of position data directly, and registering into it. This is a good registration method for registration of the position variable which adds position data and is used as an amount of relative displacement from a reference position (difference), if it tunes registered position data finely.
3Explanation of operation methods (9) Executing a Command Directly Direct execution is the method of executing the input statements instantaneously. The robot operation can be checked during the progress of editing programs. The operational procedure for direct execution of the Mov command is shown below. 1) Display the directly execution screen.
3Explanation of operation methods 3.7 Debugging Debugging refers to testing that the created program operates correctly, and to correcting an errors if an abnormality is found. These can be carried out by using the T/B's debugging function. The debugging functions that can be used are shown below. Always carry out debugging after creating a program, and confirm that the program runs without error.
3Explanation of operation methods Change of the execution step The execution step can be changed by cursor movement by the arrow key, and jump operation ("JUMP"). Refer to Page 50, "(4) Step jump". Immediately stopping the robot during operation ・Press the [EMG.STOP] (emergency stop) switch. The servo will turn OFF, and the moving robot will immediately stop.
3Explanation of operation methods CAUTION Take special care to the robot movements during automatic operation. If any abnormality occurs, press the [EMG. STOP] switch and immediately stop the robot. Immediately stopping the robot during operation ・Press the [EMG. STOP] (emergency stop) switch. The servo will turn OFF, and the moving robot will immediately stop.
Page 67
3Explanation of operation methods 3) Change of the slot Press the function key ([F3]) corresponding to the "SLOT" will display the slot number specified screen. <CHECK> SLOT 1 <CHECK> SLOT ( 1 Mov P1 2 Mov P2 3 Mov P3 4 Mov P4 Jump SLOT...
3Explanation of operation methods (4) Step jump It is possible to change the currently displayed step or line. The operation in the case of doing step operation from Step 5 as an example is shown. 1) Call Step 5. Press the function key corresponding to "JUMP", and press the [5], [EXE] key. The cursor moves to Step 5.
3Explanation of operation methods 3.8 Automatic operation 3.8.1 Setting the operation speed The operation speed is set with the T/B. The actual speed during automatic operation will be the operation speed = (T/B setting value) x (program setting value). 1) Each time the [OVRD↑] keys are pressed, the override will increase in the order of (LOW - HIGH - 3 - 5 - 10 - 30 - 50 - 70 -100%).
Page 70
3Explanation of operation methods The functions which can be executed from the T/B <OPERATION> screen and the operations which can be executed while the <OPERATION> is displayed are shown below. Operations from <OPERATION> screen (Each function key) <1> Selecting a program..........."CHOOSE" <2>...
3Explanation of operation methods The methods for starting automatic operation from the T/B are explained in this section. 1) Press the T/B ENABLE switch on the rear side of the teaching box (T/B) to disable the T/B operation (the T/B ENABLE switch lamp turns off), and set the mode selector switch of the user prepared controller to "AUTOMATIC".
Page 72
3Explanation of operation methods 5) Set the safe speed by pressing the [OVRD↑] and [OVRD↓] keys. <OPERATION> 100% Auto <OPERATION> 100% Auto PROGRAM NAME: STEP: PROGRAM NAME: STEP: PRG2 00001 PRG2 00001 STATUS: STOP MODE: CONT. STATUS: STOP MODE: CONT. START CYCLE RESET...
Page 73
3Explanation of operation methods 10) Press the [FUNCTION] key to switch the function menu display. <OPERATION> 100% Auto <OPERATION> 100% Auto PROGRAM NAME: STEP: PROGRAM NAME: STEP: PRG2 00001 PRG2 00001 STATUS: STOP MODE: CONT. STATUS: STOP MODE: CONT. ⇒ SV.ON SV.OFF CLOSE...
3Explanation of operation methods 3.8.3 Stopping The running program is immediately stopped, and the moving robot is decelerated to a stop. Stop [STOP] 1) Press the [STOP] key. Operation rights not required The stopping operation is always valid regardless of the operation rights. 3.8.4 Resuming automatic operation from stopped state The operation method is the same as the start of automatic operation.
3Explanation of operation methods 3.9 Turning the servo ON/OFF For safety purposes, the servo power can be turned ON during the teaching mode only while the enable switch on the back of the T/B is lightly pressed. Carry out this operation with the T/B while lightly pressing the deadman switch.
3Explanation of operation methods 3.11 Operation to Temporarily Reset an Error that Cannot Be Canceled Depending on the type of robot, errors that cannot be cancelled may occur when axis coordinates are outside the movement range, etc. In this case, it is not possible to turn the servo on and perform jog operations with the normal operations.
Page 77
3Explanation of operation methods Table 3-6:LED display status for each function Controller status LED display status Low level error ERROR LED Warning lights up. High level error ERROR LED Blinks quickly. blinks. System writing data to the SD AUTO LED AUTO and READY LEDs blink card or USB memory blinks.
3Explanation of operation methods 3.12 Operating the program control screen Here, explain the operation method of the following related with program management. "(1)Program list display" "(2)Copying programs" "(3)Name change of the program (Rename)" "(4)Deleting a program (Delete)" "(5)Protection of the program (Protect)" (1) Program list display This functions allows the status of the programs registered in the controller to be confirmed.
3Explanation of operation methods (2) Copying programs 1) Select the copy menu Press the function key corresponding to the "COPY" by program list display. Display the copy screen. <PROGRAM COPY> <FILE/EDIT> 1/20 136320 08-04-24 17:20:32 22490 SRC.NAME ( 1 08-04-24 14:56:08 08-04-24 13:05:54 2208...
3Explanation of operation methods (3) Name change of the program (Rename) 1) Select the rename menu Press the function key corresponding to the "RENAME" by program list display. Display the rename screen. If the "renaming" menu is not displayed, press and display the [FUNCTION] key. <FILE/EDIT> ...
3Explanation of operation methods (4) Deleting a program (Delete) 1) Select the delete menu Press the function key corresponding to the "DELETE" by program list display. Display the delete screen. If the "DELETE" menu is not displayed, press and display the [FUNCTION] key <FILE/EDIT> ...
3Explanation of operation methods (5) Protection of the program (Protect) 1) Select the protect menu Press the function key corresponding to the "PRTCT" by program list display. Display the protect screen. If the "PRTCT" menu is not displayed, press and display the [FUNCTION] key <FILE/EDIT> ...
3Explanation of operation methods About command protection It is the function which protects deletion of the program, name change, and change of the command from the operation mistake. ・ Protection information is not copied in copy operation. ・ In initialization operation, protection information is disregarded and execute initialization. About data protection It is the function which protects the variable from the substitution to each variable by registration of the position data based on the operation mistake, change, and the mistaken execution of the program.
3Explanation of operation methods 3.13 Operation of operating screen (1)Display of the execution line ... 1.Confirmation: Display the executing program line, or execute step feed. (2)Display of the test execution line ..2. Test execution: Display the name of the program selected, and the executing step number.
Page 85
3Explanation of operation methods About step operation "Step operation" executes the program line by line. The operation speed is slow, and the robot stops after each line, so the program and operation position can be confirmed. During execution, the lamp on the controller's [START] switch will light. Execution of the End command or the Hlt command will not step feed any more.
3Explanation of operation methods Immediately stopping the robot during operation ・ Press the [EMG.STOP] (emergency stop) switch. The servo will turn OFF, and the moving robot will immediately stop. To resume operation, reset the alarm, turn the servo ON, and start step operation. ・...
3Explanation of operation methods (5) Finishing of the confirmation screen. 1) Press the function key corresponding to "CLOSE", and return to the <OPERATION> screen. <PROGRAM> 1 <RUN> 1 Mov P1 1.CHECK 2.TEST RUN 2 Mov P2 3.OPERATION 3 Mov P3 4 Mov P4 ⇒...
3Explanation of operation methods 4) Press the function key corresponding to "CLOSE", and return to the operation menu screen. <TEST RUN> <RUN> 1 Mov P1 PROG.NAME: STEP: 1 1.CHECK 2.TEST RUN 3.OPERATION MODE: CONT. ⇒ CSTOP CLOSE 123 CLOSE If execution of the program is stopped, it will become the continuation mode of operation.
3Explanation of operation methods 3.14 Operating the monitor screen Here, explain the operation method of the following functions. (1)Input signal monitor ..1.Input: Parallel input signal monitor (2)Output signal monitor ..2.Output: Parallel output signal monitor. Setup of ON/OFF (3)Input register monitor..3.Input register: Input register of CC-Link (4)Output register monitor ..
Page 90
3Explanation of operation methods 3) Display the ON/OFF state of the 32 points at the head for the input signal No. 8. Black painting indicates ON and white indicates OFF. <INPUT> <INPUT> Next [F3] 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 23 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 55 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0...
3Explanation of operation methods (2) Output signal monitor There are the function which always makes the ON/OFF state of the output signal the monitor, and the function outputted compulsorily. 1) Press the [2] key in the monitor menu screen, and display the output signal screen. The output signal of the 32 points can be monitored on the one screen.
Page 92
3Explanation of operation methods 3) The compulsive output of the output signal. In the following, the operation method in the case of turning off the output signal No. 8 compulsorily is shown. Press the function key corresponding to "NUMBER". Set "8" as the start number. (Press [8], and [EXE] key) <OUTPUT>...
3Explanation of operation methods 7) Press the function key corresponding to "CLOSE" in monitor menu screen is pressed, finish the monitor, and return to the original screen. <MONITOR> <FILE/EDIT> 1/20 136320 08-04-24 17:20:32 22490 1.INPUT 2.OUTPUT 08-04-24 14:56:08 3.INPUT REG. 4.OUTPUT REG.
3Explanation of operation methods 4) Press the function key corresponding to "CLOSE", and return to the monitor menu screen. <INPUT REGISTER> <MONITOR> 8000 0 0×0000 1.INPUT 2.OUTPUT 8001 0 0×0000 3.INPUT REG. 4.OUTPUT REG. 8002 0 0×0000 5.VARIABLE 6.ERROR LOG 8003 0 0×0000 Prev...
Page 95
3Explanation of operation methods 3) The current output value of No. 8000 is displayed by the decimal number in the parenthesis following the output value. The value in the parenthesis following lower 0x is the hexadecimal number. <OUTPUT REGISTER> START No. ( 8000 )...
3Explanation of operation methods 7) Press the function key corresponding to "CLOSE", and return to the monitor menu screen. <MONITOR> <FILE/EDIT> 1/20 136320 08-04-24 17:20:32 22490 1.INPUT 2.OUTPUT 08-04-24 14:56:08 3.INPUT REG. 4.OUTPUT REG. 08-04-24 13:05:54 2208 5.VARIABLE 6.ERROR LOG 08-04-24 13:05:54 1851 ...
Page 97
3Explanation of operation methods 4) Display the value of the numeric variable M1 on the screen. The variable which will be monitored if the cursor is moved to the line which is vacant in the arrow key and operation of the above "3)"...
3Explanation of operation methods (6) Error history Display the error history. Please use reference at the time of trouble occurrence. 1) Press the [6] key in the monitor menu screen, and display the error history. <MONITOR> <ERROR LOG> o-0001 H0120 1.INPUT 2.OUTPUT...
3Explanation of operation methods 3.15 Operation of parameter screen The parallel I/O designated input/output settings and settings for the tool length, etc., are registered as parameters. The robot moves based on the values set in each parameter. This function allows each parameter setting value to be displayed and registered.
Page 100
3Explanation of operation methods <PARAMETER> NAME(MEXTL ELE(3 ) DATA (100.00 ) [F3] <PARAMETER> NAME(MEXTL1 Prev Next CLOSE DATA ELE( ) DATA (0.00,0.00,0.00,0.00,0.00,0.00 ) <PARAMETER> NAME(MEXTL Prev Next CLOSE DATA ELE( ) [F2] DATA (0.00,0.00,100.00,0.00,0.00,0.00 ) Prev Next DATA CLOSE The value can be changed also in this state. Press the function key corresponding to the "DATA", make it move to the position of the element number which changes the cursor by the arrow key, and input the new preset value.
3Explanation of operation methods 3.16 Operation of the origin and the brake screen (1) Origin If the origin position has been lost or deviated when the parameters are lost or due to robot interference, etc., the robot origin must be set again using this function. Refer to the separate manual: "Robot arm setup &...
Page 102
3Explanation of operation methods 4) Press function key continuously corresponding to "REL." to release the brake of the specified axis only while the keys are pressed. Only while the function key ([F1]) is pushing, the brake of the specified axis is released. ・...
3Explanation of operation methods 3.17 Operation of setup / initialization screen Here, explain the operation method of the following functions. (1)Initialization ..... 1. Programs: Delete all the programs 2. Parameter: Return the parameter to the setup at the time of shipment. 3.
3Explanation of operation methods 4) Press the function key corresponding to "CLOSE", and return to the <SET/INITIALIZE> screen. <INITIALIZE> <SET/INITIALIZE> 1.INITIALIZE 2.POWER 1.DATA 2.PARAMETER 3.CLOCK 4.VERSION 3.BATTERY CLOSE CLOSE Executed even when protected The program will be initialized even if the program protection or variable protection is set to ON. (2) Initialize the parameter Return the parameter to the setup at the time of shipment.
CLOSE (3) Initialize the battery In CR800 series controller, consumption of the battery is automatically checked by detection of the voltage. Thus, it is not necessary to perform the battery initialization after replacing the battery. The battery initializa- tion will be invalid even if it is performed.
3Explanation of operation methods (5) Time setup Display of the date and time, the setup 1) Press the [3] key in the <SET/INITIALIZE> screen, and display the <CLOCK> screen. <CLOCK> <SET/INITIALIZE> 1.INITIALIZE 2.POWER DATE 08-05-07 3.CLOCK 4.VERSION TIME 16:04:50 CLOSE CLOSE 2) Date and time can be setup on the <CLOCK>...
3Explanation of operation methods 3.18 ENHANCED <MENU> <EMHANCED> 1.FILE/EDIT 2.RUN 1.SQ DIRECT 2.WORK COORD. 3.PARAM. 4.ORIGIN/BRK 5.SET/INIT. 6.ENHANCED 123 123 CLOSE CLOSE (1) SQ DIRECT (CR800-R or CR800-Q series) This function controls the robot by the program of the PLC directly. Please refer to separate manual: "CR800-R/CR800-Q series, iQ Platform Supporting Extended Function Instruction Manual (BFP-A3528)".
3Explanation of operation methods 3.19 Operation of the initial-setting screen There is the function of initial setting shown in the following. (1)Setup of the display language ... The character displayed on the T/B can be set to either Japanese or English.
Page 109
3Explanation of operation methods 4) Press the [EXE] key, and fix it. Japanese <Default Language> 1.Default Language 2.Contrast <UP> <DWN> Back English <Default Language> <1> <2> Next <UP> <DWN> Back 5) Press the [EXE] key, and display finish screen. 1.Default Language 1.Save and Exit 2.Contrast 2.Exit without Save...
3Explanation of operation methods (2) Adjustment of contrast The brightness of the screen of T/B can be adjusted in the 16 steps. 1) Press the [F1] key in the initial-setting screen, and select "1. Configuration". 1.Configuration 1.Default Language 2.Com.Information 2.Contrast <1>...
Page 111
3Explanation of operation methods 6) Press the [F1] key, and save the setup. If not saved, press the [F2] key. All return to the initial-setting screen. And, the setup can be done over again if the [EXE] key is pressed. 1.Save and Exit 1.Configuration 2.Exit without Save...
4MELFA-BASIC VI 4 MELFA-BASIC VI In this chapter, the functions and the detailed language specification of the programming language "MELFA- BASIC VI" are explained. 4.1 MELFA-BASIC VI functions The outline of the programming language "MELFA-BASIC VI" is explained in this section. The basic movement of the robot, signal input/output, and conditional branching methods are described.
4MELFA-BASIC VI 4.1.1 Robot operation control (1) Joint interpolation movement The robot moves with joint axis unit interpolation to the designated position. (The robot interpolates with a joint axis unit, so the end path is irrelevant.) *Command word Command word Explanation The robot moves to the designated position with joint interpolation.
4MELFA-BASIC VI *Related functions Function Explanation page Designate the movement speed............Page 100, "(5) Acceleration/deceleration time and speed con- trol" Designate the acceleration/deceleration time........Page 100, "(5) Acceleration/deceleration time and speed con- trol" Confirm that the target position is reached........Page 102, "(6) Confirming that the target position is reached"...
4MELFA-BASIC VI Program example Program Explanation Mvs P1, -50 Moves with linear interpolation from P1 to a position retracted 50mm in the hand direction. Mvs P1 Moves to P1 with linear interpolation. Mvs ,-50 Moves with linear interpolation from the current position (P1) to a position retracted 50mm in the hand direction.
Page 116
4MELFA-BASIC VI *Statement example Statement example Explanation ' Moves with circular interpolation between P1 - P2 - P3. Mvr P1, P2, P3 ..............' Circular interpolation between P1 - P2 - P3 starts, and the output signal bit 17 turns ON. Mvr P1, P2, P3 Wth M_Out (17) = 1........
4MELFA-BASIC VI (4) Continuous movement The robot continuously moves to multiple movement positions without stopping at each movement position. The start and end of the continuous movement are designated with the command statement. The speed can be changed even during continuous movement. *Command word Command word Explanation...
4MELFA-BASIC VI (5) Acceleration/deceleration time and speed control The percentage of the acceleration/deceleration in respect to the maximum acceleration/deceleration, and the movement speed can be designated. *Command word Command word Explanation Designates the acceleration during movement and the deceleration as a percentage (%) in Accel respect to the maximum acceleration/deceleration speed.
Page 119
4MELFA-BASIC VI Program example Program Explanation Ovrd 100 ' Sets the movement speed applied on the entire program to the maximum speed. Mvs P1 Moves at maximum speed to P1. Mvs P2, -50 *1) Moves at maximum speed from P2 to position retracted 50mm in hand direction. Ovrd 50 ' Sets the movement speed applied on the entire program to half of the maximum speed.
4MELFA-BASIC VI (6) Confirming that the target position is reached The positioning finish conditions can be designated with as No. of pulses. (Fine instruction) This designation is invalid when using continuous movement. *Command word Command word Explanation Fine Designates the positioning finish conditions with a No. of pulses. Specify a small number of pulses to allow more accurate positioning.
4MELFA-BASIC VI (7) High path accuracy control It is possible to improve the motion path tracking when moving the robot. This function is limited to certain types of robot. Currently, the Prec instruction is available for vertical multi-joint type 5-axis and 6-axis robots. *Command word Command word Explanation...
4MELFA-BASIC VI (8) Hand and tool control The hand open/close state and tool shape can be designated. *Command word Command word Explanation HOpen Opens the designated hand. HClose Closes the designated hand. Tool Sets the shape of the tool being used, and sets the control point. *Statement example Statement example Explanation...
4MELFA-BASIC VI 4.1.2 Pallet operation When carrying out operations with the workpieces neatly arranged (palletizing), or when removing workpieces that are neatly arranged (depalletizing), the pallet function can be used to teach only the position of the reference workpiece, and obtain the other positions with operations. *Command word Command word Explanation...
4MELFA-BASIC VI <Precautions on the posture of position data in a pallet definition> CAUTION Please read "*Explanation" below if you use position data whose posture components (A, B and C) are approximately +/-180 degrees as the start point, end points A and B, or the diagonal point. *Explanation At a position where a posture component (A, B and C) reaches 180 degrees, the component value can become either +180 degrees or -180 degrees even if the posture is the same.
Page 125
4MELFA-BASIC VI CAUTION The value of the start point of the pallet definition is employed for the structure flag of grid points (FL1 of position data) calculated by pallet operation (Plt instruction). For this reason, if position data with different structure flags are used for each point of the pallet definition, the desired pallet operation cannot be obtained.
4MELFA-BASIC VI •Program example 1 The hand direction is the same in all grid points of a pallet (values of the A, B and C axes are identical) Program Explanation 1 P3.A=P2.A ’Assigns the posture component (A) of P2 to the posture component (A) of P3. 2 P3.B=P2.B ’Assigns the posture component (B) of P2 to the posture component (B) of P3.
Page 127
4MELFA-BASIC VI •Program example 2 Correction when posture components are close to +/-180 degrees Program Explanation 1 If Deg(P2.C)<0 Then GoTo *MINUS ’Checks the sign of the posture component (C) of P2 and, if it is - (negative), jump to the label MINUS line. 2 If Deg(P3.C)<-178 Then P3.C=P3.C+Rad(+360) ’If the posture component (C) of P3 is close to -180 degrees, adds 360 degrees to correct it to a positive value.
4MELFA-BASIC VI 4.1.3 Program control The program flow can be controlled with branching, interrupting, subroutine call, and stopping, etc. (1) Unconditional branching, conditional branching, waiting The flow of the program to a specified step can be set as unconditional or conditional branching. *Command word Command word Explanation...
4MELFA-BASIC VI *Related functions Function Explanation page Repetition................... Page 111, "(2) Repetition" Interrupt....................Page 112, "(3) Interrupt" Subroutine..................Page 113, "(4) Subroutine" External signal input................Page 115, "(1) Input signals" (2) Repetition Multiple command statements can be repeatedly executed according to the designated conditions. *Command word Command word Explanation...
4MELFA-BASIC VI (3) Interrupt Once the designated conditions are established, the command statement being executed can be interrupted and a designated step branched to. *Command word Command word Explanation Def Act Defines the interrupt conditions and process for generating interrupt. Designates the validity of the interrupt.
4MELFA-BASIC VI (4) Subroutine Subroutine and subprograms can be used. By using this function, the program can be shared to reduce the No. of steps, and the program can be created in a hierarchical structure to make it easy to understand. *Command word Command word Explanation...
4MELFA-BASIC VI (5) Timer The program can be delayed by the designated time, and the output signal can be output with pulses at a designated time width. *Command word Command word Explanation Functions as a designated-time timer. *Statement example Statement example Explanation Dly 0.05 ................
4MELFA-BASIC VI 4.1.4 Inputting and outputting external signals This section explains the general methods for signal control when controlling the robot via an external device (e.g., PLC). (1) Input signals Signals can be retrieved from an external device, such as a programmable logic controller. The input signal is confirmed with a robot status variable (M_In(), etc.) Refer to Page 154, "4.5 Robot status variables"...
4MELFA-BASIC VI 4.1.5 Communication Data can be exchanged with an external device, such as a personal computer. *Command word Command word Explanation Open Opens the communication line. Close Closes the communication line. Print# Outputs the data in the AscII format. CR is output as the end code. Input# Inputs the data in the AscII format.
4MELFA-BASIC VI 4.1.6 Expressions and operations The following table shows the operators that can be used, their meanings, and statement examples. (1) List of operator Class Operator Meaning Statement example Substituti The right side is P1=P2 ’Substitute P2 in position variable P1. substituted in the left P5=P_Curr ’Substitute the current coordinate value in current position variable P5.
4MELFA-BASIC VI Class Operator Meaning Statement example Logical Logical AND operation M1=M_Inb(1) And &H0F ’Convert the input signal bit 1 to 4 status and substitute in numeric operation variable M1. (Input signal bits 5 to 8 remain OFF.) Logical OR operation M_Outb(20)=M1 Or &H80 ’Output the numeric variable M1 value to output signal bit 20 to 27.
Page 137
4MELFA-BASIC VI (2) Relative calculation of position data (multiplication) Numerical variables are calculated by the usual four arithmetic operations. The calculation of position variables involves coordinate conversions, however, not just the four basic arithmetic operations. This is explained using simple examples. An example of relative calculation (multiplication) 1 P2=(10,5,0,0,0,0)(0,0) M ultip lication b etween P variab les...
4MELFA-BASIC VI 4.1.7 Appended statement A process can be added to a movement command. *Appended statement Appended statement Explanation Unconditionally adds a process to the movement command. WthIf Conditionally adds a process to the movement command. *Statement example Statement example Explanation Mov P1 Wth M_Out(20)=1..........
4MELFA-BASIC VI 4.2 Multitask function 4.2.1 What is multitasking? The multitask function is explained in this section. Multitasking is a function that runs several programs as parallel, to shorten the tact time and enable control of peripheral devices with the robot program. Multitasking is executed by placing the programs, to be run in parallel, in the items called "slots"...
4MELFA-BASIC VI 4.2.2 Executing a multitask Table 4-2:The multitask can be executed with the following three methods. Types of execution Explanation Execution from a program This method starts parallel operation of the programs from a position in the program using a MELFA-BASIC VI command. The programs to be run in parallel can be designated, and a program running in parallel can be stopped.
Page 141
4MELFA-BASIC VI <About parameters related to task slots> The parameters SLT1 to SLT32 contain information about the name of the program to be executed, operation mode, start condition, and priority for each of the 32 task slots (set to 8 slots at the factory default setting).
4MELFA-BASIC VI 4.2.4 Precautions for creating multitask program (1) Relationship between number of tasks and processing time During multitask operation, it appears as if several robot programs are being processed concurrently. However, in reality, only one line is executed at any one time, and the processing switches from program to program (it is possible to change the number of lines being executed at a time.
4MELFA-BASIC VI (6) How to perform the initialization processing via constantly executed programs Programs specified in task slots whose start condition is set to ALWAYS are executed continuously (repeatedly) if the operation mode is set to REP. Therefore, in order to perform the initialization processing via such programs, they should be programmed in such a way that the initialization processing is not executed more than once, for example by setting an initialization complete flag and perform a conditional branch based on the flag's status.
4MELFA-BASIC VI 4.2.6 Example of using multitask An example of the multitask execution is given in this section. (1) Robot work details. The robot programs are the "movement program" and "position data lead-in program". The "movement program" is executed with slot 1, and the "position data lead-in program" is executed with slot 2.
4MELFA-BASIC VI 4.2.7 Program capacity There are 3 types of areas that handle robot programs; save, edit and execution. Refer to "Table 4-3Capac- ity of each program area" for the capacity of each area. (1) Program save area This area is used to save programs. Under normal circumstances, it is possible to save 920 Kbytes of program code in total.
4MELFA-BASIC VI 4.3 Detailed specifications of MELFA-BASIC VI In this section, detailed explanations of the MELFA-BASIC VI format and syntax such as configuration are given, as well as details on the functions of each command word. The following explains the components that constitute a statement.
4MELFA-BASIC VI 4.3.1 Statement A statement is the minimum unit that configures a program, and is configured of a command word and data issued to the word. Example) Command word Data Command statement 4.3.2 Appended statement Command words can be connected with an appended statement, but this is limited to movement commands.
4MELFA-BASIC VI 4.3.6 Types of characters that can be used in program The character which can be used within the program is shown in Table 4-4. However, there are restrictions on the characters that can be used in the program name, variable name and label name. The characters that can be used are indicated by O, those that cannot be used are indicated by X, and those that can be used with restrictions are indicated by @.
4MELFA-BASIC VI 4.3.7 Characters having special meanings (1) Uppercase and lowercase identification Lowercase characters will be resigned as lowercase characters when they are used in comments or in character string data. In all other cases, they will be converted to uppercase letters when the program is read.
4MELFA-BASIC VI 4.3.8 Data type In MELFA BASIC VI it is possible to use four data types: numerical values, positions, joints, and character strings. Each of these is called a "data type." The numerical value data type is further classified into real numbers and integers.
4MELFA-BASIC VI 4.3.12 Position constants (XYZ/work coordinate constants) The syntax for position constants is as shown below. Variables cannot be described within position constants. ( 100, 100, 300, 180, 180, 0, 0 ) ( 7, 0 ) structure flag 2 (multi-rotation data) structure flag 1 (posture data) L2 axis (additional axis 2) L1 axis (additional axis 1)
4MELFA-BASIC VI Value of multiple rotation data -900 -540 -180 Angle of each axis Value of multiple .... rotation data The wrist tip axis value in the XYZ coordinates (J6 axis in a vertical multi-joint type robot) is the same after one rotation (360 degrees).
4MELFA-BASIC VI Use of variables in joint element data The axis data is called the joint element data. A variable cannot be contained in the joint constant data that configures the joint constant. 4.3.14 Angle value The angle value is used to express the angle in "degrees" and not in "radian". If written as 100Deg, this value becomes an angle and can be used as an argument of trigonometric functions.
4MELFA-BASIC VI 4.3.16 Numeric value variables Variables whose names begin with a character other than P, J, C, or W are considered numeric value variables. In MELFA-BASIC VI, it is often specified that a variable is an numeric value variable by placing an M at the head.
4MELFA-BASIC VI 4.3.18 Position variables (XYZ/work coordinate variables) Variables whose names begin with character 'P' (or 'p') or 'W' (or 'w') are considered as XYZ/work coordinate variables. If it is defined by the Def Pos/Def Work instruction, it is possible to specify a name beginning with a character other than 'P' (or 'p') or 'W' (or 'w').
4MELFA-BASIC VI 4.3.20 Input/output variables The following types of input/output variables are available. They are provided beforehand by the robot status variables. Input/output variables Explanation name M_In For referencing input signal bits M_Inb For referencing input signal bytes (8-bit signals) M_Inw For referencing input signal words (16-bit signals) M_DIn...
4MELFA-BASIC VI 4.3.22 External variables External variables have a "_" (underscore' for the second character of the identifier (variable name). (It is necessary to register user-defined external variables in the user base program.) The value is valid over multiple programs. Thus, these can be used effectively to transfer data between programs. There are four types of external variables, numeric value, position, joint and character, in the same manner as the Page 134, "4.3.8 Data...
4MELFA-BASIC VI 4.3.24 User-defined external variables If the number of program external variables listed above is insufficient or it is desired to define variables with unique names, the user can define program external variables using a user base program. Procedure before using user-defined external variables 1) First, write a user base program.
4MELFA-BASIC VI 4.3.25 Creating User Base Programs Note) What is a user base program? A user base program is used when user-defined external variables are used to define such variables, but it is not necessary to actually execute the program. Simply create a program containing the necessary declaration lines and register it in the "PRGUSR"...
4MELFA-BASIC VI 4.3.26 Scope The scope of variables (accessible range) is as follows from the narrowest range: In a procedure → Outside a procedure (In a program → Outside a program) → User-defined external variables/Program external variables/System status variables. (Refer to Fig.
4MELFA-BASIC VI The flow of processing with the Function procedure is shown in Fig. 4-5. 1 Title "Sample Program" 1) (Step 1) The Title command is executed. 2 Function Main Mov P1 2) (Step 3) Mov P1 is executed. MRslt = FuncMov(P2) Mov P3 3) (Step 4) P2 is passed to the argument and FuncMov is called.
4MELFA-BASIC VI 4.4 Coordinate system description of the robot 4.4.1 About the robot's coordinate system The robot's coordinate system has following four. ① World coordinate system: Origin is *1 The coordinate system as the standard for displaying the current position of robot. note 1) ②...
4MELFA-BASIC VI 4.4.2 About base conversion The base conversion permits the world coordinate system to be moved, when required, to the reference position of the work table or the work. Under the control of this function, the robot's current position is treated as the one relative to the work table or the work.
4MELFA-BASIC VI 4.4.3 About position data Positional data for the robot is comprised of six elements which indicate the position of the hand's leading end (mechanical interface center where no tool setting is made) (X, Y, and Z) and the robot's posture (A, B, and C), plus a structure flag.
4MELFA-BASIC VI 4.4.4 About tool coordinate system (mechanical interface coordinate system) To set the robot's control point at the leading end of the hand attached thereto, it is necessary to make tool conversion data settings. Tool conversion data defines the position of the tool's leading end with reference to a mechanical interface coordinate system that is established for the flange.
4MELFA-BASIC VI (2) Tool coordinate system A tool coordinate system is one that is defined for the leading end of the robot hand (control point for the robot hand). It is obtained by shifting the origin point of a mechanical interface coordinate system to the leading end of the robot hand (control point hand) and adding given rotational elements.
4MELFA-BASIC VI (3) Effects of use of tool coordinate system 1) Jogging and teaching operations When placing the robot into tool-jog mode, you can let it operate in the direction of the face of the robot hand. This makes it easier to adjust the posture of the robot hand toward the work concerned or the posture of the work being held by the robot hand.
Page 170
4MELFA-BASIC VI 2) Automatic operation Travel command permits you to set robot motion during the removal or transfer of processed work by specifying approach/pullout distance settings. Approach or pullout takes place in the direction of the Z axis of the robot's tool coordinate system. To move the robot hand to a point 50mm over the work transfer position as shown in Fig.
Page 171
4MELFA-BASIC VI +45° (a) Position of P1 (b) Position of Mov P1* (0, 0, 0, 0, 0, 45) Fig.4-15:Rotational motion in tool coordinate system Coordinate system description of the robot 4-153...
4MELFA-BASIC VI 4.5 Robot status variables The available robot status variables are shown in Table 4-8. As shown in the table, the variable name and application are predetermined. The robot status can be checked and changed by using these variables. Table 4-8:Robot status variables Array designation Attribute...
Page 173
4MELFA-BASIC VI Array designation Attribute Variable Details Data type, Unit Page name Note1) Note2) M_Wuprt Mechanism No.(1 to 3) Time until the warm-up operation status is Single-precision canceled (sec.) real number type, M_Wupst Mechanism No.(1 to 3) Time until the warm-up operation status is set Single-precision again (sec.) real number type,...
Page 174
4MELFA-BASIC VI Array designation Attribute Variable Details Data type, Unit Page name Note1) Note2) M_ErrLvl None Reads an error level. Integer type ・ S/W version R1c or before (SQ series) / S1c or before (SD series) No error / Caution / Low / High = 0/1/2/3 ・...
Page 175
4MELFA-BASIC VI Array designation Attribute Variable Details Data type, Unit Page name Note1) Note2) J_Origin Mechanism No.(1 to 3) Returns the joint coordinate data when setting the Joint type origin. M_Open File No.(1 to 8) Returns the open status of the specified file Integer type or the communication line.
4MELFA-BASIC VI Array designation Attribute Variable Details Data type, Unit Page name Note1) Note2) M_Gps Monitoring No. (1 to 8) Returns the number of the position data stored in Integer type the P_GpsX() for the monitoring number defined in the Def Gps command, using the get-position- quick function (GPS function).
4MELFA-BASIC VI 4.6 Functions A function carries out a specific operation for an assigned argument, and returns the result as a numeric value type or character string type. There are built-in functions, that are preassembled, and user-defined functions, defined by the user. (1) User-defined functions The function is defined with the Def FN statement.
Page 178
4MELFA-BASIC VI Class Function name (format) Functions Page Result Character Asc(<Character string expression>) Provides a character code for the first character of the character Numeric string string in the expression. value functions Bin$(<Numeric expression>) Converts numeric expression value into binary character string. Character string Chr$(<Numeric expression>)
4MELFA-BASIC VI Class Function name (format) Functions Result Page Position Inv(<Position>) Obtains the reverse matrix. Position variables PtoJ(<Position>) Converts the position data into joint data. Joint JtoP(<Position>) Converts the joint data into position data. Position Zone Checks whether position 1 is within the space (Cube) created by the Numeric (<Position 1>,<Position 2>,<Position 3>) position 2 and position 3 points.
4MELFA-BASIC VI Command Explanation Page Mv Tune (Move Tune) Specification of the moving characteristics mode Ovrd (Override) Overall speed specification Spd (Speed) Speed specification during linear or circular interpolation movement JOvrd (J Override) Speed specification during joint interpolation movement Cnt (Continuous) Continuous path mode specification Accel (Accelerate) Acceleration/deceleration rate specification...
4MELFA-BASIC VI Command Explanation Page On ... GoSub (ON Go Subroutine) Subroutine jump according to the value On ... GoTo (On Go To) Jump according to the value For - Next (For-next) Repeat While-WEnd (While End) Conditional repeat Open (Open) Opens a file or communication line Print (Print) Outputs data...
4MELFA-BASIC VI Command Explanation Page Def Map (Define mapping) Definition of the monitored condition for the mapping (the workpiece presence recognition) in a cassette using the get- position-quick function (GPS function) (4) Multi-task related Command Explanation Page XLoad (X Load) Loads a program to another task slot XRun (X Run) Execute the program in another task slot...
4MELFA-BASIC VI 4.8 Operators The value's real number or integer type do not need to be declared. Instead, the type may be forcibly converted according to the operation type. (Refer to Table 4-11.) The operation result data type is as follows according to the combination of the left argument and right argument data types.
4MELFA-BASIC VI [Caution] •The operation of the section described with a "-" is not defined. •The results of the integer and the integer multiplication/division is an integer type for multiplication, and a real number type for division. •If the right argument is a 0 divisor (divide by 0), an operation will not be possible. •During exponential operation, remainder operation or logical operation (including negate), all real numbers will be forcibly converted into integers (rounded off), and operated.
4MELFA-BASIC VI 4.12 Detailed explanation of command words 4.12.1 How to read the described items [Function] : Indicates the command word functions. [Format] : Indicates how to input the command word argument. The argument is shown in <>. [ ] indicates that the argument can be omitted. [] indicates that a space is required.
Page 186
4MELFA-BASIC VI Accel (Accelerate) [Function] Designate the robot's acceleration and deceleration speeds as a percentage (%). It is valid during optimum acceleration/deceleration. * The acceleration/deceleration time during optimum acceleration/deceleration refers to the optimum time calculated when using an Oadl instruction, which takes account of the value of the M_SetAdl variable. [Format] Accel[] [<Acceleration rate>] [, <Deceleration rate>] ,[<Acceleration rate when moving upward>], [<Deceleration rate when moving upward>]...
Page 187
4MELFA-BASIC VI [Related instructions] Oadl (Optimal Acceleration), Loadset (Load Set) [Related system variables] M_Acl/M_DAcl/M_NAcl/M_NDAcl/M_AclSts [Related parameter] JADL Detailed explanation of command words 4-169...
Page 188
4MELFA-BASIC VI Act (Act) [Function] This instruction specifies whether to allow or prohibit interrupt processing caused by signals, etc. during operation. [Format] Act[]<Priority No.> = <1/0/-1> [Terminology] <Priority No.> 0: Either enables or disables the entire interrupt. 1 - 8: Designate the priority No. for the interrupt defined in the Def Act statement. When entering the priority No., always leave a space (character) after the Act command.
Page 189
4MELFA-BASIC VI 24 If M_In(1) <> 0 Then Goto *Loop 25 Act 1=-1 ' The interrupt in progress is canceled. And interrupt monitoring function is stopped. 26 Goto *Start [Explanation] (1) When the program starts, the status of <Priority No.> 0 is "enabled." When <Priority No.> 0 is "disabled," even if <Priority No.>...
Page 190
4MELFA-BASIC VI Base (Base) [Function] Changes (relocation and rotation) can be made to the world coordinate system which is the basis for the control of the robot's current position. There are two alternative methods to achieve this. One is to directly specify base conversion data and the other, to specify a predefined work coordinate system number.
Page 191
4MELFA-BASIC VI [Explanation] (1) Values subject to base conversion (coordinate values) represent position data for the origin point of the base coordinate system as viewed from a world coordinate system which is newly defined. Therefore, when you use the robot's current position to specify base conversion data with coordinate values defined by a Fram function or the like, do so by inversely converting the coordinate values [for example, Base Inv(P1)].
Page 192
4MELFA-BASIC VI New world coordinate 1 (Work coordinate 1) New world coordinate 2 (Work coordinate 2) Current world coordinate (=Base coordinate) Fig.4-17:Base conversion with a work coordinate system number being specified CAUTION Performing a base conversion changes the robot's current position to values that refer to the newly established world coordinate system or work coordinate system.
Page 193
4MELFA-BASIC VI CallP (Call P) [Function] This instruction executes the specified program (by calling the program in a manner similar to using GoSub to call a subroutine). The execution returns to the main program when the End instruction or the final step in the sub program is reached.
Page 194
4MELFA-BASIC VI [Explanation] (1) A program (sub program) called by the CallP instruction will return to the parent program (main program) when the End instruction (equivalent to the Return instruction of GoSub) is reached. If there is no End instruction, the execution is returned to the main program when the final step of the sub program is reached.
Page 195
4MELFA-BASIC VI ChrSrch (Character search) [Function] Searches the character string out of the character array. [Format] ChrSrch[]<Character string array variable>,<Character string>,<Search result storage destination> [Terminology] <Character string array variable> Specify the character string array to be searched. <Character string> Specify the character string to be searched. <Search result storage destination>...
4MELFA-BASIC VI CavChk On (CavChk On) [Function] Activates the stop function of the interference avoidance function. This function is only available for certain models. For details, refer to Page 564, "5.24 Interference avoidance function". [Format] CavChk[]<On/Off>[,<Robot CPU No>[,NOErr]] [Terminology] <On/Off> On: Activates the stop function of the interference avoidance function.
Page 197
4MELFA-BASIC VI Close (Close) [Function] Closes the designated file.(including communication lines) [Format] Close[] [[#]<File No.>[, [[#]<File No.> ...]]] [Terminology] <File No.> Specify the number of the file to be closed (1 to 8). Only a numerical constant is allowed. If this argument is omitted, all open files are closed. [Reference Program] 1 Open "COM1:"...
Page 198
4MELFA-BASIC VI Clr (Clear) [Function] This instruction clears general-purpose output signals, local numerical variables in a program, and numerical external variables. [Format] Clr[]<Type> [Terminology] <Type> It is possible to specify either a constant or a variable. 0 : All steps 1 to 3 below are executed. 1 : The general-purpose output signal is cleared based on the output reset pattern.
Page 199
4MELFA-BASIC VI Cmp Jnt (Compliance Joint) [Function] Start the soft control mode (compliance mode) of the specified axis in the JOINT coordinates system. Note) The available robot type is limited. Refer to "[Available robot type]". [Format] Cmp[]JNT, <Axis designation> [Terminology] <Axis designation>...
Page 200
4MELFA-BASIC VI (11) If a positioning completion condition is specified using the Fine instruction while the compliance mode is activated, depending on the operation the robot may be unable to reach the positioning completion pulse of the target position, and will wait indefinitely for the completion of the operation instruction. As a result, the program execution comes to a halt.
Page 201
4MELFA-BASIC VI Cmp Pos (Compliance Posture) [Function] Start the soft control mode (compliance mode) of the specified axis in the XYZ coordinates system. [Format] Cmp[]Pos, <Axis designation> [Terminology] <Axis designation> Designate axis to move softly with a bit pattern. 1 : Enable, 0 : Disable &B00000000 This corresponds to axis L2L1CBAZYX [Reference Program]...
Page 202
4MELFA-BASIC VI pulse of the target position, and will wait indefinitely for the completion of the operation instruction. As a result, the program execution comes to a halt. Do not use the compliance mode and the Fine instruction at the same time. Robot hand CMP POS, &B000011 000011...
4MELFA-BASIC VI Cmp Tool (Compliance Tool) [Function] Start the soft control mode (compliance mode) of the specified axis in the Tool coordinates system. [Format] Cmp[]Tool, <Axis designation> [Terminology] <Axis designation> Designate axis to move softly with a bit pattern. 1 : Enable, 0 : Disable &B00000000 This corresponds to axis L2L1CBAZYX [Reference Program]...
Page 204
4MELFA-BASIC VI (14) The compliance mode is valid only for the robot arm axes. It is not valid for additional axes, even if specified. (15) If a positioning completion condition is specified using the Fine instruction while the compliance mode is activated, depending on the operation the robot may be unable to reach the positioning completion pulse of the target position, and will wait indefinitely for the completion of the operation instruction.
Page 205
4MELFA-BASIC VI [Related instructions] Cmp Off (Compliance OFF), CmpG (Compliance Gain), Cmp Pos (Compliance Posture), Cmp Jnt (Compliance Joint) Cmp Off (Compliance OFF) [Function] Release the soft control mode (compliance mode). [Format] Cmp[]Off [Reference Program] 1 Mov P1 ' Moves to in front of the part insertion position. 2 CmpG 0.5, 0.5, 1.0, 0.5, 0.5, , , ' Set softness.
Page 207
4MELFA-BASIC VI Cnt (Continuous) [Function] Designates continuous movement control for interpolation. Shortening of the operating time can be performed by carrying out continuous movement. [Format] Cnt[] <Continuous movement mode/acceleration/deceleration movement mode>] [, <Numeric value 1>] [, <Numeric value 2>] [Terminology] <1/0>...
Page 208
4MELFA-BASIC VI CAUTION The robot's locus of movement may change with specified speed. Especially as for the corner section, short cut distance may change. Therefore, when beginning automatic operation, moves at low speed at first, and you should gather speed slowly with being careful of interference with peripheral equipment. [Explanation] (1) The interpolation (4 step to 8 step of the example) surrounded by Cnt 1 - Cnt 0 is set as the target of continuous action.
Page 209
4MELFA-BASIC VI (5) The neighborhood distance denotes the changing distance to the interpolation operation at the next target position. If this neighborhood distance (numerical value 1, numerical value 2) is omitted, the accelerate and deceleration starting position will be the changing position to the next interpolation. In this case, it passes through a location away from the target position, but the operating time will be the shortest.
Page 210
4MELFA-BASIC VI ColChk (Col Check) [Function] Set to enable/disable the collision detection function in automatic operation. The collision detection function quickly stops the robot when the robot's hand and/or arm interferes with peripheral devices so as to minimize damage to and deformation of the robot's tool part or peripheral devices.
Page 211
4MELFA-BASIC VI [Explanation] (1) The collision detection function estimates the amount of torque that will be applied to the axes during movement executed by a Move instruction. It determines that there has been an collision if the difference between the estimated torque and the actual torque exceeds the tolerance, and immediately stops the robot.
Page 212
4MELFA-BASIC VI (12) If the collision detection function is enabled by this instruction, the execution time (tact time) may become long for some programs. Use the collision detection function only for operations that may interfere with peripheral devices, rather than enabling it for the entire program. (13) This function cannot be used together with the multi-mechanism control function.
Page 213
4MELFA-BASIC VI ColLvl (Col Level) [Function] Set the detection level of the collision detection function in automatic operation. [Format] ColLvl[] [<J1 axis>],[<J2 axis>],[<J3 axis>],[<J4 axis>],[<J5 axis>],[<J6 axis>],, [Terminology] <J1 to J6 axis> Specify the detection level in a range between 1 and 500%. If omitted, the previously set value is retained.
4MELFA-BASIC VI Com On/Com Off/Com Stop (Communication ON/OFF/Stop) [Function] Com On :Allows interrupts from a communication line. Com Off :Prohibits interrupts from a communication line. Com Stop :Prevents interrupts from a communication line temporarily (data is received). Jump immediately to the interrupt routine the next time the Com On instruction is executed. [Format] Com[(<Communication Line No.>)][]On Com[(<Communication Line No.>)][]Off...
Page 215
4MELFA-BASIC VI Const [Function] Defines a constant (unchangeable variable). [Format] Const[]Def[]Inte[]<Numeric value variable name>[ = <Numeric value>] [, <Numeric value variable name>[ = <Numeric value>][, ...]] Const[]Def[]Long[]<Numeric value variable name>[ = <Numeric value>] [, <Numeric value variable name>[ = <Numeric value>][, ...]] Const[]Def[]Float[]<Numeric value variable name>[ = <Numeric value>] [, <Numeric value variable name>[ = <Numeric value>][, ...]] Const[]Def[]Double[]<Numeric value variable name>[ = <Numeric value>]...
Page 216
4MELFA-BASIC VI Const[]Dim[]<Variable name>(<Eelement Value>[, <Eelement Value>[, <Eelement Value>]]) [, <Variable name>(<Eelement Value>[, <Eelement Value>[, <Eelement Value>]])[, ...]] <Variable name> Designate an array variable name. <Eelement Value> Designate the number of elements in an array variable with a constant. Const[]<Variable name> = <Expression> <Variable name>...
Page 217
4MELFA-BASIC VI Def Act (Define act) [Function] This instruction defines the interrupt conditions for monitoring signals concurrently and performing interrupt processing during program execution, as well as the processing that will take place when an interrupt occurs. [Format] Def[]Act[]<Priority No.>, <Expression>[]<Process> [, <Type>] [Terminology] <Priority No.>...
Page 218
4MELFA-BASIC VI [Explanation] (1) Writes the Return command at the end of the jump destination processing called up in the interrupt. (2) When returning from interruption processing to the next step by Return1, execute the statement to disable the interrupt. When that is not so, if interruption conditions have been satisfied, because interruption processing will be executed again and it will return to the next step, the step may be skipped.
Page 219
4MELFA-BASIC VI Table 4-15 shows conceptual diagrams that illustrate the effects of the 3 types of program execution stop commands when the interrupt conditions are met while the robot is moving according to a movement instruction. Table 4-15:Conceptual diagram showing the effects of different stop commands External override 100% (maximum speed) External override 50% Stop type 1...
4MELFA-BASIC VI Def Arch (Define arch) [Function] This instruction defines an arch shape for the arch motion movement corresponding to the Mva instruction. [Format]. Def[]Arch[]<Arch number>, [<upward movement increment>][<downward movement increment >], [<Upward evasion increment>], [<downward evasion increment>], [<interpolation type>], [<interpolation type 1>, <interpolation type 2> ] [Terminology] <Arch number>...
4MELFA-BASIC VI CAUTION The robot's locus of movement may change with specified speed. Especially as for the corner section, short cut distance may change. Therefore, when beginning automatic operation, moves at low speed at first, and you should gather speed slowly with being careful of interference with peripheral equipment. [Related instructions] Mva (Move Arch),...
Page 222
4MELFA-BASIC VI Def FN (Define function) [Function] Defines a function and gives it name. [Format] Def[]FN <Identification character><Name> [(<Dummy Argument> [, <Dummy Argument>]...)] = <Function Definition Expression> [Terminology] <Identification character> The identification character has the following four type. Numeric value type: M Character string type: C Position type: P Joint type: J...
Page 223
4MELFA-BASIC VI Def Gps (Define get position) [Function] This command defines the monitored condition for the position data acquisition using the fast-response position data import function (GPS function) for the monitoring. [Format] Def[]Gps[] <Monitoring No.>, <Input No.>, <Condition>, [<Mechanism No.>] [Terminology] <Monitoring No.>...
Page 224
4MELFA-BASIC VI (9) When the same number is set in <Monitoring No.> of this command as in <Monitoring No.> of the Def Map command, the monitored condition set in the command which is executed last is valid (the one set in the command which was executed previously is deleted).
4MELFA-BASIC VI Def Inte/Def Long/Def Float/Def Double (Define Integer/Long/Float/Double) [Function] Use this instruction to declare numerical values. Inte stands for integer, Float stands for single-precision real number, and Double stands for double-precision real number. [Format] Def[]Inte[] <Numeric value variable name> [, <Numeric value variable name>]... Def[] Long[] <Numeric value variable name>...
Page 226
4MELFA-BASIC VI Def IO (Define IO) [Function] Declares an input/output variable. Use this instruction to specify bit widths. M_In and M_Out variables are used for normal single-bit signals, M_Inb and M_Outb are used in the case of 8-bit bytes, M_Inw and M_Outw are used in the case of 16-bit words, and M_In32, M_Out32 are used in the case of 32-bit words.
Page 227
4MELFA-BASIC VI [Explanation] (1) An input signal is read when referencing this variable. (2) An output signal is written when assigning a value to this variable. (3) It is not allowed to reference an output signal by this variable. Use the M_Out variable in order to reference an output signal.
Page 228
4MELFA-BASIC VI Def Map (Define mapping) [Function] This command defines the monitored condition for the mapping (the workpiece presence recognition) in a cassette, using the get-position-quick function (GPS function). [Format] Def[]Map[] <Monitoring No.>, <Input No.>, <Condition>, [<Mechanism No.>], <Lowest position>, <Highest position>, <Number of segments>, <Sensitivity> [Terminology] <Monitoring No.>...
Page 229
4MELFA-BASIC VI Workpiece Sensor Hand lifter <Highest position> Pitch: 18mm (XYZ coordinate values) Board (workpiece) thickness: 1.5mm <Number of segments> Sensitive area (within the range set in <Sensitivity>) Workpiece Insensitive area (out of the range set in <Sensitivity>) (Data of a position detected in the insensitive Sensor area is canceled.) Hand lifter...
Page 230
4MELFA-BASIC VI (2) The current position data of the robot set in <Mechanism No.> is recorded in the P_GpsX(), and the number of the position data obtained is recorded in the in the M_Gps(n), when the signal set in <Input No.>...
Page 231
4MELFA-BASIC VI Def Plt (Define pallet) [Function] Defines the pallet. (3-point pallet, 4-point pallet) [Format] Def[]Plt[] <Pallet No.>, <Start Point>, <End Point A>, <End Point B>, [<Diagonal Point>], <Quantity A>, <Quantity B>, <Pallet Pattern> [Terminology] <Pallet No.> This is the selection No. of the set pallet. (Constants from 1 to 8 only). <Start Point>...
Page 232
4MELFA-BASIC VI (6) If the hand is facing downward, the sign of the A, B and C axis coordinates at the start point, end point A, end point B and diagonal point must match. If the hand is facing downward, A = 180 (or -180), B = 0, and C = 180 (or -180).
Page 233
4MELFA-BASIC VI Def Pos (Define Position) [Function] This instruction declares XYZ type position variables. It is used when using a variable with a name that begins with a character other than "P." It is not necessary to declare variables whose names begin with the character "P"...
Page 234
4MELFA-BASIC VI Def Work [Function] Declares a work coordinate variable. Use this instruction when the variable name starts with a character other than 'W' (or 'w'). [Format] Def[]Work[]<Work coordinate variable name>[, <Work coordinate variable name>[, ...]] [Terminology] <Work coordinate variable name> Designate a variable name.
Page 235
4MELFA-BASIC VI Dim (Dim) [Function] Declares the quantity of elements in the array variable. (Arrays up to the third dimension are possible.) [Format] Dim[]<Variable name> (<Eelement Value> [, <Eelement Value> [, <Eelement Value>]]) [, <Variable name> (<Eelement Value> [, <Eelement Value> [, <Eelement Value>]])]... [Terminology] <Variable name>...
Page 236
4MELFA-BASIC VI [Related instructions] Const 4-218 Detailed explanation of command words...
Page 237
4MELFA-BASIC VI Dly (Delay) [Function] 1) When used as a single command: At a designated time, it causes a wait. It is used for positioning the robot and timing input/output signals. 2) When used as an additional pulse output: Designates an output time for a pulse. [Format] 1) When used as a single command Dly[]<Time>...
Page 238
4MELFA-BASIC VI EBRead (EasyBuilder read) [Function] Reads out the data by specifying the tag name of the vision sensor. The data read from the vision sensor is stored in the specified variable. Please read out data specifying the tag name by using this command when the vision program (job) is made with the vision tool EasyBuilder made by Cognex Corporation.
Page 239
4MELFA-BASIC VI (8) It is possible to specify the timeout time by the numerical value. Within the timeout time, does not move to the next step until the results are received from the vision sensor. However, if the robot program is stopped, this command is immediately cancelled.
Page 240
4MELFA-BASIC VI [Errors] (1) If data type for an argument is incorrect, a "syntax error in input command statement" error is generated. (2) If there is an abnormal number of command arguments (too many or too few), an "incorrect argument count"...
Page 241
4MELFA-BASIC VI EBWrite (EasyBuilder write) [Function] Specifies the tag name of the vision sensor to write data. When the vision program (job) is made with the vision tool EasyBuilder made by Cognex Corporation, you can write data to the cell specified with the tag name by using this command. [Format] EBWrite[]#<Vision sensor number>,[<Tag name>],<Writing data>...
Page 242
4MELFA-BASIC VI <Writing data> Cell value type Process Numeric value type (real num- Boolean value editing control Cell value update ber) (integer, rounding down decimals) Integer editing control Cell value update (integer, rounding down decimals) Floating-point number editing control Cell value update (single-precision real number) Text editing control Execution error (L.8637)
Page 243
4MELFA-BASIC VI EMvc (E Move C) [Function] Carries out 3-dimensional circular interpolation movement along the work coordinates system (Ex-T coordinates system) in the order of start point, transit point 1, transit point 2, and start point. (For the outline of the function, refer to Page 746, "7.3 Ex-T control".) [Format]...
Page 244
4MELFA-BASIC VI [Related instructions] EMvr (E Move R), EMvr2 (E Move R 2), EMvr3 (E Move R 3), EMvs (E Move S) [Related system variables] P_WkCord (Work coordinates data) [Related parameter] WK1CORD to WK8CORD 4-226 Detailed explanation of command words...
Page 245
4MELFA-BASIC VI EMvr (E Move R) [Function] Carries out 3-dimensional circular arc interpolation movement along the work coordinates system (Ex-T coordinates system) from the start point to the end point via transit points. (For the outline of the function, refer to Page 746, "7.3 Ex-T control".) [Format]...
Page 246
4MELFA-BASIC VI (10) If any additional axis is provided, the additional axis also moves. However, the additional axis is not included in the Ex-T control. Therefore, the robot position may be deviated from its original working position when the robot arm is moved with the additional axis such as the travel axis and the work coordinates is also moved along with the robot.
Page 247
4MELFA-BASIC VI EMvr2 (E Move R 2) [Function] Carries out 3-dimensional circular arc interpolation movement along the work coordinates system (Ex-T coordinates system) from the start point to the end point on the arc composed of the start point, end point, and reference points.
Page 248
4MELFA-BASIC VI coordinates is also moved along with the robot. Accordingly, operating an additional axis using this command is not recommended. Also, do not perform synchronous control of additional axis while using this command. (12) If 1 (3-axis XYZ) is specified to <Constants 2> of this command, movement of the robot is the same as 1 (3-axis XYZ) is specified to <Constants 2>...
Page 249
4MELFA-BASIC VI EMvr3 (E Move R 3) [Function] Carries out 3-dimensional circular arc interpolation movement along the work coordinates system from the start point to the end point on the arc composed of the start point, end point, and center point. (For the outline of the function, refer to Page 746, "7.3 Ex-T control".)
Page 250
4MELFA-BASIC VI (13) If any additional axis is provided, the additional axis also moves. However, the additional axis is not included in the Ex-T control. Therefore, the robot position may be deviated from its original working position when the robot arm is moved with the additional axis such as the travel axis and the work coordinates is also moved along with the robot.
Page 251
4MELFA-BASIC VI EMvs (E Move S) [Function] Carries out linear interpolation movement along the work coordinates system (Ex-T coordinates system) from the current position to the movement target position. (For the outline of the function, refer to Page 746, "7.3 Ex-T control".) [Format] EMvs[]<Work Coordinates Number>, <Target Position>...
Page 252
4MELFA-BASIC VI (3) The work coordinate numbers 1 to 8 correspond to WK1CORD to WK8CORD. (4) MELFA-BASIC V/VI can be used. (5) The movement speed during Ex-T control linear interpolation can be also specified by the Spd command. The Ovrd command or the O/P override setting also changes the speed. (6) The acceleration/deceleration of the Ex-T control linear interpolation is optimum when Oadl ON is set (initial value).
Page 253
4MELFA-BASIC VI EMvSpl (E Move Spline) [Function] Spline interpolation in alignment with the Ex-T coordinate system origin is executed based on the information registered in the designated spline file. (Refer to Page 676, "7.2 Spline interpolation" for details on spline interpolation.) [Format] EMvSpl []<Ex-T coordinates number>, <Spline No.>, <Speed>, <Acceleration/deceleration distance>...
Page 254
4MELFA-BASIC VI [Reference Program] 1 EMvSpl 0,2,20,10 ' Executes Ex-T spline interpolation to shift the spline curve generated with the path point data set in spline file 2 along the Ex-T coordinate system origin registered in the spline file. 2 EMvSpl 7,2,30,10 ' Executes Ex-T spline interpolation to shift the spline curve generated with the path point data set in spline file 2 along work coordinate 7.
Page 255
4MELFA-BASIC VI (15) Transfer of the configuration flag (peculiar point transit) is not supported. If the configuration flag differs between path points, error L2611 (Path point configuration flag is different) will occur. (16) The filter characteristics applied on the acceleration/deceleration movement can be changed with <Filter length>.
Page 256
4MELFA-BASIC VI End (End) [Function] This instruction defines the final step of a program. It is also used to indicate the end of a program explicitly, by entering the End instruction at the end of the main processing, in case a sub program is attached after the main program. In the case of a sub program called up by the CallP instruction, the control is returned to the main program when the End instruction is executed.
Page 257
4MELFA-BASIC VI Error (error) [Function] This instruction makes a program generate an error (9000s number). [Format] Normal programs Error[]<Error No.> Constantly-executed programs (ALWAYS attribute) Error[]<Error No.>, <Conditions> [Terminology] <Error No.> Either a constant or numeric operation expression can be set. Designate the No. within the range of 9000 to 9299.
4MELFA-BASIC VI Exit [Function] Exits from a Function procedure. [Format] Exit[]Function [Reference Program] 1 Function V Func 2 ' : 3 Exit Function ' Exits from the function processing. 4 FEnd [Explanation] (1) The program exits from the function processing (Function procedure). [Related instructions] Function...
Page 259
4MELFA-BASIC VI Fine (Fine) [Function] This instruction specifies completion conditions of the robot's positioning with number of encoder pulses. It is invalid during the smooth movement control (Cnt 1). Depending on the type of robot (RP series), positioning using the Dly instruction may be more effective than using the Fine command.
Page 260
4MELFA-BASIC VI Fine J (Fine Joint) [Function] Specifies the robot positioning complete conditions with a joint axis value. The Fine J command will be disabled during continuous operation control (Cnt 1). The Fine command or Fine P command will be disabled for all axes when the Fine J command is executed. [Format] Fine[]<Positioning Width>, J [, <Axis No.>] [Terminology]...
Page 261
4MELFA-BASIC VI Fine P (Fine Pause) [Function] Specifies the robot positioning complete conditions with a linear distance. The Fine P command will be disabled during continuous operation control (Cnt 1). The Fine command or Fine J command will be disabled for all axes when the Fine P command is executed. [Format] Fine[]<Linear Distance>, P [Terminology]...
4MELFA-BASIC VI For - Next (For-next) [Function] Repeatedly executes the program between the For statement and Next statement until the end conditions are satisfied. [Format] For[]<Counter> = <Default value> To <End Value> [Step <Increment>] Next[] [<Counter 1>] [Terminology] <Counter> Describe the numerical variable that represents the counter for the number of repetitions. Same for <Counter 1>...
Page 263
4MELFA-BASIC VI (3) A run-time error occurs under the following conditions. *The counter's <Default Value> is greater than <End Value> and <Increment> is a positive number. *The counter's <Default Value> is smaller than <End Value>, and <Increment> is a negative number. (4) A run-time error occurs if a For statement and a Next statement are not paired.
Page 264
4MELFA-BASIC VI Function... FEnd [Function] Defines a Function procedure (function). [Format] Function[]<Return value type>[]<Procedure name>([<Dummy Argument>[, <Dummy Argument>]...]) <Function processing> <Procedure name> = <Return value> Exit[]Function FEnd [Terminology] <Return value type> Designate a return value type. P: XYZ type J: Joint type W: Work coordinate type M: Numeric value type (Designate a type with a postfix.
Page 265
4MELFA-BASIC VI [Explanation] (1) Up to 256 Function procedures can be defined. (2) Specification of the return value can be omitted. When the specification of the return value is omitted, the void type is set. (3) Up to 16 dummy arguments can be defined. (4) When a procedure is defined, a Function Main procedure needs to be defined as an entry point in the program file.
Page 266
4MELFA-BASIC VI (16) To hold the local variable value even after the function is ended, add a Static keyword before the variable name at variable declaration to change the local variable to a static variable. (17) If no processing is performed for the return value, the default value of the return value type is returned. The following shows the default values of each data type.
Page 267
4MELFA-BASIC VI GetM (Get Mechanism) [Function] This instruction is used to control the robot by a program other than the slot 1 program when a multi-task is used, or to control a multi-mechanism by setting an additional axis as a user-defined mechanism. Control right is acquired by specifying the mechanism number of the robot to be controlled.
Page 268
4MELFA-BASIC VI (4) If the argument is omitted from the system status variable requiring the mechanism designation, the currently acquired mechanism will be designated. (5) If the program is stopped, RelM will be executed automatically by the system. When the program is restarted, GetM will be executed automatically.
Page 269
4MELFA-BASIC VI GoTo (Go To) [Function] This instruction makes a program branch to the specified label step unconditionally. [Format] GoTo[]<Branch Destination> [Terminology] <Branch Destination> Describe the label name. [Reference Program] 10 GoTo *LBL ' Branches to the label *LBL. 100 *LBL 101 Mov P1 [Explanation] (1) If a branch destination or label does not exist, an error will occur during execution.
Page 270
4MELFA-BASIC VI GpsChk (Get position check) [Function] This command starts/stops monitoring the condition defined in the Def Gps command or Def Map command using the get-position-quick function (GPS function). Before executing this command, define the monitored condition in the Def Gps command or Def Map command.
Page 271
4MELFA-BASIC VI Hlt (Halt) [Function] Interrupts the execution of the program which executed this Hlt command. In use of the multitasking function, the executing status of other programs is not affected. [Format] [Reference Program] (1) Stop the robot on some conditions. 10 If M_In(18)=1 Then Hlt ' Stop the program execution when the input signal 18 turns on.
4MELFA-BASIC VI HOpen / HClose (Hand Open/Hand Close) [Function] Commands the hand to open or close. [Format] HOpen[]<Hand No.> [, <Starting grasp force>, <Holding grasp force>, <Starting grasp force holding time>] HClose[]<Hand No.> [Terminology] <Hand No.> Select a numeric value between 1 and 8. Specify this argument using a constant or a variable.
Page 273
4MELFA-BASIC VI [Related system variables] M_In/M_Inb/M_In8/M_Inw/M_In16 (900s number), M_Out/M_Outb/M_Out8/M_Outw/M_Out16 (900s number), M_HndCq [Related instructions] Loadset (Load Set), Oadl (Optimal Acceleration) [Related parameter] HANDTYPE, HANDINIT Refer to Page 525, "5.10 Automatic return setting after jog feed at pause"and, Page 528, "5.13 About default hand status".
Page 274
4MELFA-BASIC VI If...Then...ElseIf...Else...EndIf (If Then Else) [Function] A process is selected and executed according to the results of an expression. [Format] If[]<Expression>[]Then[]<Process>[][Else <Process>] If[]<Expression>[]Then <Process> <Process> Break [ElseIf[]<Expression>[]Then <Process> <Process> Break [Else <Process> <Process> Break EndIf [Terminology] <Expression> Describe the expression targeted for comparison as a comparison operation expression or logic operation expression.
Page 275
4MELFA-BASIC VI 400 M2 = -10 410 EndIf (4) Describes the Break structure in the Then or Else, it can escape to the next step of EndIf. 30 If M1>10 Then 31 If M2 > 20 Then Break ' Once the designated conditions are established, the process escapes to step 39.
Page 276
4MELFA-BASIC VI Include [Function] Reads a specified program. [Format] #Include[]"<Program Name> [Terminology] <Program Name> Designate a program name to be read. [Reference Program] 1 #Include "LIB1" ' Reads the program. 3 Function Main Mvs PData1 ' Uses the common variables of the read program. Func1() ' Calls the functions of the read program.
4MELFA-BASIC VI Input (Input) [Function] Inputs data into a file . Only AscII character data can be received. (including communication lines) [Format] Input[]#<File No.>, <Input data name> [, <Input data name>] ... [Terminology] <File No.> Describe a number between 1 and 8. This corresponds to the file No.
Page 278
4MELFA-BASIC VI JOvrd (J Override) [Function] Designates the override that is valid only during the robot's joint movements. [Format] JOvrd[]<Designated override> [Terminology] <Designated override> Describe the override as a real number. A numeric operation expression can also be described. Unit: [%] (Recommended range: 1 to 100.0) [Reference Program] 1 JOvrd 50 2 Mov P1...
Page 279
4MELFA-BASIC VI JRC (Joint Roll Change) [Function] • This instruction rewrites the current coordinate values by adding +/-360 degrees to the current joint coordinate values of the applicable axis (refer to <Axis No> in [Terminology]) of the robot arm. • User-defined axis (additional axis, user defined mechanism) This instruction rewrites the current coordinate values by adding/subtracting the value specified by a parameter to/from the current joint coordinate values of the specified axis.
Page 280
4MELFA-BASIC VI (3) If the designated axis is omitted, the priority axis will be the target. The priority axis is the rotating axis (J6 axis) at the end of the robot. (4) If the designated axis is omitted when a priority axis does not exist (robot incapable of JRC), or if the designated axis is not a target for JRC, an error will occur when the command is executed.
Page 281
4MELFA-BASIC VI Loadset (Load Set) [Function] This instruction specifies the condition of the hand/workpiece at execution of the Oadl instruction. And, when using the interference avoidance function, specify the hand number and the work number. (Specify the model which is the target of the interference check) [Format] LoadSet[]<Hand condition No.>, <Workpiece condition No.>...
Page 282
4MELFA-BASIC VI Mov (Move) [Function] Using joint interpolation operation, moves from the current position to the destination position. [Format] Mov[]<Target Position> [, <Close Distance>] [[]Type[]<Constants 1>, <Constants 2>][] [<Appended conditions>] [Terminology] <Movement Target Position>This is the final position for interpolation operation. This position may be specified using a position type variable and constant, or a joint variable.
Page 283
4MELFA-BASIC VI Mva (Move Arch) [Function] This instruction moves the robot from the current position to the target position with an arch movement (arch interpolation). [Format]. Mva[]<Target Position>, <Arch number> [Terminology] <Target Position> Final position of interpolation movement. This position may be specified using a position type variable and constant, or a joint variable.
Page 284
4MELFA-BASIC VI CAUTION The robot's locus of movement may change with specified speed. Especially as for the corner section, short cut distance may change. Therefore, when beginning automatic operation, moves at low speed at first, and you should gather speed slowly with being careful of interference with peripheral equipment. [Related instructions] Def Arch (Define arch),...
Page 285
4MELFA-BASIC VI Mva2 (Move Arch 2) [Function] This instruction moves the robot from the current position to the target position with an arch movement (arch interpolation). Note) The available robot type is limited. Refer to "[Available robot type]". [Format] Mva2 <Target Position> [ , <Downward Increment> [ , <Neighborhood Distance 1> [, <Neighborhood Distance 2>...
Page 286
4MELFA-BASIC VI [Explanation] (1) The robot moves upward in the Z-axis direction from the current position, then moves to a position above the target position, and finally moves downward, reaching the target position. This arch motion movement is performed with one instruction. (2) <Downward Increment>, <Neighborhood Distance 1>, <Neighborhood Distance 2>, <Positioning Distance>, and <Settling Time>...
Page 287
4MELFA-BASIC VI Positioning distance Target position "Positioning is completed when the current position moves into the sphere with the radius specified in <Positioning Distance>." Fig.4-28:Positioning distance of Mva2 instruction [Available robot type] RH-FR series (Without RH-3FRHR series) [Related instructions] MVACNT1 Detailed explanation of command words 4-269...
Page 288
4MELFA-BASIC VI Mvc (Move C) [Function] Carries out 3D circular interpolation in the order of start point, transit point 1, transit point 2 and start point. [Format] Mvc[]<Start point>,<Transit point 1>,<Transit point 2>[][<Additional condition>] [Terminology] <Start point> The start point and end point for a circle. Describe a position using a position type variable or constant, or a joint variable.
Page 289
4MELFA-BASIC VI Mvr (Move R) [Function] Carries out 3-dimensional circular interpolation movement from the start point to the end point via transit points. [Format] Mvr[]<Start Point>, <Transit Point>, <End Point> [[]TYPE[]<Constants 1>, <Constants 2>][] [<Appended Condition>] [Terminology] <Start Point> Start point for the arc. Describe a position using a position type variable or constant, or a joint variable.
Page 290
4MELFA-BASIC VI [Explanation] (1) In circular interpolation motion, a circle is formed with three given points, and robot moves along the circumference. (2) The posture is interpolation from the start point to the end point; the transit point posture has no effect. (3) If the current position and start point do not match, the robot will automatically move with linear interpolation (3-axis XYZ interpolation) to the start point.
Page 291
4MELFA-BASIC VI Mvr2 (Move R 2) [Function] Carries out 3-dimensional circular interpolation motion from the start point to the end point on the arc composed of the start point, end point, and reference points. The direction of movement is in a direction that does not pass through the reference points. [Format] Mvr2[]<Start Point>, <End Point>, <Reference point>...
Page 292
4MELFA-BASIC VI [Explanation] (1) In circular interpolation motion, a circle is formed with three given points, and robot moves along the circumference. (2) The posture is interpolation from the start point to the end point; the reference point posture has no effect.
Page 293
4MELFA-BASIC VI Mvr3 (Move R 3) [Function] Carries out 3-dimensional circular interpolation movement from the start point to the end point on the arc composed of the center point, start point and end point. [Format] Mvr3[]<Start Point>, <End Point>, <Center Point> [[]Type[]<Constants 1>, <Constants 2>][] [<Appended Condition>] [Terminology] <Start Point>...
Page 294
4MELFA-BASIC VI MVR3 P1, P2, P3 Moves by XYZ interpolation (3-axis XYZ interpolation) P_CURR Fig.4-32:Example of circular interpolation motion path 3 Precautions for registration of position data after execution of linear (circular arc) interpolation for vertical 5-axis robots In the linear (circular arc) interpolation, the posture data at the operation start position and the posture data at the movement target position are different by +180 degrees or -180 degrees or more, the robot performs shortcut operation.
Page 295
4MELFA-BASIC VI Mvs (Move S) [Function] Carries out linear interpolation movement from the current position to the movement target position. [Format 1] Mvs[]<Movement Target Position> [, <Close Distance>] [[]Type[]<Constants 1>,<Constants 2>][][<Appended Condition>] [Format 2] Mvs[], <Separation Distance> [[]Type[]<Constants 1>,<Constants 2>][][<Appended Condition>] [Terminology] <Movement Target Position>...
Page 296
4MELFA-BASIC VI [Explanation] (1) Linear interpolation motion is a type of movement where the robot moves from its current position to the movement target position so that the locus of the control points is in a straight line. (2) The posture is interpolation from the start point to the end point. (3) In the case of the tool coordinate system specified by using <proximity distance>...
Page 297
4MELFA-BASIC VI (12) Description of singular points. <In the case of a vertical 6-axis robot> Movement from posture A, through posture B, to posture C About singular points of vertical 6-axis robots cannot be performed using the normal linear interpolation (Mvs). 1) Posture A This limitation applies only when J4 axis is at zero degrees at all the postures A, B, and C.
Page 298
4MELFA-BASIC VI MvSpl (Move Spline) [Function] Spline interpolation is executed based on the information registered in the designated spline file. (Refer to Page 676, "7.2 Spline interpolation" for details on spline interpolation.) [Format] MvSpl []<Spline No.>, <Speed>, <Acceleration/deceleration distance> [, <Frame transformation> [, <Posture interpolation type> [, <Filter length>]]] [Terminology] <Spline No.>...
Page 299
4MELFA-BASIC VI [Explanation] (1) Spline interpolation is carried out based on the path point data, etc., registered in the spline file corresponding to <Spline No.>. A smooth curve (spline curve) is generated to pass through the robot position and posture that are registered as path points. The robot movement follows that curve. (2) If the robot's current position at the start of MvSpl command execution and the spline interpolation start position are deviated, the robot will move to the start position with linear interpolation and then start spline interpolation.
Page 300
4MELFA-BASIC VI (14) The filter characteristics applied on the acceleration/deceleration movement can be changed with <Filter length>. Increase the filter length to make the movement during acceleration and deceleration smoother. Note that if the filter length is too high, the movement will slow down and it will take a long time for the spline interpolation to end.
4MELFA-BASIC VI Mv Tune (Move Tune) [Function] Select the robot operating characteristics from one of the following four modes. The robot operating performance will improve by selecting the optimum operating characteristics based on the application. Operating characteristics are optimized based on the hands and workpieces specified with the LoadSet command.
Page 302
4MELFA-BASIC VI characteristics mode is retained with the sub-program End command executed with the CallP command. (4) The differences between the standard mode and the other operating characteristics modes are as follows. Table 4-18:By-operating mode Performance Comparison Items of comparison Operating mode Time required to Trajectory...
Page 303
4MELFA-BASIC VI Mxt (Move External) [Function] The real-time external control function by ethernet I/F The absolute position data is retrieved from an external personal computer connected via Ethernet network at each controller control time, and the robot is directly moved. The controller control time is approx. 7.1 ms with the CR800-Q and approx.
Page 304
4MELFA-BASIC VI NVClose (network vision sensor line close) [Function] Cuts the line with the specified vision sensor. [Format] NVClose□[[#]<Vision sensor number>[,[[#]<Vision sensor number> ・・・ ] [Terminology] <Vision sensor number> (Can be omitted) Specifies a constant from 1 to 8 (the vision sensor number). Indicates the number for the vision sensor connection to the COM specified with the <COM number>.
Page 305
4MELFA-BASIC VI NVLoad (network vision sensor load) [Function] Loads the specified vision program into the vision sensor. [Format] NVLoad□#<Vision sensor number>,"<Vision program (job) name>" [Terminology] <Vision sensor number> (Can not be omitted) This specifies the number of the vision sensor to control. Setting range:1 - 8 <Vision program (job) name>...
Page 306
4MELFA-BASIC VI NVOpen (network vision sensor line open) [Function] Connects with the specified vision sensor and logs on to that vision sensor. [Format] NVOpen□"<COM number>"□As□#<Vision sensor number> [Terminology] <Com number> (Can not be omitted): Specify the communications line number in the same way as for the Open command. "COM1:"...
Page 307
4MELFA-BASIC VI (7) When this command is used with multi-tasking, there are the following restrictions. The <COM number> and <Vision sensor number> must not be duplicated in different tasks. (a) If the same <COM number> is used in another task, the "attempt was made to open an already open communication file"...
Page 308
4MELFA-BASIC VI NVRun (network vision sensor run) [Function] Starts the specified vision program. [Format] NVRun□#<Vision sensor number >,< Vision program (job) name > [Terminology] <Vision sensor number> (Can not be omitted) This specifies the number of the vision sensor to control. Setting range:1 - 8 <Vision program (job) name>...
Page 309
4MELFA-BASIC VI [Errors] (1) If data type for an argument is incorrect, a "syntax error in input command statement" error is generated. (2) If there is an abnormal number of command arguments (too many or too few), an "incorrect argument count"...
Page 310
4MELFA-BASIC VI NVTrg (network vision sensor trigger) [Function] Requests the specified vision program to capture an image. [Format] NVTrg□#<Vision sensor number>,<delay time>, <encoder 1 value read-out variable> [,[<encoder 2 read-out variable>][,[<encoder 3 value read-out variable>] [,[<encoder 4 read-out variable>][,[<encoder 5 value read-out variable>] [,[<encoder 6 read-out variable>][,[<encoder 7 value read-out variable>] [,[<encoder 8 read-out variable>] [Terminology]...
Page 311
4MELFA-BASIC VI [Errors] (1) If data type for an argument is incorrect, a "syntax error in input command statement" error is generated. (2) If there is an abnormal number of command arguments (too many or too few), an "incorrect argument count"...
Page 312
4MELFA-BASIC VI Oadl (Optimal Acceleration) [Function] Automatically sets the optimum acceleration/deceleration according to the robot hand's load state (Optimum acceleration/deceleration control). By employing this function, it becomes possible to shorten the robot's motion time (tact). The acceleration/deceleration speed during optimum acceleration/deceleration can be calculated using the following equation: Acceleration/deceleration speed (sec) = Optimum acceleration/deceleration speed (sec) x Accel instruction (%) x M_SetAdl (%)
Page 313
4MELFA-BASIC VI (7) The value of the acceleration/deceleration speed distribution rate in units of axes are predetermined by the JADL parameter. This value varies with models in the S series. Refer to the Page 491, "JADL" parameter. OADL ON Time Time Fig.4-36:Acceleration/deceleration pattern at light load [Related instructions]...
4MELFA-BASIC VI On Com GoSub (ON Communication Go Subroutine) [Function] Defines the starting line of a branching subroutine when an interrupt is generated from a designated communication line. [Format] On[]Com[][(<File No.>)][]GoSub[]<Call Destination> [Terminology] <File No.> Describe a number between 1 and 3 assigned to the communication line. <Call Destination>...
Page 315
4MELFA-BASIC VI On ... GoSub (ON Go Subroutine) [Function] Calls up the subroutine at the step label corresponding to the value. [Format] On[]<Terminology>[]GoSub[][<Expression>] [, [<Call Destination>]] ... [Terminology] <Terminology> Designate the step label on the step to branch to with a numeric operation expression. <Call Destination>...
Page 316
4MELFA-BASIC VI On ... GoTo (On Go To) [Function] Branches to the step with the step label that corresponds to the designated value. [Format] On[]<Expression>[]GoTo[][<Branch Destination>] [, [<Branch Destination>]] ... [Terminology] <Expression> Designate the step label on the line to branch to with a numeric operation expression. <Call Destination>...
Page 317
4MELFA-BASIC VI Open (Open) [Function] Open the file or communication lines. [Format] Open[] "<File Descriptor>" [][For <Mode>][]AS[] [#] <File No.> [Terminology] <File Descriptor> Describe a file name (including communication lines). *To use a communication line, set "<Communication Line File Name>:" *When not using a communications line, set "<File Name>"...
Page 318
4MELFA-BASIC VI (3) Communication line 1 Open "COM1:" As #1 ' Opens the communication line set with the first element of the parameter ' COMDEV as the file number 1. 2 Mov P_01 3 Print #1, P_Curr ' Outputs the current position to the external source. (In the following format) ' "(100.00,200.00,300.00,400.00,500.00,600.00,700.00,800.00)(7,0)"...
Page 319
4MELFA-BASIC VI Ovrd (Override) [Function] This instruction specifies the speed of the robot movement as a value in the range from 0.01 to 100%. This is the override applied to the entire program. [Format] Ovrd[]<Override> Ovrd[]<Override> [, <Override when moving upward> [, <Override when moving downward>] ] [Terminology] <Override>...
Page 320
4MELFA-BASIC VI Plt (Pallet) [Function] Calculates the position of grid in the pallet. [Format] Plt[]<Pallet No.> , <Grid No.> [Terminology] <Pallet No.> Select a pallet No. between 1 and 8 that has already been defined with a Def Plt command. Specify this argument using a constant or a variable.
Page 321
4MELFA-BASIC VI Prec (Precision) [Function] This instruction is used to improve the motion path tracking. It switches between enabling and disabling the high accuracy mode. [Format]. Prec[]<On / Off> [Terminology] <On / Off> On: When enabling the high accuracy mode. Off: When disabling the high accuracy mode.
4MELFA-BASIC VI Print (Print) [Function] Outputs data into a file . All data uses the AscII format. (including communication lines) [Format] Print[]#<File No.>[] [, [<Expression> [;]] ...[<Expression>[ ; ]]] [Terminology] <File No.> Described with numbers 1 to 8. Corresponds to the control No. assigned by the Open command. <Expression>...
Page 323
4MELFA-BASIC VI Priority (Priority) [Function] In multitask program operation, multiple program lines are executed in sequence (one by one line according to the default setting). This instruction specifies the priority (number of lines executed in priority) when programs are executed in multitask operation. [Format].
Page 324
4MELFA-BASIC VI PrmRead (Parameter Read) [Function] Reads a parameter value. [Format] [Format 1] PrmRead [<Mechanism Number>], <Parameter name>, <Storage destination variable> [Terminology] <Mechanism Number> Specify the mechanism No. of a parameter to be read. Parameters independent from the mechanism can also be read by specifying 1, 2, or 3 as the mechanism No.
Page 325
4MELFA-BASIC VI PrmWrite (Parameter Write) [Function] Writes a parameter value. [Format] PrmWrite [<Mechanism Number>], <Parameter name>, <Parameter value> [Terminology] <Mechanism Number> Specify the mechanism No. of the parameter to be written. Parameters independent from the mechanism can also be written by specifying 1, 2, or 3 as the mechanism No.
Page 326
4MELFA-BASIC VI PVSCal (PVS calibration) [Function] Changes the vision sensor image coordinate to the robot world coordinate using the vision sensor calibration data (parameters from VSCALB 1 to VSCALB 8) set by 2D vision calibration function of RT ToolBox3. [Format]. <Position Variables>=PVSCal<Calibration Number>, <Vision X>, <Vision Y>, <Vision θ>...
Page 327
4MELFA-BASIC VI RelM (Release Mechanism) [Function] This instruction is used in connection with control of a mechanism via task slots during multitask operation. It is used to release the mechanism obtained by the GetM instruction. [Format] RelM [Reference Program] (1) Start the task slot 2 from the task slot 1, and control the mechanism 1 in the task slot 2. Task slot 1 1 RelM ' Releases the mechanism in order to control mechanism 1 using slot 2.
Page 328
4MELFA-BASIC VI Rem (Remarks) [Function] Uses the following character strings as comments. [Format] Rem[][<Comment>] [Terminology] <Comment> Describe a user-selected character string. Descriptions can be made in the range of position steps. [Reference Program] 1 Rem ***MAIN PROGRAM*** 2 ' ***MAIN PROGRAM*** 3 Mov P1 ' Move to P1.
Page 329
4MELFA-BASIC VI Remove (Remove) [Function] Deletes a file. [Format] Remove[]"<File Name>" [Terminology] <File Name> Specifies a file name to be deleted. [Reference Program] 1 Remove "temp.txt" ' Deletes the specified file. [Explanation] (1) A file created with the Open command is deleted. (2) When the delete target file does not exist, the error L7010 occurs at execution.
4MELFA-BASIC VI Reset Err (Reset Error) [Function] This command resets an error generated in the robot controller. It is not allowed to use this instruction in the initial status. If an error other than warnings occurs, normal programs other than constantly executed programs cannot be operated.
Page 331
4MELFA-BASIC VI Return (Return) [Function] (1) When returning from a normal subroutine returns to the next step after the GoSub. (2) When returning from an interrupt processing subroutine, returns either to the step where the interrupt was generated, or to the next step. [Format] (1) When returning from a normal subroutine: Return...
Page 332
4MELFA-BASIC VI [Explanation] (1) Writes the Return command at the end of the jump destination processing called up by the GoSub command. (2) An error occurs if the Return command is executed without being called by the GoSub command. (3) Always use the Return command to return from a subroutine when called by the GoSub command. An error occurs if the GoTo command is used to return, because the free memory available for control structure (stack memory) decreases and eventually becomes insufficient.
Page 333
4MELFA-BASIC VI Save [Function] Saves a program. [Format] Save[]<Save type>[, <Slot number>] [Terminology] <Save type> 0: Saves the slot 1 program and the user base program. 1: Saves the user base program. 2: Saves the program of a specified slot. <Slot number>...
4MELFA-BASIC VI Select Case (Select Case) [Function] Executes one of multiple statement blocks according to the condition expression value. [Format] Select[] <Condition> Case[]<Expression> [<Process>] Break Case[]<Expression> [<Process>] Break Default [<Process>] Break End[]Select [Terminology] <Condition> Describe a numeric operation expression or character string expression. <Expression>...
Page 335
4MELFA-BASIC VI [Explanation] (1) If the condition matches one of the Case items, the process will be executed until the next Case, Default or End Select. If the case does not match with any of the Case items but Default is described, that block will be executed.
Page 336
4MELFA-BASIC VI Servo (Servo) [Function] Controls the ON and OFF of the servo motor power. [Format] (1) The usual program Servo[]<On / Off> (2) The program of always (ALWAYS) execution. Servo[]<On / Off> , <Mechanism No.> [Terminology] <On / Off> On: When turning the servo motor power on.
Page 337
4MELFA-BASIC VI SetCalFrm (Set Calibration Frame) [Function] Sets the reference coordinate system used for frame transformation. Two types of reference coordinate systems (pre-frame transformation and post-frame transformation) are set with this command. [Format] SetCalFrm []<Position 1>, <Position 2>, <Position 3>, <Position 4>, <Position 5>, <Position 6> [Terminology] <Position 1>...
Page 338
4MELFA-BASIC VI with position data PR1, PR2 and PR3, and the post-frame transformation reference coordinate system "Xfc-Zfc-Yfc" is defined with position data PC1, PC2 and PC3. Frame transformation フレーム変換 +Xfr +Xfr +Yfr +Yfr Fig.4-37: Example of frame transformation (2) The X, Y and Z axis coordinate values of each position data are used to define the coordinate system. Other element data such as the A, B and C axis coordinate values are not used.
Page 339
4MELFA-BASIC VI Skip (Skip) [Function] Transfers control of the program to the next step. [Format] Skip [Reference Program] 1 Mov P1 WthIf M_In(17)=1,Skip ' If the input signal (M_In(1 7)) turns ON while moving with joint interpolation to the position indicated with position variable P1, stop the robot interpolation motion, and stop execution of this command, and execute the next step.
Page 340
4MELFA-BASIC VI Spd (Speed) [Function] Designates the speed for the robot's linear and circular movements. This instruction also specifies the optimum speed control mode. [Format] Spd[]<Designated Speed> Spd[]M_NSpd (Optimum speed control mode) [Terminology] <Designated Speed> Designate the speed as a real number. Setting range: 0.01 to 10000 [mm/s] [Reference Program] 1 Spd 100 2 Mvs P1...
Page 341
4MELFA-BASIC VI SpdOpt (Speed Optimize) [Function] Adjusts the speed so that the speed does not exceed during the linear interpolation operation in the horizontal direction which passes through near the singular point (X=Y=0: one of the robot's singular points). Note) This command is limited to the corresponding robot models. Robot model: RH-3FRHR series [Format] SpdOpt[]<On/Off>...
Page 342
4MELFA-BASIC VI Linear interpolation 直線補間 Speed 速 度 A B Origin 原点 ↓ ↓ 時 間 Time Speed regulation area 速 度 調 整 領 域 Fig.4-39:The situation of speed at speed-optimization. Fig.4-38:Passing through near the origin point (3) This command is valid only in linear interpolation movement. It functions in neither joint interpolation nor circle interpolation.
Page 343
4MELFA-BASIC VI [The available robot type] RH-3FRHR series [Related parameter] SPDOPT SplFWrt (Spline Frame Write) [Function] Register the frame transformation information to specified spline file. [Format] SplFWrt []<Spline No.>, <Position 1>, <Position 2>, <Position 3>, <Position 4>, <Position 5>, <Position 6> [Terminology] <Spline No.>...
Page 344
4MELFA-BASIC VI SplWrt (Spline Write) [Function] Creates a spline file that includes information of the specified file. [Format] SplWrt []<Spline No.>, <File name 1> [, <Operation mode> [, <Spline cancel angle> [, <Block length ratio> [, <Ex-T coordinates number>[, <File version>]]]]] [Terminology] <Spline No.>...
Page 345
4MELFA-BASIC VI (6) Registers the coordinate system data registered in WKnCord (n=1 to8) to the spline file when 1 to 8 is specified by <Ex-T coordinates number>. Ex-T spline function is invalid when 0 is set. When omitted, 0 (Ex-T spline function is invalid) is registered. (7) Creates the spline file the version is specified by <File version>.
Page 346
4MELFA-BASIC VI Static [Function] Declares a Static value. [Format] Static[]Def[]Inte[]<Numeric value variable name>[, <Numeric value variable name>[, ...]] Static[]Def[]Long[]<Numeric value variable name>[, <Numeric value variable name>[, ...]] Static[]Def[]Float[]<Numeric value variable name>[, <Numeric value variable name>[, ...]] Static[]Def[]Double[]<Numeric value variable name>[, <Numeric value variable name>[, ...]] <Numeric value variable name>...
Page 347
4MELFA-BASIC VI Title (Title) [Function] Appends the title to the program. The characters specified in the program list display field of the robot controller can be displayed using the separately sold personal computer support software. [Format] Title[]"<Character String>" [Terminology] <Character String> Message for title [Reference Program] 1 Title "ROBOT Loader Program"...
Page 348
4MELFA-BASIC VI Tool(Tool) [Function] Designates the tool conversion data. This instruction specifies the length, position of the control point from the mechanical interface, and posture of the tools (hands). [Format] Tool[]<Tool Conversion Data> [Terminology] <Tool Conversion Data> Specifies the tool conversion data using the position operation expression. (Position constants, position variables, etc.) [Reference Program] (1) Set up the direct numerical value.
Page 349
4MELFA-BASIC VI [Related parameter] MEXTL, MEXTL 1 to 16 Refer to Page 514, "5.6 Standard Tool Coordinates" for detail. [Related system variables] P_Tool/P_NTool, M_Tool Torq (Torque) [Function] Designates the torque limit for each axis. By specifying the torque limit, an excessive load (overload) on works and so froth can be avoided.
Page 350
4MELFA-BASIC VI Wait (Wait) [Function] Waits for the variable to reach the designated value. [Format] Wait[]<Numeric variable>=<Numeric constant> [Terminology] <Numeric variable> Designate a numeric variable. Use the input/output signal variable (in such cases as M_In, M_Out) well. <Numeric constant> Designate a numeric constant. [Reference Program] (1) Signal state 1 Wait M_In(1)=1...
Page 351
4MELFA-BASIC VI While-WEnd (While End) [Function] The program between the While statement and WEnd statement is repeated until the loop conditions are satisfied. [Format] While[]<Loop Condition> WEnd [Terminology] <Loop Condition> Describe a numeric operation expression. (Refer to Page 165, "4.8 Operators") [Reference Program] (1) Repeat the process while the numeric variable M1 value is between -5 and +5, and transfer control to...
Page 352
4MELFA-BASIC VI Wth (With) [Function] A process is added to the interpolation motion. [Format] Example) Mov P1 Wth[]<Process> [Terminology] <Process> Describe the process to be added. The commands that can be described are as follow. 1. <Numeric type data B> <Substitution operator><Numeric type data A> [Substitute, signal modifier command (Refer to Page 165, "4.8 Operators".)]...
Page 353
4MELFA-BASIC VI WthIf (With If) [Function] A process is conditionally added to the interpolation motion command. [Format] WthIf[]<Additional Condition>, <Process> [Terminology] <Additional Condition> Describe the condition for adding the process. (Same as Act condition expression) <Process> Describe the process to be added when the additional conditions are established.
Page 354
4MELFA-BASIC VI XClr (X Clear) [Function] This instruction cancels the program selection status of the specified task slot from within a program. Enabling the execution of a new program in the specified task slot. It is used during multitask operation. [Format] XClr[]<Slot No.>...
Page 355
4MELFA-BASIC VI XLoad (X Load) [Function] This instruction commands the specified program to be loaded into the specified task slot from within a program. It is used during multitask operation. [Format] XLoad[]<Slot No.>, <Program Name> [Terminology] <Slot No.> Specify a slot number in the range from 1 to 32 as a constant or variable. <Program Name>...
Page 356
4MELFA-BASIC VI XRst (X Reset) [Function] This instruction returns the program control to the first step if the program of the specified task slot is paused by a command within the program (program reset). It is used during multitask operation. [Format] XRst[]<Slot No.>...
Page 357
4MELFA-BASIC VI XRun (X Run) [Function] This instruction executes concurrently the specified programs from within a program.It is used during multitask operation. [Format] XRun[]<Slot No.>[, [<Program Name>] [, <Operation Mode>]] [Terminology] <Slot No.> Specify a slot number in the range from 1 to 32 as a constant or variable. <Program Name>...
Page 358
4MELFA-BASIC VI [Related instructions] XClr (X Clear), XLoad (X Load), XRst (X Reset), XStp (X Stop) [Related parameter] ALWENA [Related system variables] M_Run (Slot number) (1: Executing, 0: Not executing) XStp (X Stop) [Function] This instruction pauses the execution of the program in the specified task slot from within a program. If the robot is being operated by the program in the specified task slot, the robot stops.
Page 359
4MELFA-BASIC VI Substitute [Function] The results of an operation are substituted in a variable or array variable. [Format] <Variable Name> = <Expression 1> For pulse substitution <Variable Name> = <Expression 1> Dly <Expression 2> [Terminology] <Variable Name> Designate the variable name of the value is to be substituted. (Refer to Page 165, "4.8 Operators"...
Page 360
4MELFA-BASIC VI (Label) [Function] This indicates the jump site. [Format] *<Label Name> *<Label Name> [:<Command line>] [Terminology] <Label Name> Describe a character string that starts with an alphabetic character. Up to 16 characters can be used. (Up to 17 characters including *.) <Command line>...
4MELFA-BASIC VI 4.13 Detailed explanation of Robot Status Variable 4.13.1 How to Read Described items [Function] : This indicates a function of a variable. [Format] : This indicates how to enter arguments of an instruction. [ ] means that arguments may be omitted. System status variables can be used in conditional expressions, as well as in reference and assignment statements.
Page 362
4MELFA-BASIC VI C_Com [Function] Sets the parameters for the line to be opened by the Open (Open) command. This is used when the communication destination is changed frequently. * Character string type * Only for a client with the Ethernet. [Format] C_Com (<communication line number>) = "ETH: <server side IP address>...
Page 363
4MELFA-BASIC VI (5) If this command is executed after the OPEN command, the current open status will not change. In such a case, it is necessary to close the line with the Close (Close) command once, and then execute the OPEN command again.
Page 364
4MELFA-BASIC VI C_Mecha [Function] This function returns the mechanism name (robot type name) for which control right has been acquired. [Format] Example) <Character String Variable >=C_Mecha[(<Numeric>)] [Terminology] <Character String Variable > Specify a character string variable to be assigned. <Numeric> 1 to 32, Enter the task slot number.
Page 365
4MELFA-BASIC VI C_Time [Function] This variable returns the current time in the format of time: minute: econd (24 hours notation). [Format] Example) <Character String Variable >=C_Time [Reference Program] 1 C1$=C_Time ' "01/05/20" is assigned to C1$. [Explanation] (1) The current clock is assigned. (2) This variable only reads the data.
Page 366
4MELFA-BASIC VI J_Curr [Function] Returns the joint type data at the current position. [Format] Example) <Joint Type Variable>=J_Curr [(<Mechanism Number>)] [Terminology] <Joint Type Variable> Specify a joint type variable to be assigned. <Mechanism Number> Enter the mechanism number. 1 to 3, If the argument is omitted, 1 is set as the default value.
Page 367
4MELFA-BASIC VI J_ColMxl [Function] Return the maximum value of the differences between the estimated torque and actual torque while the collision detection function is being enabled. [Format] Example) <Joint Type Variable>=J_ColMxl [(<Mechanism Number>)] [Terminology] <Joint Type Variable> Specify a joint type variable to be assigned.(Joint type variable will be used even if this is a pulse value.) <Mechanism Number>...
Page 368
4MELFA-BASIC VI [Explanation] (1) Keep the maximum value of the error of the estimated torque and actual torque of each axis while collision detection function is valid. Torque COLLVL Actual torque Estimated torque COLMXL Time (2) When this value is 100%, it indicates that the maximum error value is the same as the manufacturer's initial value of the allowable collision level.
Page 369
4MELFA-BASIC VI Sample program Explanations '********** Collision detection level automatic setup ********** 'GoSub *LEVEL ' Collision detection level automatic setting Is the command which executes the collision detection level program automatic setting subroutine. Remove the comment out of the head 'HLT when set up automatically.
Page 370
4MELFA-BASIC VI J_ECurr [Function] Returns the current encoder pulse value. [Format] Example) <Joint Type Variable>=J_ECurr [(<Mechanism Number>)] [Terminology] <Joint Type Variable> Specify a joint type variable to be assigned. <Mechanism Number> Enter the mechanism number. 1 to 3, If the argument is omitted, 1 is set as the default value.
Page 371
4MELFA-BASIC VI J_Fbc/J_AmpFbc [Function] J_Fbc: Returns the current position of the joint type that has been generated by encoder feedback. J_AmpFbc: Returns the current feedback value of each axis [Format] Example) <Joint Type Variable>=J_Fbc [(<Mechanism Number>)] Example) <Joint Type Variable>=J_AmpFbc [(<Mechanism Number>)] [Terminology] <Joint Type Variable>...
Page 372
4MELFA-BASIC VI M_Acl/M_DAcl/M_NAcl/M_NDAcl/M_AclSts [Function] Returns information related to acceleration/deceleration time. M_Acl: Returns the ratio of current acceleration time. (%) M_DAcl: Returns the ratio of current deceleration time. (%) M_NAcl: Returns the initial acceleration time value. (100%) M_NDAcl: Returns the initial deceleration time value. (100%) M_AclSts: Returns the current acceleration/deceleration status.
Page 373
4MELFA-BASIC VI M_BsNo [Function] Returns a current base coordinate system number. [Format] Example) <Numerical variable>=M_BsNo[(<mechanism number>)] [Terminology] <Numerical variable> A numerical variable to which a value is to be assigned is designated. <Mechanism number> A mechanism number which is chosen from 1 through 3. (1 is chosen to indicate omission.) Constants, variables, logic/arithmetic expressions, and functions are usable.
Page 374
4MELFA-BASIC VI M_BrkCq [Function] Returns the result of executing a line containing a Break command that was executed last. 1: Break was executed 0: Break was not executed [Format] Example) <Numeric Variable>=M_BrkCq [(<Equation>)] [Terminology] <Numeric Variable> Specifies the numerical variable to assign. <Equation>...
Page 375
4MELFA-BASIC VI M_CavSts [Function] Returns the robot CPU number where an interference is predicted. 1 to 3: Interference predicted. 0: Interference not predicted. This function is only available for certain models. For details, refer to Page 564, "5.24 Interference avoidance function".
Page 376
4MELFA-BASIC VI M_CmpDst [Function] Returns the amount of difference (in mm) between the command value and the actual value from the robot when executing the compliance function. [Format] Example)<Numeric Variable>=M_CmpDst [(<Mechanism Number>)] [Terminology] <Numeric Variable> Specifies the numerical variable to assign. <Mechanism Number>...
Page 377
4MELFA-BASIC VI M_CmpLmt [Function] Returns whether or not the command value when the compliance function is being executed is about to exceed various limits. 1: The command value is about to exceed a limit. 0: The command value is not about to exceed a limit. [Format] Example) Def Act 1, M_CmpLmt [(<Mechanism Number>)]=1 GoTo *Lmt [Terminology]...
Page 378
4MELFA-BASIC VI M_ColSts [Function] Return the collision detection status.. 1: Detecting an collision 0: No collision has been detected [Format] Example) Def Act 1, M_ColSts [(<Mechanism Number>)]=1 GoTo *LCOL,S [Terminology] <Mechanism Number> Specify the mechanism number 1 to 3. The default value is 1. [Reference Program] 1 Def Act 1,M_ColSts(1)=1 GoTo *HOME,S 'Define the processing to be executed when an collision...
Page 379
4MELFA-BASIC VI M_Cstp [Function] Returns the status of whether or not a program is on cycle stop 1: Cycle stop is entered, and cycle stop operation is in effect. (The input of the End key on the operation panel, or the input of a cycle stop signal) 0: Other than above [Format] Example)<Numeric Variable>=M_Cstp...
Page 380
4MELFA-BASIC VI M_DIn/M_DOut [Function] This is used to write or reference the remote register of CC-Link (optional). Cannot use in CR800-R/Q series. M_DIn: References the input register. M_DOut: Writes or reference the output register. [Format] Example)<Numeric Variable>=M_DIn (<Equation 1>) Example)<Numeric Variable>=M_DOut (<Equation 2>) [Terminology] <Numeric Variable>...
Page 381
4MELFA-BASIC VI M_DIn32 [Function] Obtains 32-bit data via the CC-Link register from an external device. [Format] Example)<Numeric Variable>=M_DIn32 (<Equation/Inputting register number>) [Terminology] <Numeric Variable> Specifies a long-precision integer number variable to be substituted. <Equation/Inputting register number> The range of CC-Link register numbers that can be specified is from 6000 to 6254.
Page 382
4MELFA-BASIC VI M_DOut32 [Function] Outputs 32-bit data to an external device via the CC-Link register. Alternatively, checks the current output information. [Format] Reference Example)<Numeric Variable>=M_DOut32 (<Equation/Inputting register number>) Write Example)M_DOut32 (<Equation/Inputting register number>)=<Numeric Variable> [Terminology] <Numeric Variable> Specifies a long-precision integer number variable to be substituted.
Page 383
4MELFA-BASIC VI M_ErCode [Function] Returns the detailed error number of the error currently generated. [Format] Example) <Numeric Variable>=M_ErCode [Terminology] <Numeric Variable> Specifies a 32-bit long-precision integer number. (Specifying a 16-bit long-precision integer number will cause an out-of-range error when substituted.) Refer to (2) in [Explanation] for the meaning of the read value.
Page 384
4MELFA-BASIC VI M_Err/M_ErrLvl/M_Errno [Function] Returns information regarding the error generated from the robot. M_Err : Error occurrence condition M_ErrLvl : The level of the occurrence error M_Errno : Error number [Format] Example) <Numeric Variable>=M_Err Example) <Numeric Variable>=M_ErrLvl Example) <Numeric Variable>=M_Errno [Terminology] <Numeric Variable>...
4MELFA-BASIC VI M_ESpd [Function] Returns the transit speed [mm/s] of Ex-T coordinate system currently used during the Ex-T control/Ex-T spline interpolation [Format] Example)<Position Variables>=M_ESpd [(<Mechanism Number>)] [Terminology] <Position Variables> Designates the numerical variable substituted for the reference results. <Mechanism Number> Sets the mechanism No.
Page 386
4MELFA-BASIC VI M_Exp [Function] Returns the base of natural logarithm (2.718281828459045). [Format] Example) <Numeric Variable>=M_Exp [Terminology] <Numeric Variable> Specifies the numerical variable to assign. [Reference Program] 1 M1=M_Exp ' Base of natural logarithm (2.718281828459045) is assigned to M1. [Explanation] (1) This is used when processing exponential and logarithmic functions. (2) This variable only reads the data.
Page 387
4MELFA-BASIC VI [Function] Returns gravitational constant (9.80665). [Format] Example) <Numeric Variable>=M_G [Terminology] <Numeric Variable> Specifies the numerical variable to assign. [Reference Program] 1 M1=M_G ' Gravitational constant (9.80665) is assigned to M1. [Explanation] (1) This is used to perform calculation related to gravity. (2) This variable only reads the data.
Page 388
4MELFA-BASIC VI M_GDev/M_GDevW/M_GDevD [Function] Writes to or directly references CPU buffer memory with the CR800-R/Q series controllers. (CR800-R/Q series controllers only) M_GDev: Writes or References in bits (one bit). M_GDevW: Reads/ Writes per word. (16 bits) M_GDevD: Reads/ Writes per double word. (32 bits) [Format] ExampleReference <Numeric Variable>...
Page 389
4MELFA-BASIC VI [Reference Program] 1 M_GDev(&H3E1, 10010, 2)=1 'Sets the value of bit number 2 in buffer memory address 10010 of CPU No. 2 to 1. 2 M_GDevW(&H3E1, 10010)=&HFFFF 'Sets buffer memory address 10010 of CPU No. 2 to FFFF. 3 M_GDevD(&H3E1, 10011)=P1.X * 1000 'Multiplies the X coordinate value of position variable P1 by 1000 and sets buffer memory addresses 10011 and 10012...
Page 390
4MELFA-BASIC VI Table 4-23:<Numeric value> O: The available, X: unavailable constant types Numeric variables types Other variables Numeric Binary Hexadecimal Integer Long- Single- Double- Position Character Joint value number precision precision precision string number Note1) Bit width Note1) Note1) integer real real number...
Page 391
4MELFA-BASIC VI M_Gps [Function] This command returns the number of the position data stored in the P_GpsX() for the monitoring number defined in the Def Gps command, using the get-position-quick function (GPS function). ("X" indicates the same number as the target monitoring number from 1 to 8.) [Format] Example) <Numeric Variable>=M_Gps[(<Numeric>)] [Terminology]...
Page 392
4MELFA-BASIC VI M_HGDev/M_HGDevW/M_HGDevD [Function] Writes or directly references the periodical communication area of CPU buffer memory with the CR800-R series controllers. (CR800-R series controllers only) (This enables multiple robot interfaces such as interlocks to be accessed more quickly without having to use ladder program of the PLC.
Page 393
4MELFA-BASIC VI [Reference Program] 1 M_HGDev(&H3E1,30,2)=1 'Sets the value of bit number 2 in buffer memory address 30 of CPU No. 2 to 1. 2 M_HGDevW(&H3E1,10)=&HFFFF 'Sets buffer memory address 10 of CPU No. 2 to FFFF. 3 M_HGDevD(&H3E1,11)=P1.X * 1000 'Multiplies the X coordinate value of position variable P1 by 1000 and sets buffer memory addresses 11 and 12 (2 words) of CPU No.
Page 394
4MELFA-BASIC VI Table 4-26:<Numeric value> O: The available, X: unavailable constant types Numeric variables types Other variables Long- Single- Double- Character Position Joint Numeric Binary Hexadecimal Integer precision precision precision string Note1) Bit width Note1) value number number integer real real Note1) number...
Page 395
4MELFA-BASIC VI M_In/M_Inb/M_In8/M_Inw/M_In16 [Function] Returns the value of the input signal. M_In: Returns a bit. M_Inb or M_In8: Returns a byte (8 bits). M_Inw or M_In16: Returns a word (16 bits). [Format] Example) <Numeric Variable>=M_In(<Equation>) Example) <Numeric Variable>=M_Inb(<Equation>) or M_In8(<Equation>) Example) <Numeric Variable>=M_Inw(<Equation>) or M_In16(<Equation>) [Terminology] <Numeric Variable>...
Page 396
4MELFA-BASIC VI [Supplement] Table 4-27:<Numeric Variable> O: The available, X: unavailable Numeric variables types Other variables Position Integer Long- Joint Character Single- Double- Note1) precision string Note1) Bit width precision precision integer real number real number number Ex.)M1! Ex.)M1# Ex.)M1% Ex.)M1&...
Page 397
4MELFA-BASIC VI M_In32 [Function] Returns the value of the input signal of 32-bit width as a value. [Format] Example) <Numeric Variable>=M_In32(<Equation>) [Terminology] <Numeric Variable> Specifies the numerical variable to assign. Supplementary explanation is shown in Table 4-29. <Equation> Enter the input signal number. Supplementary explanation is shown in Table 4-30.
Page 398
4MELFA-BASIC VI [Supplement] Table 4-29:<Numeric Variable> O: The available, X: unavailable Numeric variables types Other variables Long- Position Integer Single- Double- Joint Character precision Note1) precision precision string Note1) Bit width integer real number real number number Ex.)M1% Ex.)M1! Ex.)M1# Ex.)J1.J1 Ex.)C1$ Ex.)P1.X...
Page 399
4MELFA-BASIC VI M_JOvrd/M_NJOvrd/M_OPOvrd/M_Ovrd/M_NOvrd [Function] Returns override value. M_JOvrd: Value specified by the override JOvrd command for joint interpolation. M_NJOvrd: Initial override value (100%) for joint interpolation. M_OPOvrd: Override value of the operation panel. M_Ovrd: Current override value, value specified by the Ovrd command. M_NOvrd: Initial override value (100%).
Page 400
4MELFA-BASIC VI M_LdFact [Function] The load ratio for each joint axis can be referenced. [Format] Example)<Numeric Variable>=M_LdFact(<Axis Number>) [Terminology] <Numeric Variable> The load ratio of each axis is substituted. The range is 0 to 100%. <Axis Number> 1 to 8, Specifies the axis number. [Reference Program] 1 Accel 100,100 ' Lower the overall deceleration time to 100%.
Page 401
4MELFA-BASIC VI M_LdFMax [Function] The maximum load ratio for each joint axis can be referenced. [Format] Example)<Numeric Variable>=M_LdFMax(<Axis Number>) [Terminology] <Axis Number> 1 to 8, Specifies the axis number. <Numeric Variable> The load ratio of each axis is substituted. The range is 0 to 100%. [Reference Program] 1 Accel 100,100 ' Lower the overall deceleration time to 100%.
Page 402
4MELFA-BASIC VI M_Line [Function] Returns the line number that is being executed. [Format] Example)<Numeric Variable>=M_Line [(<Equation>)] [Terminology] <Numeric Variable> Specifies the numerical variable to assign. <Equation> 1 to 32, Specifies the task slot number. If this parameter is omitted, the current slot will be used as the default.
Page 403
4MELFA-BASIC VI 3 GpsChk On,3 ‘ Monitoring a condition for the monitoring No. 3 is started. The position data is recorded when the signal No. 851 is turned on, and the segment number in which the workpiece is present is calculated from that position data, which is shown as "M_Map3(130)".
Page 404
4MELFA-BASIC VI M_Mxt [Function] Use this command for synchronization of the robot applications between the master and slave robots for cooperative operation. [Format] Example)<Numeric Variable>=M_Mxt(<Target CPU No.>) [Terminology] <Numeric Variable> Specifies the numerical variable to assign. <Target CPU No.> Enter the CPU module No. of the master robot. 2 to 4. [Reference Program] M_Mxt(2)=1 ' The robot CPU No.
Page 405
4MELFA-BASIC VI M_NvOpen [Function] Indicates the vision sensor line connection status. [Array meaning] Array elements (1 - 8): Vision sensor numbers [Explanation of values returned] 0: Line connecting (logon not complete) 1: Logon complete -1: Not connected [Usage] After an NVOpen command is executed, checks whether or not the line with the vision sensor is connected and the vision sensor logged onto.
Page 406
4MELFA-BASIC VI M_On/M_Off [Function] Always returns 1 (M_On) or 0 (M_Off). [Format] Example)<Numeric Variable>=M_On Example)<Numeric Variable>=M_Off [Terminology] <Numeric Variable> Specifies the numerical variable to assign. [Reference Program] 1 M1=M_On ' 1 is assigned to M1. 2 M2=M_Off ' 0 is assigned to M2. [Explanation] (1) Always returns 1 or 0.
Page 407
4MELFA-BASIC VI M_Open [Function] Returns the status indicating whether or not a file or communication line is opened. [Format] Example)<Numerical variable>=M_Open [<File number>] [Terminology] <Numerical variable> Specify the numerical variable to substitute. <File number> Specify the file number 1-8 by constant value of communication line opened by Open command.
Page 408
4MELFA-BASIC VI M_Out/M_Outb/M_Out8/M_Outw/M_Out16 [Function] Writes or references external output signal. M_Out:Output signal bit. M_Outb or M_Out8:Output signal byte (8 bits). M_Outw or M_Out16:Output signal word (16 bits). [Format] Example)M_Out(<Numeric value 1>)=<Numeric value 2> Example)M_Outb(<Numeric value 1>) or M_Out8(<Numeric value 1>)=<Numeric value 3> Example)M_Outw(<Numeric value 1>) or M_Out16(<Numeric value 1>)=<Numeric value 4>...
Page 409
4MELFA-BASIC VI CAUTION Always make interlock of signal to take synchronization. Failure to observe this could lead to cause of malfunction by the signal transmitted incorrectly. [Supplement] Table 4-31:<Numeric value 1> O: The available, X: unavailable constant types Numeric variables types Other variables Numeric Positio...
Page 410
4MELFA-BASIC VI M_Out32 [Function] Writes or references external output signal of 32-bit width as numerical value. [Format] Example)M_Out32(<Numeric value 1>)=<Numeric value> Example)<Numeric Variable>=M_Out32(<Numeric value 1>) [Terminology] <Numeric value 1> Specify the output signal number. Supplementary explanation is shown in Table 4-34.
Page 411
4MELFA-BASIC VI [Supplement] Table 4-34:<Numeric value 1> O: The available, X: unavailable constant types Numeric variables types Other variables Single- Numeric Position Binary Hexadecimal Integer Long- Double- Character Joint precision value number precision Note1) string number precision Note1) Bit width real Note2) Note1)
Page 412
4MELFA-BASIC VI M_PI [Function] Returns pi (3.14159265358979). [Format] Example)<Numeric Variable>=M_PI [Terminology] <Numeric Variable> Specifies the numerical variable to assign. [Reference Program] 1 M1=M_PI ' 3.14159265358979 is assigned to M1. [Explanation] (1) A variable to be assigned will be a real value. (2) This variable only reads the data.
Page 413
4MELFA-BASIC VI M_Ratio [Function] Returns how much the robot has approached the target position (0 to 100%) while the robot is moving. [Format] Example)<Numeric Variable>=M_Ratio [(<Equation>)] [Terminology] <Numeric Variable> Specifies the numerical variable to assign. <Equation> 1 to 32, Specifies the task slot number. If this parameter is omitted, the current slot will be used as the default.
Page 414
4MELFA-BASIC VI M_RCInfo [Function] This variable returns a variety of information of the robot controller. [Format] Example)<Numeric Variable>=M_RCInfo (<Information ID number>, <Element number>) [Terminology] <Numeric Variable> Specifies the numerical variable to assign. <Information ID number> Specifies the information ID number of the information to read. Refer to the table below for details.
Page 415
4MELFA-BASIC VI M_RDst [Function] Returns the remaining distance to the target position (in mm) while the robot is moving. [Format] Example)<Numeric Variable>=M_RDst [(<Equation>)] [Terminology] <Numeric Variable> Specifies the numerical variable to assign. <Equation> 1 to 32, Specifies the task slot number. If this parameter is omitted, the current slot will be used as the default.
Page 416
4MELFA-BASIC VI M_SetAdl [Function] Set the acceleration/deceleration time distribution rate of the specified axis when optimum acceleration/ deceleration control is enabled (Oadl ON). Since it can be set for each axis, it is possible to reduce the motor load of an axis with a high load. Also, unlike a method that sets all axes uniformity, such as Ovrd, Spd and Accel instructions, the effect on the tact time can be minimized as much as possible.
Page 417
4MELFA-BASIC VI M_SkipCq [Function] Returns the result of executing the line containing the last executed Skip command. 1: Skip has been executed. 0: Skip has not been executed. [Format] Example)<Numeric Variable>=M_SkipCq [(<Equation>)] [Terminology] <Numeric Variable> Specifies the numerical variable to assign. <Equation>...
Page 418
4MELFA-BASIC VI M_Spd/M_NSpd/M_RSpd [Function] Returns the speed information during XYZ and JOINT interpolation. M_Spd: Currently set speed. M_NSpd: Initial value (optimum speed control). M_RSpd: Directive speed. [Format] Example)<Numeric Variable>=M_Spd [(<Equation>)] Example)<Numeric Variable>=M_NSpd [(<Equation>)] Example)<Numeric Variable>=M_RSpd [(<Equation>)] [Terminology] <Numeric Variable> Specifies the numerical variable to assign. <Equation>...
Page 419
4MELFA-BASIC VI M_SplPno [Function] During spline interpolation, the number of the path point passed through most recently is returned. The spline interpolation start position is 1. [Format] Example) <Numeric Variable>=M_SplPno [(<Mechanism Number>)] [Terminology] <Numeric Variable> Designates the numerical variable substituted for the reference results. <Mechanism Number>...
Page 420
4MELFA-BASIC VI M_SplVar [Function] During spline interpolation, the numerical setting value set for the path point passed through most recently is returned. This value can be changed to a random value by using writing. [Format] Example) <Numeric Variable 1>=M_SplVar [(<Mechanism Number>)] Example) M_SplVar [(<Mechanism Number>)]=<Numeric Variable 2>...
Page 421
4MELFA-BASIC VI (4) M_SplVar returns the value according to the states shown in Table 4-38. Table 4-38: Value returned by M_SplVar Status Value returned by M_SplVar Immediately after power ON During spline interpolation execution Value corresponding to progress of spline interpolation (Value set in spline file) When passing through path point set to "–1"...
Page 422
4MELFA-BASIC VI M_Timer [Function] Time is measured in milliseconds. This can be used to measure the operation time of the robot or to measure time accurately. [Format] Example)<Numeric Variable>=M_Timer (<Equation>) [Terminology] <Numeric Variable> Specifies the numerical variable to assign. <Equation> Enter the number to 8 from 1.
Page 423
4MELFA-BASIC VI M_Tool [Function] In addition to using the tool conversion data (MEXTL1 to 16) of the specified number as the current tool conversion data, it is also set in the MEXTL parameter. The current tool number can also be read. [Format] Example)<Numeric Variable>=M_Tool [(<Mechanism Number>)]'Referencing the Current Tool Number Example)M_Tool [(<Mechanism Number>)] = [(<Equation>)]...
Page 424
4MELFA-BASIC VI (5) Setting 0 in the tool number will reset tool parameter MEXTL to the initial values (0,0,0,0,0,0). To retain the current tool parameter with the tool number set to 0, change parameter TOOLSPEC from 0 (initial value) to 1, and turn on the power again. Supported with controller software version A4 or later.
Page 425
4MELFA-BASIC VI M_Uar32 [Function] Returns whether contained in the user-defined area. Bits 0 to 31 correspond to areas 1 to 32, with the respective bits displaying the information below. 1: Within user-defined area 2: Outside user-defined area [Format] Example) <Numeric Variable> = M_Uar32 [(<Mechanism Number>)] [Terminology] <Numeric Variable>...
Page 426
4MELFA-BASIC VI M_UDevW/ M_UDevD [Function] This function is to exchange the signals directly with two or more robot CPUs in the robot controller of CR800-Q series (Only CR800-Q series) (Since the rudder program of the PLC is not needed, the exchange of the signal can be executed more speedily.
Page 427
4MELFA-BASIC VI [Reference Program] 1 M_UDevW(&H3E1, 10010)=&HFFFF ' The &HFFFF (hexadecimal number) is written to the shared memory address 10010 of No. 2 CPU (host CPU). 2 M_UDevD(&H3E1, 10011)=P1.X * 1000 ' Calculate the X coordinate value of position variable P1 by 1000.
Page 428
4MELFA-BASIC VI Table 4-41:<Numeric value> O: The available, X: unavailable constant types Numeric variables types Other variables Numeric Hexadecimal Integer Long- Character Binary Double- Single- Position Joint value number number precision precision string precision Bit width Note1) integer real number real number number...
Page 429
4MELFA-BASIC VI M_Wai [Function] Returns the standby status of the program for the specified task slot. 1 : Paused (The program has been paused.) 0 : Not paused (Either the program is running or is being stopped.) [Format] Example)<Numeric Variable>=M_Wai [(<Equation>)] [Terminology] <Numeric Variable>...
Page 430
4MELFA-BASIC VI M_Wupov [Function] Returns the value of an override (warm-up operation override, unit: %) to be applied to the command speed in order to reduce the operation speed when in the warm-up operation status. Note) For more information about the warm-up operation mode, see Page 542, "5.19 Warm-Up Operation Mode"...
Page 431
4MELFA-BASIC VI M_Wuprt [Function] Returns the time (sec) during which a target axis must operate to cancel the warm-up operation status. Note: For more information about the warm-up operation mode, see Page 542, "5.19 Warm-Up Operation Mode" for detail. [Format] Example)<Numeric Variable>...
Page 432
4MELFA-BASIC VI M_Wupst [Function] Returns the time (sec) until the warm-up operation status is set again after it has been canceled. Note: For more information about the warm-up operation mode, see Page 542, "5.19 Warm-Up Operation Mode" for detail. [Format] Example)<Numeric Variable>...
Page 433
4MELFA-BASIC VI M_XDev/ M_XDevB/ M_XDevW/ M_XDevD [Function] Reads the value of PLC input signal (X) in the robot controller of CR800-R/Q series. (Only CR800-R/Q series) The direct reference of the input signal of the input output unit / input output mixing unit managed by other CPU is possible.
Page 434
4MELFA-BASIC VI (3) The PLC input signal number should be in "&H0"to "&HFFF" in hexadecimal expression. Error L3110 (value of the argument outside of the range) will occur, if it is the abbreviation and outside the range. (4) It is necessary to set up so that the input signal can be referred to with Parameter QXYREAD previously. (5) Return 0, when the PLC unit which can correspond is not connected.
Page 435
4MELFA-BASIC VI M_YDev/ M_YDevB/ M_YDevW/ M_YDevD [Function] Reads/ Writes the value of PLC output signal (Y) in the robot controller of CR800-R/Q series. (Only CR800- R/Q series) (Set up the input output unit / input output mixing unit which robot CPU manages, and execute direct reference or direct write of the output signal.
Page 436
4MELFA-BASIC VI [Reference Program] 1 M_YDev(1)=1 ' Turns on the PLC output signal 1 2 M_YDevB(&H10)=&HFF ' Turns on the 8-bit width from 10 (hexadecimal number) of PLC output signal. 3 M_YDevW(&H20)=&HFFFF ' Turns on the 16-bit width from 20 (hexadecimal number) of PLC output signal.
Page 437
4MELFA-BASIC VI Table 4-45:<PLC input-signal number> O: The available, X: unavailable constant types Numeric variables types Other variables Numeric Positio Binary Hexadecimal Integer Long- Character Single- Joint Double- Note1) Note1) number number precision precision string Note1) value precision Bit width Note2) integer real...
Page 438
4MELFA-BASIC VI P_Base/P_NBase [Function] Returns information related to the base conversion data. P_Base: Returns the base conversion data that is currently being set. P_NBase: Returns the initial value (0, 0, 0, 0, 0, 0) (0, 0). [Format] Example)<Position Variables>=P_Base [(<Mechanism Number>)] Example)<Position Variables>=P_NBase [Terminology] <Position Variables>...
Page 439
4MELFA-BASIC VI P_CavDir [Function] Returns which direction the robot was moving when an interference was predicted during interference check. This function is only available for certain models. For details, refer to Page 564, "5.24 Interference avoidance function". [Format] Example) <Position Variable>=P_CavDir[(<Mechanism No>)] [Terminology] <Position Variable>...
Page 440
4MELFA-BASIC VI P_ColDir [Function] Return the operation direction of the robot when an collision is detected. [Format] Example)<Position Variables>=P_ColDir [(<Mechanism Number>)] [Terminology] <Position Variables> Specifies the position variable to assign. <Mechanism Number> Enter the mechanism number. 1 to 3, If the argument is omitted, 1 is set as the default value.
Page 441
4MELFA-BASIC VI P_CordR [Function] Returns the base coordinates of the own robot looking from the common coordinates. This function is only available for certain models. For details, refer to Page 564, "5.24 Interference avoidance function". [Format] Example) <Position Variable> = P_CordR [(<Mechanism No>)] [Terminology] <Position Variable>...
Page 442
4MELFA-BASIC VI P_Curr [Function] Returns the current position (X, Y, Z, A, B, C,L1,L2) (FL1, FL2). [Format] Example)<Position Variables>=P_Curr [(<Mechanism Number>)] [Terminology] <Position Variables> Specifies the position variable to assign. <Mechanism Number> Enter the mechanism number. 1 to 3, If the argument is omitted, 1 is set as the default value.
Page 443
4MELFA-BASIC VI P_CurrR [Function] Returns the current position of the own robot looking from the common coordinates. This function is only available for certain models. For details, refer to Page 564, "5.24 Interference avoidance function". [Format] Example) <Position Variable> = P_CurrR [(<Mechanism No>)] [Terminology] <Position Variable>...
Page 444
4MELFA-BASIC VI P_ECord [Function] Returns the Ex-T coordinate system origin data currently used during the Ex-T control/Ex-T spline interpolation movement. [Format] Example)<Position Variables>=P_ECord [(<Mechanism Number>)] [Terminology] <Position Variables> Designates the numerical variable substituted for the reference results. <Mechanism Number> Sets the mechanism No. that executes Ex-T control/Ex-T spline interpolation. Setting range: 1 to 3 When omitted: 1 If a non-existent mechanism No.
Page 445
4MELFA-BASIC VI P_Fbc [Function] Returns the current position (X,Y,Z,A,B,C,L1,L2)(FL1,FL2) based on the feedback values from the servo. [Format] Example)<Position Variables>=P_Fbc [(<Mechanism Number>)] [Terminology] <Position Variables> Specifies the position variable to assign. <Mechanism Number> Enter the mechanism number. 1 to 3, If the argument is omitted, 1 is set as the default value.
Page 446
4MELFA-BASIC VI P_GCurr [Function] This command contains a status variable to read the current position of the master robot on starting the cooperative operation between the master and slave robots. Use this command to align the start positions of movement by reading the current position of the master robot before starting the cooperative operation. As a preparation, it is required to enable the iQ extended function so that the current position of the target CPU can be monitored.
Page 447
4MELFA-BASIC VI P_GDev [Function] Writes or directly references positional data to CPU buffer memory with the CR800-R/Q series controllers. (CR800-R/Q series controllers only) Writing and reading are performed in the position data width of (32 bits x 10). [Format] Reading <Position Variable>=P_GDev(<Start I/O Number>, <Buffer memory address>) Writing P_GDev(<Start I/O Number>, <Buffer memory address>)=<Position Data>...
Page 448
4MELFA-BASIC VI [Supplement] Table 4-48:Constants and variables usable as <PLC input signal number> and <Buffer memory address> Constant types Numeric variable types Other variables Single- Double- Position Joint Character Numeric Binary number Hexadecim Integer Long- precision precision Note1) Note1) string Note1) al number precision...
Page 449
4MELFA-BASIC VI P_Gps1 to P_Gps8 [Function] This command returns XYZ coordinate data for the current position data when the condition defined in the Def Gps command is met, using the get-position-quick function (GPS function). (Up to 400 position data can be saved.) The current position data of the robot at the time when the condition defined in the Def Gps command is met can be checked.
Page 450
4MELFA-BASIC VI P_HGDev [Function] Writes or directly references positional data to the periodical communication area of CPU buffer memory with the CR800-R series controllers. (CR800-R series controllers only) Writing and reading are performed in the position data width of (32 bits x 10). [Format] Reading <Position Variable>=P_HGDev(<Start I/O Number>, <Buffer memory address>)
Page 451
4MELFA-BASIC VI [Supplement] Table 4-49:Constants and variables usable as <PLC input signal number> and <Buffer memory address > Constant types Numeric variable types Other variables Single- Double- Numeric Binary Hexadecim Integer Long- Character Position Joint precision precision Note1) number al number precision string value...
Page 452
4MELFA-BASIC VI P_Safe [Function] Writes or references positional data to the safe point (XYZ position of the JSAFE parameter). [Format] Reading <Position Variables>=P_Safe [(<Mechanism Number>)] Writing P_Safe[(<Mechanism Number>)] = <Position Data> [Terminology] <Position Variables> Specifies the position variable to assign. <Mechanism Number>...
Page 453
4MELFA-BASIC VI P_UDev [Function] Writes/reads the position data to/from the CPU shared memory. (This function is available with the CR800-Q series robot controllers only.) Writing and reading are performed in the position data width of (32 bits x 10). [Format] Reading <Position Variable>=P_UDev(<Start I/O Number>, <Shared Memory Address>) Writing...
Page 454
4MELFA-BASIC VI [Supplement] Table 4-50:Constants and Variables for <Input Signal Number for Programmable Controller ><Shared Memory Address> Constant types Numeric variable types Other variables Single- Double- Position precision precision Joint Binary Long- Numeric Hexadecim Variable types Character Note1) number Integer precision real real...
Page 455
4MELFA-BASIC VI P_WkCord [Function] This function permits you to make reference to the work coordinate data being currently specified or to make a setting for a new work coordinate. Parameters to be worked with are WK1CORD through WK8CORD. (For the outline of the function, refer to Page 746, "7.3 Ex-T control".) [Format]...
Page 456
4MELFA-BASIC VI (4) Specifying work coordinates by this command clears WO, WX and WY data for the corresponding work coordinate number [coordinate values of 3 points to be taught as work coordinates - parameters: WKnWO, WKnWX, WKnWY (n: 1~8)]. Example) Executing Step 4 (P_WKcORD(2)=PW) of Reference Program <1> which is previously listed causes WK2WO, WK2WX and WK2WY to be set to "0".
4MELFA-BASIC VI 4.14 Detailed Explanation of Functions 4.14.1 How to Read Described items [Function] : This indicates a function of a function. [Format] : This indicates how to input the function argument. [Reference Program] : An example program using function is shown. [Terminology] : This indicates the meaning and range of an argument.
Page 458
4MELFA-BASIC VI [Function] Returns the absolute value of a given value. [Format] <Numeric Variable>=Abs(<Equation>) [Reference Program] 1 P2.C=Abs(P1.C) ' P2.C will contain the value of P1.C without the sign. 2 Mov P2 3 M2=-100 4 M1=Abs(M2) ' 100 is assigned to M1. [Explanation] (1) Returns the absolute value (Value with the positive sign) of a given value.
Page 459
4MELFA-BASIC VI ACos [Function] Returns the arc cosine from the specified cosine. [Format] <Numeric Variable>=ACos(<Equation>) [Terminology] <Numeric Varia ble> Calculates the arc cosine with specified expression, and returns the result. The unit is radian. Setting range: 0 to PI <Equation> Specifies the cosine.
Page 460
4MELFA-BASIC VI Align [Function] Positional posture axes (A, B, and C axes) are converted to the closest XYZ postures (0, +/-90, and +/-180). Align outputs numerical values only. The actual operation will involve movement instructions such as the Mov instruction. [Format] <Position Variables>=Align(<Position>) [Reference Program]...
Page 461
4MELFA-BASIC VI [Function] Returns the character code of the first character in the string. [Format] <Numeric Variable>=Asc(<Character String Expression>) [Reference Program] 1 M1=Asc("A") ' &H41is assigned to M1. [Explanation] (1) Returns the character code of the first character in the string. (2) An error will be generated if the string is a null string.
Page 462
4MELFA-BASIC VI ASin [Function] Returns the arc sine from the specified sine. [Format] <Numeric Variable>=ASin(<Equation>) [Terminology] <Numeric Varia ble> Calculates the arc sine with specified expression, and returns the result. The unit is radian. Setting range: -PI/2 to +PI/2 <Equation> Specifies the sine.
Page 463
4MELFA-BASIC VI Bin$ [Function] Value is converted to a binary string. [Format] <Character String Variable >=Bin$(<Equation>) [Reference Program] 1 M1=&B11111111 2 C1$=Bin$(M1) ' C1$ will contain the character string of "11111111". [Explanation] (1) Value is converted to a binary string. (2) If the equation does not evaluate to an integer, the integral value obtained by rounding the fraction will be converted to a binary string.
Page 464
4MELFA-BASIC VI CalArc [Function] Provides information regarding the arc that contains the three specified points. [Format] <Numeric Variable 4> = CalArc(<Position 1>, <Position 2>, <Position 3>, <Numeric Variable 1>, <Numeric Variable 2>, <Numeric Variable 3>, <Position Variables 1>) [Terminology] <Position 1> Specifies the starting point of the arc.
Page 465
4MELFA-BASIC VI Chr$ [Function] Returns the character that has the character code obtained from the specified equation. [Format] <Character String Variable >=Chr$(<Equation>) [Reference Program] 1 M1=&H40 2 C1$=Chr$(M1+1) ' "A" is assigned to C1$. [Explanation] (1) Returns the character that has the character code obtained from the specified equation. (2) If the equation does not evaluate to an integer, the character will be returned whose character code corresponds to the integral value obtained by rounding the fraction.
Page 466
4MELFA-BASIC VI CkSum [Function] Calculates the checksum of the string. [Format] <Numeric Variable>=CkSum(<Character String>, <Equation 1>, <Equation 2>) [Terminology] <Character String> Specifies the string from which the checksum should be calculated. <Equation 1> Specifies the first character position from where the checksum calculation starts. <Equation 2>...
Page 467
4MELFA-BASIC VI [Function] Converts the character codes of the first two characters of a string into an integer. [Format] <Numeric Variable>=Cvi(<Character String Expression>) [Reference Program] 1 M1=Cvi("10ABC") ' &H3031 is assigned to M1. [Explanation] (1) Converts the character codes of the first two characters of a string into an integer. (2) An error will be generated if the string consists of one character or less.
Page 468
4MELFA-BASIC VI [Function] Converts the character codes of the first eight characters of a string into a double precision real number. [Format] <Numeric Variable>=Cvd(<Character String Expression>) [Reference Program] 1 M1=Cvd("FFFFFFFF") ' +3.52954E+30 is assigned to M1. [Explanation] (1) Converts the character codes of the first eight characters of a string into a double precision real number. (2) An error will be generated if the string consists of seven character or less.
Page 469
4MELFA-BASIC VI Dist [Function] Calculates the distance between two points (position variables). [Format] <Numeric Variable>=Dist(<Position 1>, <Position 2>) [Reference Program] 1 M1=Dist(P1,P2) ' M1 will contain the distance between positions 1 and 2. [Explanation] (1) Returns the distance between positions 1 and 2 (in mm). (2) Posture angles of the position data will be ignored;...
Page 470
4MELFA-BASIC VI [Function] Returns the integral portion of the equation. [Format] <Numeric Variable>=Fix(<Equation>) [Reference Program] 1 M1=Fix(5.5) ' 5 is assigned to M1. [Explanation] (1) Returns the integral portion of the equation value. (2) If the equation evaluates to a positive value, the same number as Int will be returned. (3) If the equation evaluates to a negative value, then for instance Fix(-2.3) = -2.0 will be observed.
Page 471
4MELFA-BASIC VI Fram [Function] Calculates the position data that indicates a coordinate system (plane) specified by three position data. Normally, use Def Plt and Plt instructions for pallet calculation. [Format] <Numeric Variable 4>=Fram(<Numeric Variable 1>, <Numeric Variable 2>, <Numeric Variable 3>) [Terminology] <Numeric Variable 1>...
Page 472
4MELFA-BASIC VI Hex$ [Function] Converts the value of an equation (Between -32768 to 32767) into hexadecimal string. [Format] <Character String Variable >=Hex$(<Equation> [, <Number of output characters>]) [Reference Program] 1 C1$=Hex$(&H41FF) ' "41FF" is assigned to C1$. 2 C2$=Hex$(&H41FF,2) ' "FF" is assigned to C2$. [Explanation] (1) Converts the value of an equation into hexadecimal string.
Page 473
4MELFA-BASIC VI [Function] Obtains the position data of the inverse matrix of the position variable. This is used to perform relative calculation of the positions. [Format] <Position Variables>=Inv(<Position Variables>) [Reference Program] 1 P1=Inv(P2) ' P1 will contain the inverse matrix of P2. [Explanation] (1) Obtains the position data of the inverse matrix of the position variable.
Page 474
4MELFA-BASIC VI Left$ [Function] Obtains a string of the specified length starting from the left end. [Format] <Character String Variable >=Left$(<Character String>, <Equation>) [Reference Program] 1 C1$=Left$("ABC",2) ' "AB" is assigned to C1$. [Explanation] (1) Obtains a string of the specified length starting from the left end. (2) An error will be generated if the value is a negative value or is longer than the string.
Page 475
4MELFA-BASIC VI [Function] Returns the natural logarithm. (Base e.) [Format] <Numeric Variable>=Ln(<Equation>) [Reference Program] 1 M1=Ln(2) ' 0.693147 is assigned to M1. [Explanation] (1) Returns the natural logarithm of the value of the equation. (2) An error will be generated if the equation evaluates to a zero or a negative value. [Reference] Exp, [Function]...
Page 476
4MELFA-BASIC VI [Function] Obtains the maximum value. [Format] <Numeric Variable>=Max(<Equation 1>, <Equation 2>, ...) [Reference Program] 1 M1=Max(2,1,3,4,10,100) ' 100 is assigned to M1. [Explanation] (1) Returns the maximum value among the arbitrary number of arguments. (2) The length of this instruction can be up to the number of characters allowed in a single line (123 characters).
Page 477
4MELFA-BASIC VI [Function] Obtains the minimum value. [Format] <Numeric Variable>=Min(<Equation 1>, <Equation 2>, ..) [Reference Program] 1 M1=Min(2,1,3,4,10,100) ' 1 is assigned to M1. [Explanation] (1) Returns the minimum value among the arbitrary number of arguments. (2) The length of this instruction can be up to the number of characters allowed in a single line (123 characters).
Page 478
4MELFA-BASIC VI Mki$ [Function] Converts the value of an equation (integer) into a two-byte string. [Format] <Character String Variable >=Mki$(<Equation>) [Reference Program] 1 C1$=Mki$(20299) ' "KO" is assigned to C1$. 2 M1=Cvi(C1$) ' 20299 is assigned to M1. [Explanation] (1) Converts the lowest two bytes of the value of an equation (integer) into a strings. (2) Use Cvi to convert the string to a value.
Page 479
4MELFA-BASIC VI Mkd$ [Function] Converts the value of an equation (double-precision real number) into a eight-byte string. [Format] <Character String Variable >=Mkd$(<Equation>) [Reference Program] 1 C1$=Mkd$(10000.1) ' "10000.1" is assigned to C1$. 2 M1=Cvd(C1$) ' 10000.1 is assigned to M1. [Explanation] (1) Converts the lowest eight bytes of the value of an equation (single-precision real number) into the strings.
Page 480
4MELFA-BASIC VI PosMid [Function] Obtain the middle position data when a linear interpolation is performed between two given points. [Format] <Position Variables>=PosMid(<Position Variables 1>, <Position Variables 2>,<Equation 1>, <Equation 2>) [Reference Program] 1 P1=PosMid(P2,P3,0,0) ' The position data (including posture) of the middle point between P2 and P3 will be assigned to P1.
Page 481
4MELFA-BASIC VI [Function] Converts the unit of angle measurement from degrees (deg) into radians (rad). [Format] <Numeric Variable>=Rad(<Equation>) [Reference Program] 1 P1=P_Curr 2 P1.C=Rad(90) 3 Mov P1 ' Moves to P1, which is obtained by changing the C axis of the current position to 90 degrees.
Page 482
4MELFA-BASIC VI Rdfl 2 [Function] Returns the multiple rotation information of the specified joint axis. [Format] <Numeric Variable>=Rdfl2(<Position Variables>, <Equation>) [Terminology] <Position Variables> Specifies the position variable from which the multiple rotation information is to be extracted. <Equation> Specifies the value for the joint axis from which the multiple rotation information is to be extracted.
Page 483
4MELFA-BASIC VI [Function] Generates a random number. [Format] <Numeric Variable>=Rnd(<Equation>) [Terminology] <Equation> Specifies the initial value of random numbers. If this value is set to 0, subsequent random numbers will be generated without setting the initial value of random numbers. <Numeric Variable>...
Page 484
4MELFA-BASIC VI Setfl 1 [Function] Changes the structure flag of the specified position using a string (such as "RAN"). [Format] <Position Variables>=Setfl1(<Position Variables>, <Character String>) [Terminology] <Position Variables>Specifies the position variable whose structure flag is to be changed. <Character String> Specifies the structure flag to be changed. Multiple flags can be specified. "R"...
Page 485
4MELFA-BASIC VI Setfl 2 [Function] Changes the multiple rotation data of the specified position. [Format] <Position Variables>=Setfl2(<Position Variables>, <Equation 1>, <Equation 2>) [Terminology] <Position Variables> Specifies the position variable whose multiple rotation data are to be changed. <Equation 1> Specifies the axis number for which the multiple rotation data are to be changed.
Page 486
4MELFA-BASIC VI SetJnt [Function] Sets the value to the joint variable. [Format] <<Joint Variable>>=SetJnt(<J1 Axis>[,<J2 Axis>[,<J3 Axis>[,<J4 Axis> [,<J5 Axis>[,<J6 Axis>[,<J7 Axis>[,<J8 Axis>]]]]]]]) [Terminology] <Joint Variable> Sets the value to the joint variable. <J1 Axis>-<J8 Axis> The unit is Rad (the unit is mm for direct-driven axes). [Reference Program] 1 J1=J_Curr 2 For M1=0 to 60 SETP 10...
Page 487
4MELFA-BASIC VI SetPos [Function] Sets the value to the Position variable. [Format] <<Position Variable>>=SetPos(<X Axis>[,<Y Axis>[,<Z Axis> [,<A Axis>[,<B Axis>[,<C Axis>[,<L1 Axis>[,<L2 Axis>]]]]]]]) [Terminology] <Position Variable> Sets the value to the Position variable. <X Axis>-<Z Axis> The unit is mm. <A Axis>-<C Axis>...
Page 488
4MELFA-BASIC VI [Function] Checks the sign of the equation. [Format] <Numeric Variable>=Sgn(<Equation>) [Reference Program] 1 M1=-12 2 M2=Sgn(M1) ' -1 is assigned to M2. [Explanation] (1) Checks the sign of the equation and returns the following value. Positive value 1 Negative value -1 [Function] Calculates the sine.
Page 489
4MELFA-BASIC VI SplECord [Function] Saves the Ex-T coordinate system origin data registered in the spline file in the position variable. [Format] <Position Variable>=SplECprd(<Spline No.> [, <Frame transformation>]) [Terminology] <Position Variable> The variables for a result to be substituted. <Spline No.> The number of the spline file holding information on the path to obtain is designated with a constant or numerical variable.
Page 490
4MELFA-BASIC VI SplPos [Function] Saves a random path point data registered in the spline file in the position variable. [Format] <Position Variable>=SplPos(<Spline No.>, <Path point No.> [, <Frame transformation>]) [Terminology] <Position Variable> The variables for a result to be substituted. The value of the path point data registered in the specified spline file is substituted to the configuration flag.
Page 491
4MELFA-BASIC VI SplSpd [Function] Calculates the maximum speed which can be specified without an error in the spline interpolation commands (MvSpl, EMvSpl). [Format] <Numeric Variable>=SplSpd(<Spline No.>) [Terminology] <Position Variable> The variables for a result to be substituted. <Spline No.> The number of the spline file holding information on the path to obtain is designated with a constant or numerical variable.
Page 492
4MELFA-BASIC VI [Function] Calculates the square root of an equation value. [Format] <Numeric Variable>=Sqr(<Equation>) [Reference Program] 1 M1=Sqr(2) ' 1.414214 is assigned to M1. [Explanation] (1) Calculates the square root of the value to which the given equation evaluates. (2) An error will be generated if the equation given by the argument evaluates to a negative value. StrLwr [Function] Decapitalizes a character string.
Page 493
4MELFA-BASIC VI StrUpr [Function] Capitalizes a character string. [Format] <Character String Variable> = StrUpr(<Character String>) [Terminology] <Character String Variable> Sets the character string variable to be substituted. <Character String> Sets the character string to be capitalized. [Reference Program] 1 C1$ = StrUpr("abc") ' Sets "ABC"...
Page 494
4MELFA-BASIC VI Str$ [Function] Converts the value of the equation into a decimal string. [Format] <Character String Variable >=Str$(<Equation>) [Reference Program] 1 C1$=Str$(123) ' "123" is assigned to C1$. [Explanation] (1) Converts the value of the equation into a decimal string. (2) Val is a command that performs this procedure in reverse.
Page 495
4MELFA-BASIC VI [Function] Converts the value in the string into a numerical value. [Format] <Numeric Variable>=Val(<Character String Expression>) [Reference Program] 1 M1=Val("15") 2 M2=Val("&B1111") 3 M3=Val("&HF") [Explanation] (1) Converts the given character string expression string into a numerical value. (2) Binary (&B), decimal, and hexadecimal (&H) notations can be used for the string. (3) In the example above, M1, M2 and M3 evaluate to the same value (15).
Page 496
4MELFA-BASIC VI Zone [Function] Checks if the specified position is within the specified area (a rectangular solid defined by two points). [Format] <Numeric Variable>=Zone(<Position 1>, <Position 2>, <Position 3>) [Terminology] <Position 1> The position to be checked. <Position 2> The position of the first point that specifies the area. <Position 3>...
Page 497
4MELFA-BASIC VI Zone 2 [Function] Checks if the specified position is within the specified area (Cylindrical area defined by two points). [Format] <Numeric Variable>=Zone2(<Position 1>, <Position 2>, <Position 3>, <Equation>) [Terminology] <Position 1> The position to be checked. <Position 2> The position of the first point that specifies the area.
Page 498
4MELFA-BASIC VI Zone3 [Function] Checks if the specified position is within the specified area (The cube which consists of the three points). [Format] <Numeric Variable>=Zone3(<Position 1>, <Position 2>, <Position 3>, <Position 4>, <Equation W>, <Equation H>, <Equation L>) [Terminology] <Position 1> The position to be checked <Position 2>...
5Functions set with parameters 5 Functions set with parameters This controller has various parameters listed below. It is possible to change various functions and default settings by changing the parameter settings. Classification Content Reference Movement parameter These parameters set the movement range, coordinate system and the items Page 481 pertaining to the hand of the robot.
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters J1 axis offset angle J1OFFSET Real value 2 Specify the J1 axis offset angle for vertical 5-axis type robot. 0.0,0.0 This setting is invalid for other types of robot, do not change the default setting.
Page 501
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Tool base MEXBS Real value 6 Sets the positional relationship between the base coordinate (X,Y,Z,A,B,C) = coordinates system and the robot coordinate system. The factory default 0.0,0.0,0.0,0.0,0.0,0 setting is set so that the base coordinate system and the robot Refer to...
Page 502
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters User area AREA*P2 Real value 8 Designates position coordinates of the diagonal point 2 of the (X,Y,Z,A,B,C,L1,L2) * is 1 to 32 user-defined area * and coordinates of posture data/additional = 0.0, 0.0, 0.0, axes.
Page 503
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Free plane limit This is the overrun limit set on a free plane. Create a plane with three coordinate points, and set the area that does not include the origin as Refer to the outside-movement area.
Page 504
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Align type selection ALIGNTYP Integer 1 Specifies how to find the hand posture used for the hand alignment movement and the Align function. The robot performs the hand alignment movement toward its hand posture.
Page 505
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Work coordinates WKnCORD Real value 6 The work coordinates for work jog operation (0.00, 0.00, 0.00, "n" is 1 to 8 (X,Y,Z,A,B,C) Unit: mm or degree 0.00, 0.00, 0.00) It is used as standard coordinates and work coordinate data in the work jog.
Page 506
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters WORK jog Integer 1 The operation mode in WORK jog operations is specified for WKnJOGMD each work coordinate. operation mode "n" is 1 to 8 0: WORK jog (The operation of A, B, and C elements is rotation around the axis parallel to the X, Y, and Z axes of the work coordinates.
Page 507
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters The gravity MEGDIR Real value 4 This parameter specifies the direction and magnitude of 0.0, 0.0, 0.0, 0.0 direction gravitational acceleration that acts on the robot according to the installation posture for the X, Y, and Z axes of the robot * Only RV-FR coordinate system, respectively (unit: mm/second...
Page 508
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Hand type HANDTYPE Character Set the single/double solenoid hand type and output signal No. D900,D902,D904,D string 8 (D: double solenoid, S: single solenoid). 906,,,, Refer to Set the signal No.
Page 509
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Optimum JADL Real value 8 Set the initial value (value at power ON) of the acceleration/deceleration Setting value for acceleration/ adjustment rate (%) during optimum acceleration/deceleration. It is the each mechanism deceleration rate applied to the acceleration/deceleration speed calculated by...
Page 510
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Impact Detection Integer 3 RH-3FRH/6FRH/ Define whether the impact detection function can/cannot be 12FRH/20FRH used, and whether it is enabled/disabled immediately after series: power ON.
Page 511
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Warm-up operation WUPTIME Real value 2 Specify the time to be used in the processing of warm-up 1, 60 mode control time operation mode. (Valid time, resume time) Unit: min. Valid time: Specify the time during which the robot is operated in the warm-up operation status and at a reduced speed.
Page 512
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Functional setting CMPERR Integer 1 1 (Enable error Setting this parameter prevents errors 2710 through 2740 (errors of compliance error generation) that occur if the position command generated in compliance control is abnormal) from occurring.
Page 513
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Specification of the MVTERM Integer 1 0: FR series Specifies the end conditions of an operation command when Cnt end conditions of (RV-2FR/2FRL and command is invalid.
5Functions set with parameters 5.2 Signal parameter These parameters set the items pertaining to signals. Table 5-2:List Signal parameter Parameter No. of arrays Parameter Details explanation Factory setting No. of characters name Dedicated I/O For the parameters of the dedicated I/O signal, refer to Page signal 633, "6.3 Dedicated...
Page 515
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Output signal reset Set the operation to be taken when the general-purpose output signal for the Clr command or pattern dedicated input (OUTRESET) is reset. Signals are output in the pattern set here even when the power is turned ON.
Page 516
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters CPU buffer QMLTCPUn Integer 4 At the multi CPU system, read the number of points transmitting 1,0,1,1 memory periodical n=1 to 4 and receiving data by the CPU buffer memory periodical communication communication area of the multi CPU No.
Page 517
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Multi CPU input QMLTCPUS Integer 1 At the CR800-R controller, set the robot input signal offset for offset the multi CPU. (* CR800-R only) Specify an offset from HG0 in 1K word units, and read as an R/C input from the specified CPU buffer memory.
Page 518
5Functions set with parameters Note1) This parameter makes speedy processing of the external output signal by system status variable M_Out etc. In the program example 1 shown in the following, output signal processing of Steps 1 and 4 gets speedy. <Program example 1>...
Page 519
5Functions set with parameters 5.2.1 About multi CPU input offsets (CR800-R/Q controller only) (1) Case (A) When using no offset for input (Parameter: when QMLTCPUS = -1) Table 5-3:CPU buffer memory and robot I/O signal compatibility PLC (word device) Robot (bit device) Controller CR800-R CR800-Q...
Page 520
5Functions set with parameters (2) Case (B) When using an offset for input (Parameter: when QMLTCPUS = 0 to 14) (*1) = (Robot CPU No.1 QMLTCPUS) * 1024 (*2) = (Robot CPU No.2 QMLTCPUS) * 1024 (*3) = (Robot CPU No.3 QMLTCPUS) * 1024 Table 5-4:CPU buffer memory and robot I/O signal compatibility PLC (word device) Robot (bit device)
Page 521
5Functions set with parameters The following figure shows the memory map for the CR800-R series. For the CR800-Q series, refer to the Table 5-4 and replace the device numbers with the corresponding device numbers in the figure. Robot CPU (No.1) Robot I/O no.
5Functions set with parameters 5.3 Operation parameter These parameters set the items pertaining to the operations of the controller, T/B and so forth. Table 5-5:List Operation parameter Parameter No. of arrays Parameter Details explanation Factory setting No. of characters name Buzzer ON/OFF Integer 1 Specifies the on/off of the buzzer sound that can be heard when...
Page 523
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Operating hours MFOPTIME Real value 1 This sets the estimated robot operating hours per day to be 16.0 per day used for the maintenance forecast function. Setting range: 1 to 24 Unit: hours Maintenance...
Page 524
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Program operation TBOP Integer 1 Specifies whether the program operation by T/B is able or not. by T/B 0: disable/1: enable T/B buzzer sound TBBZR Integer 1 Specifies the on/off of the T/B buzzer sound that can be heard...
5Functions set with parameters 5.4 Command parameter This parameter sets the items pertaining to the program execution and robot language. Table 5-6: List Program Execution Related Parameter Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters No.
Page 526
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Program selection SLOTON Integer 1 This parameter specifies whether or not to store the program 1(Enable storage, save name in the SLT1 parameter at program selection, as well as do not maintain) whether or not to maintain the program selection status at the end of cycle operation.
Page 527
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Setting of AXUNT Integer 16 Set the unit system for the additional axis. 0,0,0,0,0,0,0,0,0,0, additional axis 0: Angle (degree) 0,0,0,0,0,0 1: Length (mm) 2: Length (mm) when using a linear servo motor When using a linear servo motor, set this parameter to 2.
Page 528
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Duplication PRGDUP Integer 1 Specifies whether or not to duplicate the program. Performing function of the duplication enables automatic restoration when a program program error occurs due to noise, etc.
5Functions set with parameters 5.5 Communication parameter These parameters set the items pertaining to communications. Table 5-7:List Communication parameter Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters RT ToolBox3 COMSPEC Integer 1 Specify the communication method of the robot controller and Communication RT ToolBox3.
Page 530
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters End code Integer 9 Specifies the end code of the communication message. 0: CR, 1: CR+LF CTERME11 Correspond to OPT11 to 19 of COMDEV (OPT11), CTERME12 (OPT12), CTERME13...
Page 531
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Initial tag name of EBWRTAG Character string Set an initial symbolic tag name (128 characters or less) for the ““(None) EBWrite command vision sensor designated in the EBWrite command. This parameter setting value is specified when the tag name is omitted in description of the EBWrite command.
5Functions set with parameters 5.6 Standard Tool Coordinates Tool conversion data must be set if the robot's control point is to be set at the hand tip when the hand is installed on the robot. The setting can be done in the following three manners. 1) Set in the MEXTL parameter.
Page 533
5Functions set with parameters <A case for a horizontal 4-axis robot> A case for a horizontal 4-axis robot 1) Sample parameter setting Parameter name: MEXTL Value: 0, 0, -10, 0, 0, 0 2) Sample Tool instruction setting 1 Tool (0,0,-10,0,0,0) Horizontal 4-axis robots can basically offset using parallel shifting.
5Functions set with parameters 5.7 About Standard Base Coordinates The position of the world coordinate system is set to zero (0) before leaving the factory, and therefore, the base coordinate system (robot's installation position) is in agreement with the world coordinate system (coordinate system which is the basis for robot's current position).
5Functions set with parameters 5.8 About user-defined area The user-defined area has the function of continuously monitoring whether or not the robot control point falls within any position area which is specified by parameter settings. The user can choose between the option to output the state of the robot control point being within or outside that area and the option to effect an error-stop when the robot control point is within that area, by using dedicated input/output or state variables.
5Functions set with parameters 5.8.1 Selecting a coordinate system This function, when the user proceeds with operation after changing the base coordinate system by a Base command or the like, permits the user to choose between the option to move user-defined area concurrently or the option to keep it fixed.
5Functions set with parameters 5.8.2 Setting Areas Areas to be set include a position area, posture area, and additional axis area. The following is a description of the steps that are followed to set these areas. (1) Position Area A position area for user-defined area is defined by the coordinates of a diagonal point which is determined by the elements X, Y and Z in the parameters AREA*P1 and AREA*P2(* is 1 to 32).
Page 538
5Functions set with parameters (2) Posture Area A posture area for the user-defined area is defined by specifying elements A, B and C in the parameters AREAnP1 and AREAnP2. Set up the value based on the coordinate system selected by AREAnCS. CAUTION In the 6-axis type robot, if the current coordinate value of B axis is near the +/-90 degrees, the coordinate value of A and C axes are changed a lot by even the...
Page 539
5Functions set with parameters 2) If elements L1 and L2 in the parameter AREAnP1 are interchanged with those in the parameter AREAnP2, user-defined area remains the same. 3) When the additional axis area is defined, it is judged contained in the user-defined area when all of position area, posture area and additional axis area are within the area.
Page 540
5Functions set with parameters 5.8.5 Example of settings For instance, in the following diagram, the following parameter setting will output the signal 10 when operating in area (1) and output the signal 11 when operating in area (2). <Area (1)> Coordinate system: World coordinate system Posture check is unnecessary...
5Functions set with parameters 5.9 Free plane limit Defines any plane in the world coordinate system, determines the front or back of the plane, and generates a free plane limit error. 5.9.1 The definition of a free plane limit As can be seen in the diagram to the left, any plane can be defined by three points (P1, P2, and P3), after which an evaluation of which side of the plane it is in (the side that includes the robot origin...
5Functions set with parameters 5.9.2 Selection of a coordinates system for a free plane limit This function, when the user proceeds with operation after changing the base coordinates system by a Base command or the like, permits the user to choose between the option to move a free plane limit concurrently or the option to keep it fixed.
5Functions set with parameters 5.10 Automatic return setting after jog feed at pause This specifies the path behavior that takes place when the robot is paused during automatic operation or during step feed operation, moved to a different position using a jog feed with T/B, and the automatic operation is resumed or the step feed operation is executed again.
Page 544
5Functions set with parameters 5.11 Automatic execution of program at power up The following illustrates how to automatically run a robot program when the controller's power is turned on. However, since the robot starts operating simply by turning the power on, exercise caution upon using this function.
5Functions set with parameters 5.12 About the hand type (1) Solenoid valve types and signal numbers Set the parameters according to the type of solenoid valve being used, and the output signal being connected. The following details can be set. a) Solenoid valve sink type/source type setting ........
5Functions set with parameters 5.13 About default hand status The factory default setting is shown below. Hand type Status Status of output signal number Double-solenoid is assumed Hand 1 = Open 900=1 901=0 Hand 2 =Open 902=1 903=0 Hand 3 =Open 904=1 905=0 Hand 4 =Open...
5Functions set with parameters 5.14 About the output signal reset pattern The factory default setting sets all general-purpose output signals to OFF (0) at power up. The status of general-purpose output signals after power up can be changed by changing the following parameter. Note that this parameter also affects the general-purpose output signal reset operation (called by dedicated I/O signals) and the reset pattern after executing the Clr instruction.
Page 548
5Functions set with parameters Parameter name Value (Values are all set to 0 at the factory default setting.) ORST10000 Signal number 10000---10007 10008---10015 10016---10023 10024---10031 00000000、 00000000、 00000000、 00000000 ORST10032 10032---10039 10040---10047 10048---10055 10056---10063 00000000、 00000000、 00000000、 00000000 ORST10064 00000000、 00000000、 00000000、 00000000 ORST10096 00000000、...
5Functions set with parameters 5.15 About the communication setting (Ethernet) The port number used for communication is shown in Table 5-13. Table 5-13: Port number to use Note1) Port number Application Parameter Reserved Reserved COGNEX vision sensor Cannot be changed Reserved Reserved 1024...
5Functions set with parameters (4) CRRCE11 to 19 (protocol) When using the data link function, the setup is necessary. Sets the protocol (procedure) for communication. The protocol has three kinds of no-procedure, procedure and data link. 0... No-procedure: The protocol is applied to use the personal computer Support Software . 1...
Page 551
5Functions set with parameters 5.15.2 Example of setting of parameter 1 (When the Support Software is used) The setting example to use the Support Software is shown below. Set the parameters for the robot controller, and the network for the personal computer OS being used. Item Setting value IP address of robot controller...
Page 552
5Functions set with parameters 5.15.3 Example of setting of parameter 2-1 (When the data link function is used: When the controller is the server) Shows the example of the setting, when the controller is server by the data link function. Item Setting value Robot controller IP address...
Page 553
5Functions set with parameters 5.15.4 Example of setting parameters 2-2 (When the data link function is used: When the controller is the client) Shows the example of the setting, when the controller is client by the data link function. Item Setting value Robot controller IP address 192.168.0.20...
Page 554
5Functions set with parameters 5.15.5 Example of setting parameters 3 (for using the real-time external control function) An example of the settings for using the real-time external control function is shown below. Item Setting value Robot controller IP address 192.168.0.20 Personal computer IP address 192.168.0.2 Robot controller port No.
5Functions set with parameters 5.15.6 Connection confirmation Before use, confirm the following items again. Confirmation item Check Is the teaching pendant securely fixed? Is the Ethernet cable properly connected between the controller and personal computer? Is any proper Ethernet cable used? (This cross cable is used to connect the personal computer and controller one-on-one.
5Functions set with parameters 5.16 Hand and Workpiece Conditions (optimum acceleration/deceleration settings) Optimum acceleration/deceleration control allows the optimum acceleration/deceleration to be performed by LoadSet and Oadl instructions automatically in response to the load at the robot tip. The following parameters must be set correctly in order to obtain the optimum acceleration/deceleration. This parameter is also used in the impact detection function installed in the RV-SD/RH-SDH series.
Page 557
5Functions set with parameters The coordinate axes used as references when setting the hand and workpiece conditions are shown below for each robot model. The references of the coordinate axes are the same for both the hand and workpiece conditions. Note that all the sizes are set in positive values. *Vertical type 6-axis type Definitions of Coordinate Axes...
5Functions set with parameters 5.17 About the singular point adjacent alarm When a robot having a singular point is being operated using a T/B, a singular point adjacent alarm is generated to warn the operators of the robot if the control point of the robot approaches a singular point. Even if an alarm is generated, the robot continues to operate as long as it can perform operation unless operation is suspended.
5Functions set with parameters 5.18 High-speed RAM operation function The programs are executed as DRAM operation (high-speed RAM operation) to increase processing speed. When using the high-speed RAM operation function, some restrictions apply to the program operation and data saving. Thoroughly understand the specifications before using this function. (1) Overview The robot programs are saved in the flash ROM.
5Functions set with parameters 5.19 Warm-Up Operation Mode (1) Functional Overview The acceleration/deceleration speed and servo system of Mitsubishi robots are adjusted so that they can be used with the optimum performance in a normal temperature environment. Therefore, if robots are operated in a low temperature environment or after a prolonged stop, they may not exhibit the intrinsic performance due to change in the viscosity of grease used to lubricate the parts, leading to deterioration of position accuracy and a servo error such as an excessive difference error.
Page 561
5Functions set with parameters CAUTION If the operating duty of the target axis is low, a servo error such as an excessive difference error may occur even when the warm-up operation mode is enabled. In such a case, change the program, and lower the speed as well as the acceleration/ deceleration speed.
Page 562
5Functions set with parameters (2) Function Details 1)Parameters, Dedicated I/O Signals and Status Variables of the Warm-Up Operation Mode The following parameters, dedicated I/O signals and status variables have been added in the warm-up operation mode. Refer to Page 481, "5.1 Movement parameter", Page 633, "6.3 Dedicated input/output"...
Page 563
5Functions set with parameters 2) To Use the Warm-Up Operation Mode To use the warm-up operation mode, enable its function with parameters. The function can also be enabled or disabled with a dedicated input signal. *Specifying with a Parameter To enable the warm-up operation mode with a parameter, set 1 in the WUPENA parameter. After changing the parameter, the warm-up operation mode is enabled by powering on the controller again.
Page 564
5Functions set with parameters *Methods to Check the Warm-Up Operation Status Whether the current status is the warm-up operation status or normal status can be checked in the following two methods: • Checking with a status variable The current status can be checked by monitoring the value of the M_Wupov status variable (the value of a warm-up operation override).
Page 565
5Functions set with parameters The following Fig. 5-5 shows an example of a timing chart for switching from the normal status to the warm- up operation status. Time Operating Target axis operation Stopping Accumulated value of target axis operation time Valid time Because the accumulated operation time reaches the valid...
Page 566
5Functions set with parameters Note that the actual override in the warm-up operation status is as follows: • During joint interpolation operation = (T/B override setting value) x (program override (Ovrd instruction)) x (joint override (JOvrd instruction)) x warm-up operation override •...
5Functions set with parameters 5.20 About singular point passage function (1) Overview of the function Mitsubishi's robots calculate linear interpolation movement and store teaching positions as position data in the XYZ coordinates system. In the case of a vertical 6-axis robot, for example, the position data is expressed using coordinate values of the robot's X, Y, Z, A, B and C axes, but the robot can be in several different postures even if the position data is the same.
Page 568
5Functions set with parameters *Operation when the singular point passage function is valid When the singular point passage function is made valid, the robot can move from position A to position C via position B (the position of a singular point) and vice versa through XYZ jog and linear interpolation operation.
Page 569
5Functions set with parameters *How to use the singular point passage function In order to use the singular point passage function in jog operation, specify 1 (valid) for parameter FSPJOGMD and turn the power supply to the controller off and on again. To use the function in automatic operation, specify 2 for constant 2 in the TYPE specification of the interpolation instruction.
Page 570
5Functions set with parameters (3) Singular point passage function in position data confirmation (position jump) The specification of parameter FSPJOGMD is also reflected in position data confirmation (position jump). FSPJOGMD MO position movement MS position movement Normal position movement (The posture is maintained and the structure The setting value does not affect.
Page 571
5Functions set with parameters (6) If the current position and the starting point position are different when a circular interpolation instruction is set to be executed, the robot continues to operate until the starting point using 3-axis XYZ linear interpolation, even if the singular point passage function is specified in the TYPE specification. (7) If an interpolation for which the singular point passage function is specified is paused and the operation is resumed after jog movement, the robot moves to the position at which the operation was paused according to parameter RETPATH.
Page 572
5Functions set with parameters 5.21 About the collision detection function (1) Overview of the function When the robot is operated to perform various tasks, it may interfere with workpieces and peripheral devices due to operation mistakes of operators, errors in operation programs and so on. Conventionally, in such cases, the robot would be stopped by protection functions (such as excessive error detection) of servos that control the motor drive of the robot to prevent damage to the robot hands and arms, workpieces and peripheral devices.
Page 573
5Functions set with parameters (2) Related parameters The following parameters are related to the collision detection function. Refer to Page 481, "5.1 Movement parameter" Page 538, "5.16 Hand and Workpiece Conditions (optimum acceleration/deceleration settings)" for the detailed explanation of these parameters. Table 5-18:Parameters related to the collision detection function Parameter Setting value at...
Page 574
5Functions set with parameters (3) How to use the collision detection function To use the collision detection function, first specify "Enable (1)" for element 1 of the COL parameter and turn on the power supply to the control again. Next, make settings for the collision detection function (specify to enable/disable the function and the detection level) for jog operation and program operation, respectively.
Page 575
5Functions set with parameters referring to Page 58, "3.11 Operation to Temporarily Reset an Error that Cannot Be Canceled" to ensure that there is no interference. *Method for disabling collision detection temporarily during jog operation Perform servo-on and jog operation while holding down the [RESET] key on the TB. Collision detection is disabled as long as the key is pressed.
Page 576
5Functions set with parameters Command/ Description Status variable P_ColDir Returns the robot operation direction (operation ratios in the X, Y and Z directions) when an interference is detected. It is used in retreat operation in the NOERR mode. Point If the collision detection function is enabled for the entire program, the probability of erroneous detection becomes higher accordingly.
Page 577
5Functions set with parameters If an interference with peripheral devices or similar is detected during program operation, an error numbered in the 1010's (the least significant digit is the axis number) is generated and the robot is stopped as the servo is turned off.
Page 578
5Functions set with parameters *Program example This program moves the robot to a retreat position by interrupt processing if an interference is detected. 1 Def Act 1,M_ColSts(1)=1 GoTo *HOME,S ' Define processing to be executed if an interference is detected by interruption.
Page 579
5Functions set with parameters Thus, if the collision detection function at jog operation is enabled, for example, then even if the collision detection is set to be disabled in program operation, the setting is switched to that at jog operation if the stop button is pressed to pause the operation and the collision detection is enabled.
5Functions set with parameters Step Description Set the value obtained in step 4 to the ColLvl command and run the program to check that no erroneous detection occurs at the operation for which the collision detection function is used. If interference is erroneously detected, gradually increase the value of the argument of the ColLvl command to lower the detection level until no erroneous detection occurs.
5Functions set with parameters 5.23 Multi-rotational restrictions for the pallet definition instruction When the pallet definition instruction: DEFPLT is used for the robot types in which the J1 axis or the J4 axis can exceed +/-180 degrees (RV-2FR, etc.), the palette that the joint angle of the J1 axis or the J4 axis straddles +/-180 degrees cannot be specified.
5Functions set with parameters 5.24 Interference avoidance function The robot can be moved while checking for interference by this function. The target of an interference check is shown below. 1. Between robots. (Only CR800-R/Q controller) 2. Between robot and free plane limits. The damage of robot or peripheral device can be reduced by predicting interference between robots or free plane limits and stopping the movement during jog operation or automatic operation.
5Functions set with parameters 5.24.1 Operation procedures The outline of procedures for using the interference avoidance function is given below. (1) Checking for interference between robots (Only for CR800-R/Q controller) <Flow of operations> (1)Preparing and connecting the Prepare two or three target robots and a personal computer equipped with RT ToolBox3.
Page 584
5Functions set with parameters 5.24.2 Preparing and connecting the devices The devices required to use this function are shown in Table 5-26, and an example of the connection is given in Fig. 5-11. Refer to the figure and connect the required devices. (1) Checking for interference between robots (Only for CR800-R/Q controller) *CR800-R controller Table 5-26:Required devices (CR800-R controller)
Page 585
5Functions set with parameters (2) Checking for interference between robot and free plane limit Table 5-28:Required devices Device Remarks One robot Checking for interference with only free plane limit of own robot. Personal computer equipped with RT Connects the robot CPUs. ToolBox3 <CR800-D controller>...
Page 586
5Functions set with parameters 5.24.3 Registering the simulated components for interference check Register simulated components to be checked for interference (hereinafter, "simulated components") using the robot arm as a reference point. <RH-FR series> <RV-FR series> Simulated robot arm (Early models are registered as a default) Simulated hand Simulated workpiece...
Page 587
5Functions set with parameters Each parameter is explained in the following section. (1) Simulated component registration parameter Parameters listed in Table 5-29 are explained in detail in this section. Up to eight simulated component types can be registered for each of the robot arm, hand and workpiece. The last digit of a parameter name indicates the simulated component type.
Page 588
5Functions set with parameters <RV-FR series> J6 axis reference (6) (J6 axis) J5 axis reference (5) (J5 axis) J4 axis reference (4) (J4 axis) J3 axis reference (3) (J3 axis) J2 axis reference (2) J1 axis reference (1) (J2 axis) (J1 axis) Note) The numbers in parentheses indicate the 1st element Base section (0)
Page 589
5Functions set with parameters <2>Center position of simulated components: CAVPSA1 to 8 Table 5-31:Simulated component setting parameter (Robot arm: CAVPSA1 to 8) Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Center position of CAVPSA1 to 8 Real number 6 Set up the position of each simulated component as the the simulated...
Page 590
5Functions set with parameters When the posture is all axis = 0 degrees a simulated component’s XYZ direction matches the base coordinate system. <3>Simulated component size: CAVSZA1 to 8 Table 5-32:Simulated component setting parameter (Robot arm: CAVSZA1 to 8) Parameter No.
Page 591
5Functions set with parameters <4>Simulated component enable/disable: CAVSCA1 to 8 Table 5-33:Simulated component setting parameter (Robot arm: CAVSCA1 to 8) Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Simulated CAVSCA1 to 8 Integer 3 Set whether to check (enable or disable) RH-3/6/12/20FRH RV-FR series: component...
Page 592
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Simulated CAVSZH1 to 8 Real number 4 Set the size of each simulated component. Set all parameters component size (Each simulated component corresponds to the last digit (CAVSZH1 to 8) to (hand) (1 to 8) of the parameter name.)
Page 593
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Center position of CAVPSW1 to 8 Real number 6 For each simulated component, designate the center Set all parameters simulated position and pose of the simulated component from the (CAVPSW1 to 8) to origin point of the Mechanical interface coordinate...
Page 594
5Functions set with parameters 5.24.4 Registering a free plane limit Register a free plane limit used for checking for interference. The required registration details are shown Table 5-36. Maximum of eight planes can be used for checking for interference. CAUTION An interference check is executed only by registered CPU.
Page 595
5Functions set with parameters 5.24.5 Support of additional axes If the robot uses additional axes, the interference avoidance function can be set to consider the movement of the additional axis by setting the additional axis synchronous control parameter. (Only linear axis such as locomotion axis.) Refer to Table 5-37...
Page 596
5Functions set with parameters 5.24.6 Setting the CPU buffer memory expanded function (Checking for interference between robots) Set the CPU buffer memory expanded function with the parameters. When the shared memory expanded function is selected, the CPU buffer memory is occupied. (Refer to Fig.
Page 597
5Functions set with parameters Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters CPU buffer QMLTCPUn Integer 4 At the multi CPU system, read the number of points 1,0,1,1 memory periodical n=1 to 4 transmitting and receiving data by the CPU buffer communication memory periodical communication area of the multi area setting...
Page 598
5Functions set with parameters (2) CPU buffer memory map This section shows the memory map of the robot’s CPU output area in the CPU buffer memory, which is allocated based on the parameter: IQMEM setting. The following figure shows the memory map for the CR800-R series. For the CR800-Q series, refer to the Table 5-3 and replace the device numbers with the corresponding device numbers in the figure.
Page 599
5Functions set with parameters 5.24.7 Calibration between robots (Checking for interference between robots) Set the positional relation for multiple robots which are using the interference avoidance function. Set a common coordinate system origin point between the robots based on the system layout drawing, etc.
Page 600
5Functions set with parameters (1) Setting the calibration Set the Base coordinate system origin point for each robot, looking from the common coordinates between robots, in parameter: RBCORD with the X, Y, Z, A, B and C coordinate values. Note) When using a locomotion axis, set the positional relation for when the locomotion axis coordinate value is “0”.
Page 601
5Functions set with parameters 5.24.8 Enabling and disabling the interference avoidance function Whether to enable/disable the interference avoidance function in general, and whether to enable/disable it during program execution and jog operation can be set by setting the parameter: CAV. Details of the parameter are given in Table 5-40.
Page 602
5Functions set with parameters (2) Interference avoidance during program execution The interference avoidance function can be used during program execution (during automatic operation) by setting the 2nd element of parameter: to Enable (“1”), and using the instructions shown in Table 5- and the external variables shown in Table 5-42.
Page 603
5Functions set with parameters 5.24.10 Sample programs (1) Starting and ending the interference avoidance function (all robots) <Program example> Note) The step numbers are omitted. '--- Default state (Interference avoidance function enabled) ---;When interference check is enabled with parameter: CAV. MVS P1 'Movement when the interference avoidance function is enabled '--- Interference avoidance disabled for all robots ---...
Page 604
5Functions set with parameters (4) Executing avoidance operation after detecting interference (interrupt process) <Program example> Note) The step numbers are omitted. Def Act 1,M_CavSts<>0 GoTo *Home,S ' Define a process to be executed as an interrupt when interference is detected Act 1=1 CavChk On,0,NOErr ' Enable the interference avoidance function in error disabled mode...
Page 605
5Functions set with parameters 5.25 Direct control of the PLC input/output module This section explains the function by which the robot CPU controls three types of modules for the PLC: "input module", "output module", and "I/O combined module". The setting procedure differs between the CR800-R series and the CR800-Q series. For the CR800-R series, refer to Page 587, "5.25.1 CR800-R series".
Page 606
5Functions set with parameters *System configuration example 2: 2 robot CPUs + 3 types of I/O modules + extension base (added) Main [Main] I/O2:Input I/O3:Output I/O4:I/O Mix [Extension] RT ToolBox3 I/O0:Input I/O2:Output R32TB R56TB (3) Setting the parameters for the system configuration example 1 Under the condition of the system configuration example 1 (1 robot CPU + 3 types of I/O modules), arrange the base, power module, PLC CPU, and robot CPU to be used in "Module Configuration"...
Page 607
5Functions set with parameters Arrange the input module, output module, and I/O combined module to be used. I/O2:RX10 I/O3:RY10R2 I/O4:RH42C4NT2P When the Module Configuration screen is closed after arranging the modules, the following dialogue will appear. Click the [Yes] button. Direct control of the PLC input/output module 5-589...
Page 608
5Functions set with parameters Open the System Parameter screen to set up the multiple CPU. 5-590 Direct control of the PLC input/output module...
Page 609
5Functions set with parameters Setting Item Description Setting Value Communication PLC Unit Data Set up this to avoid data separation at data Enable Setting between communications by refresh. When data of more Disable CPUs than 64 bit data is handled, data croaking may occur.
Page 610
5Functions set with parameters Set up "Multiple CPU Setting" in the parameter menu of RT ToolBox3 as follows. The settings of "Multiple CPU Synchronous Startup" and "Multiple CPU High Speed Transmission Area Setting" are not required since their setting values are automatically acquired from the PLC CPU. Set up "I/O Assignment"...
Page 611
5Functions set with parameters With this setting, the PLC controls the input module, and the robot CPU No. 1 controls the output module and I/O combined module. If there is any empty slot, set "Setting of Points Occupied by Empty Slot" as follows. After setting the above parameters, reset the power of the PLC and robot CPU.
Page 612
5Functions set with parameters (4) Setting the parameters for the system configuration example 2 Under the condition of the system configuration example 2 (2 robot CPUs + 3 types of I/O modules + extension base), arrange the base, power module, PLC CPU, and robot CPU to be used in "Module Configuration"...
Page 613
5Functions set with parameters When the Module Configuration screen is closed after arranging the modules, the following dialogue will appear. Click the [Yes] button. Open the System Parameter screen to set up the multiple CPU. Direct control of the PLC input/output module 5-595...
Page 614
5Functions set with parameters Setting Item Description Setting Value Communication PLC Unit Data Set up this to avoid data separation at data Enable Setting communications by refresh. When data of more Disable between CPUs than 64 bit data is handled, data croaking may occur.
Page 615
5Functions set with parameters Set up "Multiple CPU Setting" in the parameter menu of RT ToolBox3 as follows. The settings of "Multiple CPU Synchronous Startup" and "Multiple CPU High Speed Transmission Area Setting" are not required since their setting values are automatically acquired from the PLC CPU. [Robot CPU No.
Page 616
5Functions set with parameters Set up "I/O Assignment" with the CPU parameters of GX Works3 as follows. Control PLC Settings of Output unit and I/O unit are PLC No.2 or No.3 With this setting, the PLC controls the input module, and the robot CPU No. 1 and No. 2 control the output module and I/O combined module.
Page 617
5Functions set with parameters (5) Controlling with status variables The following types of status variables are provided to control the PLC I/O module. Variable Details name M_XDev Reads the PLC input signal (X) per bit. ex.) 1 M1%=M_XDev (1) ' The value of the PLC input signal 1 (1 or 0) is substituted to M2. M_XDevB Reads the PLC input signal (X) per byte.
Page 618
5Functions set with parameters The following describes the settings when outputting a signal to the output module controlled by the user or the I/O module. For example, to output a signal to the output module mounted on the slot 2 of the extension base 1 shown in the above, prepare a robot program in the CPU No.
Page 619
5Functions set with parameters 5.25.2 CR800-Q series (1) Operation procedure The operation procedure for controlling the PLC I/O module is shown below. Start. •••●Set the parameters in "Multiple CPU Setting" of GX Set "Multiple CPU Setting" of GX Works2 and Works2.
Page 620
5Functions set with parameters *System configuration example 2: 2 robot CPUs + 3 types of I/O modules + extension base (added) Main [Main] I/O3:Input I/O4:Output I/O5:I/O Mix [Extension] RT ToolBox3 I/O0:Input I/O2:Output R32TB R56TB (3) Setting the parameters for the system configuration example 1 Under the condition of the system configuration example 1 (1 robot CPU + 3 types of I/O modules), set "Multiple CPU Setting"...
Page 621
5Functions set with parameters In the same way, set "Multiple CPU Setting" in the parameter menu of RT ToolBox3 as follows. Set "I/O Assignment" with the PLC parameter of GX Works2 as follows. QX41: Input QY41: Output QH42P: I/O mix Direct control of the PLC input/output module 5-603...
Page 622
5Functions set with parameters Click the "Detailed Setting" button and set the control CPU as follows. With this setting, the PLC controls the input module, and the robot CPU No. 1 controls the output module and I/O combined module. 5-604 Direct control of the PLC input/output module...
Page 623
5Functions set with parameters Reset the power of the PLC before setting the parameters of RT ToolBox3. When the PLC is started, select [System Monitor] from the [Diagnostics] menu of GX Works2. Set the parameters of RT ToolBox3 for the I/O module controlled by the robot CPU. Double-click "IO unit"...
Page 624
5Functions set with parameters On the "System Monitor" window of GX Works2, click the corresponding module, and the [Product Information List] button, and then set the "IO Unit" parameters of RT ToolBox3 while checking the displayed "Product Information List" window. Set the items as shown in the "Q Parameter Setting"...
Page 625
5Functions set with parameters Set the second module. On the "System Monitor" window of GX Works2, click the corresponding module, and the [Product Information List] button, and then set the "IO Unit" parameters of RT ToolBox3 while checking the displayed "Product Information List" window. Set "Response Time"...
Page 626
5Functions set with parameters (4) Setting the parameters for the system configuration example 2 Under the condition of the system configuration example 2 (2 robot CPUs + 3 types of I/O modules + extension base), set up "Multiple CPU Setting" in PLC parameter of GX Works2 and "Multiple CPU Setting"...
Page 627
5Functions set with parameters In the same way, set "Multiple CPU Setting" in the parameter menu of the robot CPU No. 1 and No. 2 as follows with RT ToolBox3. [Robot CPU No. 1 (= PLC No. 2)] [Robot CPU No. 2 (= PLC No. 3)] Direct control of the PLC input/output module 5-609...
Page 628
5Functions set with parameters Set up "I/O Assignment" with the PC parameter of GX Works2 as follows. Click the "Detailed Setting" button and set the control CPU as follows. With this setting, the PLC controls the input module, and the robot CPU No. 1 and No. 2 control the output module and I/O combined module.
Page 629
5Functions set with parameters Reset the power of the PLC before setting the parameters of RT ToolBox3. When the PLC is started, select [System Monitor] from the [Diagnostics] menu of GX Works2. Set the parameters of RT ToolBox3 for the I/O module controlled by the robot CPU. For both the robot CPU No.
Page 630
5Functions set with parameters First, set the robot CPU No. 1. On the "System Monitor" window of GX Works2, click the corresponding module, and the [Product Information List] button, and then set the "IO Unit" parameters of RT ToolBox3 while checking the displayed "Product Information List"...
Page 631
5Functions set with parameters Next, set the robot CPU No. 2. On the "System Monitor" window of GX Works2, click the corresponding module, and the [Product Information List] button, and then set the "IO Unit" parameters of RT ToolBox3 while checking the displayed "Product Information List"...
Page 632
5Functions set with parameters Set the second module. On the "System Monitor" window of GX Works2, click the corresponding module, and the [Product Information List] button, and then set the "IO Unit" parameters of RT ToolBox3 while checking the displayed "Product Information List" window. After setting the above parameters, reset the power of the PLC and robot CPU.
Page 633
5Functions set with parameters (5) Details of robot parameters The following describes the details of the parameters set with RT ToolBox3. Parameter No. of arrays Parameter Details explanation Factory setting name No. of characters Setup of the QXYREAD Integer 2 Set up to import the input and output status of the I/O module (including the I/O combined module) that is controlled by reference to PLC...
Page 634
5Functions set with parameters (6) Controlling with status variables The following types of status variables are provided to control the PLC I/O module. Variable Details name M_XDev Reads the PLC input signal (X) per bit. ex.) 1 M1%=M_XDev (1) ' The value of the PLC input signal 1 (1 or 0) is substituted to M2. M_XDevB Reads the PLC input signal (X) per byte.
Page 635
5Functions set with parameters The information of the input module controlled by the PLC can be checked with the CPU No. 3 (= robot CPU No. 2) using the same program. However, the first element of the parameter "QXYREAD" must be set to "1". Set the following window for RT ToolBox3.
5Functions set with parameters 5.26 Direct communication with robot CPUs This function is to exchange the signals directly with two or more robot CPUs in the robot controller of CR800-R/Q series. Since the rudder program of the PLC is not needed, the exchange of the signal can be executed more speedily.
5Functions set with parameters 5.27 Parameter for behavior selection at the error occurrence on dual system When the parameter CATEGORY is set for the error on dual system shown in Table 5-46, the behavior of the [RESET] key input at the error occurrence on dual system can be selected. Table 5-46:Target error list Error number Content...
Page 638
6External input/output functions 6 External input/output functions 6.1 Types (1) Dedicated input/output..... These are I/O signals that indicate the status of remote commands such as robot program execution and stoppage, information during execution and the servo power status and so on. Assign functions to each I/O signal.
6External input/output functions 6.2 PLC link I/O function This function is only valid on the CR800-R/Q Series drive unit. The RnCPU/QnUD(H)CPU (hereafter referred to as PLC CPU) and R16RTCPU/Q172DSRCPU (hereafter referred to as robot CPU) use CPU buffer memory between CPUs, and communication via a system ladder program. The CPU buffer memory “CPU buffer memory periodical communication area”...
Page 640
6External input/output functions When the module configuration screen is closed after arranging the modules, the following dialogue will appear. Click [Yes] button. Open the system parameter screen to set up the multiple CPUs. The number of points is set in units of K words. Robot CPUs can use only up to 1K word, so this setting should be set to 1K word.
6External input/output functions Setting Item Description Setting Value Communication PLC Unit Data Set up this to avoid data separation at data Enable Setting between communications by refresh. When data of more Disable CPUs than 64 bit data is handled, data croaking may occur.
Page 642
6External input/output functions therefore recommended that synchronous start-up be set (check box selected) at the multi CPU system. 3) High-speed communication area between multi-CPUs setting Set the number of points in K word units. The robot CPU uses only 1K word or less and therefore 1K word should be set.
Page 643
6External input/output functions (2) Robot CPU parameter setting Use RT ToolBox to perform multi CPU parameter settings. Table 6-2:Robot CPU parameter settings Parameter name Details Factory setting QMLTCPUN Multi CPU quantity setting At the multi CPU system, set the number of CPU units with which the standard base unit is equipped.
Page 644
6External input/output functions Parameter name Details Factory setting 000000000000 Select the CPU buffer memory expanded function. Note1) IQMEM 0000 The function is assigned for each bit. 1/0 = available/unavailable 00000000 00000000 | |...bit0: Enable expanded function Bits 2, 3, and |..bit1: PLC direct execution function 5 to 15 are not used.
Page 645
6External input/output functions Applicable Multi CPUs Multi CPUs are the following iQ Platform compatible CPUs and bases. (Current as of In March, 2018) Model CPU type Remarks CR800-R CR800-Q PLC CPU R00CPU, R01CPU, Universal model ・ The first CPU must be a PLC CPU. R02CPU, R04CPU, QCPU R08CPU, R16CPU,...
Page 646
6External input/output functions 6.2.2 CPU buffer memory and robot I/O signal compatibility At the PLC CPU, the CPU buffer memory is accessed like U3E0\HG511 (U3E0\G10511 for the CR800-Q series). The robot CPU No. n CPU buffer memory accesses like U3En\HG511 (U3En\G10511 for the CR800-Q series).
Page 647
6External input/output functions Please note that bit device M201 (U3E0\HG0 bit 1 / in other words robot output 10001) in this example indicates controller power ON complete (A signal indicating that external input signals can be received is output.) Stop input Robot numerical value input Under the waiting...
Page 648
6External input/output functions 6.2.4 Assignment of the dedicated I/O signal. (at factory shipping) Assignment of the dedicated I/O signal at factory shipments is shown in Table 6-5. Table 6-5:Assignment of the dedicated I/O signal. (at factory shipping) Note1) G device Parameter Input signal name Output signal name...
Page 649
6External input/output functions Note1) G device Parameter Input signal name Output signal name Input Output name (*: Operation rights is necessity) CR800-R CR800-Q IODATA Numeric value input 0 Numeric value output 0 10032 10032 Numeric value input 1 Numeric value output 1 10033 10033 Numeric value input 2...
Page 650
6External input/output functions Note1) G device Parameter Input signal name Output signal name Input Output name (*: Operation rights is necessity) CR800-R CR800-Q USRAREA User-designated area 8-points 1 10064 User-designated area 8-points 2 10065 User-designated area 8-points 3 10066 User-designated area 8-points 4 10067 G10004 User-designated area 8-points 5...
Page 651
6External input/output functions Dedicated input/output The functions shown in Table 6-6 are available for the dedicated input/output signals. These are used by the parallel input/output unit by assigning the signal No. in the parameter. The signal No. is assigned by the signal No. used in the order of "input signal" and "output signal" in each parameter.
6External input/output functions Factory shipment signal number. Signal Parameter Input, output Class Name Function level name Note1) CR800-R/Q CR800-D STOP Input Stop input This input stops the program being executed. Level 10000 0(Cannot (This does not apply to slots whose starting (Cannot change), condition is set to ALWAYS or ERROR.)
Page 653
6External input/output functions Factory shipment signal number. Signal Parameter Input, output Class Name Function level name Note1) CR800-R/Q CR800-D SRVON Input Servo ON input signal This input turns ON the servo power supply for Edge 10010, (Operation the robot. right With a multi-mechanism configuration, the required) servo power supplies for all mechanisms will...
Page 654
6External input/output functions Factory shipment signal number. Signal Parameter Input, output Class Name Function level name Note1) CR800-R/Q CR800-D OUTRESET Input General-purpose output Resets the general-purpose output signal. Edge 10015, (Operation signal reset The operation at the input is set with right parameters ORST0 to ORS18160.
Page 655
6External input/output functions Factory shipment signal number. Signal Parameter Input, output Class Name Function level name Note1) CR800-R/Q CR800-D PRGSEL Input Program selection input Designates the setting value for the program Edge 10020 (Operation signal No. with numeric value input signals. right The program for slot 1 is selected.
Page 656
6External input/output functions Factory shipment signal number. Signal Parameter Input, output Class Name Function level name Note1) CR800-R/Q CR800-D ERROUT Input Error No. output The error number is output to the numerical Edge 10025, request output (IODATA). After the start of inputting this signal to the robot, wait at least 15 ms before reading the numerical output (IODATA) signal.
Page 657
6External input/output functions Factory shipment signal number. Signal Parameter Input, output Class Name Function level name Note1) CR800-R/Q CR800-D JOGWKNO Input Work coordinates Specify the work coordinates number (Ex-T Level Note3) Note3) -1(Start bit), -1(Start bit), number coordinates number) for the standard of work -1(End bit), -1(End bit), jog operation with numerical value 1 to 8.
Page 658
6External input/output functions Factory shipment signal number. Signal Parameter Input, output Class Name Function level name Note1) CR800-R/Q CR800-D HANDENA Input Hand control Permit or prohibit control of the robot hand by Level -1, permission input the external signal. 1/0 = permission / prohibition Notes) The control of the robot's hand is available during automatic execution.
Page 659
6External input/output functions Factory shipment signal number. Signal Parameter Input, output Class Name Function level name Note1) CR800-R/Q CR800-D MnWUPENA Input Mechanism n warm-up Enables the warm-up operation mode of each Level -1, (n=1 to 3) operation mode enable mechanism. (n=1 to 3) (Operation input signal Note: To switch the warm-up operation...
Page 660
6External input/output functions Factory shipment signal number. Signal Parameter Input, output Class Name Function level name Note1) CR800-R/Q CR800-D PSOUT Input Position data output Specifications are made so that specified Level -1,-1 specification position number data for specified slot number is outputted.
Page 661
6External input/output functions Factory shipment signal number. Signal Parameter Input, output Class Name Function level name Note1) CR800-R/Q CR800-D RSTGRS Input Maintenance forecast Reset the grease information of the reset (grease) maintenance forecast. * The axis bit pattern is specified by the parameters IODATA or DIODATA.
Page 662
6External input/output functions Note2) Set in the order of input start No., input end No., output start No. and output end No. When using as the input or output of an actual value, use from the start No. to the end No., and express as a binary.
6External input/output functions 6.4 Enable/disable status of signals Note that depending on the input signal type, the function may not occur even if the target signal is input depending on the robot state at that time, such as during operation or when stop is input. The relation of the robot status to the input signal validity is shown below.
6External input/output functions 6.5 External signal timing chart 6.5.1 Individual timing chart of each signal (1) RCREADY (Controller's power ON completion output) <Output> Power ON (RCREADY) (Indicates the status in which the controller can receive signals.) (2) ATEXTMD (Remote mode output) <Output>...
Page 665
6External input/output functions (9) SLOTINIT (Program reset input/program selectable output) 15ms or more 30 ms or more <Intput> Program reset (SLOTINIT) <Output> Program selectable output (SLOTINIT) When the START or SnSTART signal was input (10) ERRRESET (Error reset input/output during error occurrence) <Intput>...
Page 666
6External input/output functions (15) MELOCK (Machine lock input/output during machine lock) <Intput> Machine lock input (MELOCK) <Output> Output during machine lock (MELOCK) (16) SAFEPOS (Return to retreat point input/output during return to retreat point) 15ms or more 30 ms or more <Intput>...
Page 667
6External input/output functions (24) SnSTOP (Slot n stop input/output during slot n aborting) 15ms or more 30 ms or more <Intput> Slot n stop input (SnSTOP) <Output> Output during slot n aborting (SnSTOP) When the START, SnSTART or SLOTINIT signal was input (25) MnSRVOFF (Mechanical n servo OFF input/mechanical n servo ON disable output) 15ms or more 30 ms or more...
Page 668
6External input/output functions (29) OVRDSEL (Override selection input) * This is used together with the numeric value input (IODATA). 15ms or more 30ms 以上 <Input> <入力> Numeric value input (IODATA) Override value オーバーライド値 数値入力 (IODATA) オーバーライド選択入力 Override selection input (OVRDSEL) (OVRDSEL) This parameter designates the setting value for the override (数値入力信号の設定値をオーバーライドに指定します)
Page 669
6External input/output functions (34) ERROUT (Error number output request/outputting error number) * This is used together with the numeric value input (IODATA). 15ms or more 30 ms or more <Intput> Error number output request (ERROUT) <Output> Outputting error number (ERROUT) When the output request of a program number, override value or line number was input Error number...
Page 670
6External input/output functions (40) HNDSTSn (Mechanical n hand input signal status) <Output> Mechanical n hand input signal status Hand input signal status (HNDSTSn) (Indicates the input signal status of the hand.) (41) HNDERRn (Mechanical n hand error input signal/output during mechanical n hand error occurrence) <Intput>...
Page 671
6External input/output functions (46) RSTBAT (Battery cumulative time reset) 1 sec or more 1sec以上 1 sec 1sec <Input> <入力> Battery cumulative time reset input バッテリ積算時間のリセット入力 (RSTBAT) (RSTBAT) <出力> <Output> Battery cumulative time reset completed バッテリ積算時間のリセット完了出力 (RSTBAT) output (RSTBAT) (47) RSTGRS (Maintenance forecast reset (grease)) <Input>...
Page 672
6External input/output functions 6.5.2 Timing chart example (1) External signal operation timing chart (Part 1) <Input> Numeric value input IODATA Program selection input signal PRGSEL START Start input STOP Stop input Operation rights input signal IOENA Program reset SLOTINIT CYCLE Cycle stop input signal Error reset input signal ERRRESET...
Page 673
6External input/output functions (2) External signal operation timing chart (Part 2) An example of timing chart the servo ON/OFF, selecting the program, selecting the override, starting and outputting the line No., etc., with external signals is shown in Fig. 6-6. <Input>...
Page 674
6External input/output functions (3) Example of external operation timing chart (Part 3) An example of the timing chart for error reset, general-purpose output reset and program reset, etc., with external signals is shown output in Fig. 6-7. <Input> START Start input SRVON Servo ON input signal SRVOFF...
Page 675
6External input/output functions (4) Example of external operation timing chart (Part 4) An example of the timing chart for jog operation, safe point return and program reset, etc., with external signals is shown in Fig. 6-8. <Input> Start input START SLOTINIT Program reset SRVON...
Page 676
6External input/output functions (5) Example of external operation timing chart (Part 5) Given below is a timing chart for the dedicated input/output signals. <Input> Slot number specificat ion (PSSL OT) Slot number <Output> Specified slot number out put (PSSLOT) Slot number <Input>...
Page 677
6External input/output functions 6.6 How to select and run a program using external signals 6.6.1 Methods The following two methods are available for selecting and running a program using external signals. (a) Running a designated program after checking that the program has been loaded (b) Running a designated program upon input of the start signal Controller External signal...
6External input/output functions 6.6.4 Operation procedure This section provides an example of how I/O signals are assigned based on the information in Table 6-10. Table 6-10:I/O signal assignment Parameter name Input bit Output bit IOENA PRGOUT IODATA 8 to 11 8 to 11 PRGSEL START...
Page 679
6External input/output functions (2) Running a designated program upon input of the start signal 1) Set "1" in parameter PST. (Initial value: 0) 2) Assign I/O bits (values in Table 6-10) to parameters. The following images are the setting windows for "Dedicated Input/Output Signals Assignment" in "Signal Parameter"...
6External input/output functions 6.7 Emergency stop input For wiring and other aspects of the emergency stop input, refer to the separate document entitled "Controller setup, basic operation, and maintenance." 6.7.1 Robot Behavior upon Emergency Stop Input When an emergency stop signal is input while the robot is operating, the servo power supply is cut off by means of hardware control.
Page 681
6External input/output functions 6.8 Devices 6.8.1 Device list The following tables list the robot devices accessible from GOTs and SLMP-compatible equipment. Device ranges are fixed and it cannot be changed. (1) CR800-R series Table 6-11:Compatible device list Device range Classification Type Device name Symbol...
Page 682
6External input/output functions (3) CR800-Q series Table 6-13:Compatible device list Device range Classification Type Device name Symbol Remarks Number of Setting range Notation points User device Input 4096 points X0 to XFFF Hexadecimal device (4k) Output 4096 points Y0 to YFFF Hexadecimal (4k) Internal relay...
Page 683
6External input/output functions 6.8.2 Device assignment The following table shows the robot functions and corresponding assignment to I/O signal devices. Device ranges not assigned to functions can be read and written freely. (1) CR800-R series Table 6-14:Device assignment Devices seen from Number of external equipment attribute...
Page 684
6External input/output functions Devices seen R/W attribute Number of from external Function Robot I/O signals Remarks Note2) points Note1) equipment STOP (SKIP0) X320 Input of 800 1 point Always enabled. SKIP (1-7) X321 to X327 Input of 7 points 801 to 807 (2 points for hardware) Hand...
Page 685
6External input/output functions (3) CR800-Q series Table 6-16:Device assignment Devices seen from Number of external equipment attribute Function Robot I/O signals Remarks points Note1) Note2) Direct control of the PLC X0 to XFFF Input of 0 to 255 Maximum Functions are input/output unit 256 points enabled when an...
Page 686
6External input/output functions 6.8.3 PLC device assignment function Directly assigning program external variables and state variables to devices enables robot information to be collected from GOTs and other FA equipment through such devices. Robot controller Device assignment parameters D device Variable D4096 D4097...
Page 687
6External input/output functions Variables and devices are assigned with the following parameters. Number of Parameter arrays Parameter Description Default setting name Character string Assignment of robot DDEVVL1 to Assigns robot variables to D device. Up to 32 0,0,0,0, , , , ,1,4096 Integer 4, variables to D device DDEVVL32...
Page 688
6External input/output functions *Example of assignment to numeric variable (1)Integer [Example]M_OPOvrd(Integers) When assigned to D4096 Device Description Updating cycle D4096 M_OPOvrd value [Integer (signed)] Control cycle [Example]M_ErCode(Long-precision integer) When assigned to D4096 Device Description Updating cycle D4096 M_ErCode value [Long-precision integer (signed)] Control cycle D4097 (2)Real number...
Page 689
6External input/output functions *Example of assignment to position variable/workpiece coordinate When position type/workpiece coordinate type variable is assigned to D5000 Device Description Updating cycle D5000 Control cycle X coordinate value [Long-precision integer (signed) multiplied by 10 D5001 D5002 Y coordinate value [Long-precision integer (signed) multiplied by 10 D5003 D5004 Z coordinate value [Long-precision integer (signed) multiplied by 10...
Page 690
6External input/output functions *Example of assignment to joint variable When a joint type variable is assigned to D5000 Device Description Updating cycle D5000 Control cycle J1 coordinate value [Long-precision integer multiplied by 10 D5001 D5002 J2 coordinate value [Long-precision integer multiplied by 10 D5003 D5004 J3 coordinate value [Long-precision integer multiplied by 10...
Page 691
7Appendix 7 Appendix 7.1 Configuration flag The configuration flag indicates the robot posture. For the 6-axis type robot, the robot hand end is saved with the position data configured of X, Y, Z, A, B and C. However, even with the same position data, there are several postures that the robot can change to. The posture is expressed by this configuration flag, and the posture is saved with FL1 in the position constant (X, Y, Z, A, B, C) (FL1, FL2).
Page 692
7Appendix (3) NONFLIP/FLIP (6-axis type robot only.) This means in which side the J6 axis is in comparison with the plane through both the J4 and the J5 axis. J4 axis FL1(Flag1) FLIP &B 0 0 0 0 0 0 0 0 ↑...
Page 693
7Appendix *For horizontal multi-joint type robot (1) Right/Left Indicates the location of the end axis relative to the line that passes through both the rotational center of the J1 axis and the rotational center of the J2 axis. FL1(Flag1) &B 0 0 0 0 0 0 0 0 ↑...
7Appendix 7.2 Spline interpolation Spline interpolation, one of the robot movement commands, is explained in this section. 7.2.1 Outline (1) Outline Spline interpolation is a function that moves the robot at the designated speed along a spline curve that smoothly connects designated path points. Ex-T spline interpolation is a function used to move the spline curve that smoothly links path points specified on the workpiece grasped by the robot along an arbitrary coordinate system origin (Ex-T coordinate system origin) at a specified speed (Ex-T coordinate system origin viewed from workpiece moves relatively at...
Page 695
7Appendix • A file dedicated for spline interpolation (spline file) in which the path point data is registered is used separately from the robot program. This file is created and edited in the RT ToolBox3 dedicated edit screen (Spline File Edit screen), and written to the controller. Spline file Write Read...
7Appendix Terminology Explanation End position Refers to the path point where spline interpolation movement ends. Spline file File containing the path points and setting values required for execution, etc. One file corresponds to one spline interpolation. Spline File Edit screen RT ToolBox3 screen dedicated for creating, editing and saving spline file.
Page 697
7Appendix Item Specifications Operation Constant linear The interpolation command is generated so the robot moves uniformly at the designated speed. mode speed Variable linear If the speed may be exceeded during movement because the designated speed is large or the change in posture is large, etc., the speed is automatically lowered.
Page 698
7Appendix (3) Robot behavior during spline interpolation • If the robot’s current position and spline interpolation start position differ and spline interpolation is executed, the robot will move with linear interpolation to the start position and then will start spline interpolation.
Page 699
7Appendix operation. The robot will return to the halted position with joint interpolation. The parameter RETPATH (setting for automatic return after jog feed during halt) setting is not applied. Resume 運転を再開 operation Joint interpolation 関節補間 Jog operation ジョグ操作 Restart spline Halt 中断位置からスプ...
Page 700
7Appendix Type Explanation Posture variation amount The program is checked to confirm that the posture change between two adjacent path points is not too large. If the posture change angle is larger than 150 degrees, error L2611 (posture change too large) will occur. * In Ex-T spline interpolation, the program is checked to confirm that the posture change of path points on the workpiece is not too large.
Page 701
7Appendix 7.2.3 Explanation of functions (1) Path adjustment The spline curve’s shape can be compensated by using the path adjustment function. "Tolerance designation", "arc designation", "spline cancel" and "block length ratio" are available for compensating the path. ■Tolerance designation Designate the tolerance to adjust the degree of spline curve swelling in block units.
Page 702
7Appendix These 2 blocks are designated as arc Arc designation Fig.7-14:Arc designation (Spline file version 02) With arc designation, two consecutive blocks must always be designated. If only one block is designated, the error L2613 (not enough points designated for arc) will occur. Furthermore, if the three points used to form an arc by specifying two blocks are aligned in a straight line and arc generation is not possible, error L2613 (block data calculation error (Cir.Arc)) will occur.
Page 703
7Appendix A: Arc designated A:円弧指定あり Arc curve B: Arc not designated 円弧曲線 B:円弧指定なし Arc curve 円弧曲線 Error occurs since 円弧指定が2点だけ only two points are なのでエラー発生 designated for arc Fig.7-17:Example of error in arc designation (Spline file version 01) Relation of arc designation and other path point adjustment functions Tolerance and block length ratio do not function on a block that draws an arc.
7Appendix spline curve will be split at path point n. The robot will decelerate to a stop once at the path point n where the spline curve is split, and then will accelerate and execute the remaining interpolation. The cancel angle setting range is shown below. This angle can be set individually for each spline interpolation.
7Appendix Table 7-6:Operation mode Operation mode Explanation Constant linear speed The robot moves at the designated speed and maintains the constant speed. The speed may be exceeded during the movement depending on the designated speed or posture variation amount. Variable linear speed The robot moves at the designated speed and maintains the constant speed.
Page 706
7Appendix Setting item Explanation Bit mask Designate the mask pattern for enabling the signal output in bit units in respect to the designated bit width. The setting range changes according to the bit width. Bit width Bit mask setting range [hex] 0, 1 0 to FF 0 to FFFF...
Page 707
7Appendix When the status variable M_SplVar is referred to, the value set for the path point passed through most recently can be confirmed. If the same value is set for multiple path points and referring to the status variable M_SplVar with multi-task, a preset process can be executed when the specified path point is passed through during spline interpolation.
Page 708
7Appendix Frame transformation フレーム変換 +Xfr +Xfr +Yfr +Yfr Fig.7-22:Frame transformation (Spline interpolation) Frame transformation Fig.7-23:Frame transformation (Ex-T spline interpolation) ■Set data Define the coordinate system by setting the following three position data items in the same manner as the Fram function. Origin position ......
Page 709
7Appendix Save coordinate system in The coordinate system settings are saved in a • To keep the coordinate values on the drawing as spline file, and the path points are sequentially the coordinate values for path points spline file frame transformed when spline interpolation is •...
Page 710
7Appendix Create Import Teach Confirm Spline File Edit screen Review Simulation function Generate Robot Program Spline file Adjust Write Confirm Spline file Read Write Adjust Spline File Edit screen Actual system Fig.7-24:Schematic diagram of work details Appendix-692 Spline interpolation...
7Appendix 7.2.5 Creating the spline file The spline file is created with the RT ToolBox3 Spline File Edit screen, DXF File Import function, or SplWrt command. The methods for creating the spline file are explained below. (1) New file ■Creating a new file in the personal computer Select [Offline] →...
Page 712
7Appendix (2) Creating a file by DXF File Import function AutoCAD versions up to 2014 support DXF files. 1) Selecting a DXF file Select [Tool] → [DXF File Import] from the project tree and click the right mouse button. A context menu will appear, and a dialog to open a DXF file will appear when [Open] is clicked.
Page 713
7Appendix 2) Selecting layers Select layers to import from [Layer list] in [Layers] page. Fig.7-29:Layers selection screen 3) Selecting entities Select entities to import from [Entities] page. Fig.7-30:Entities selection screen Hold down the Ctrl key and click entities to be imported by DXF file, they will be added to [Entity list].. Fig.7-31:Selecting entities Spline interpolation Appendix-695...
Page 714
7Appendix Entities with consecutive start points and end points for the previous and next entities are displayed in blue from the first entity. Non-consecutive entities are displayed in purple. Fig.7-32:Selecting entities By selecting an entity from the [Entity list] and clicking the [UP] and [DOWN] buttons, the position of the selected entity can be changed.
Page 715
7Appendix 4) Ex-T control setting Grasp positions for imported entities, and Ex-T coordinates registered in spline files are set at the [Ex-T Control] page. Select the [Use Ex-T control] check box here if using Ex-T spline interpolation. Clear the check box if using normal spline interpolation.
Page 716
7Appendix 5) Calibration Perform calibration at the [Calibration] page to change the coordinate system from the CAD coordinate system to the robot world coordinate system. If using Ex-T spline interpolation, there is no need to perform calibration. Fig.7-39:Calibration screen By clicking a point (red) on the viewer while holding down the Ctrl key, the selected point is registered as the CAD coordinate system CO/CX/CY.
Page 717
7Appendix 6) Selecting postures Set the path point posture at the [Postures] page. By selecting [Constant with respect to TCP] for the posture type, the posture is registered with the tangent direction for each path point as the tool direction. Fig.7-40:Posture registration screen (Constant with respect to TCP) By selecting [Fixation] for the posture type, the same posture as that for the <Start point>...
Page 718
7Appendix 7) Output to spline file By selecting [Spline file] as the output format at the [Generated Points] page and clicking the [Finish] button, point sequence data generated to the spline file is output. By clicking [Yes] at the import completion dialog box, the Save spline file screen appears.
Page 719
7Appendix (3) Creating new spline files with robot language ■Creating new spline files with SplWrt command Spline files can be created using the SplWrt (spline write) command. Refer to SplWrt (Spline Write) command details. Data shown in Table 7-15 is described sequentially separated by commas as path point data in read files. An example can be seen in Fig.
Page 720
7Appendix ■Selecting and opening a spline file from the list Select [Spline] from the project tree and click the right mouse button. The Context menu will open, so click [Open]. A list of saved spline files will appear. (The list can also be displayed by clicking menu [File] → [Open].) Fig.7-45:Selecting and opening a spline file from the list The number of path point data items and comments registered in the spline file will appear in the list.
Page 721
7Appendix ■Path point data list area A list of path point data registered in the spline file is displayed. The following operations are performed in this area. • Add/delete point path data • Select path point data to edit • Confirm number of registered points, file size If the Store mark near the center of the Spline File Edit screen is clicked, the path point data reference/edit area will be stored and the path point data list area display will expand.
Page 722
7Appendix Edit enabled [Apply] [Cancel] Reference state Edit state Fig.7-49:Switching between path point data reference/edit area reference state and edit state If the Store ([–]) or Expand ([+]) mark at the Property filed is clicked, the path point data will be stored or expanded.
Page 723
7Appendix Table 7-11:Details of added menus Reference Tab options Explanation page File Open A dedicated screen for opening the spline file opens. Close The active Spline File Edit screen closes. Save The spline file being edited is overwritten and saved. Save as A dedicated screen for saving spline file being edited with a different name opens.
Page 724
7Appendix Reference Tab options Explanation page Edit The selected path point data is saved as cut data. The original path point data is cut out when [Paste] is executed. Copy The selected path point data is saved as copy data. Paste The path point data saved with [Cut] or [Copy] is pasted into the designated path point data.
Page 725
7Appendix Reference Tab options Explanation page Tools Position jump A dedicated screen for position jump function opens. Interpolation The spline file Interpolation Setting screen opens. settings Ex-T control The spline file Ex-T control setting screen opens. settings Position The dedicated screen for the position adjustment function opens. adjustment Frame A dedicated screen for the frame transformation function opens.
Page 726
7Appendix Default value when Data item Details newly added Output signal Head No. Designate the head address of the output signal. Setting range: –1 to 32767 (–1 means signal output invalid.) Bit width Designate the bit width of the output signal. Setting range: 1, 8, 16, 32 [bit] Bit mask Designate the mask pattern of the bit with valid signal output.
Page 727
7Appendix Select random path point data and click the right mouse button. The context menu will open, so click [Insert]. New path point data will be inserted before the selected path point data. (A line can also be added by clicking menu [Edit] → [Insert] from the ribbon.) [Insert] Fig.7-53:Inserting path point data At this time, the default values of the path point data inserted before the selected path point data line will be...
Page 728
7Appendix ■Editing and registering the path point data To edit the path point data, select the path point data to be edited in the path point data list area, and double- click it. When double-clicked, editing of the target path point data is enabled, and path point data reference/ edit area is set to the editing state.
Page 729
7Appendix ■Deleting the path point data Select a path point data in the path point data list area, and click the right mouse button. The context menu will open, so click on [Delete]. The selected path point data will be deleted. (The data can also be deleted by clicking menu [Edit] →...
Page 730
7Appendix ■Edit FLG2 Edits the FLG2 value of selected path point at one time. To batch edit FLG2 values, select the path point data to be edited in the path point data list area, and right- click. Click [Edit FLG2] in the context menu that appears to display an FLG2 batch editing screen. (This screen can also be displayed by clicking [Edit] →...
Page 731
7Appendix Fig.7-59:Circular interpolation ■Interpolation settings Set the "Operation mode", "Cancel angle" and "Straight ratio" for the spline interpolation. When the menu [Tool] → [Interpolation settings] is clicked from the ribbon, the interpolation settings set in the spline file on the active Spline editing screen appear in the setting screen. Fig.7-60:Interpolation settings screen If the [OK] button is clicked after changing the settings, the changes will be saved and the setting screen will close.
Page 732
7Appendix ■Ex-T control settings Specify "Ex-T control settings" for spline interpolation. By clicking [Tool] → [Ex-T control settings] from the ribbon, the content of Ex-T control settings set to the spline file at the active spline file editing screen is displayed in the settings screen. Ex-T control setting is valid.
Page 733
7Appendix ■File version The spline file version can be changed. When the menu [File] → [Properties] is clicked from the ribbon, the comment entered in the spline file on the active Spline editing screen appears on the Property screen. Fig.7-63:Property screen By changing the file version and clicking the [OK] button, the content is recorded, and the Property screen closes.
Page 734
7Appendix Spline file save destination folder The spline files in the personal computer are managed in workspace project units. The save destination folder is Workspace work folder\project name\Spline. Spline file name The spline file name is determined by the following format. SPLFILE**.SPL (Uppercase fixed) The spline No.
Page 735
7Appendix CAUTION Changes cannot be saved in a spline file being used for spline interpolation. If saving is attempted, error L2610 (can’t change spline file) will occur. Do not perform save to a spline file being used. (10) Deleting a spline file Select the spline file to be deleted from the project tree, and right-click the mouse.
Page 736
7Appendix (12) Copying the spline file Spline files can be copied on the project tree. By selecting the spline file to be copied on the project tree, and then dragging and dropping it to [Spline]/ [Online]/[Offline] in the copy destination project tree, a dialog box appears to confirm the selection. Fig.7-68:Copying the spline file By clicking the [Yes] button, the specified spline file is copied.
Page 737
7Appendix The Spline file manager screen is made up of two areas used for copying and deleting spline files, and for changing spline numbers. ■Copy the spline file By selecting the check box for spline file displayed at the source and then clicking the [Copy] button, the selected spline file is copied to the destination.
7Appendix ■Change the spline No. By selecting the check box of the file to be changed from the source or destination spline file list and then clicking the [Renumber] button, the selected spline file No. can be changed. Fig.7-74:Change the spline No. (14) Import/export function If the path point data is descried with the specified format of CSV file, that file can be imported into the Spline File Edit screen.
Page 739
7Appendix Data identification tag Details <Tol2> Designates the posture tolerance amount with an integer. Setting range: 0 to 100 [%] <Tol3> Not used. Describe as 100. <M_SplVar> Designates the value referred to by status variable M_SplVar as an integer. Setting range: –1 to 32767 (–1 means not set.) <OutPort>...
Page 740
7Appendix Attach the picking hand to the robot. From the ribbon, select [MELFA-Works] → [Hand Setting] to display the Hand Setting screen. Select picking hand as the connected hand and then click the Hand State button to pick up the workpiece.
Page 741
7Appendix 4) Creating paths Switch to the CAD link hand to create path data. Click [Work-flow] to display the Work-flow screen. Select the Path tab and click the [Add] button to add a process path. Select the added process path and then click the [Edit Path Data] button to display the Edit path data screen.
Page 742
7Appendix Select the registered pickup position and then click the [Register to Work Flow] button to add the selected position data to the flow. Fig.7-80:Flow creation (grasp position registration) 6) Outputting MXT files Output an MXT file for the created work-flow. From the Make Teaching Point and Path screen, click the [Program Convert] button to display the Program Convert screen.
Page 743
7Appendix ■Import Importing is possible not only for CSV files, but also for MXT files. Import Fig.7-82:Import CAUTION When the import function is used, all path point data registered in the Spline File Edit screen will be overwritten by the newly imported path point data. •...
Page 744
7Appendix Fig.7-84:Import setting screen (in Ex-T spline) With Ex-T spline, by selecting the [Use Ex-T control] check box and clicking the [OK] button, the Ex-T control settings screen for setting the grasping position and Ex-T coordinates appears. By clicking the [Read position variable] button, the Select robot program screen appears, allowing the program created when outputting the MXT file to be selected.
Page 745
7Appendix Fig.7-86:Select robot program screen By selecting the program and clicking the [OK] button, the Select XYZ Position Variables screen appears. Fig.7-87:Select XYZ Position Variables screen By selecting the position data (grasp position data taught when creating MXT file) to be read and clicking the [OK] button, the grasp position is set.
Page 746
7Appendix CAUTION The corresponding point sequence data type is XYZ data only. The movement speed (acceleration/deceleration time, maximum speed) in the MXT file header information is not imported, and therefore it must be updated to the robot program MvSpl command argument. CAUTION By reducing the tolerance values, the accuracy of the calculated path points will improve, however, the distance between path points will become shorter, thus...
Page 747
7Appendix [Edit] → [Copy] [Edit] → [Paste] Designate copy source Designate copy destination Execute copy Fig.7-90:Copy & Paste When there are not enough path point data items at copy destination If the number of subsequent path point data items is low at the copy destination is low compared to the number of path point data items designated as the cut source, the path point data with no copy destination will not be copied.
Page 748
7Appendix ■Undo From the ribbon, select [Edit] → [Undo] to undo the last edit and restore the data to the previous state before the edit was made. The following operations can be undone. • Path point data add, insert, delete •...
Page 749
7Appendix if successful. An error dialog box appears if an error occurs. Refer to the separate "Troubleshooting" manual for error details. * The path point check is performed at speed with override at 100%. Fig.7-95:Path point check complete dialog (left)/Error dialog (right) ■Motion range check Check whether the robot is able to move to each path point beforehand.
7Appendix (18) Robot program ■Convert to program Create a robot program using the path point data registered in the spline file. From the ribbon, select [Tool] → [Robot program] → [Convert to program] to display the robot program dialog on the active Spline editing screen. Fig.7-98:New Robot program screen By entering the name of the robot program to be saved and clicking the [OK] button, the Speed setting dialog box appears.
Page 751
7Appendix Spline interpolation Ex-T spline interpolation Fig.7-100:Program created by each interpolations ■Import position variables Robot program position data can be imported as spline file path point data. From the ribbon, select [Tool] → [Robot program] → [Import position variables] to display the Select robot program screen used to load a program onto the active Spline editing screen.
7Appendix Import position variable Fig.7-102:Import position variable 7.2.6 Creating the robot program The robot program is created in the program edit screen of RT ToolBox3 or the teaching pendant. To execute spline interpolation, use the commands and robot status variables listed in Table 7-16 Table 7-18.
Page 753
7Appendix ■Sample program The path 1 path point data is registered in spline file 05. Spline interpolation is executed on path 1 and path 2 by using frame transformation. At this time, the path point data numerical settings are used by the slot 2 program to turn the output signal No.
7Appendix Slot 2 Def IO PORT1=Byte, 100, &H03 ‘ Assign output signal 100 and 101 to variable PORT1 M_SplVar=0 ‘ Reset M_SplVar value to 0 Wait M_00=1 ‘ Wait for spline interpolation to start *L1:If M_SplPno<3 Then GoTo *L1 ‘ Wait for path point 3 to be passed Select M_SplVar Case 1 ‘...
Page 755
7Appendix 7.2.8 Saving in the robot controller Save the robot program and spline file into the robot controller. Refer to Page 715, "(9) Saving the spline file" for details on saving the spline file. 7.2.9 Adjustment work Using the actual system, confirm the spline interpolation movement with debugging (step feed). If the movement differs from the required movement, review and revise the path point data and robot program.
Page 756
7Appendix Adjustment method Explanation Vector product operation The adjustment data values are multiplied in respect to the path point data's robot position data. (P×P) (Position after adjustment = Path point position × adjustment data) The adjustment follows the tool coordinate system. The configuration flag, multi-rotation flag and additional axis data are not changed from the original value.
Page 757
7Appendix (B) Set the adjustment data. If a controller is connected, the [Get current position] button will appear. When this button is clicked, the robot's current position is imported as the adjustment data. (C) Select the adjustment method and click the button. (D) The adjusted path point data is displayed in the "Adjustment result list".
Page 758
7Appendix Fig.7-107:Selecting from Path points list If a controller is connected, the [Get current position] button will appear. When this button is clicked, the robot's current position will be set to the selected transformed reference coordinate system. ■Executing frame transformation with RT ToolBox3 When the [Transform] button in Fig.
Page 759
7Appendix If the coordinate system settings are not correct (on same point or 3 points on the same line), a dialog indicating that the coordinate system settings are incorrect will appear. Fig.7-110:Dialog when coordinate system settings are not correct (when saving coordinate system) When the [Yes] button is clicked, the settings will be saved in the Spline File Edit screen and the Frame transformation screen will close.
Page 760
7Appendix By clicking the [Next] ([Previous]) button, the target path point changes to the next (previous) point. By clicking the [Move] button, the robot moves to the selected path point position (including offset amount) with the specified interpolation movement. CAUTION The robot moves at the same speed as that for the actual system, and therefore a safety check should be conducted around the robot Always use the robot in such a way that the EMERGENCY STOP button can be...
7Appendix 7.2.10 High speed spline interpolation command (1) Outline A higher spline interpolation operation speed can be specified using the SPLHSPMD parameter. Table 7-21:Parameter SPLHSPMD Parameter No. of arrays Factory Parameter Detailed explanation name No. of characters setting High speed spline SPLHSPMD Integer 1 The spline interpolation high speed mode can be enabled and...
Page 762
7Appendix Fig.7-113:Command speed and required distance between path points (4) RT ToolBox3 settings High speed spline interpolation command can also be set by right clicking [Spline] in the project tree. The high speed spline interpolation command can be enable/disabled by clicking the check mark next to "High speed mode"...
7Appendix Fig.7-114:RT ToolBox3 path point check (High speed mode) (5) Precautions and limitations Take note of the following precautions and restrictions regarding the high speed spline interpolation com- mand function. 1) Enabling the high speed mode makes it possible to specify a higher speed than previously possible. However, overspeed can occur depending on the robot's position or posture, and it may not be possi- ble to move at the desired speed.
Page 764
7Appendix 7.3 Ex-T control Spline interpolation, one of the robot movement commands, is explained in this section. 7.3.1 Outline (1) Features The Ex-T control is the function to operate the robot using the origin of the externally fixed coordinates system as the robot control point. The examples of applications include the following. •...
Page 765
7Appendix (2) Specifications Item Specifications Compatible robot Vertical multiple-joint 6-axis robots, horizontal multiple-joint 4-axis robots * The function is not available for the vertical multiple-joint 5-axis robots and the user mechanisms. Compatible robot language • Commands Commands Explanation Page EMvs (E Move S) Ex-T control linear interpolation EMvc (E Move C) Ex-T control circular interpolation...
Page 766
7Appendix The parameters related to the Ex-T coordinates (work coordinates) are listed in the table below. Parameter name Details explanation WKnCORD The work coordinates for work jog operation "n" is 1 to 8 (X,Y,Z,A,B,C) Unit: mm or degree It is used as standard coordinates and work coordinate data in the work jog. It is also used as the control point in the Ex-T control (Ex-T coordinates).
Page 767
7Appendix 7.3.3 Ex-T jog The Ex-T jog is the function to perform jog operation along the work coordinates system (Ex-T coordinates system) by specifying the work coordinates (Ex-T coordinates) as the control point. The operation is similar to the conventional WORK jog operation because the operation is performed along the work coordinates system, but operations related to the posture elements are different between the Ex-T jog and the conventional WORK jog.
Page 768
7Appendix (1) Movement of the posture element in the WORK jog The jog operation of the posture element in the WORK jog is rotation around the axes parallel to the X, Y, and Z axes of the work coordinates at the control point. The position remains fixed. Fig.
Page 769
7Appendix (3) Ex-T jog operation The Ex-T jog operation is the same as the WORK jog operation. Advance setting of the Ex-T coordinates (work coordinates) and the operation mode (parameters WK1- JOGMD to WK8JOGMD) is required. Select WORK jog mode [JOG] Press the key and display the jog screen.
Page 770
7Appendix (4) WORK jog operation of the RV 6-axis type When the X, Y, or Z keys are used, the operation is the same in the WORK jog and the Ex-T jog modes. The jog movement based on work coordinates system +Z Controll point * The direction of the flange will not...
Page 771
7Appendix When the A, B, and C keys are used, the operation is different in the WORK jog and the Ex-T jog modes. Changing the flange surface posture <1> Work jog mode +Z +Zw' - + + -Yw' +Xw' - -Xw' Control point -...
Page 772
7Appendix <2> Ex-T jog mode +Z +Z Control point Control point - - + + + + - - -X - -X - -Y -Y + + Work coordinates system Work coordinates system +Y +Y (Ex-T coordinates system) +X +X (Ex-T coordinates system) -Z -Z...
Page 773
7Appendix (5) WORK jog operation of the RH 4-axis type When the XYZ keys are used, the operation is the same in the WORK jog and the Ex-T jog modes. The jog movement based on work coordinates system +Z Tool length -X -Y +Y...
Page 774
7Appendix When the C key is used, the operation is different in the WORK jog and the Ex-T jog modes. The robot does not move when the A or B key is used. Changing the end axis posture <1> Work jog mode +Z Tool length -X...
Page 775
7Appendix (6) WORK jog operation of the RH 4-axis hanging type When the XYZ keys are used, the operation is the same in the WORK jog and the Ex-T jog modes. The jog movement based on work coordinates system +Z +Y +X -Y...
Page 776
7Appendix When the C key is used, the operation is different in the WORK jog and the Ex-T jog modes. The robot does not move when the A or B key is used. Changing the end axis posture +Z <1> Work jog mode +Y +X -Y...
7Appendix 7.3.4 Creation of robot program (1) List of commands/variables related to the Ex-T control The commands and variables related to the Ex-T control are listed below. For the command details, refer to the reference page shown in the table. Table 7-25:List of commands related to the Ex-T control Type of Reference...
Page 778
7Appendix <1> <4> <5> <3> <2> Fig.7-120:Operation example 2 ■Step 1: Setting of the work coordinates (Ex-T coordinates) Specify the work coordinates (Ex-T coordinates) so that the contact point between the processing tool and the workpiece shown in the figure is used as the origin of the work coordinates (Ex-T coordinates). (On the work coordinate 1 in this example) Wx...
Page 779
7Appendix 7.4 Get-position-quick function 7.4.1 Outline The get-position-quick function (GPS function) allows monitoring and responding quickly to the input signal from an external sensor, which enables the accurate robot position data acquisition according to the signal input timing. This function is used for the alignment correction (correcting a position deviation of a workpiece by the accurate robot position data acquisition according to the timing when an external sensor passes) and the mapping (the workpiece presence recognition).
7Appendix 7.4.3 Specifications of Digital Input Signal The specifications of the digital input signal are as shown in the table below. Table 7-29:Specifications of digital input signal Item Specifications Remarks Digital input Number of channels SKIP input: 3CH CNUSR12 connector Pin name (Pin number): Input signal Note1) Connector...
Page 781
7Appendix 7.4.4 Electric Specification of Digital Input The electric specification of SKIP input is shown in Table 7-30. Table 7-30:Electric specification of the SKIP input Item Specifications Internal circuit Type DC input No. of input point SKIP21/SKIP31 Insulation method Photo-coupler insulation Rated input coltage DV 24 V ±10% Rated input current...
Page 782
7Appendix 7.4.5 How to use the GPS function (1) Position data acquisition at the sensor input timing This section shows the basic method to create programs using the MELFA BASIC VI programming language for position data acquisition according to the signal input timing. Table 7-31: Command list of MELFA BASIC VI Command Explanation...
Page 783
7Appendix <Sample program> 1 Def Gps 1,801,On,1 ‘ The position data of the mechanism No. 1 is recorded for the monitoring No. 1 when the signal No. 801 is turned on. 2 GpsChk On,1 ‘ Monitoring a condition for the monitoring No. 1 is started. 3 Mvs P1 ‘...
Page 784
7Appendix <Sample program> 1 Def Map 3,851,On,1,PC1,PC2,20,10 ‘ The position data of the mechanism No. 1 is recorded for the monitoring No. 3 when the signal No. 851 is turned on, and the mapping is executed according to the defined condition. PC1: Lowest point (first segment) in a cassette, PC2: Highest point (last segment) in a cassette, 20: the number of segments in a cassette (20 segments), 10: a sensitive area of a sensor (10 2 Mov PM1...
7Appendix 7.5 Upgrade of the servo software When error H0099 occurs, the upgrade of the servo software is required. You can upgrade the servo software using the teaching pendant or RT ToolBox3. The procedure for upgrading the servo software using the teaching pendant is shown below. 1) Display the parameter screen to input "ROMCOPY"...
7Appendix 7.6 Log function This section explains the log function which saves robot information at error occurrence. 7.6.1 Outline Robot information at error occurrence can be saved in the FTP server or SD memory card (CR800-D only). The following four types of robot information can be saved. •...
Page 787
7Appendix 7.6.2 Specifications (1) Basic specifications Table 7-35:Basic specifications Item Specifications Logs to be saved The following four types of logs are saved. • Error history • Event history • Program execution history • Internal information of the robot operation Save destination FTP server or SD memory card (CR800-D only) Target SD memory card...
Page 788
7Appendix 7.6.3 Error numbers to be saved The errors shown in Table 7-37 have been registered in advance. To add errors, set the parameter LOGTRGE. Table 7-37:Target error number Error number Error details H0740 Power supply main circuit error H0810 Power supply undervoltage H091n Servo amplifier overspeed...
Page 789
7Appendix 7.6.5 Checking the log file details This section explains the check method of each log file. (1) Error history This can be checked with RT ToolBox3 Ver. 1.10L or later. * Operation procedure 1) Rename xxxx_Err.log to AError.log. 2) Create a workspace with RT ToolBox3. 3) Copy AError.log to the simulation folder “RoboSim”.
Page 790
7Appendix 5) Check the details in the Error History window. (2) Event history This can be checked with RT ToolBox3 Ver. 1.00A or later. * Operation procedure 1) Rename xxxx_Evt.log to Event.log. 2) Create a workspace with RT ToolBox3. Appendix-772 Log function...
Page 791
7Appendix 3) Copy Event.log to the simulation folder “RoboSim”. 4) Start the simulation. 5) Check the details in the Event History window. Log function Appendix-773...
Page 792
7Appendix (3) Program execution history This can be checked with a text editor such as Notepad. * Operation procedure 1) Open xxxx_Trp.log with a text editor such as Notepad. The program execution order can be checked as shown below. NARC Trap system PROG log V1.0 17-10-18 11:34:42;sec/it=0.000889 ←Date and time when data collection is started 17-10-18 11:37:18;0;...
Page 793
7Appendix 7.7 Special devices The compatible special devices are as follows. 7.7.1 CR800-R series (1) Special relay The compatible special relays are as follows. Table 7-39:R16RTCPU robot CPU-compatible special relays Name Remarks Latest self-diagnostics error (Including annunciator ON) Latest self-diagnostics error (Not including annunciator ON) SM50 Clear error...
7Appendix Name Remarks SD10 Self-diagnostics error code 1 The 0x1800, 0x3000, and 0x3001 codes are stored when robot-specific SD11 Self-diagnostics error code 2 errors occur. SD12 Self-diagnostics error code 3 SD13 Self-diagnostics error code 4 SD14 Self-diagnostics error code 5 SD15 Self-diagnostics error code 6 SD16...
Page 795
7Appendix Name Remarks SM203 STOP contact SM204 PAUSE contact (2) Special register The compatible special registers are as follows. Table 7-42:CR800-D-compatible special registers Name Remarks Self-diagnostics error code The 0x1800, 0x3000, and 0x3001 codes are stored when robot-specific errors occur. Time of occurrence of latest self-diagnostics error code ↑...
Page 796
7Appendix 7.7.3 CR800-Q series (1) Special relay The compatible special relays are as follows. Table 7-43:Q172DSRCPU robot CPU-compatible special relays Name Remarks Latest self-diagnostics error (Including annunciator ON) Latest self-diagnostics error (Not including annunciator ON) SM50 Clear error SM51 Low battery latch SM52 Low battery SM53...
Page 797
7Appendix Name Remarks SD299 ↑ SD300 ↑ SD301 ↑ SD302 ↑ SD303 ↑ SD304 ↑ SD305 ↑ SD393 Multi-CPU system information SD395 ↑ SD396 ↑ SD397 ↑ SD398 ↑ SD399 ↑ Special devices Appendix-779...
Page 798
7Appendix Appendix-780 Special devices...
Page 800
HEAD OFFICE: TOKYO BUILDING, 2-7-3, MARUNOUCHI, CHIYODA-KU, TOKYO 100-8310, JAPAN NAGOYA WORKS: 5-1-14, YADA-MINAMI, HIGASHI-KU NAGOYA 461-8670, JAPAN Authorised representative: Mitsubishi Electric Europe B.V. FA - European Business Group Mitsubishi-Electric-Platz 1, D-40882 Ratingen, Germany Tel: +49(0)2102-4860 Jan. 2020 MEE Printed in Japan on recycled paper.
Need help?
Do you have a question about the CR800 Series and is the answer not in the manual?
Questions and answers