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.
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.
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.
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.
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.
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”).
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.
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...
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.
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 •...
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.
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.
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...
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.
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”...
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”...
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...
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].
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.
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.
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.
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...
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”.
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]. •...
• 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 ( −...
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.
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:...
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.
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).
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.
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...
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...
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).
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...
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: •...
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:...
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...
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...
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.
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...
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 .
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 .
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.
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 ...
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 –...
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)
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.
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.
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).
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.
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...
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.
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).
• 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.
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.
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.
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.
■ 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.
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.
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.
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.
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.
• 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.
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.
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.
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...
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.
Need help?
Do you have a question about the JR3000 Series and is the answer not in the manual?
Questions and answers