Fanuc

  • Uploaded by: juan carlos
  • 0
  • 0
  • February 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Fanuc as PDF for free.

More details

  • Words: 11,740
  • Pages: 49
Loading documents preview...
FANUC Robotics SYSTEM R–J3 and R–J3i MODEL B Controller HMI User’s Manual MARUIBHMI05011E REV. A Applies to software version 5.22 and later. This publication contains proprietary information of FANUC Robotics North America, Inc. furnished for customer use only. No other uses are authorized without the express written permission of FANUC Robotics North America, Inc. FANUC Robotics North America, Inc. 3900 W. Hamlin Road Rochester Hills, Michigan 48309-3253

The descriptions and specifications contained in this manual were in effect at the time this manual was approved. FANUC Robotics North America, Inc, hereinafter referred to as FANUC Robotics, reserves the right to discontinue models at any time or to change specifications or design without notice and without incurring obligations. FANUC Robotics manuals present descriptions, specifications, drawings, schematics, bills of material, parts, connections and/or procedures for installing, disassembling, connecting, operating and programming FANUC Robotics’ products and/or systems. Such systems consist of robots, extended axes, robot controllers, application software, the KAREL programming language, INSIGHT vision equipment, and special tools. FANUC Robotics recommends that only persons who have been trained in one or more approved FANUC Robotics Training Course(s) be permitted to install, operate, use, perform procedures on, repair, and/or maintain FANUC Robotics’ products and/or systems and their respective components. Approved training necessitates that the courses selected be relevant to the type of system installed and application performed at the customer site. WARNING This equipment generates, uses, and can radiate radio frequency energy and if not installed and used in accordance with the instruction manual, may cause interference to radio communications. As temporarily permitted by regulation, it has not been tested for compliance with the limits for Class A computing devices pursuant to subpart J of Part 15 of FCC Rules, which are designed to provide reasonable protection against such interference. Operation of the equipment in a residential area is likely to cause interference, in which case the user, at his own expense, will be required to take whatever measure may be required to correct the interference. FANUC Robotics conducts courses on its systems and products on a regularly scheduled basis at its headquarters in Rochester Hills, Michigan. For additional information contact FANUC Robotics North America, Inc. Training Department 3900 W. Hamlin Road Rochester Hills, Michigan 48309-3253 web site: www.fanucrobotics.com Send your comments and suggestions about this manual to: [email protected]

Copyright 2001 by FANUC Robotics North America, Inc. All Rights Reserved The information illustrated or contained herein is not to be reproduced, copied, translated into another language, or transmitted in whole or in part in any way without the prior written consent of FANUC Robotics North America, Inc. AccuStat, ArcTool, DispenseTool, FANUC LASER DRILL, KAREL, INSIGHT, INSIGHT II, PaintTool, PaintWorks, PalletTool, SOCKETS, SOFT PARTS SpotTool, TorchMate, and YagTool are Registered Trademarks of FANUC Robotics. FANUC Robotics reserves all proprietary rights, including but not limited to trademark and trade name rights, in the following names: AccuFlow ARC Mate ARC Mate Sr. IntelliTrak LaserTool MotionParts PaintWorks II PalletMate SureWeld TurboMove

Conventions Used in this Manual

This manual includes information essential to the safety of personnel, equipment, software, and data. This information is indicated by headings and boxes in the text. WARNING Information appearing under WARNING concerns the protection of personnel. It is boxed and in bold type to set it apart from other text.

CAUTION Information appearing under CAUTION concerns the protection of equipment, software, and data. It is boxed to set it apart from other text.

NOTE Information appearing next to NOTE concerns related information or useful hints.

11/01/00

MARUIBHMI05011E

Safety

s–1

FANUC Robotics is not and does not represent itself as an expert in safety systems, safety equipment, or the specific safety aspects of your company and/or its work force. It is the responsibility of the owner, employer, or user to take all necessary steps to guarantee the safety of all personnel in the workplace. The appropriate level of safety for your application and installation can best be determined by safety system professionals. FANUC Robotics therefore, recommends that each customer consult with such professionals in order to provide a workplace that allows for the safe application, use, and operation of FANUC Robotic systems. According to the industry standard ANSI/RIA R15.06, the owner or user is advised to consult the standards to ensure compliance with its requests for Robotics System design, usability, operation, maintenance, and service. Additionally, as the owner, employer, or user of a robotic system, it is your responsibility to arrange for the training of the operator of a robot system to recognize and respond to known hazards associated with your robotic system and to be aware of the recommended operating procedures for your particular application and robot installation. FANUC Robotics therefore, recommends that all personnel who intend to operate, program, repair, or otherwise use the robotics system be trained in an approved FANUC Robotics training course and become familiar with the proper operation of the system. Persons responsible for programming the system-including the design, implementation, and debugging of application programs-must be familiar with the recommended programming procedures for your application and robot installation. The following guidelines are provided to emphasize the importance of safety in the workplace.

s–2

SAFETY

MARUIBHMI05011E

CONSIDERING SAFETY FOR YOUR ROBOT INSTALLATION

Safety is essential whenever robots are used. Keep in mind the following factors with regard to safety:  The safety of people and equipment  Use of safety enhancing devices  Techniques for safe teaching and manual operation of the robot(s)  Techniques for safe automatic operation of the robot(s)  Regular scheduled inspection of the robot and workcell  Proper maintenance of the robot

Keeping People and Equipment Safe

The safety of people is always of primary importance in any situation. However, equipment must be kept safe, too. When prioritizing how to apply safety to your robotic system, consider the following:  People  External devices  Robot(s)  Tooling  Workpiece

Using Safety Enhancing Devices

Always give appropriate attention to the work area that surrounds the robot. The safety of the work area can be enhanced by the installation of some or all of the following devices:  Safety fences, barriers, or chains  Light curtains  Interlocks  Pressure mats  Floor markings  Warning lights  Mechanical stops  EMERGENCY STOP buttons  DEADMAN switches

Setting Up a Safe Workcell

A safe workcell is essential to protect people and equipment. Observe the following guidelines to ensure that the workcell is set up safely. These suggestions are intended to supplement and not replace existing federal, state, and local laws, regulations, and guidelines that pertain to safety. 

Sponsor your personnel for training in approved FANUC Robotics training course(s) related to your application. Never permit untrained personnel to operate the robots.



Install a lockout device that uses an access code to prevent unauthorized persons from operating the robot.



Use anti-tie-down logic to prevent the operator from bypassing safety measures.



Arrange the workcell so the operator faces the workcell and can see what is going on inside the cell.

MARUIBHMI05011E

SAFETY

s–3



Clearly identify the work envelope of each robot in the system with floor markings, signs, and special barriers. The work envelope is the area defined by the maximum motion range of the robot, including any tooling attached to the wrist flange that extend this range.



Position all controllers outside the robot work envelope.



Never rely on software as the primary safety element.



Mount an adequate number of EMERGENCY STOP buttons or switches within easy reach of the operator and at critical points inside and around the outside of the workcell.



Install flashing lights and/or audible warning devices that activate whenever the robot is operating, that is, whenever power is applied to the servo drive system. Audible warning devices shall exceed the ambient noise level at the end-use application.



Wherever possible, install safety fences to protect against unauthorized entry by personnel into the work envelope.



Install special guarding that prevents the operator from reaching into restricted areas of the work envelope.



Use interlocks.



Use presence or proximity sensing devices such as light curtains, mats, and capacitance and vision systems to enhance safety.



Periodically check the safety joints or safety clutches that can be optionally installed between the robot wrist flange and tooling. If the tooling strikes an object, these devices dislodge, remove power from the system, and help to minimize damage to the tooling and robot.



Make sure all external devices are properly filtered, grounded, shielded, and suppressed to prevent hazardous motion due to the effects of electro-magnetic interference (EMI), radio frequency interference (RFI), and electro-static discharge (ESD).



Make provisions for power lockout/tagout at the controller.



Eliminate pinch points. Pinch points are areas where personnel could get trapped between a moving robot and other equipment.



Provide enough room inside the workcell to permit personnel to teach the robot and perform maintenance safely.



Program the robot to load and unload material safely.



If high voltage electrostatics are present, be sure to provide appropriate interlocks, warning, and beacons.



If materials are being applied at dangerously high pressure, provide electrical interlocks for lockout of material flow and pressure.

s–4

Staying Safe While Teaching or Manually Operating the Robot

SAFETY

MARUIBHMI05011E

Advise all personnel who must teach the robot or otherwise manually operate the robot to observe the following rules:   

 

Never wear watches, rings, neckties, scarves, or loose clothing that could get caught in moving machinery. Know whether or not you are using an intrinsically safe teach pendant if you are working in a hazardous environment. Before teaching, visually inspect the robot and work envelope to make sure that no potentially hazardous conditions exist. The work envelope is the area defined by the maximum motion range of the robot. These include tooling attached to the wrist flange that extends this range. The area near the robot must be clean and free of oil, water, or debris. Immediately report unsafe working conditions to the supervisor or safety department. FANUC Robotics recommends that no one enter the work envelope of a robot that is on, except for robot teaching operations. However, if you must enter the work envelope, be sure all safeguards are in place, check the teach pendant DEADMAN switch for proper operation, and place the robot in teach mode. Take the teach pendant with you, turn it on, and be prepared to release the DEADMAN switch. Only the person with the teach pendant should be in the work envelope. WARNING Never bypass, strap, or otherwise deactivate a safety device, such as a limit switch, for any operational convenience. Deactivating a safety device is known to have resulted in serious injury and death.

  

Know the path that can be used to escape from a moving robot; make sure the escape path is never blocked. Isolate the robot from all remote control signals that can cause motion while data is being taught. Test any program being run for the first time in the following manner: WARNING Stay outside the robot work envelope whenever a program is being run. Failure to do so can result in injury.

– Using a low motion speed, single step the program for at least one



full cycle. – Using a low motion speed, test run the program continuously for at least one full cycle. – Using the programmed speed, test run the program continuously for at least one full cycle. Make sure all personnel are outside the work envelope before running production.

MARUIBHMI05011E

Staying Safe During Automatic Operation

Staying Safe During Inspection

SAFETY

s–5

Advise all personnel who operate the robot during production to observe the following rules: 

Make sure all safety provisions are present and active.



Know the entire workcell area. The workcell includes the robot and its work envelope, plus the area occupied by all external devices and other equipment with which the robot interacts.



Understand the complete task the robot is programmed to perform before initiating automatic operation.



Make sure all personnel are outside the work envelope before operating the robot.



Never enter or allow others to enter the work envelope during automatic operation of the robot.



Know the location and status of all switches, sensors, and control signals that could cause the robot to move.



Know where the EMERGENCY STOP buttons are located on both the robot control and external control devices. Be prepared to press these buttons in an emergency.



Never assume that a program is complete if the robot is not moving. The robot could be waiting for an input signal that will permit it to continue activity.



If the robot is running in a pattern, do not assume it will continue to run in the same pattern.



Never try to stop the robot, or break its motion, with your body. The only way to stop robot motion immediately is to press an EMERGENCY STOP button located on the controller panel, teach pendant, or emergency stop stations around the workcell.

When inspecting the robot, be sure to 

Turn off power at the controller.



Lock out and tag out the power source at the controller according to the policies of your plant.



Turn off the compressed air source and relieve the air pressure.



If robot motion is not needed for inspecting the electrical circuits, press the EMERGENCY STOP button on the operator panel.



Never wear watches, rings, neckties, scarves, or loose clothing that could get caught in moving machinery.

s–6

Staying Safe During Maintenance

SAFETY

MARUIBHMI05011E



If power is needed to check the robot motion or electrical circuits, be prepared to press the EMERGENCY STOP button, in an emergency.



Be aware that when you remove a servomotor or brake, the associated robot arm will fall if it is not supported or resting on a hard stop. Support the arm on a solid support before you release the brake.

When performing maintenance on your robot system, observe the following rules: 

Never enter the work envelope while the robot or a program is in operation.



Before entering the work envelope, visually inspect the workcell to make sure no potentially hazardous conditions exist.



Never wear watches, rings, neckties, scarves, or loose clothing that could get caught in moving machinery.



Consider all or any overlapping work envelopes of adjoining robots when standing in a work envelope.



Test the teach pendant for proper operation before entering the work envelope.



If it is necessary for you to enter the robot work envelope while power is turned on, you must be sure that you are in control of the robot. Be sure to take the teach pendant with you, press the DEADMAN switch, and turn the teach pendant on. Be prepared to release the DEADMAN switch to turn off servo power to the robot immediately.



Whenever possible, perform maintenance with the power turned off. Before you open the controller front panel or enter the work envelope, turn off and lock out the 3-phase power source at the controller.



Be aware that when you remove a servomotor or brake, the associated robot arm will fall if it is not supported or resting on a hard stop. Support the arm on a solid support before you release the brake. WARNING Lethal voltage is present in the controller WHENEVER IT IS CONNECTED to a power source. Be extremely careful to avoid electrical shock. HIGH VOLTAGE IS PRESENT at the input side whenever the controller is connected to a power source. Turning the disconnect or circuit breaker to the OFF position removes power from the output side of the device only.



Release or block all stored energy. Before working on the pneumatic system, shut off the system air supply and purge the air lines.

MARUIBHMI05011E

SAFETY

s–7



Isolate the robot from all remote control signals. If maintenance must be done when the power is on, make sure the person inside the work envelope has sole control of the robot. The teach pendant must be held by this person.



Make sure personnel cannot get trapped between the moving robot and other equipment. Know the path that can be used to escape from a moving robot. Make sure the escape route is never blocked.



Use blocks, mechanical stops, and pins to prevent hazardous movement by the robot. Make sure that such devices do not create pinch points that could trap personnel.

WARNING Do not try to remove any mechanical component from the robot before thoroughly reading and understanding the procedures in the appropriate manual. Doing so can result in serious personal injury and component destruction.



Be aware that when you remove a servomotor or brake, the associated robot arm will fall if it is not supported or resting on a hard stop. Support the arm on a solid support before you release the brake.



When replacing or installing components, make sure dirt and debris do not enter the system.



Use only specified parts for replacement. To avoid fires and damage to parts in the controller, never use nonspecified fuses.



Before restarting a robot, make sure no one is inside the work envelope; be sure that the robot and all external devices are operating normally.

s–8

SAFETY

MARUIBHMI05011E

KEEPING MACHINE TOOLS AND EXTERNAL DEVICES SAFE

Certain programming and mechanical measures are useful in keeping the machine tools and other external devices safe. Some of these measures are outlined below. Make sure you know all associated measures for safe use of such devices.

Programming Safety Precautions

Implement the following programming safety measures to prevent damage to machine tools and other external devices.

Mechanical Safety Precautions



Back-check limit switches in the workcell to make sure they do not fail.



Implement ‘‘failure routines” in programs that will provide appropriate robot actions if an external device or another robot in the workcell fails.



Use handshaking protocol to synchronize robot and external device operations.



Program the robot to check the condition of all external devices during an operating cycle.

Implement the following mechanical safety measures to prevent damage to machine tools and other external devices. 

Make sure the workcell is clean and free of oil, water, and debris.



Use software limits, limit switches, and mechanical hardstops to prevent undesired movement of the robot into the work area of machine tools and external devices.

MARUIBHMI05011E

SAFETY

s–9

KEEPING THE ROBOT SAFE

Observe the following operating and programming guidelines to prevent damage to the robot.

Operating Safety Precautions

The following measures are designed to prevent damage to the robot during operation.

Programming Safety Precautions



Use a low override speed to increase your control over the robot when jogging the robot.



Visualize the movement the robot will make before you press the jog keys on the teach pendant.



Make sure the work envelope is clean and free of oil, water, or debris.



Use circuit breakers to guard against electrical overload.

The following safety measures are designed to prevent damage to the robot during programming: 

Establish interference zones to prevent collisions when two or more robots share a work area.



Make sure that the program ends with the robot near or at the home position.



Be aware of signals or other operations that could trigger operation of tooling resulting in personal injury or equipment damage.



In dispensing applications, be aware of all safety guidelines with respect to the dispensing materials.

NOTE Any deviation from the methods and safety practices described in this manual must conform to the approved standards of your company. If you have questions, see your supervisor.

s–10

ADDITIONAL SAFETY CONSIDERATIONS FOR PAINT ROBOT INSTALLATIONS

SAFETY

MARUIBHMI05011E

Process technicians are sometimes required to enter the paint booth, for example, during daily or routine calibration or while teaching new paths to a robot. Maintenance personal also must work inside the paint booth periodically. Whenever personnel are working inside the paint booth, ventilation equipment must be used. Instruction on the proper use of ventilating equipment usually is provided by the paint shop supervisor. Although paint booth hazards have been minimized, potential dangers still exist. Therefore, today’s highly automated paint booth requires that process and maintenance personnel have full awareness of the system and its capabilities. They must understand the interaction that occurs between the vehicle moving along the conveyor and the robot(s), hood/deck and door opening devices, and high-voltage electrostatic tools. Paint robots are operated in three modes:   

Teach or manual mode Automatic mode, including automatic and exercise operation Diagnostic mode

During both teach and automatic modes, the robots in the paint booth will follow a predetermined pattern of movements. In teach mode, the process technician teaches (programs) paint paths using the teach pendant. In automatic mode, robot operation is initiated at the System Operator Console (SOC) or Manual Control Panel (MCP), if available, and can be monitored from outside the paint booth. All personnel must remain outside of the booth or in a designated safe area within the booth whenever automatic mode is initiated at the SOC or MCP. In automatic mode, the robots will execute the path movements they were taught during teach mode, but generally at production speeds. When process and maintenance personnel run diagnostic routines that require them to remain in the paint booth, they must stay in a designated safe area.

MARUIBHMI05011E

Paint System Safety Features

SAFETY

s–11

Process technicians and maintenance personnel must become totally familiar with the equipment and its capabilities. To minimize the risk of injury when working near robots and related equipment, personnel must comply strictly with the procedures in the manuals. This section provides information about the safety features that are included in the paint system and also explains the way the robot interacts with other equipment in the system. The paint system includes the following safety features: 

Most paint booths have red warning beacons that illuminate when the robots are armed and ready to paint. Your booth might have other kinds of indicators. Learn what these are.



Some paint booths have a blue beacon that, when illuminated, indicates that the electrostatic devices are enabled. Your booth might have other kinds of indicators. Learn what these are.



EMERGENCY STOP buttons are located on the robot controller and teach pendant. Become familiar with the locations of all E-STOP buttons.



An intrinsically safe teach pendant is used when teaching in hazardous paint atmospheres.



A DEADMAN switch is located on each teach pendant. When this switch is held in, and the teach pendant is on, power is applied to the robot servo system. If the engaged DEADMAN switch is released during robot operation, power is removed from the servo system, all axis brakes are applied, and the robot comes to an EMERGENCY STOP. Safety interlocks within the system might also E-STOP other robots.

WARNING An EMERGENCY STOP will occur if the DEADMAN switch is released on a bypassed robot.



Overtravel by robot axes is prevented by software limits. All of the major and minor axes are governed by software limits. Limit switches and hardstops also limit travel by the major axes.

s–12

SAFETY



MARUIBHMI05011E

EMERGENCY STOP limit switches and photoelectric eyes might be part of your system. Limit switches, located on the entrance/exit doors of each booth, will EMERGENCY STOP all equipment in the booth if a door is opened while the system is operating in automatic or manual mode. For some systems, signals to these switches are inactive when the switch on the SCC is in teach mode. When present, photoelectric eyes are sometimes used to monitor unauthorized intrusion through the entrance/exit silhouette openings.



Staying Safe While Operating the Paint Robot

System status is monitored by computer. Severe conditions result in automatic system shutdown.

When you work in or near the paint booth, observe the following rules, in addition to all rules for safe operation that apply to all robot systems.

WARNING Observe all safety rules and guidelines to avoid injury.

WARNING Never bypass, strap, or otherwise deactivate a safety device, such as a limit switch, for any operational convenience. Deactivating a safety device is known to have resulted in serious injury and death. 

Know the work area of the entire paint station (workcell).



Know the work envelope of the robot and hood/deck and door opening devices.



Be aware of overlapping work envelopes of adjacent robots.



Know where all red, mushroom-shaped EMERGENCY STOP buttons are located.



Know the location and status of all switches, sensors, and/or control signals that might cause the robot, conveyor, and opening devices to move.



Make sure that the work area near the robot is clean and free of water, oil, and debris. Report unsafe conditions to your supervisor.



Become familiar with the complete task the robot will perform BEFORE starting automatic mode.



Make sure all personnel are outside the paint booth before you turn on power to the robot servo system.

MARUIBHMI05011E

Staying Safe During Maintenance

SAFETY

s–13



Never enter the work envelope or paint booth before you turn off power to the robot servo system.



Never enter the work envelope during automatic operation unless a safe area has been designated.



Never wear watches, rings, neckties, scarves, or loose clothing that could get caught in moving machinery.



Remove all metallic objects, such as rings, watches, and belts, before entering a booth when the electrostatic devices are enabled.



Stay out of areas where you might get trapped between a moving robot, conveyor, or opening device and another object.



Be aware of signals and/or operations that could result in the triggering of guns or bells.



Be aware of all safety precautions when dispensing of paint is required.



Follow the procedures described in this manual.

When you perform maintenance on the painter system, observe the following rules, and all other maintenance safety rules that apply to all robot installations. Only qualified, trained service or maintenance personnel should perform repair work on a robot. 

Paint robots operate in a potentially explosive environment. Use caution when working with electric tools.



When a maintenance technician is repairing or adjusting a robot, the work area is under the control of that technician. All personnel not participating in the maintenance must stay out of the area.



For some maintenance procedures, station a second person at the control panel within reach of the EMERGENCY STOP button. This person must understand the robot and associated potential hazards.



Be sure all covers and inspection plates are in good repair and in place.



Always return the robot to the ‘‘home’’ position before you disarm it.



Never use machine power to aid in removing any component from the robot.



During robot operations, be aware of the robot’s movements. Excess vibration, unusual sounds, and so forth, can alert you to potential problems.



Whenever possible, turn off the main electrical disconnect before you clean the robot.

s–14

SAFETY



MARUIBHMI05011E

When using vinyl resin observe the following:

– Wear eye protection and protective gloves during application and removal

– Adequate ventilation is required. Overexposure could cause drowsiness or skin and eye irritation.

– If there is contact with the skin, wash with water. 

When using paint remover observe the following:

– Eye protection, protective rubber gloves, boots, and apron are required during booth cleaning.

– Adequate ventilation is required. Overexposure could cause drowsiness.

– If there is contact with the skin or eyes, rinse with water for at least 15 minutes.

1/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

Human to Machine Interface (HMI) Device communication function 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

Introduction ....................................................................................................................2 Accessing I/O ports (%I, %Q, %M %AI, %AQ).............................................................3 Accessing Robot Registers (%R)....................................................................................4 Accessing Position Registers (%R) ................................................................................7 Reading Current Position (%R) ...................................................................................12 Reading Alarm History (%R)........................................................................................14 Reading Program Execution Status (%R) ..................................................................17 Accessing System Variables (%R)...............................................................................19 Set $SNPX_ASG from HMI device (%G) .....................................................................22 Communicate efficiently ..........................................................................................23 Troubleshooting........................................................................................................23

2/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

1. Introduction This manual is meant to be a supplement reference manual to a HMI Device Setup and Operations Manual. This manual details the addressing and setup of system variables for the R-J3 controller. The R-J3 controller communicates with the HMI device through addresses similar to a GE Fanuc Series 90 PLC. Various R-J3 data corresponds to the Series 90 PLC addresses. The HMI device accesses the R-J3 data by accessing the corresponding PLC address. This communication uses SNPX Communication Protocol. All assignments to internal and external I/O do not require special setup (explained in Section 1 Accessing I/O ports (%I, %Q, %M %AI, %AQ)). Assignments to robot registers, position registers, current position, alarm history, program execution status and system variables need to be setup through the system variable $SNPX_ASG (explained further in Sections 1 – 7). $SNPX_ASG is an array of 80 elements($SNPX_ASG[1 - 80]), which have 4 fields per array. System Variable $SNPX_ASG[XX].$ADDRESS

$SNPX_ASG[XX].$SIZE $SNPX_ASG[XX].$VAR_NAME

$SNPX_ASG[XX].$MULTIPLY

Description Description: This indicates the starting address of %R to be assigned. (Specific details in the following sections.) Description: This indicates the number of %R address to assign. (Specific details in the following sections.) Description: This indicates the string to define the assigning data. (Specific details in the following sections.) Description: The value accessed by HMI is multiplied by $MULTIPLY. (Specific details in the following sections.)

3/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

2. Accessing I/O ports (%I, %Q, %M %AI, %AQ) R-J3 I/O can be accessed from the HMI device as %I, %Q, %M, %AI, or %AQ. R-J3 I/O ports correspond to the PLC address as follows: R-J3 I/O port PLC address Example Digital input DI[x] % Qx DI[1] ? %Q1 Digital output DO[x] %Ix DO[1] ? %I1 Robot input RI[x] %Q(5000+x) RI[1] ? %Q5001 Robot output RO[x] %I(5000+x) RO[1] ? %I5001 UOP input UI[x] %Q(6000+x) UI[1] ? %Q6001 UOP output UO[x] %I(6000+x) UO[1] ? %I6001 SOP input SI[x] %Q(7000+x) SI[0] ? %Q7000 SOP output SO[x] %I(7000+x) SO[0] ? %I7000 Group input GI[x] %AQx GI[1] ? %AQ1 Group output GO[x] %AIx GO[1] ? %AI1 Analog input AI[x] %AQ(1000+x) AI[1] ? %AQ1001 Anal og output AO[x] %AI(1000+x) AO[1] ? %AI1001 PMC keep relay DO[x] (x : 10001 – %Ix DO[10001] ? %I10001 10160) %I((a*8)+b+10001 K2.5 ? %I10022 Ka.b ) PMC internal relay DO[x] (x : 11001 – %M(x-11000) DO[11001] ? %M1 23000) %M((a*8)+b+1) R2.5 ? %M22 Ra.b PMC data table GO[x] (x : 10001 – %AI(x-6000) GO[10001] ? %AI4001 11500) %AI(a+4001) D4, D5 ? %AI4003 D(a*2), D((a*2)+1) Note:

In the PLC, %I and %AI are input ports, and %Q and %AQ are output ports. But in this correspondent, %Q and %AQ access R-J3 input ports, and %I and %AI access R-J3 output ports. Caution: Do not write to the R-J3 input ports. If you write input ports of R-J3 (DI, RI, AI), the value is changed instantly, and the value is recovered immediately. This change could cause a problem for your system. The system may get faulty readings from the inputs.

4/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

3. Accessing Robot Registers (%R) The default correspondence is the following. R-J3 data PLC address Example Register R[x] %Rx R[1] ? %R1 Note: Access %R as a 16bit signed integer. The value is rounded off to the nearest integer value. The range of value is from -32768 to 32767. If the value is out of the range, lower 16bits are accessed. The correspondence between robot registers and the PLC address %R is defined by setting $SNPX_ASG. The default setting of $SNPX_ASG is shown below. If $SNPX_ASG is changed, the above correspondence is not available. Check the value of $SNPX_ASG before accessing registers. System variable Value $SNPX_ASG[1].$ADDRESS 1 $SNPX_ASG[1].$SIZE 10000 $SNPX_ASG[1].$VAR_NAME R[1]@1.1 $SNPX_ASG[1].$MULTIPLY 1 $SNPX_ASG setting to access Robot Registers. $SNPX_ASG Description $ADDRESS Description: This indicates the starting address of %R to be assigned. Range: 1-16384 $SIZE Description: This indicates the number of %R address to assign. One Register uses two %R addresses. Set the necessary number of %R addresses according to the number of registers you are accessing. (You can change the number of %R for one register by adding “@” in $VAR_NAME) Range: 1-16384 $VAR_NAME Description: This indicates the string to define the assigning data. Set ”R[1]” to assign Register R[1]. The number in [] is the index of the register. Continued registers like R[2]-R[5] can be assigned by one $SNPX_ASG element. In this case, set $SIZE 8 because the number of registers to assign is 4. And please set $VAR_NAME “R[2]”. The index 2 in this case means the starting index of the continuous assignment. If “@1.1” is added just after the string (R[1]@1.1), the number of %R addresses for one register is changed from 2 to 1. In this case, accessing data size becomes 16bits.

5/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

Example:

$MULTIPLY

R[1]@1.1 “R[1]” means to assign robot registers from index 1. “@1.1” means one register is accessed as 16bit data. Description: The value accessed by HMI is multiplied by $MULTIPLY. If $MULTIPLY is 0, it means that the HMI can access %R addresses as 32bit REAL data. If it is not 0, the HMI accesses %R addresses as a 32bit signed integer. The value is rounded off to the nearest integer value. Range: 0.0001-10000, 0 Example: Register value is 123.45. When $MULTIPLY is 1, %R is 123 When $MULTIPLY is 10, %R is 1235. When $MULTIPLY is 0.1, %R is 12. When $MULTIPLY is 0, %R is 123.45 of REAL

For example, $SNPX_ASG is set as follows. $ADDRESS $SIZE $SNPX_ASG[1] 1 2 $SNPX_ASG[2] 3 4 $SNPX_ASG[3] 7 4 $SNPX_ASG[4] 11 2

$VAR_NAME R[1]@1.1 R[1] R[1] R[1]

$MULTIPLY 1 100 0.1 0

In this case, %R is corresponded to registers as follows. PLC address Accessed data %R1 R[1] as a 16bit signed integer. %R2 R[2] as a 16bit signed integer. %R3-4 Multiplied R[1] by 100 as a 32bit signed integer. %R5-6 Multiplied R[2] by 100 as a 32bit signed integer. %R7-8 Divided R[1] by 10 as a 32bit signed integer. %R9-10 Divided R[2] by 10 as a 32bit signed integer. %R11-12 R[1] as a 32bit REAL number Explanation of above examples: $SNPX_ASG[1] defines that 2 %R addresses from %R1 to %R2 are assigned to the robot register starting at R[1] multiplied by 1 as a 16bit signed integer. As a 16bit signed integer, one robot register uses one %R address. So, %R1 is assigned to R[1] as a 16bit signed integer and %R2 is assigned to R[2] as a 16bit signed integer. $SNPX_ASG[2] defines that 4 %R addresses from %R3 to %R6 are assigned to the robot registers starting at R[1] multiplied by 100 as a 32bit signed integer. As a 32bit signed integer, one robot register uses 2 %R addresses. So, %R3-4 are assigned to R[1] multiplied by 100 as a 32bit signed integer and %R5-6 are assigned to R[2] multiplied by 100 as a 32bit signed integer. $SNPX_ASG[3] defines that 4 %R addresses from %R7 to %R10 are assigned to the

6/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

robot registers starting at R[1] divided by 10 as a 32bit signed integer. As a 32bit signed integer, one robot register uses 2 %R addresses. So, %R7-8 are assigned to R[1] divided by 10 as a 32bit signed integer and %R9-10 are assigned to R[2] divided by 10 as a 32bit signed integer. $SNPX_ASG[4] defines that 2 %R addresses from %R11 to %R12 are assigned to the robot register R[1] as a 32bit REAL number. So, %R11-12 are assigned to R[1] as a 32bit REAL number.

7/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

4. Accessing Position Registers (%R) To access Position Registers from the HMI device, set $SNPX_ASG to assign position registers to %R addresses. In the default setting of $SNPX_ASG, position registers are not assigned. You need to set $SNPX_ASG to access position registers. $SNPX_ASG Position Registers settings. $SNPX_ASG Description $ADDRESS Description: This indicates the starting address of %R to be assigned. Range: 1-16384 $SIZE Description: This indicates the number of %R addresses to assign. One Position Register uses 50 %R addresses. Set the necessary number of %R addresses according to the number of position registers to be accessed. (You can change the number of %R for one position register by adding “@” in $VAR_NAME) Range: 1-16384 $VAR_NAME Description: This indicates the string to define the assigning data. Set ”PR[1]” to assign Position Register PR[1]. The number in [] is the index of position register. Consecutive position registers like PR[2]-PR[5] can be assigned by one $SNPX_ASG element. In this case, set $SIZE to 200 because the number of position registers to assign is 4. Set $VAR_NAME equal to “PR[2]”. The index 2 in “PR[2]” means the starting index of the continuous assignment. In a multi group system, PR[1] means the group 1 data of PR[1]. Set PR[G2:1] to assign group 2 data of PR[1]. If “@” is added just after the string, the specified part of the position register is assigned. This is explained at the end of this section .

8/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

$MULTIPLY

Description: The value accessed by the HMI is multiplied by $MULTIPLY. Only REAL number values are affected by this setting. If $MULTIPLY is 0, it means that the HMI can access %R addresses as a 32bit REAL data. If it is not 0, the HMI accesses %R addresses as a 32bit signed integer and the value is rounded off to the nearest integer value. Range: 0.0001-10000, 0 Example: Position register element value is 123.45. When $MULTIPLY is 1, %R is 123 When $MULTIPLY is 10, %R is 1235. When $MULTIPLY is 0.1, %R is 12. When $MULTIPLY is 0, %R is 123.45 of REAL

One position register uses 50 %R addresses. The contents of the 50 %R addresses are as follows: %R Effect of Description address $MULTIPLY Cartesian data 1-2 X 32bit signed integer or real (mm) Yes 3-4 Y 32bit signed integer or real (mm) Yes 5-6 Z 32bit signed integer or real (mm) Yes 7-8 W 32bit signed integer or real (deg) Yes 9-10 P 32bit signed integer or real (deg) Yes 11-12 R 32bit signed integer or real (deg) Yes 13-14 E1 32bit signed integer or real (mm, deg) Yes 15-16 E2 32bit signed integer or real (mm, deg) Yes 17-18 E3 32bit signed integer or real (mm, deg) Yes 19 FLIP 16bit signed integer (1:Flip, 0:Non flip) No 20 LEFT 16bit signed integer (1:Left, 0:Right) No 21 UP 16bit signed integer (1:Up, 0:Down) No 22 FRONT 16bit signed integer (1:Front, 0:Back) No 23 TURN4 16bit signed integer (-128~127) No 24 TURN5 16bit signed integer (-128~127) No 25 TURN6 16bit signed integer (-128~127) No 26 VALIDC 16bit signed integer (? note1) No Joint data 27-28 J1 32bit signed integer or real (mm, deg) Yes 29-30 J2 32bit signed integer or real (mm, deg) Yes 31-32 J3 32bit signed integer or real (mm, deg) Yes 33-34 J4 32bit signed integer or real (mm, deg) Yes 35-36 J5 32bit signed integer or real (mm, deg) Yes 37-38 J6 32bit signed integer or real (mm, deg) Yes 39-40 J7 32bit signed integer or real (mm, deg) Yes 41-42 J8 32bit signed integer or real (mm, deg) Yes 43-44 J9 32bit signed integer or real (mm, deg) Yes 45 VALIDJ 16bit signed integer (? note2) No

9/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

46 47 48-50

Frame number UF 16bit signed integer (0~15) (? note3) UT 16bit signed integer (0~15) (? note4) Reserve

No No No

Position registers have 2 representations, Cartesian or Joint. If details of the position register are displayed as X,Y,Z,W,P,R, it is Cartesian representation. If it is displayed as J1-6, it is Joint representation. The HMI device can access any element without regard to the current representation. Position representation is changed by reading from the HMI device. But if the representation of position resister on the teach pendant and the representation of accessed element from the HMI device are different, please note the following: ? If the position data is out of stroke limit or there is an uninitialized element, this position data can not be converted to another representation. In this case, all elements in the part of another representation become 0. For example, a position register is in Cartesian representation and X is 1000, and it is out of stroke limit, J1-J9 are read as 0 by the HMI device. In this case, the elements of the Cartesian part or the Joint part can be read correctly. ? If the representation of position resister on the teach pendant and the representation of accessed element from the HMI device are different, communication response time is increased. This time increase is because position representation conversion takes several milliseconds to over ten milliseconds. If the HMI device reads many position registers, this conversion time may have a big affect on response time. Uninitialized elements of position data are displayed as “******” in the position register menu on the teach pendant. These elements are read as 0 from the HMI device. Read VALIDC or VALIDJ to check whether the value is 0 or uninitialized. If position data has an uninitialized element, VALIDJ and VALIDC are 0. If you write data to an element in Cartesian part from the HMI device, the position representation becomes Cartesian. If you write data to an element in the Joint part from the HMI device, the position representation becomes Joint. If you write data to UF or UT from the HMI device, the position representation is not changed. Note1: VALIDC shows whether the position data is valid for Cartesian or not. This becomes 0 when the position data has uninitialized data (displayed “******” on the teach pendant). It becomes 1 when the position data is in Joint representation and it can not be converted to Cartesian. If the HMI device writes any data to VALIDC, the position representation is changed to Cartesian. Note2: VALIDJ shows whether the position data is valid for Joint or not. This becomes 0 when the position data has uninitialized data (displayed “******” on the teach pendant). It becomes 1 when the position data is in Cartesian representation and it can not be converted to Joint. If the HMI device writes any data to VALIDJ, the position representation is changed to Joint. Note3: UF is the user frame number If UF is 0, world frame is used. If UF is 15, the user fame that is selected is used.

10/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

UF of Position Register is always 15. It can not be changed using the teach pendant. If the user programs the HMI device to change this, the original value can not be recovered without the HMI device. Note4: UT is the tool frame number If UT is 0, mechanical interface frame is used. If UT is 15, the tool fame that is selected is used. UT of Position Register is always 15. It can not be changed using the teach pendant. If the user programs the HMI device to change this, the original value can not be recovered without the HMI device. Extract part of the position data by adding “@” in $VAR_NAME If “@” is added to $VAR_NAME, the specified part of data structure is extracted. It is also used for Register assignment (R[1]@1.1). For example, you need to access only X, Y and Z of PR[1-3]. In this case, the setting of $SNPX_ASG should be as follows: $ADDRESS $SIZE $VAR_NAME $MULTIPLY $SNPX_ASG[1] 1 150 PR[1] 1 The following is the correspondence between position registers and %R addresses. PLC address Accessed data %R1-2 X of PR[1] as 32bit signed integer %R3-4 Y of PR[1] as 32bit signed integer %R5-6 Z of PR[1] as 32bit signed integer %R51-52 X of PR[2] as 32bit signed integer %R53-54 Y of PR[2] as 32bit signed integer %R55-56 Z of PR[2] as 32bit signed integer %R101-102 X of PR[3] as 32bit signed integer %R103-104 Y of PR[3] as 32bit signed integer %R105-106 Z of PR[3] as 32bit signed integer The actual read data is only 18 %R addresses, but this assignment occupies 150 %R addresses. The HMI device access to %R7-50 addresses are unnecessary, but reading one large piece of data is more efficient than reading several small pieces of data. The addresses %R27-45 include a Joint representation part, and if position data is a Cartesian representation, the representation conversion is needed to read this unnecessary data, which may cause a delay in response time . To communicate efficiently, set $SNPX_ASG as follows. $ADDRESS $SIZE $VAR_NAME $SNPX_ASG[1] 1 18 PR[1]@1.6

$MULTIPLY 1

The following is the correspondent between position registers and %R addresses. PLC address Accessed data %R1-2 X of PR[1] as 32bit signed integer %R3-4 Y of PR[1] as 32bit signed integer %R5-6 Z of PR[1] as 32bit signed integer %R7-8 X of PR[2] as 32bit signed integer %R9-10 Y of PR[2] as 32bit signed integer

11/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

%R11-12 %R13-14 %R15-16 %R17-18

Z of PR[2] as 32bit signed integer X of PR[3] as 32bit signed integer Y of PR[3] as 32bit signed integer Z of PR[3] as 32bit signed integer

The change to $SNPX_ASG is that “@1.6” is added in $VAR_NAME and $SIZE is changed from 150 to 18. By this change, the number of %R addresses for one position register is changed from 50 to 6. The “6” in ”@1.6” means the number of %R addresses for one position register. The “1” in “@1.6” means the starting address of extracting part in position data structure. By specifying “@” in $VAR_NAME, you can extract the specified part of position data structure.

@1.6

The size of extracting part (The number of %R addresses for one position )

The starting address of extracting part in position data structure. You can specify “@” not only for position register, you can specify it for all data that is assigned by $SNPX_ASG. The following is another example to assign J1-J6 of PR[1-3]. $ADDRESS $SIZE $VAR_NAME $SNPX_ASG[1] 1 96 PR[3]@27.12

$MULTIPLY 1

12/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

5. Reading Current Position (%R) The HMI device can read the current robot position. To read the current position, assign the current position to %R addresses by using $SNPX_ASG. $SNPX_ASG setting to read Current Position $SNPX_ASG Description $ADDRESS Description: This indicates the starting address of %R to be assigned. Range: 1-16384 $SIZE Description: This indicates the number of %R address to be assigned. Current Position uses 50 %R addresses. (You can change the number of %R addresses for the Current Position by adding “@” in $VAR_NAME) Range: 1-16384 $VAR_NAME Description: This indicates the string to define the assigning data. Set ”POS[1]” to assign the Current Position. The number in [] is user frame number. When the user frame number is 0, the HMI device can read Current Position in World frame. When the user frame number is 15, the HMI device can read the Current Position in the User frame that is currently selected. When user frame number is 1-9, the HMI device can read the Current Position in the specified user frame. The data structure is the same as position register. (See 3. Accessing Position Registers (%R)). In a multi group system, POS[1] means the current position of the group 1 robot. Set POS[G2:1] to assign the current position of the group 2 robot. If “@” is added just after the string, the specified part of current position is assigned.

13/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

$MULTIPLY

Description: The value accessed by the HMI device is multiplied by $MULTIPLY. Only REAL number values are affected by this setting. If $MULTIPLY is 0, it means that the HMI device can access %R addresses as 32bit REAL data. If it is not 0, the HMI device accesses %R addresses as a 32bit signed integer. And the values are rounded off to the nearest integer value. Range: 0.0001-10000, 0 Example: The current position element value is 123.45. When $MULTIPLY is 1, %R is 123 When $MULTIPLY is 10, %R is 1235. When $MULTIPLY is 0.1, %R is 12. When $MULTIPLY is 0, %R is 123.45 of REAL

Note: The current position is read only. If you write to it, nothing occurs. The current position uses 50 %R addresses, and the data structure is the same as the position register. (See 3. Accessing Position Registers (%R)). UT of the current position is always 15. UF of the current position is the specified user frame number in $VAR_NAME. The current position is not assigned continuously. For example, the following setting of $SNPX_ASG assigns the current position in world frame to %R1-50 addresses, but the current position in user frame 1 is not assigned to %R51-100. Set “POS[1]” in another $SNPX_ASG. $ADDRESS $SIZE $VAR_NAME $MULTIPLY $SNPX_ASG[1] 1 100 POS[0] 1

14/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

6. Reading Alarm History (%R) The HMI device can read the alarm history. To read the alarm history, assign the alarm history to %R addresses by using $SNPX_ASG. $SNPX_ASG setting to read the alarm history. $SNPX_ASG Description $ADDRESS Description: This indicates the starting address of %R to be assigned. Range: 1-16384 $SIZE Description: This indicates the number of %R addresses to be assigned. One alarm uses 100 %R address. Set the necessary number of %R addresses according to the number of alarms to be accessed. (You can change the number of %R addresses for one alarm by adding “@” in $VAR_NAME) Range: 1-16384 $VAR_NAME Description: This indicates the string to define the assigning data. Set ”ALM[1]” to assign alarms. The number in [] is line number in alarm menu. “ALM[1]” assigns active alarms. Alarms displayed in active alarm menu can be read from the HMI device. “ALM[E1]” assigns alarm history. Alarms displayed in alarm history menu can be read from the HMI device. “ALM[P1]” assigns password log. Password log displayed in password log menu can be read from the HMI device. “ALM[M1]” assigns motion alarm history. Alarms displayed in motion alarm menu can be read from the HMI device. “ALM[A1]” assigns application alarm history. Alarms displayed in application alarm menu can be read from the HMI device.

$MULTIPLY

“ALM[S1]” assigns system alarm history. Alarms displayed in system alarm menu can be read from the HMI device.. Description: This setting defines string data format. Set equal to 1 or -1 according to the HMI device. GE Fanuc CIMPLICITY 1

15/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

Range:

Total Control Quick Panel 1,-1

-1

One alarm uses 100 %R addresses. Contents of the 100 %R addresses are as follows: %R address Description 1 Alarm ID 16bit signed integer When alarm is “SRVO-001”, alarm ID is 11 this means “SRVO”. Refer to System R-J3 Controller Setup and Operations Manual for the values of the alarm ID. 2 Alarm number 16bit signed integer When alarm is “SRVO-001”, alarm number is 1. 3 Alarm ID of Cause Code 16bit signed integer When the alarm occurs, the alarm message is displayed on top of teach pendant. Sometimes a message is also displayed on the second line. This is the cause code. This element shows the alarm ID of the cause code. If the alarm does not have a cause code, this becomes 0. 4 Alarm number of cause code 16bit signed integer This indicates the alarm number of the cause code. If the alarm does not have cause code, this becomes 0. 5 Alarm severity 16bit signed integer This value shows alarm severity. NONE 128 WARN 0 PAUSE.L 2 PAUSE.G 34 STOP.L 6 STOP.G 38 SERVO 54 ABORT.L 11 ABORT.G 45 SERVO2 58 SYSTEM 122 6 Occurred Time (year) 16bit signed integer 7 Occurred Time (month) 16bit signed integer 8 Occurred Time (day) 16bit signed integer 9 Occurred Time (hour) 16bit signed integer 10 Occurred Time (minutes) 16bit signed integer 11 Occurred Time (second) 16bit signed integer 12-51 Alarm message 80 characters string Alarm message string shows the string the same as that is displayed on top line of teach pendant. 52-91 Cause code alarm message 80 characters string Alarm message of cause code. 92-100 Alarm severity word 80- characters string String of alarm severity like a “WARN”. Alarm ID and alarm number of “RESET” are read as 0. Alarm message is “RESET”. When there is 2 lines on active alarm menu, all elements of the alarms after ALM[3]

16/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

are 0. In string item, address after string are 0. One alarm uses 100 %R addresses, if you would like to read only alarm ID and alarm number, most of the 100 %R addresses are not used. To communicate efficiently, use “@” when setting $VAR_NAME. For example: $SNPX_ASG[1]

$ADDRESS 1

$SIZE 12

$VAR_NAME ALM[E1]@1.4

This assigns alarm history as follows: PLC address Accessed data %R1 Alarm ID of alarm1 %R2 Alarm number of alarm1 %R3 Alarm ID of cause code of alarm1 %R4 Alarm number of cause code of alarm1 %R5 Alarm ID of alarm2 %R6 Alarm number of alarm2 %R7 Alarm ID of cause code of alarm2 %R8 Alarm number of cause code of alarm2 %R9 Alarm ID of alarm3 %R10 Alarm number of alarm3 %R11 Alarm ID of cause code of alarm3 %R12 Alarm number of cause code of alarm3

$MULTIPLY 1

17/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

7. Reading Program Execution Status (%R) The HMI device can read Program Execution Status. To read program execution status, assign it to %R addresses by using $SNPX_ASG. $SNPX_ASG setting to read program execution status. $SNPX_ASG Description $ADDRESS Description: This indicates the starting address of %R to be assigned. Range: 1-16384 $SIZE Description: This indicates the number of %R address to be assigned. One task uses 18 %R address. Set the necessary number of %R addresses according to the number of tasks to be accessed. (You can change the number of %R addresses for one task by adding “@” in $VAR_NAME) Range: 1-16384 $VAR_NAME Description: This indicates the string to define the assigning data. Set ”PRG[1]” to assign program execution status. The number in [] is task number. In single task system, program execution status can be read by PRG[1].

$MULTIPLY

In a multi-task system, when 2 tasks are running at the same time, PRG[1] and PRG[2] shows the execution status of both tasks. Which task is PRG[1] is decided by timing of execution and communication. But the task that is read by PRG[1] is read by PRG[1] until it is aborted. Description: This setting defines string data format. Set equal to 1 or -1 according to the HMI device. GE Fanuc CIMPLICITY 1 Total Control Quick Panel -1 Range: 1,-1

18/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

One task uses 18 %R address. Contents of the 18 %R addresses are as follows: %R address Description 1-8 Program name 16 characters string Name of running program. When sub program is called, it shows sub program name. 9 Line number 16bit signed integer. Execution line number. When sub program is called, it shows line number of sub program. 10 Execution status 16bit signed integer Aborted 0 Paused 1 Running 2 11-18 Parent program name 16 characters string Name of the started program When sub program is not called, it is the same as program name. When program is aborted, all elements become 0. By adding “@” to $VAR_NAME, a part of this structure is assigned to %R addresses. For example: $ADDRESS $SIZE $VAR_NAME $MULTIPLY $SNPX_ASG[1] 1 4 PRG[1]@9.2 1 This assigns program execution status as follows: PLC address Accessed data %R1 Line number of task1 %R2 Execution status of task1 %R3 Line number of task 2. %R4 Execution status of task2.

19/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

8. Accessing System Variables (%R) The HMI device can access system variables. To access system variables, assign it to %R addresses by using $SNPX_ASG. $SNPX_ASG setting to access system variables. $SNPX_ASG Description $ADDRESS Description: This indicates the starting address of %R to be assigned. Range: 1-16384 $SIZE Description: This indicates the number of %R addresses to be assigned. The number of %R addresses for one system variable is defined by the data type of the system variable. Refer to the following data type list. (You can change the number of %R addresses for one system variable by adding “@” in $VAR_NAME) Range: 1-16384 $VAR_NAME Description: This indicates the string to define the assigning data. Set to the system variable name, for example “$WAITTMOUT” or “$MCR.$GENOVERRIDE” .

$MULTIPLY

If the system variable is an array, like a “$UALRM_SEV[1]”, array elements are assigned continuously like a Robot Registers. Description: The meaning of $MULTIPLY is defined according to the data type of system variable. Refer to the following data type list.

When accessing system variable, the meaning of $MULTIPLY is changed according to data type of system variable. The following is a list of data types that can be accessed by the HMI device, and it also explain the number of %R addresses to use and the meaning of $MULTIPLY.

20/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

Data type of system variables

The number of %R for one system variable

INTEGER 32bit signed integer

2

SHORT 16bit signed integer

2

BYTE 8bit signed integer

2

REAL 32bit real

2

BOOLEAN TRUE/FALSE

2

POSITION Position data

50

STRING String data

40

Meaning of $MULTIPLY and data type accessed by HMI The value accessed by the HMI device is multiplied by $MULTIPLY. If $MULTIPLY is 0, it is same as $MULTIPLY is 1. If it is not 0, HMI accesses %R addresses as a 32bit signed integer. And the value is rounded off to the nearest integer value. The value accessed by the HMI device is multiplied by $MULTIPLY. If $MULTIPLY is 0, it means that the HMI device can access %R addresses as 32bit REAL data. If it is not 0, the HMI device accesses %R addresses as a 32bit signed integer. And the value is rounded off to the nearest integer value. The HMI device accesses %R addresses as a 32bit signed integer. If value is TRUE %R address is 1. If it is FALSE, %R address is 0. If the HMI device writes 0, the system variable becomes FALSE. If the HMI device writes 1, the system variable becomes TRUE. $MULTIPLY is not used for this data type. Data structure is the same as position register. (See 3. Accessing Position Registers (%R)). Meaning of $MULTIPLY is also same as position register. This defines string data format. GE Fanuc CIMPLICITY 1 Total Control Quick Panel -1

INTEGER, SHORT and BYTE are accessed the same way by the HMI device. The system variable that is displayed as integer values in the system variable menu on the teach pendant, is an INTEGER, SHORT or BYTE in the above table. The system variable, that is displayed as real values in the system variable menu on the teach pendant, is a REAL in the above table. The system variable, that is displayed as TRUE or FALSE in the system variable menu on the teach pendant, is a BOOLEAN in the above table. The system variable, that is displayed as a string in system variable menu on the teach pendant, is a STRING in the above table. The system variable, that is displayed as a POSITION in the system variable menu on the teach pendant, is POSITION in the above table.

21/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

Note: The protected variables in the system variable menu on the teach pendant can be changed by the HMI device. If an illegal value is set to the system variable, the system may be harmed seriously. By adding “@” to $VAR_NAME, a part of this structure is assigned to %R address. For example. the following $SNPX_ASG assigns X, Y and Z of user frame 1 and 2 of group 1. $ADDRESS $SIZE $VAR_NAME $MULTIPLY $SNPX_ASG[1] 1 12 $MNUFRAME[1,1]@1. 1 6 This assigns system variables to %R addresses as follows: PLC address Accessed data %R1-2 X of user frame 1 of Group 1 (X of $MNUFRAME[1,1]) %R3-4 Y of user frame 1 of Group 1 (Y of $MNUFRAME[1,1]) %R5-6 Z of user frame 1 of Group 1 (Z of $MNUFRAME[1,1]) %R7-8 X of user frame 2 of Group 1 (X of $MNUFRAME[1,2]) %R9-10 Y of user frame 2 of Group 1 (Y of $MNUFRAME[1,2]) %R11-12 Z of user frame 2 of Group 1 (Z of $MNUFRAME[1,2])

22/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

9. Set $SNPX_ASG from HMI device (%G) You need to set $SNPX_ASG to access all data except I/O ports. You can set $SNPX_ASG in a system variable, and you can also set it by using the HMI device. Note the HMI device must support writing to strings to use this function. If the HMI device writes a string to PLC address %G, the string is interpreted as command. Any address in %G can accept command string. The following commands are supported. CLRASG Clear all $SNPX_ASG Format: CLRASG Function:All $SNPX_ASG elements in all of the indexes of the array are cleared. Execute this command one time before you use any SETASG commands. SETASG Set $SNPX_ASG Format: SETASG ($ADDRESS) ($SIZE) ($VAR_NAME) [($MULTIPLY)] Function:Set specified value to $SNPX_ASG. The unused element of $SNPX_ASG array is selected automatically. $MULTIPLY can be omitted. If $MULTIPLY is not specified, $MULTIPLY becomes 1. Execute CLRASG one time before you execute SETASG. SETVAR Set system variable Format: SETVAR (System variable name) (value) Function:The specified value is set in the specified system variable. Available data type of system variable is INTEGER, SHORT, BYTE, REAL, BOOLEAN and STRING. To set BOOLEN type variable, set 1 for TRUE, set 0 for FALSE. To set STRING type variable, use “” to set a string including a space character. Example: If you would like to set $SNPX_ASG as follows. $ADDRESS $SIZE $VAR_NAME $SNPX_ASG[1] 1 2 R[1]@1.1 $SNPX_ASG[2] 3 4 R[1] $SNPX_ASG[3] 7 4 R[2] $SNPX_ASG[4] 11 2 R[1] Write these strings in this order. CLRASG SETASG 1 2 R[1]@1.1 1 SETASG 3 4 R[1] 100 SETASG 7 4 R[2] 0.1 SETASG 11 2 R[1] 0

$MULTIPLY 1 100 0.1 0

23/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

10.Communicate efficiently ?

?

?

Accessing I/O signal is faster than accessing %R addresses that various data is assigned by $SNPX_ASG. And accessing to %R addresses might be slow when program is running, but accessing to I/O ports are not affected by program execution. To communicate efficiently, reduce accessing to the %R address area. Position representation conversion takes a lot of time. If you access position register, assign only necessary elements of position structure by using “@” in $VAR_NAME. And change the position representation of the position registers on the teach pendant to the representation that is accessed by the HMI device. Some HMI devices read the addresses that are not necessary. In this case, please eliminate unassigned %R addresses between assigned %R addresses.

11.Troubleshooting ?

If the HMI device reads %R address that is not assigned to any data, this %R address always reads as 0. If %R address is not 0 and not read correctly, than this %R address is assigned to the wrong data type. If %R addresses over lap with other assignments in $SNPX_ASG, the value will not be read correctly. For example, when $SNPX_ASG is set as follows, %R101-%R150 is used by both $SNPX_ASG[1] and $SNPX_ASG[2]. $ADDRESS $SIZE $VAR_NAME $MULTIPLY $SNPX_ASG[1] 1 1000 R[1]@1.1 1 $SNPX_ASG[2] 101 50 PR[1] 100 In this case, the $SNPX_ASG whose index is smaller is used. So, %R101-%R150 is assigned to R[101]-R[150], and PR[1] can not be accessed by the HMI device. If %R address that the problem occurs is 0, there might also be duplicated assignment as above. If assignment is not duplicated, $SNPX_ASG setting has problem. Check $SNPX_ASG assignments.

The following are the problems that occur frequently. ? Correct format of $VAR_NAME setting is the following. If set string is not matched to them, data is not assigned. “R[n]” You must specify the start index in []. “PR[n]” If you specify group number, “:” must be “PR[Gn:n] specified between group number and index. “POS[n]” If you specify group number, “:” must be “POS[Gn:n] specified between group number and index. “ALM[n]” Alarm line number must be specified just “ALM[En]” after E, M, A, S and P. “ALM[Mn] “ALM[An]

24/24 Human to Machine Interface (HMI) Device communication function (Version 1.1)

“ALM[Sn] “ALM[Pn] “PRG[n]” “$XXXXXX” ? ? ?

Task number must be specified in [ ]. The first character of system variable must be “$”.

If there is space character in $VAR_NAME, the data is not assigned. If you specify “@” in $VAR_NAME, do not add any space before “@”. If you use a continuous array assignment, the number of %R addresses for one element is defined according to data type, check the explanation of assigning data. The format of “@” is “@n.n”. A “.” must be specified between starting address and the number of %R addresses. A “@” must be specified just after variable name.

1/5 Total Control Products Supplement (Version 1.1)

Total Control Products Supplement 1. 2. 3. 4. 5. 6. 7. 8. 9.

Introduction ....................................................................................................................... 2 Accessing I/O ports (%IBI, %QBI, %MBI %AIUI, %AQUI)..................................................... 2 Accessing Robot Registers (%R) ........................................................................................... 2 Accessing Position Registers (%R) ........................................................................................ 3 Reading Current Position (%R) ............................................................................................. 3 Reading Alarm History (%R) ................................................................................................ 4 Reading Program Execution Status (%R) ................................................................................ 4 Accessing System Variables (%R) ......................................................................................... 4 Set $SNPX_ASG from by HMI device (%G) .......................................................................... 5

2/5 Total Control Products Supplement (Version 1.1)

1. Introduction This manual is meant to be a supplement to the Human to Machine Interface (HMI) Device communication function manual. This manual explains the address correspondence between the R-J3 controller and the Total Control Products HMI.

2. Accessing I/O ports (%IBI, %QBI, %MBI %AIUI, %AQUI) R-J3 I/O can be accessed from a Total Control Products HMI device as %IBI, %QBI, %MBI, %AIUI, or %AQUI. R-J3 I/O ports correspond to Total Control Products address as follows: R-J3 I/O port Digital input DI[x] Digital output DO[x] Robot input RI[x] Robot output RO[x] UOP input UI[x] UOP output UO[x] SOP input SI[x] SOP output SO[x] Group input GI[x] Group output GO[x] Analog input AI[x] Analog output AO[x] PMC keep relay DO[x] (x : 10001 – 10160) Ka.b PMC internal relay DO[x] (x : 11001 – 23000) Ra.b PMC data table GO[x] (x : 10001 – 11500) D(a*2), D((a*2)+1)

Total Control Products address %QBIx %IBI x %QBI(5000+x) %IBI(5000+x) %QBI(6000+x) %IBI(6000+x) %QBI(7000+x) %IBI(7000+x) %AQUIx %AIUIx %AQBI(1000+x) %AIUI(1000+x)

Example DI[1] ? %QBI1 DO[1] ? %IBI1 RI[1] ? %QBI5001 RO[1] ? %IBI5001 UI[1] ? %QBI6001 UO[1] ? %IBI6001 SI[0] ? %QBI7000 SO[0] ? %IBI7000 GI[1] ? %AQUI1 GO[1] ? %AIUI1 AI[1] ? %AQUI1001 AO[1] ? %AIUI1001

%IBI x %IBI((a*8)+b+10001)

DO[10001] ? %IBI10001 K2.5 ? %IBI10022

%MBI(x-11000) %MBI((a*8)+b+1)

DO[11001] ? %MBI1 R2.5 ? %MBI22

%AIUI(x-6000) %AIUI(a+4001)

GO[10001] ? %AIUI4001 D4, D5 ? %AIUI4003

3. Accessing Robot Registers (%R) The R-J3 to Total Control Products correlation is as follows: R-J3 data Robot Register R[x]

Total Control Products address %RAx Register ASCII

%RBTx Register BIT %RBD4x Register BCD %RIx Register Integer

Example Robot register can not be set to ASCII, Do not use %RA for Robot registers. R[1] ? %RBT1 R[1] ? %RBD41 R[1] ? %RI1

3/5 Total Control Products Supplement (Version 1.1)

%RUIx Register Unsigned Integer %RLIx Register Long Integer %RLUIx Register Long Unsigned Integer %RRx Register Real

R[1] ? %RUI1 R[1] ? %RLI1 R[1] ? %RLUI1 R[1] ? %RR1

4. Accessing Position Registers (%R) When accessing Position Register data you must use the appropriate %R address for the different values of $MULTIPLY. $MULTIPLY value 0 Any other value

Total Control Products address %RRx Register Real %RBTx Register BIT %RBD4x Register BCD %RIx Register Integer %RUIx Register Unsigned Integer %RLIx Register Long Integer %RLUIx Register Long Unsigned Integer

Explanation Robot positional data is accessed as Real number. Robot positional data is accessed as BIT number. Robot positional data is accessed as BCD number. Robot positional data is accessed as Integer number. Robot positional data is accessed as Unsigned Integer number. Robot positional data is accessed as Long Integer number. Robot positional data is accessed as Unsigned Integer number.

5. Reading Current Position (%R) When accessing Current Position data you must use the appropriate %R address for the different values of $MULTIPLY. This is explained in “3. Accessing Position Registers (%R)”.

4/5 Total Control Products Supplement (Version 1.1)

6. Reading Alarm History (%R) When accessing Alarm History data you must use the appropriate %R for the different pieces of data. Data Description Alarm ID Alarm Number Alarm ID of Cause Code Alarm number of Cause Code Alarm Severity Occurred Time (year) Occurred Time (month) Occurred Time (day) Occurred Time (hour) Occurred Time (minute) Occurred Time (second)

Total Control Products address %RIx Register Integer

Alarm Message Cause Code Alarm Message Alarm Severity Word

%RAx Register ASCII

7. Reading Program Execution Status (%R) When accessing Program Execution Status data you must use the appropriate %R for the different pieces of data. Data Description Line number Execution status Program name Parent program name

Total Control Products address %RIx Register Integer %RAx Register ASCII

8. Accessing System Variables (%R) When accessing System Variable data you must use the appropriate %R for the different pieces of data. System Variable Data Type Integer Variables Short Byte Real Boolean Position (Positional Data) String Variables

Total Control Products address %RLIx Register Long Integer %RLUIx Register Long Unsigned Integer %RIx Register Integer %RUIx Register Unsigned Integer %RIx Register Integer %RUIx Register Unsigned Integer %RRx Register Real %RBTx Register BIT %RRx Register Real %RAx Register ASCII

5/5 Total Control Products Supplement (Version 1.1)

9. Set $SNPX_ASG from by HMI device (%G) Total Control Products devices do not support ASCII entry.

Related Documents

Fanuc
February 2021 5
Fanuc
February 2021 2
Fanuc
January 2021 7
Masterizar Robot Fanuc
February 2021 1

More Documents from "Leonardo Borges"