Janome JR3000 Series Operation Manual
Janome JR3000 Series Operation Manual

Janome JR3000 Series Operation Manual

Desktop/cartesian/scara robot
Hide thumbs Also See for JR3000 Series:
Table of Contents

Advertisement

Quick Links

JANOME DESKTOP ROBOT
JANOME CARTESIAN ROBOT
JANOME SCARA ROBOT
Operation Manual
(Variables/Commands/Functions)
Thank you for purchasing this Janome Robot.
• Before using your robot, read this manual thoroughly and always make
sure you use the robot correctly. In particular, be sure to thoroughly read
"For Your Safety" as it contains important safety information.
• After reading this manual, store in a safe place that can be easily
accessed at any time by the operator.
JR3000 Series
JC-3 Series
JS3 Series
Functions II

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the JR3000 Series and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Janome JR3000 Series

  • Page 1 Operation Manual Functions II (Variables/Commands/Functions) Thank you for purchasing this Janome Robot. • Before using your robot, read this manual thoroughly and always make sure you use the robot correctly. In particular, be sure to thoroughly read “For Your Safety” as it contains important safety information.
  • Page 2: Preface

    PREFACE This manual covers the JR3200, JR3300, JR3400, JR3500, JR3600, JC-3, and the JS3 Series. There are several manuals pertaining to these robots. Manual Details JR3000 JC-3 JS3 • For Your Safety Be sure to thoroughly read “For Your Safety” as it contains important safety information.
  • Page 3 Warning Do not handle or operate the robot in ways not covered in the manuals listed here. Contact Janome (listed on the back of this manual) for repairs. Failure to do so can cause electric shock or injury. Caution To make full use of the machine’s functions and capabilities, make sure that...
  • Page 4 • For information regarding optional additions for this robot, refer to “24. SPECIFICATIONS” in the operation manual Specifi cations for the JR3000 Series,“14. SPECIFICATIONS” in the operation manual Specifi cations for the JC-3 Series, and “15. SPECIFICATIONS” in the operation manual Basic Intructions for the JS3 Series.
  • Page 5: Table Of Contents

    CONTENTS PREFACE ............................1 FOR YOUR SAFETY ........................7 1. CREATING POINT JOB DATA ....................45 1.1 Via the Robot Teaching Pendant ..................45 2. EXPRESSION STRUCTURE ....................48 2.1 Expressions ......................... 48 2.2 Constant Numbers ....................... 48 2.3 Variable ..........................48 2.4 Functions ..........................
  • Page 6 8.1 Built-In Functions ......................... 92 8.1.1 Robot System Functions ....................92 8.1.2 Arithmetic System Functions ..................97 8.1.3 String System Functions ..................... 101 8.2 User Defined Functions ..................... 103 9. ALIAS DEFINITIONS ....................... 105 9.1 I/O Alias..........................105 9.2 COM Alias .......................... 107 10.
  • Page 7 17.1 Raising/Lowering Only the Z (J3) Axis ................147 17.2 Linear CP Movement in a Point Job ................149 17.3 Mechanical Initialization by Point Job ................151 17.4 Position Error Detection ....................152 17.5 Moving Only the Specified Axis..................153 18.
  • Page 8: For Your Safety

    FOR YOUR SAFETY The safety notes outlined below are provided in order to ensure safe and correct usage of the product, and to prevent injury to the operator or other people, and damage to property. ・・・・・Be sure to follow the safety guidelines detailed here・・・・・ Symbols are also listed alongside the safety note explanations.
  • Page 9 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JR3000 Series ■■■■■■■■■■■■■■■■■■ If using auxiliary axis functions to operate a motor, such as a servo motor, that produces feedback and/or a motor with high output etc., or when using auxiliary axes in the robot setup etc., we ask that you perform a risk assessment on your side and take any necessary safety measures.
  • Page 10 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JR3000 Series ■■■■■■■■■■■■■■■■■■ If Using Auxiliary Axis Functions in a Way that Require Safety Measures Danger When power to the robot is ON, never enter the safety guard or put your head, hands, or any part of your body inside.
  • Page 11 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JR3000 Series ■■■■■■■■■■■■■■■■■■ If Using Auxiliary Axis Functions in a Way that Require Safety Measures Warning Construct safety guards that are strong enough to protect the operator against such dangers as the tool or workpiece splintering, etc.
  • Page 12 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JR3000 Series ■■■■■■■■■■■■■■■■■■ Danger Do not use where flammable or corrosive gas is present. Leaked gas accumulating around the unit causes explosions or fire. Warning Use protective gear such as a helmet, protective gloves, protective goggles, and safety shoes when installing the robot and performing maintenance.
  • Page 13 IP Protection Rating: IP20. If anything unusual occurs, such as a burning smell or unusual sound, stop operation and unplug the power cord immediately. Contact Janome (details on the back of this manual) or a Janome dealer. Continuing to use the robot without addressing the problem causes electric shock, fire, or unit breakdown.
  • Page 14 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JR3000 Series ■■■■■■■■■■■■■■■■■■ Caution Do not drop or jar the unit during transport and/or installation. This can cause injury or damage the unit. Before performing any operation, ensure there is no imminent danger to any of the operators. Failure to do so causes injury.
  • Page 15 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JR3000 Series ■■■■■■■■■■■■■■■■■■ Caution When attaching tools, a USB camera, or any other device, make sure they are securely fitted before running the robot. Failure to do so causes injury or breakdown. When using the machine for extended periods of time, check and make sure none of the main unit’s mounting screws are loose, and perform a routine...
  • Page 16 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JC-3 Series ■■■■■■■■■■■■■■■■■■ Industrial Robot Safety Standards Make sure to use the robot in accordance with the laws and guidelines of the country where it is used. Functions II DESKTOP ROBOT JR3000 (Variables/Commands/Functions) CARTESIAN ROBOT JC-3 SCARA ROBOT JS3...
  • Page 17 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JC-3 Series ■■■■■■■■■■■■■■■■■■ Danger Do not use where flammable or corrosive gas is present. Leaked gas accumulating around the unit causes explosions or fire. Always set up safety guards. Anyone within the maximum reach of the robot may be injured. Using the included EMG-OUT connector (unit), set up an emergency stop interlock system that is triggered when the entrance to the safety guard is opened and make sure this entrance is the only way to access the machine.
  • Page 18 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JC-3 Series ■■■■■■■■■■■■■■■■■■ Danger Construct a safety circuit before operating the robot. Use the EMG-OUT connector (unit) to maintain safety by installing a relay such as an external stop device on the power supply line which cuts the DC 48 V power input.
  • Page 19 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JC-3 Series ■■■■■■■■■■■■■■■■■■ Danger Keep the emergency stop switch within reach of the operator when running or operating the robot. If the robot is operated when the emergency switch is not within reach, it may not be possible to stop the robot immediately and safely.
  • Page 20 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JC-3 Series ■■■■■■■■■■■■■■■■■■ Warning With the 3 axis specifications, if releasing the brake, do so after either removing the attached tool or taking measures to prevent the tool from dropping. If you release the brake when turning the power ON in Teaching Mode, Switch Run Mode, or External Run Mode, the axis may drop down depending on the mass attached to the Z axis.
  • Page 21 If anything unusual occurs, such as a burning smell or unusual sound, stop the run, unplug the controller power cord from the power outlet, and make sure there is no electrical current. Contact Janome (details on the back of this manual) or a Janome dealer.
  • Page 22 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JC-3 Series ■■■■■■■■■■■■■■■■■■ Caution When using the machine for extended periods of time, check and make sure none of the main unit’s mounting screws are loose, and perform a routine inspection every 3 months or after every 750 hours of operation. Failure to do so causes injury or breakdown.
  • Page 23 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JC-3 Series ■■■■■■■■■■■■■■■■■■ Caution When using the external safety circuit using the EMG-OUT connector (unit) and the emergency stop device is activated, make sure to release the emergency stop after resolving the cause of the emergency stop. Failure to do so can cause injury or unit breakdown.
  • Page 24 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Industrial Robot Safety Standards Make sure to use the robot in accordance with the laws and guidelines of the country where it is used. Functions II DESKTOP ROBOT JR3000 (Variables/Commands/Functions) CARTESIAN ROBOT JC-3 SCARA ROBOT JS3...
  • Page 25 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Safety Precautions Regarding Installation Robot Unit Danger Anyone within the maximum reach of the robot may be injured. Install safety guards in adherence with the following: • The safety guards cannot easily be moved. •...
  • Page 26 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Danger Do not remove the fixing plates from the robot arm until after transportation is complete. Failure to do this can cause injury or breakdown. If temporarily placing the robot on a mount, etc., make sure to secure the robot to the mount by tightening 2 or more bolts into the mounting holes on the mounting base to prevent the robot from tipping over.
  • Page 27 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Warning Avoid using the robot in operating environments such as the ones below. If using the robot in environments such as these, take measures to protect the robot from the direct effects of the work environment. •...
  • Page 28 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Caution Firmly fix the robot to a specified horizontal mounting surface using the mounting bolts and make sure that positional displacements cannot occur. Install the robot in a location that provides enough clearance to replace the battery at the front of the robot and enough clearance to connect the motor power cable and the encoder cable to the back of the robot.
  • Page 29 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Caution If connecting cables or hoses to the hand, make sure they do not restrict the robot movements and make sure the robot operations do not cause the cables or hoses to get tangled and/or cause them to break. Improperly attached cables or hoses can cause breakdown.
  • Page 30 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Warning Make sure to isolate the robot motor power cable, the encoder cable, and external I/O cables from the power cable or grounding wire of other devices. Also make sure the external I/O cables are shielded. Do not apply voltages to terminals other than those specified in the operation manuals.
  • Page 31 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Caution Use the unit in an environment where no electrical noise is present. Noise may cause unit malfunction or breakdown. Do not use the machine in an environment that is damp or dusty. Dust and moisture can cause malfunction or breakdown.
  • Page 32 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Controller Danger Mount the controller outside of the safety guards in a location where the switches can easily be reached and the controller can always be monitored by the operator without turning their back on the robot unit itself. Mount the controller so that the operation panel is 600 mm or more above floor level for maintenance work.
  • Page 33 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Warning Leave approximately 200 mm or more clearance from the front of the controller so there is no stress on the connectors and enough room to work. Failure to do so can cause malfunction or breakdown. In addition to the clearance required for installation, leave sufficient space around the controller for removing covers (with a screwdriver) as a contingency for maintenance work.
  • Page 34 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Caution Do not apply pressure to any protruding parts, such as a switch, the terminal block, or a connector when transporting the controller. Doing so can cause breakdown. If you want to use the controller, operation box (optional), or teaching pendant as a monitor while in Run Mode, mount the respective device 600 mm or more above floor level in an easily accessible place so that the emergency stop switch can be immediately reached in the event of an emergency.
  • Page 35 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Safety Precautions Regarding Usage Robot Unit Warning If objects that the robot grasps have a risk of falling or being projected, take into account the size, mass, and chemical composition of the objects for the required safety precautions.
  • Page 36 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Caution If manually moving the robot arm, do so slowly. Moving the arm at high speed can cause large amounts of backlash, reducing the robot’s accuracy and damage the backup data. Depending on the arm pose, the shaft may come in contact with the robot base even when operating the robot within the work envelope.
  • Page 37 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Robot Unit and Controller Danger When power to the robot is ON, never enter the safety guard or put your head, hands, or any part of your body inside. Entering the safety guards could result in injury. When changing modes or starting a run, first confirm there are no people inside of the safety guard and there are no obstacles that could interfere with the run.
  • Page 38 OFF. Unplug the power cord after confirming there is no power supplied to the robot and then contact Janome or a Janome dealer. Continuing to use the robot without addressing the problem causes electric shock, fire, or unit breakdown.
  • Page 39 Diagnostic Mode and Mechanical Adjustment Mode are for maintenance personnel* use only. * Maintenance personnel are individuals who have received maintenance training from Janome or from a Janome dealer. Functions II...
  • Page 40 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Controller Warning Do not touch the terminal block when there is an electrical current present. Touching the terminal block can result in electric shock or injury. Caution Keep the emergency stop switch within reach of the operator when running or operating the robot.
  • Page 41 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Safety Precautions Regarding Maintenance Robot Unit Warning Do not touch or come in contact with any potentially hot components on the robot. Doing so can result in burns and serious accidents. The servomotor may get hot. Do not touch or come in contact with the servomotor while the power is ON, only do so when the power is OFF and after it has cooled down.
  • Page 42 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Robot Unit and Controller Danger If entering the safety guards, turn the power source circuit breaker OFF, lock and tag it, and then make sure there is no power supplied to the robot before continuing.
  • Page 43 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Warning Use protective gear such as a helmet, protective gloves, protective goggles, and safety shoes when performing maintenance. Failure to do so can cause injury. When inspecting or performing maintenance on the controller, make sure there is no electrical current and perform the following: •...
  • Page 44 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Caution For a smooth and long operating life, lubricate the shaft once for every 2,000 km the robot is run. If the robot is run for 24 hour periods, lubricate the machine more frequently because the running time between lubrication periods is longer.
  • Page 45 FOR YOUR SAFETY ■■■■■■■■■■■■■■■■■■ JS3 Series ■■■■■■■■■■■■■■■■■■ Controller Danger Before entering the safety guard because of something wrong with the robot or a peripheral device, or to inspect or lubricate the machine etc., always make sure to turn the controller and power source circuit breakers OFF, lock and tag them, and make sure there is no electrical current.
  • Page 46: Creating Point Job Data

    1. CREATING POINT JOB DATA You can create point job data using the teaching pendant connected to the robot or using an external device connected to the robot via an Ethernet cable. 1.1 Via the Robot Teaching Pendant To create point job data, you need to first display the input screen. You can use either of the two procedures below to display the input screen.
  • Page 47 When starting from a point job number setting screen such as one for [Job Before Moving], [Job While Moving], and [Job After Moving], press the F4 (VIEW) key or press the F2 (NEW) key to select a point job number from a list of un-entered point job numbers to bring up the point job data entry screen.
  • Page 48 ■ Inputting Point Job Data Point Job 1 The point job data input screen appears as shown on the right when creating new point job data. [001] is a command number. Select command number [001]. To modify existing point job data, select the command line you want to modify.
  • Page 49: Expression Structure

    2. EXPRESSION STRUCTURE 2.1 Expressions Constant numbers, variables, and functions (string type and numeric type) combined with operators are called expressions. 2.2 Constant Numbers There are two types of constant numbers, numeric types (e.g. 125, 2.0, 2e15) and string types (e.g. “ABC”).
  • Page 50: Functions

    2.4 Functions A function is a setup which processes and returns numerical and string values sent to the robot. You can use the built-in functions (which are built into the robot as a function) and the user-defined functions (which you can define). Depending on the format of the values returned, there are numerical type functions and character string type functions.
  • Page 51: Command List

    ON Time, OFF Time Sound the buzzer intermittently. The green LED in the following locations blink: • On the robot front (JR3000 Series only) onoffGLED ON Time, OFF Time • On the switchbox (JR3000/JC-3 Series only) • On the controller front or operation box...
  • Page 52 Command Necessary Parameter Description Conditional branching then Perform if true. else Perform if false. endIf End of conditional branching waitCondTime Wait Time Wait for conditions for a designated period. timeUp Perform when time is up. endWait End of wait condition waitCond Wait for conditions.
  • Page 53 Command Necessary Parameter Description At a user-defined point with a point job callBase – number set to it, call the point job defined by that point type. Subroutine call point job data specified by callJob Point Job Number number. Perform a specified point string (defined in callPoints Point String Identifier Customizing Mode).
  • Page 54 Command Necessary Parameter Description Speed, Distance Raise Z downZ Speed, Distance Descend Z movetoZ Speed, Z movement pos. Move Z Make an axis move a specified distance (relative distance) at a specified speed with a CP line movement (relative move command). Entering this command displays the specified speeds, and distances of each direction as Speed, Movement/Rotation...
  • Page 55 Command Necessary Parameter Description This ends the movement made by the monoMove command when the conditions monoMoveStopIf are met. You only need to input this command when using conditions to stop the movement. This indicates the end of the movement for endMonoMove - the monoMove command.
  • Page 56 Command Necessary Parameter Description Stop COM1 and Ethernet communication. stopPC Communication is not made until the power is cycled or the startPC command is received. Start COM1 and Ethernet communication. Communication is made possible when the startPC power is turned ON so this command is not needed.
  • Page 57 Command Necessary Parameter Description Acquire an image with the camera and cameraTool Tool Data Number calculate [TCP-X] and [TCP-Y] from the data gained according to [Point Tool Data Settings]. Acquire an image with the camera and set the number of marks and coordinates acquired cameraPallet Pallet Routine Number as the routine number and coordinates for the...
  • Page 58: Execute Condition

    3.2 Execute Condition Command Necessary Parameter Description Boolean variable or expression Input ON. Boolean variable or expression Input OFF. Boolean variable or expression Serial input ON. Boolean variable or expression Serial input OFF. Boolean variable or expression Parallel input ON. Boolean variable or expression Parallel input OFF.
  • Page 59: Variable List

    4. VARIABLE LIST You can use built-in variables (which are built into the robot as a function), and user-defined variables (which can be freely defined by the user). ■ User-defined Variables Within local variables (variables valid only in defined point job data which are defined by the declare command) there are global variables, keeping variables, common setting variables, condition setting variables, and program setting variables.
  • Page 60 • Input Variable Type Identifier Description Access Remarks I/O-SYS input (JR3000/JC-3 #sysIn1 to #sysIn16 Series) #sysIn1 to #sysIn15 I/O-SYS input (JS3 Series) #genIn1 to #genIn8 I/O-1 input (JR3000/JC-3 Series) R #genIn1 to #genIn18 I/O-1 input (JS3 Series) #handIn1 to #handIn8 I/O-H input (JS3 Series only) #fbIn (a, b) a=I/O address (0x1000 to 0x17FF)
  • Page 61 • System Flag Type Identifier Description Access Remarks System flag. #sysFlag(1 to 999) Refer to “6. SYSTEM FLAG LIST.” • Hardware Type Identifier Description Access Remarks #optionLED (1 to 3) Option LEDs • Specialized Variable Type Identifier Description Access Remarks #downTimer1 to #downTimer10 A countdown timer (msec unit).
  • Page 62 • Workpiece Adjustment (additional function data) Type Identifier Description Access Remarks #workAdj_X (1 to 3000) X adjustment amount (mm unit) #workAdj_Y (1 to 3000) Y adjustment amount (mm unit) #workAdj_Z (1 to 3000) Z adjustment amount (mm unit) #workAdj_R (1 to 3000) R adjustment amount (deg unit) #workAdj_Rotation (1 to 3000) Rotate adjustment amount (deg unit) R/W...
  • Page 63 • Arbitrary Point in Current Program a = point number (0 to last point no) Type Identifier Description Access Remarks #P_X (a) X (J1) axis coordinates (mm unit) R/W #P_Y (a) Y (J2) axis coordinates (mm unit) R/W #P_Z (a) Z (J3) axis coordinates (mm unit) R/W #P_R (a) R (J4) axis coordinates (deg unit) R/W...
  • Page 64 • Arbitrary Point in Arbitrary Program Number a = program number (1 to 999), b = point number (0 to last point no) Type Identifier Description Access Remarks #prog_P_X (a, b) X (J1) axis coordinates (mm unit) #prog_P_Y (a, b) Y (J2) axis coordinates (mm unit) #prog_P_Z (a, b) Z (J3) axis coordinates (mm unit)
  • Page 65 • Tool Data for All Program Common Settings Type Identifier Description Access Remarks #comm_ToolData_Mass Tool mass (select tool mass no.) R/W #comm_ToolData_X TCP-X (mm unit) #comm_ToolData_Y TCP-Y (mm unit) #comm_ToolData_DeltaZ TCP-deltaZ (mm unit) * The tool mass numbers and kg mass unit varies depending on the model you are using, as shown below: JC-3 JC-3...
  • Page 66 • Tool Data for Individual Program Settings Type Identifier Description Access Remarks #prog_ToolData_EachCommon Common/individual selection 0 = common, 1 = individual (1 to 999) #prog_ToolData_Mass (1 to 999) Tool mass (select tool mass no.) #prog_ToolData_X (1 to 999) TCP-X (mm unit) #prog_ToolData_Y (1 to 999) TCP-Y (mm unit) #prog_ToolData_DeltaZ (1 to 999) TCP-deltaZ (mm unit)
  • Page 67 • Tool Data for Additional Point Function Type Identifier Description Access Remarks #tool_Mass (1 to 100) Tool mass (select tool mass no.) R/W #tool_X (1 to 100) TCP-X (mm unit) #tool_Y (1 to 100) TCP-Y (mm unit) #tool_Z (1 to 100) TCP-deltaZ (mm unit) R axis rotate amount (deg unit) #tool_R(1 to 100)
  • Page 68 • CP Condition for Additional Point Function Type Identifier Description Access Remarks #cp_Acc (1 to 100) CP acceleration (% unit) #cp_R_Speed (1 to 100) R axis rotate speed (% unit) #cp_R_Acc (1 to 100) R axis rotate acceleration (% unit) R/W •...
  • Page 69: Function List

    5. FUNCTION LIST You can use built-in functions (which are built into the robot as a function) and user-defined functions. User-defined Functions: These are defined in Teaching Mode or Customizing Mode. (Refer to the operation manual Functions IV .) Built-in Functions: In the character and expression entry screen, when [BFunc] is displayed at the very bottom of the LCD screen (above the F2 key), press the F2 key to view a list of the built-in functions.
  • Page 70 x, y: Numerical value or numerical variable n, m: Round the numeric value up or off to the specified digit(s) a, b: String or string variable Category Type Identifier Description Adjusts the strings on the teaching pendant LCD strRightLCD(a) (right justification). Teaching pendant LCD: Right priority;...
  • Page 71 x, y: Numerical value or numerical variable n, m: Round the numeric value up or off to the specified digit(s) a, b: String or string variable Category Type Identifier Description num abs(x) Absolute value num max(x, y) Maximum value num min(x, y) Minimum value num degrad(x) Conversion from degree to radian (x* π...
  • Page 72 x, y: Numerical value or numerical variable n, m: Round the numeric value up or off to the specified digit(s) a, b: String or string variable Category Type Identifier Description Rounds a numeric value to a 1-byte signed integer to str1SI(x) convert it to a 1-byte string.
  • Page 73 x, y: Numerical value or numerical variable n, m: Round the numeric value up or off to the specified digit(s) a, b: String or string variable Category Type Identifier Description Converts the top 2 characters to a 2-byte signed integer using num val2SIBE(a) the Big Endian byte order.
  • Page 74: System Flag List

    6. SYSTEM FLAG LIST You can use system flags as Boolean valuables. If the conditions are met, “1” (true) is automatically assigned to a system flag. If the conditions are not met, “0” (false) is automatically assigned. You can refer to the assigned values whenever necessary. 6.1 JR3000/JC-3 Series Identifier Description...
  • Page 75 Identifier Description Condition “1” (True) State of Z height adjustment (takeZWadj) #FtakeZError Error acquisition error #FlMoveOutRange Range status of relative move command Out of range Conditional stop status of relative move Stopped by the stop #FlMoveStop command condition Result of the position discrepancy detection Position discrepancy #FcheckPosError command...
  • Page 76 Identifier Description Condition “1” (True) Constant > Receive 301 #FltEther1 Ether1 Receive data comparative results data Constant = Receive 302 #FeqEther1 Ether1 Receive data comparative results data Constant < Receive 303 #FgtEther1 Ether1 Receive data comparative results data 304 #FtimeOutEther1 Ether1 Receive data comparative results Timeout 305 #FconnectEther1...
  • Page 77 • If [Order of Init.] is set to [X before Y] or [Y before X], the system flag for the respective axis is true (1) when the mechanical initialization completes for that axis. • If mechanical initialization is performed for 1 axis using the point job command initMec , only the flag for that axis changes.
  • Page 78: Js3 Series

    6.2 JS3 Series Identifier Description Condition “1” (True) 01 #FisCOM1 Existence of COM1 received data Exists Comparison command (cmpCOM) result of 02 #FltCOM1 Constant > Receive data COM1 received data Comparison command (cmpCOM) result of 03 #FeqCOM1 Constant = Receive data COM1 received data Comparison command (cmpCOM) result of 04 #FgtCOM1...
  • Page 79 Identifier Description Condition “1” (True) 126 #FsvAlarm1 J1/X servomotor alarm Servo driver error 127 #FsvAlarm2 J2/Y servomotor alarm Servo driver error 128 #FsvAlarm3 J3/Z servomotor alarm Servo driver error 129 #FsvAlarm4 J4/R servomotor alarm Servo driver error 131 #FsvPos1 J1/X servomotor positioning complete Positioning complete 132 #FsvPos2 J2/Y servomotor positioning complete...
  • Page 80 Identifier Description Condition “1” (True) Robot Maintenance Function : Battery 400 #FwarningBattery Warning Y/N Robot Maintenance Function : J1 Axis 401 #FwarningGrease1 Grease Warning Y/N Robot Maintenance Function : J2 Axis 402 #FwarningGrease2 Grease Warning Y/N Robot Maintenance Function : J3 Axis 403 #FwarningGrease3 Grease Warning Y/N Robot Maintenance Function : J4 Axis...
  • Page 81: Variables

    7. VARIABLES 7.1 Built-In Variables 7.1.1 Free Variables ■ #mv, #mkv, #nv, #nkv, #sv, #skv A variable is a receptacle into which numeric values are placed. You can use the built-in variables listed below as free variables. Variable declaration is unnecessary when using these variables.
  • Page 82: Input Variables

    7.1.2 Input Variables ■ #sysIn1..., #genIn1..., #handIn1…, #fbIn1... An input variable is a variable that can be referred to only. You cannot enter values into them. Input variables correspond to the I/O-SYS, I/O-1, I/O-H, and Fieldbus input pins. When an ON signal is received, the input variable becomes “1”...
  • Page 83: Output Variables

    7.1.3 Output Variables ■ #sysOut1 – , #genOut1 – , #handOut1 – , #fbOut1 – An output variable is a Boolean variable (you can also use Fieldbus as numeric variables). Output variables correspond to the I/O-SYS, I/O-1, I/O-H, and Fieldbus output pins. When an ON signal is output, the output variables become “1”...
  • Page 84: Down Timer

    7.1.4 Down Timer ■ #downTimer1 – #downTimer10 A numeric variable: The assigned value (using a let command) automatically starts counting down (by msec). You can assign another value during the countdown. The maximum value that can be assigned is 2, 147, 483, 647 (msec). Category Identifier Description...
  • Page 85 ■ Example The robot makes a PTP movement to P1. The Z coordinate at the end of the PTP movement is modified to be exactly 2.5 mm higher than that which is set for P1. Teaching Example P0 (Work Home) Type PTP Point CP Start Point...
  • Page 86: Pallet Routine

    7.1.6 Pallet Routine ■ #palletFlag (1 – 100), #palletCount (1 – 100) #palletCount (1 – 100) is a numeric variable and #palletFlag (1 – 100) is a Boolean variable. The values of the corresponding pallet counter and pallet flag (1 (true) when the pallet counter is at its maximum) are retained in additional function data [Pallet Routine].
  • Page 87: Workpiece Adjustment

    Point job data set to P1 Pick set #handOut1 Point job data set to P2 #palletCount (3) is 5 (P2-5) or 11 (P2-11), ld #palletCount (3) == 5 Add 1 to the Pallet 3 counter, and move to the next P2 work or #palletCount (3)...
  • Page 88 Example: Line dispensing between P2 – P3. At P1, the workpiece adjustment amount (workpiece offset value) is received from the sensor connected to COM. In the diagram below, the [Workpiece Adjustment] is “6” and the tool unit is connected according to the following settings: Starting dispensing: #genOut1 is ON.
  • Page 89: Point Coordinates

    7.1.8 Point Coordinates ■ #point_X, #point_Y, #point_Z, #point_R, #point_TagCode These variables hold the coordinate values and tag code values of a running point. A running point is a point for which point job data including these variables are set. When point job data including these variables is set to [Job before Moving], [Job while Moving], or [Job while CP Moving], the current tool center point position is different from the value in this variable.
  • Page 90: Specified Point Coordinates

    7.1.9 Specified Point Coordinates ■ #P_X, #P_Y, #P_Z, #P_R, #P_TagCode These variables hold the coordinate values and tag code values of a specified point in the current program. These variables hold the original coordinate values of a point. The values do not change even when the additional function data [Workpiece Adjustment] and the variable #jobStartHight are used.
  • Page 91: Specified Program Tool Data

    7.1.11 Specified Program Tool Data ■ #prog_ToolData_X, #prog_ToolData_Y, #prog_ToolData_DeltaZ, #prog_ToolData_EachCommon These are variables that hold tool data distance and common/individual settings for the specified program. If the argument within the brackets is specified as “0”, tool data for all program common settings is specified. Category Identifier Description...
  • Page 92: User Defined Variables

    7.2 User Defined Variables 7.2.1 Global Variables and Keeping Variables You can choose between numeric type and string type, and set up to three dimensions in the variable array. As opposed to local variables, variables which can be seen from any program and any point are called “global variables”.
  • Page 93: Functions

    8. FUNCTIONS With this robot, you can use functions built into the robot system and user-defined functions which are freely defined by the user. 8.1 Built-In Functions 8.1.1 Robot System Functions The functions built into the robot system are as follows: Type Identifier Description...
  • Page 94 Type Identifier Description Teaching pendant LCD: Left priority; Items on the left are strPlusLLCD(string a, string b) displayed in full if there is an overlap. Valid only for [Job while Moving]. num getSystemPTPmoveTime() Time required for the current PTP movement [sec] Valid only for [Job while Moving].
  • Page 95 • currentCmdArmR() This variable holds the current R (J4) axis rotation angle (R-Axis coordinate). (Absolute coordinates, in degrees) • moveAPTP(num a, num b, num X, num Y, num Z, num R) The robot moves by PTP movement to a specified position. However, this is invalid for CP Passing Points and point types which are based on CP Passing Points.
  • Page 96 num a : PTP Condition Number If 0 is specified, the movement is performed according to the program data PTP conditions. If you are not executing a program, the movement is performed according to all program common settings. num b : Coordinate system = 1: Righty, − 1: Lefty For the JR3000/JC-3 series make sure to specify 1.
  • Page 97 • getSystemPTPmoveTime() This variable holds the time required for the current PTP movement (in seconds). Valid only for [Job while Moving]. • getSystemPTPrestTime() This variable holds the time left before the current PTP movement ends (reaching the destination) (in seconds). Valid only for [Job while Moving]. •...
  • Page 98: Arithmetic System Functions

    • delPalletSkip(num a, num b) Clear the skip operation for a specified pallet routine. num a: specify a pallet routine number (1 to 100). num b: specify a pallet count (0+). You can specify “-1” to delete all data for the pallet routine number specified with num a . •...
  • Page 99 Identifier num degrad(num x) Details Coverts degrees (deg) to radians (rad). Makes a request using the formula below. x * π / 180 Argument x: numerical value to convert to radian (rad) Returned Value Radian value Identifier num raddeg(num x) Details Coverts radians (rad) to degrees (deg).
  • Page 100 Identifier num atan2(num x, num y) Details Requests inverse tangent. Inverse tangent of the value of y divided by x (y/x). atan2 (x, y) When x=0 and y>0, the return value is π /2. When x=0 and y<0, the return value is −π /2. When x>0 and y=0, the return value is 0.
  • Page 101 Identifier num fp(num x) Details Returns the decimal fraction part of x. Equivalent to the equation below: x − ip (x) Argument x: numerical value Returned Value Decimal fraction part of x Example Examples of execution results: Example 1: fp (1.3) becomes 0.3. Example 2: fp ( −...
  • Page 102: String System Functions

    8.1.3 String System Functions The following string built-in functions can be used: x, y: Numerical value or numerical variable n, m: Round the numeric value up or off to the specified digit(s) a, b: String or string variable Category Type Identifier Description chr(x)
  • Page 103 x, y: Numerical value or numerical variable n, m: Round the numeric value up or off to the specified digit(s) a, b: String or string variable Category Type Identifier Description Regards a numeric value as a double precision decimal float to str8DLE(x) convert it to an 8-byte string using the Little Endian byte order.
  • Page 104: User Defined Functions

    8.2 User Defined Functions It is convenient to define frequently used command lines as functions. You can select either the numeric type or the string type and you can set up to three dimensions for the argument in the function array. You can set arguments to user functions.
  • Page 105 Item Type Content Identifier Identifier The identifiers stipulated here are used in point job data expressions. String By writing the identifiers in parentheses you can call up the function. Specify the identifier when creating a new function. The specified identifier cannot be changed. Protect Mode Selection Consists of the following four levels to protect data: (1) No Limit, (2) Public, (3) Protected, (4) Private Function Type Selection Select the type of function values from the following:...
  • Page 106: Alias Definitions

    9. ALIAS DEFINITIONS 9.1 I/O Alias I/O aliases are functions used to give alternative names to I/O inputs and outputs. Alias definitions define the I/O-SYS and I/O-1 input/output including the data width. You can select the [I/O-Alias] as the input source/output destination for the set , reset , dataIn , and dataOut commands (select [I/O-Alias] when selecting the input source/output destination during point job command teaching).
  • Page 107 Item Type Content Identifier Identifier This is a character string used as a point job command or a PLC String program command parameter. It is a kind of variable identifier however it varies from variables in that it is not used as an expression element.
  • Page 108: Com Alias

    9.2 COM Alias The COM alias is used to provide alternative names to COM. Define the COM ports using identifiers. You can use the COM alias to specify the COM port for the COM input/output commands ( outCOM etc.) during teaching (select [COM-Alias] when selecting input source/output destination during point job command teaching).
  • Page 109: On/Off Output Control

    10. ON/OFF OUTPUT CONTROL 10.1 Output to I/O ■ set, reset, pulse, invPulse This section explains output to the tool unit (output to the I/O) commands. These commands belong to the [ON/OFF Output Control] command category. Command Category Command Parameter Output ON to a specified output Output Destination destination.
  • Page 110 ■ The output commands to open and close the hand tool are as follows: reset #sysOut15 #Output #sysOut15 OFF. > Open the hand tool. set #sysOut16 Output #sysOut16 ON. set #sysOut15 Output #sysOut15 ON. > Close the hand tool. reset #sysOut16 Output #sysOut16 OFF.
  • Page 111: Output After X Seconds

    For example, the following two kinds of point job data have different results: pulse #genOut1 100 set #genOut1 delay 100 reset #genOut1 pulse #genOut2 200 set #genOut2 delay 200 reset #genOut2 set #genOut3 set #genOut3 ↓ ↓ #genOut1 #genOut1 #genOut2 #genOut2 #genOut3 #genOut3...
  • Page 112: Sound The Buzzer

    The delaySet and delayReset commands move on to carry out the next command without waiting for output. If signals are output by set or reset commands after waiting due to the delay command, the execution timing of the command after that differs as follows: delaySet example: delay/set example: (1) delaySet #sysOut1 100...
  • Page 113: Make The Green Led Blink

    10.4 Make the Green LED Blink ■ onoffGLED The LED on the front panel of the robot or on the switchbox/operation box can be turned ON and OFF, or made to blink using point job commands. Command Category Command Parameter Output Destination (GLED) Turn ON the LED (Green).
  • Page 114: Output Values From I/O

    10.6 Output Values from I/O ■ dataOut, dataOutBCD Any given numeric value 0 – 999,999,999, or tag code, can be output to the I/O or the Boolean free variables #mv (1 – 99) and #mkv (1 – 99). Command Category Command Parameter Output Output...
  • Page 115: Motor Power On, Servomotor On/Off

    If you use Fieldbus as the output destination, the output is as follows: Example: (Settings) (Command) (Output) Output Value: 100000 100000=186A0 (hex) Output Bit Number: 32 dataOut 100000, fbOut(1820),32 82h : 86A0h (hex) Output Destination: #fbOut(1820) 183h : 0001h (hex) NOTE: •...
  • Page 116: If Branch, Wait Condition

    11. IF BRANCH, WAIT CONDITION 11.1 if Branch ■ if, then, else, endIf This section explains point job data commands for performing different jobs according to the conditions. These belong to the if Branch, Wait Condition command category. Command Category Command Parameter –...
  • Page 117 Label 1 Example2: If both #genIn1 and #genIn2 are ON, the buzzer sounds and the robot is on standby for a start instruction. #genIn1 If both #genIn1 and #genIn2 are not ON, #genIn2 Sound the alarm advance to the next job. and standby for start The commands for example 2 look like this:...
  • Page 118: Wait Condition

    11.2 Wait Condition ■ waitCond, waitCondTime, timeUp, endWait This section explains the point job data commands for waiting until the sensor (connected to #genIn2) is turned ON. These commands belong to the category [Wait Condition]. [Wait Condition] has the following commands: Command Category Command Parameter...
  • Page 119 NOTE: • endWait and timeUp cannot be used independently. • For waitCondTime , the wait time can be specified using variables and expressions. Example: Declare the local variable wtime . declare numeric wtime #genIn3=ON ld #genIn3 then then Assign 3000 to wtime . let wtime = 3000 If not else...
  • Page 120: Conditions

    12. CONDITIONS 12.1 Condition Settings ■ ld, ldi, and, ani, or, ori, anb, orb This chapter explains the conditional operation commands that come after the if Branch and Wait Condition commands ( if, waitCond, waitCondTime ). These belong to the [Condition] command category.
  • Page 121 ■ ld: ON input Standby in place until the following condition is met: waitCond #genIn2=ON (Condition) ld #genIn2 End of condition line endWait ■ ldi: OFF input Standby in place until the following condition is met: waitCond #genIn2=OFF (Condition) ldi #genIn2 endWait End of condition line ■...
  • Page 122 ■ anb: Block serial connection Standby in place until the following conditions are met: waitCond count is 10 or greater ld count>=10 Condition 1 or if fl ag is ON or flag ldi #genIn1 #genIn1 is OFF Condition 2 ani #genIn2 and #genIn2 is also OFF if both conditions 1 and 2 are true, endWait...
  • Page 123: Delay, Data In, Wait Start

    13. DELAY, DATA IN, WAIT START 13.1 Time Delay ■ delay This section explains the point job data command for controlling time delay. Command Category Command Parameter Delay, Data In, delay Delay Time Stand by in place for the specified delay time. Wait Start NOTE: The delay command is disabled when the point is a CP passing point as well as when a CP passing point is the point type used as a base type.
  • Page 124: Waiting For A Start Signal

    13.2 Waiting for a Start Signal ■ waitStart, waitStartBZ This section explains point job data commands that stop the robot until there is a start instruction. Command Category Command Parameter waitStart Stand by in place until start instruction. Delay, Data In, Stand by in place while sounding the buzzer Wait Start waitStartBZ...
  • Page 125: Input From I/O

    waitCondTime 200 Be sure not to use more than 9 indents. ld #genIn2 timeUp If the point job data includes more than 9 indents, an error set #genOut2 occurs and the error message [Error on Point Job] is displayed. ld #genIn1 then downZ 20,20 When timeUp or endWait comes before waitCondTime , or...
  • Page 126 Example: Declare the local variable code . declare numeric code Read data #genIn1 (I/O-1) – #genIn8 as a numeric value dataIn code, #genIn1, 8 and assign it to code . Declare the local variable code . declare numeric code Read data #genIn1 (I/O-1) – #genIn8 in BCD and assign dataInBCD code, #genIn1, 8 it to code .
  • Page 127: Pallet Control

    14. PALLET CONTROL 14.1 Pallet Command There are two types of additional function data [Pallet Routine]: one is [Auto Increment], which increases the counter automatically (the tool unit moves to the next point on the pallet sequentially), and the other is [Point Job Control], which does not increase the counter (the tool unit does not move to the next position on the pallet) unless you set point job data so the counter is updated.
  • Page 128 On the Point Job Control pallet, the robot can move randomly, as shown in the diagram on the previous page. For example, the robot returns to P1 each time before continuing (P1  P2 (P2-1)  P1  P2-2  P1  P2-3...) The following three commands are used for [Point Job Control]: Command Category Command...
  • Page 129 Point Job Data (to be set to P2) Releases (places) the object. reset #genOut1 Add 1 to the Pallet No. 10 counter. loopPallet 10,1 If the counter is at maximum, go to the next command. (In this example, the point job is over because there are no more commands.) If the counter is not at maximum, move to P1.
  • Page 130 The pallet number (if using the loopPallet command, the point destination number as well) can be specified using expressions. Example: Declare a local variable pal. declare numeric pal #genIn3=ON ld #genIn3 then then 5 is assigned to pal . let pal = 5 If not else 6 is assigned to pal .
  • Page 131: Execution Flow Control

    15. EXECUTION FLOW CONTROL 15.1 Subroutine Calling Jobs Set to Point Types ■ callBase If you set a point job, etc., to a user-defined point type created in Customizing Mode, you cannot perform the point job attached to the point type. For example, with [Wait Start] the robot waits until the start/stop switch is pressed or a start signal is received, but if an optional [Point Job] is set, the robot will not wait at this point.
  • Page 132 In cases like this, if you use the callBase command with the point job data set to a user-defined point, the original job attached to that point type can be made into a subroutine call and performed. With the example on the previous page, if you use the callBase command for Point Job Data 7, the point job attached to the user-defined point type in Point Job Data 7 can be made into a subroutine call in the command string when executing the point job at P1.
  • Page 133: Subroutine Calling Point Job Data

    15.2 Subroutine Calling Point Job Data ■ callJob While performing a point job, other point job data can be called up and executed (as a subroutine). To handle errors, etc., point job data can be made short and easy if you take common parts of multiple point jobs and make it into one point job datum to call up and use from other point job data.
  • Page 134 NOTE: When point job data called by the callJob command contains a callJob command, if the nest level exceeds Level 30 (No. 043), an error occurs. (The following example shows nest level 2.) Command Execution Flow                 callBase    ...
  • Page 135: End The Point Job

    15.3 End the Point Job ■ returnJob If there is a complex condition that requires handling and there is no process in place to handle it, the point job can be ended by the returnJob command. Command Category Command Parameter Execute Flow Control returnJob –...
  • Page 136: Subroutine Calling A Program

    15.4 Subroutine Calling a Program ■ callProg While performing a point job, another program can be called and executed (as a subroutine). Command Category Command Parameter Program Call up the specified program number as Execute Flow Control callProg Number a subroutine. NOTE: The callProg command is disabled at CP passing points and points where a CP passing point is set as the base point type.
  • Page 137 Program numbers can also be specified using expressions. Exapmle: Declare the local variable eprg . declare numeric eprg Wait for 0.2 seconds until the following condition is met: waitCondTime 200 #genIn1=ON (Condition) ld #genIn1 If the condition is not met within 0.2 seconds, timeUp ld #genIn2 #genIn2=ON...
  • Page 138 Exapmle: The subprogram is set to [Absolute]. The robot runs on the point data coordinates regardless of the position of the calling point. At the current point (calling point), the robot performs the subprogram work home starting point job (without moving), and then moves to P1 (SP1). Calling Point Calling Point NOTE: When a program called by the callProg command contains a callProg command, an error...
  • Page 139 Depending on the handling method of the position data, the position of the points may vary even if the values are the same. (See below) Position Data Value (0, 0) (15, 20) (10, 20) (5, 10) • Absolute (10, 10) (0, 0) (15, 20) (10, 20)
  • Page 140: Subroutine Call For A Point String

    15.5 Subroutine Call for a Point String ■ callPoints A point string (defined in Customizing Mode) with an identifier can be called up and executed. Command Category Command Parameter Point String Call up the specified point string Execute Flow Control callPoints Identifier as a subroutine.
  • Page 141: Forced Program Termination

    15.6 Forced Program Termination ■ endProg A program (run) can be terminated on the spot with the endProg command. The robot does not return to the work home position. Command Category Command Parameter Execute Flow Control endProg – End a program run on the spot. Example: If you register a point job as such on the right, the point job data commands are like those on the left.
  • Page 142: Assigning The Return Value Of A Function

    15.7 Assigning the Return Value of a Function ■ returnFunc Assign the value of a specified expression as the return value and end the function. Command Category Command Parameter Assign the specified expression as a Execute Flow Control returnFunc Expression return value and end the function.
  • Page 143 Example: If you register a point job as such on the right, the point job data commands are like those on the left. waitCondTime 500 ld #genIn2 timeUp genIn2==ON waitStartBZ goRPoint PTP3, 8 endWait waitStartBZ goRPoint PTP3, 8 What this point job means: If #genIn2 does not come ON within 0.5 seconds, the buzzer sounds and the robot will wait for a start signal.
  • Page 144 [goCRPoint PTP3,1]: This command is used to jump to a specified point while in the middle of making a CP movement. CP Start Point to CP End Point is performed as one operation, and if the destination number is set to 0, the robot returns to the point where the current CP movement started (CP Start Point) (the robot moves according to PTP Condition 03).
  • Page 145: Jumping To A Specified Command

    15.9 Jumping to a Specified Command ■ jump, Label Command Category Command Parameter Label Number jump Jump to the specified label number. Execute Flow Control Label Number Label A destination mark for the jump command Example: Label 1 If #genIn2 is ON, the buzzer sounds and the robot is on standby for a start instruction.
  • Page 146: For, Do-Loop

    16. FOR, DO-LOOP ■ for, next, exitFor, do,loop, exitDo Command Command Parameter Category Variable Name, Initial Value, Repeats commands between for and next End Value, until the specified variable changes from the Step Value initial value to the end value. next for, do-loop exitFor...
  • Page 147 The for command parameters (initial value, end value and step value) can be specified using variables or expressions. declare numeric loop Declare the local variable loop . ld #genIn1 #genIn1=ON then then let loop = 5 Assign 5 to loop . else If not let loop = 10...
  • Page 148: Move

    17. MOVE 17.1 Raising/Lowering Only the Z (J3) Axis ■ upZ, downZ, movetoZ Only the Z (J3) axis can be raised or lowered using point job data. These commands belong to the Move command category. Command Category Command Parameter Raise only the Z (J3) axis by the specified Speed, Distance distance.
  • Page 149 The distance and speed can also be designated by variables and expressions. Wait in place until the following condition is met: waitCond #genIn2=ON (Condition) ld #genIn2 End of condition endWait Lower or raise only the Z (J3) axis at 20mm/sec by the distance downZ 20, #P_Z(1) -#point_Z calculated by deducting the current point Z-coordinates from the P1 Z-coordinates.
  • Page 150: Linear Cp Movement In A Point Job

    17.2 Linear CP Movement in a Point Job ■ lineMove, lineMoveStopIf The robot can make linear CP movements using point job data commands. The CP speed and the moving amount for each coordinate axis can be set. Also, you can set conditions to terminate the movement halfway through.
  • Page 151 ■ How to stop in the middle of a CP movement according to conditions with lineMove . lineMoveSpeed 3 lineMoveX 20 lineMoveY 0 lineMoveZ 0 lineMoveR 0 lineMoveStopIf Condition to stop movement ld #sysIn1 endLineMove If #sysIn1 comes ON, even before the robot arrives at callJob11 the +20 X direction, the robot stops moving and goes to the next command (callJob11).
  • Page 152: Mechanical Initialization By Point Job

    • Move commands are invalid at CP passing points or where a CP passing point is set as the base point type. • Movements and [Job while CP Moving] are invalid with initMec . Contents Specified JR3000 Series, Axis JC-3 Absolute Encoder Models JC-3 Standard Models Initialize all axes.
  • Page 153: Position Error Detection

    17.4 Position Error Detection ■ checkPos This command is only valid for the JR3000/JC-3 Series. The JS3 Series does not have this command. Position errors can be detected using point jobs. When the checkPos command is executed, the robot goes to the absolute coordinates (x:0, y:0, z:0, r:0), regardless of the current position coordinates.
  • Page 154: Moving Only The Specified Axis

    17.5 Moving Only the Specified Axis ■ monoMove, endMonoMove, monoMoveStopif Commands Makes movement for 1 specified axis. You can specify the axis from among the X, Y, Z, R and the auxiliary MT1 and MT2 axes. The distance is specified using the mMoveDistance command.
  • Page 155 The change that occurs with the speed in this example is shown in the diagram below. Speed (mm/s) Accel = 50 (mm/s Decel = -50 (mm/s mMoveSpeed speed 30 (mm/s) Area = mMoveDistance distance Start-up Speed 5 (mm/s) Time (s) mMoveAccelTime acceleration time 0.5 s (= 500 msec) With the mMoveAccelTime command, the acceleration (mm/s...
  • Page 156 ■ mMoveDistance Command This specifies the distance for movement using the monoMove command. The distance must be specified for this command, unlike the speed and acceleration commands. If the mMoveDistance command is omitted, an expression error occurs and the movement is not made. The unit parameter varies depending on the axis specified.
  • Page 157 ■ mMoveAccelRate, mMoveAccelTime Commands These specify the acceleration for movement using the monoMove command. Specify the acceleration using one of the following methods: use the mMoveAccelRate command to specify a rate of acceleration or use the mMoveAccelTime command to specify an acceleration time.
  • Page 158 For the mMoveAccelTime command (acceleration time [msec]), specify the rate of acceleration as the unit of time (msec) it takes to reach the speed specified with the mMoveSpeed command. The entry range of the parameter is 0 – 999,999,999 (msec). The minimum parameter that can be entered is 1 (msec).
  • Page 159 NOTE: Precautions and Limitations for Exceeding the Default Acceleration (100 % Acceleration) The maximum acceleration for the X, Y, Z, and R axes is limited to 500 % of the default acceleration. With the JR3000/JC-3 Series, if the specified acceleration exceeds the default acceleration (100 %) or the acceleration time is set to 0 (msec), the speed is limited to the same as that which is used during mechanical initialization.
  • Page 160: Lcd, 7Sled

    18. LCD, 7SLED 18.1 Display the Specified Strings on the Teaching Pendant ■ clrLCD, clrLineLCD, outLCD, eoutLCD With these commands you can display and delete characters entered into the Teaching Pendant LCD screen. Command Command Parameter Category clrLCD Clear the entire LCD. clrLineLCD Line Clear the specified line on the LCD.
  • Page 161: Display A Given Number On The 7 Segment Led

    ■ sys7SLED, out7SLED Using the out7SLED command, you can display a given number on the 7-segment LED (program number display) on the front of the robot (JR3000 Series) or on the switchbox/ operation box. If you execute the sys7SLED command or change program numbers, the LED will revert back to displaying the program number.
  • Page 162: Com/Ethernet Input/Output

    19. COM/ETHERNET INPUT/OUTPUT ■ outCOM, eoutCOM, setWTCOM, inCOM, cmpCOM, ecmpCOM, clrCOM, shiftCOM You can input and output the data from COM. You can also input/output (send/receive) using Ethernet client port. For details, refer to “21.1 Ethernet Client Functions.” Command Command Parameter Category Outputs the characters from COM and...
  • Page 163 Also, with the eoutCOM command, characters can be specified in hexadecimal code using the % symbol (see example 3). However, if any character other than 0 to 9, A to F, or % comes after the % symbol, the % symbol is output as a character (see example 4). If you want to output the % symbol as a character when 0 to 9, A to F come after it, enter two % symbols (%%).
  • Page 164 Corresponding System Flags COM3 COM1 COM2 (JR3000/JC-3 Series Only) Data Received sysFlag(1) sysFlag(6) sysFlag(11) Specified Character > Receive Buffer sysFlag(2) sysFlag(7) sysFlag(12) Specified Character = Receive Buffer sysFlag(3) sysFlag(8) sysFlag(13) Specified Character < Receive Buffer sysFlag(4) sysFlag(9) sysFlag(14) Timeout sysFlag(5) sysFlag(10) sysFlag(15) Client Port 1...
  • Page 165 cmpCOM Command Example with COM1 * A timeout is determined from the time Start exceeded from the start of the cmpCOM command. Set the timeout period with n = 1 the separate setWTCOM command. If the cmpCOM command is performed at a CP passing point, a timeout period of 0 sec is applied.
  • Page 166 ■ COM and Ethernet Receive Buffer Clear: clrCOM The receive buffer is a place where received data is stored. Each COM port has an 8-kbyte receive buffer. Newly received data does not overwrite existing data, but is written to the buffer after the existing data. A receive buffer is cleared by turning OFF the power or executing the clrCOM command.
  • Page 167: Variable, Comment, System Control

    20. VARIABLE, COMMENT, SYSTEM CONTROL 20.1 Variable Declaration and Assignment ■ declare, let Point job data which includes declare and let commands or variables only valid in user- defined functions are referred to as local variables. When you declare a local variable set the variable type and identifier. The identifier is used as a variable name and the variable type can be selected from either a numeric type or a string type.
  • Page 168: Comment Insertion

    Both of the following point job data use the local variable count , however, the two variables do not interfere with each other since local variables are enabled only within point job data containing a declare command. For example, if 0 is assigned to the variable count in point job data 24, the value of the variable count in point job data 05 will not change, and vice versa.
  • Page 169: Change A Program Number By Point Job

    NOTE: The display on the teaching pendant is the same for rem and crem . Example1: rem (teaching pendant display) #genIn1 is true, ld #genIn1 (#genIn1: obstacle sensor): Comment Line rem #genIn1: obstacle sensor then Stand by and sound the buzzer until there is a start waitStartBZ instruction.
  • Page 170: Change The Plc Program By Point Job

    • If you set the setProgNum command to the point job performed when the robot is standing by, you can change the program number according to the input from COM. You can also connect a barcode reader to COM and change the program number according to the barcode values. If you change the program number while running a program, the running program does not change immediately.
  • Page 171: Appendix

    21. APPENDIX 21.1 Ethernet Client Functions This is a client-side function in the client-server system. The robot is the client, and it can communicate with an external device that is the server. Data send/receive are performed using the inCOM and outCOM point job commands, which are the same command system as for COM communications.
  • Page 172: Ethernet Client Port Settings

    The robot (JR3000 or JC-3) initiates communication by sending a connection request to the external device. External devices must be in a connection standby state in order to receive the connection request. The external device cannot receive any data and no data will be transferred if the initial connection is not established, even if the robot attempts to transfer data.
  • Page 173: Connection Process

    21.1.2 Connection Process The robot uses the connect command to connect with the external device and the disconnect command to disconnect from the device. Command Required Parameters connect Port number, setting value Connects to the external device. disconnect Port number, setting value Disconnects from the external device.
  • Page 174 Additionally, unique system flags are provided for saving comparative results using the cmpCOM and ecmpCOM commands for each client port as shown. Client Port 1 Client Port 2 Client Port 3 Received Data Valid sysFlag(300) sysFlag(306) sysFlag(312) Characters>Receiving Buffer sysFlag(301) sysFlag(307) sysFlag(313) Characters=Receiving Buffer...
  • Page 175: Practical Example

    21.1.3 Practical Example This is an example case of notifying a log server on the network with robot movement information. Log data transmissions are made when the program operation completed (when the cycle finished). ■ Log server The subject log server shall be accessible from the network under the following conditions. Protocol TCP/IP, non-procedural communication Log Server IP Address...
  • Page 176 Create the following point job and set it to [Job on End of Cycle] (refer to the operation manual Teaching Pendant Operation for details on how to make the settings). declare string logstr declare num pno Acquires the current program number. let pno = currentMainProgNumber() Enters the program character string.
  • Page 177 Normally, well-known ports and registered ports are used by the server (an external device such as a PC, PLC etc.), and dynamic and private ports are used by the client (the robot). Using well-known ports is not recommended as server devices likely use them to provide vital functions for the network.
  • Page 178 Machine specifications may be modified without prior notice to improve quality. No part of this manual may be reproduced in any form, including photocopying, reprinting, or translation into another language, without the prior written consent of JANOME. © 2014–2021 Janome Sewing Machine Co., Ltd.

Table of Contents