Multi-Axis Controller (MAC) User`s Manual (Ver 2.3)
Transcription
Multi-Axis Controller (MAC) User`s Manual (Ver 2.3)
Multi-Axis Controller (FARACON-MAC Series) Multi-Axis Controller (MAC) User’s Manual (Ver 2.3) Production Engineering Center Samsung Electronics Co., Ltd. Multi-Axis Controller (FARACON-MAC Series) Multi-Axis Controller User’s Manual Version 2.3 CONTENTS Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 Product Description Installation and Wiring (Servo, I/O, Limit) Connector Pin Specification and External Control Working with Menu Zero Return and Step/Auto Run System Parameter and Axis Parameter Setting Location Data Setting Pallet and Spline Operation User Commands Program Languages and Examples PC Communication Error Messages Communication Protocol CHAPTER 1 PRODUCT DESCRIPTION 1-1. Features of the FARA-MAC Controller 1-2. Controller Specification 1-3. Preparations for Controller Operation 1-4. Product Appearance 1-5. Basic Items 1-6. Optional Items 1-7. Controller Assembly Diagram Chapter 1 1-1. Features of the Product FARA-MAC is a full digital 2/3/4-axis controller that allows high-speed high-precision control using the 32-bit high-speed DSP chip. In addition, the controller I/O can be applied to a variety of areas such as gripper control, cylinder control, sensor sensing and communication with external devices. Features of FARA-MAC controller are outlined below: - Implements high-speed, high-precision control algorithm using the 32-bit high-speed DSP chip. - It is possible to process I/O in parallel, independently of the controller motion, which makes programming easy and allows free I/O control even during motion. - Provides 16 system input points and 8 system output points for external control, and 16 user input points and 24 output points. - MAC-02 (OPTION), the programming device of FARA-MAC, is configured as an interactive system for the user’s convenience. - Allows easy programming with 70 program commands. - Provides user commands for motion setting, external I/O signal manipulation and parameter setting, so that users can operate the system easily without running the program. - Designed to generate pulse and analog voltage so as to cope with any type of motor. - Provides GUI software for PC communication with which the user can store or prepare programs, location data and parameters, run the program, and perform zero return and I/O test with ease. - Provides such program languages as “READ” and “WRITE” that allow exchanging the location data with the PC using RS232C serial communication while running the program. 1-1 Chapter 1 1-2. Controller Specification Items CPU Operation Method Number of Control Axes Location Detection Method Location Feedback Speed Profile Analog Output Pulse Output Other Functions Edit & Teaching System Us er I/O Function Performance Precision of Stop/Repeat Speed Setting and Acceleration/Deceleration Setting Max. Location Setting Gain Tuning Input (16 Points) Output (8 Points) Input Output Program Location Teaching Method Languages Available Memory Backup External Communication Brake ON/OFF Emergency Stop Limit Sensor Input Protection Function PC Communication Mounting Method Case Size (mm) Weight Specification TMS320C31 DSP Chip PTP, Arch Interpolation, Linear Interpolation, Spline Interpolation, I/O Parallel Processing 2 ~ 4 Axes Incremental Encoder Max. 2.5 MHz, Digital Noise Filter S_Curve, Asymmetric S_Curve Acceleration/Deceleration ± 10v, @12-bit Resolution Max. Frequency (3.75 MHz), 50% Duty Cycle, Frequency Resolution (60 ns) ± 1 Pulse 1 ~ 100%, 0 ~ 200 (0~2sec) -21470000~+21470000 Pulse On-line Manual Adjustment according to Load 16 Points [External Emergency Stop, Zero Return, Run, Pause, Error Reset, External Control, Servo ON/OFF, User Interrupts (3), Program Selection (5)] 8 Points [Error, External Control, Servo ON, System Ready, Program Running, In Pause, In Emergency Stop, Zero Return Completed] 16 Points 24 Points 32 Programs, 0 ~ 255 Lines/Program 1000 Locations, 100 Shift Locations MDI (Coordinate Value Input), Manual Input, Jog Input 70 Languages (MVE, CALL, JMP, DLY, PWR, SIGO, SET, ADD, SFT, SUB, RET, IF, SPD, ACC, SIGI, OR, AND, INT, FREG, OFF, etc.) S-RAM Battery Backup RS232C 1CH (for Teach Pendant) Relay Output (for 24V, 300Ma) Normal Open Three Limit Sensor Inputs/Axis Servo Error, Low-voltage, Battery Fault, Limit (Overrun) Detection RS232C 1CH Base Mounted (Vertical) 135 * 155 * 137 (mm) 1.15 kg 1-2 Chapter 1 1-3. Preparations for Controller Operation The following block description shows the basic steps to be taken before operating your controller. Install the controller in the following sequence. For further details, refer to the corresponding section. AC Power Connection Motor Power Connection Encoder Cable Connection (AX12, AX3) Limit, I/O Cable Connection (LMT, OUT, IN) Parameter Readjustment Program and Location Setting Operation 1-3 Chapter 1 1-4. Product Appearance 1-4-1. Multi-Axis Controller ① System Ready (RDY) This LED turns on when all preparations necessary for system operation are made inside the controller, and the controller is waiting for external command input. This signal can be useful for checking the preparations of the controller at the time of external control. ② Servo Power ON/OFF Signal (PWR) This LED turns on when the servo power is on, and turns off when the servo power is off. ③ External Mode Signal (EXT) This LED turns on during external control, and turns off during internal control mode. ④ Error Occurrence Signal (ERR) This LED turns on upon when a system error occurs, and turns off when the error is cleared. ⑤ COMM Connector 9-pin connector used for communication with the PC, ordinary RS-232C communication cable. ⑥ T/P Connector 9-pin connector connected to MAC-01 T/P (Teach Pendant). ⑦ LMT Connector 36-pin connector for connecting the limit sensor (overrun sensor) of the unit. ⑧ AX12 Connector 36-pin connector connected to 1/2-axis servo. ⑨ AX34 Connector 36-pin connector connected to 3/4-axis servo. ⑩ OUT Connector 36-pin connector used for connecting 32 output points. ⑪ IN Connector 36-pin connector for connecting 32 input points. ⑫ AC Power Input Terminal AC 220V single-phase power is connected to this terminal. 1-4 Chapter 1 ◇ External Dimension of MAC 1-5 Chapter 1 1-4-2. MAC-TP01 (Teach Pendant) ① LCD (Liquid Crystal Display) 16-character 4-line LCD that provides the user screen ② Function Keys These four keys perform different functions depending upon the situation. Each function is indicated on the fourth line of the LCD screen, in one-to-one correspondence. ③ Power ON/OFF Signal This LED turns on red when +5V power is normally supplied to MAC-01, otherwise turns off. ④ Emergency Stop Key Whenever this key is pressed, the MAC interrupts the power supply to the motor and displays the error message. ⑤ Numeric and Command Group Keys Keys 1 ~ 6 are general numeric and command group keys, which are recognized as program command keys in programming mode and as numerical keys in all the other cases. ⑥ Cursor Movement Keys These four keys are used for moving the cursor on the screen, except when the system moves in "JOG MODE" ⑦ Numeric and User Command Keys Keys 7 ~ 0 are general numeric and user command group keys, which are recognized as user command keys in "[MAIN MENU]" mode and as numerical keys in all the other cases. ⑧ ESC KEY: Used to return to the top screen, escaping from the current edit screen. ⑨ ENT KEY: Use to confirm the entered content. ⑩ Connector to the Controller: This connector is connected to 'T/P' port of the controller. ★ The maximum distance of the cable connected between the MAC and the T/P is 5M. 1-6 Chapter 1 ◇ External Dimension of MAC-TP01 T/P 1-7 Chapter 1 1-4-3. MAC-TP02 (Panel) MAC-TP02 is the panel mounting type. The location value of each axis during operation is indicated, and input and output through the I/O port are indicated in real time with I/O LEDs. The panel is fixed with bolts. ① Numeric Keys Used to enter numbers from 0 to 9, decimal points and ‘-’ symbol. 1 2 3 4 5 6 MOT PRG I/O PARA FUNC DEF 7 8 9 0 . - DO SIG MSPD JSPD SVON LMT 7 ② DO Key DO Used to modify the value of the existing program or of the location data. ③ SIG Key 8 SIG Used to turn ON/OFF 24 output points of user I/O, and monitor 16 input points. 9 ④ Movement Speed Key MSPD Used to set the movement speed of each axis in the range from 1 to 1000. 0 ⑤ Jog Speed Key JSPD Used to set the movement speed of each axis in jog mode in the range from 1 to 1000. ⑥ Servo Power ON/OFF Key . SVON Used to turn ON/OFF the servo power, as a toggling switch. - ⑦ Limit Sensor Monitor Key LMT This key displays the limit sensor status of each axis in real time. ⑧ Function Keys F1 F2 F3 F4 These four keys perform different functions depending upon the situation. Each function is indicated on the fourth line of the LCD screen, in one-to-one correspondence. 1-8 Chapter 1 EMG ⑨ Emergency Stop Key Press the emergency stop key in an emergency. The servo power turns off, and the error message is displayed on the LCD. ⑩ Cursor Movement Keys These four keys are used to move the cursor on the screen, except when the system is in the "JOG MODE". + - ⑪ Mode Change Key MODE Used to change between the "PANEL MENU" mode and the "MAIN MENU" mode. RUN ⑫ Run and Stop Keys STOP Run Key = Used to run the program. Stop Key = Used to stop the program. Stop the program with the "STOP KEY" and run it with the "RUN KEY" again, and then the program is executed from the line next to the stopped one. ⑬ ZR/Reset Key ZR RESET ZR/Reset key performs two functions. If zero return is not completed, this key works as the "ZR (Zero Return) Key", otherwise, it works as the "Program Reset Key". ⑭ ESC, ENT KEY ESC ENT ESC KEY: Used to move to the top screen, escaping from the current edit screen. ENT KEY ENT KEY: Used to confirm the entered content. ⑮ PWR, SRV, ERR LED Signals PWR = This LED turns on when DC 24V power is applied to the panel. SRV = This LED turns on when the servo power is ON, and turns off when it is OFF. ERR = This LED turns on when an error occurs, and turns off when the error is cleared or when there is no error. 1-9 Chapter 1 ◇ External View of MAC-TP02 Panel 203 mm SAMSUNG MAC02 * F1 * ② ① F2 F3 1 2 3 4 5 6 MOT PRG I/O PARA FUNC DEF 7 8 9 0 . - DO SIG MSPD JSPD SVON LMT 모드 기동 정지 ZR MODE RUN STOP RESET ESC 200 mm F4 ENT EMG + + * ③ OUT IN 1-10 Chapter 1 1-5. Basic Items The following three basic items are provided upon purchase of the controller. ① Multi-Axis Controller (MAC) 2-axis Controller (PART NO. = MAC-201 (Position Type)) (PART NO. = MAC-211 (Position +Velocity Type)) 3-axis Controller (PART NO. = MAC-301 (Position Type)) (PART NO. = MAC-311 (Position +Velocity Type)) 4-axis Controller (PART NO. = MAC-401 (Position Type)) (PART NO. = MAC-411 (Position +Velocity Type)) ② One 3.5" Diskette for PC Communication Software ③ MAC User’s Manual 1-6. Optional Items Operational items should be separately purchased when you purchase the controller. They are not provided if you purchase only the controller. ① 2-axis Cable (AX12 & AX34) Cable that connects to the Samsung Servo Drive (2 Axes/Cable) No. 1-11 Chapter 1 ② 1-axis Cable (AX12 & AX34) Cable that connects to the Samsung Servo Drive (1 Axis/Cable) No . Cable Name Length (m/m, ± 10%) 1-12 Chapter 1 ⑤ MAC-TP01 Teach Pendant (Part No. = MAC-TP01) 그림 삽입 ⑥ MAC-TP02 Teach Panel (Part No. = MAC-TP02) ⑦ Base Panel The base on which the MAC and the servo are to be installed No. 1-13 Chapter 1 1-7. Controller Assembly Diagram 1-7-1. 2-axis Controller Assembly Diagram (MAC-201) 1-7-2. 3-axis Controller Assembly Diagram (MAC-301) * The above pictures illustrate the controller assembly with the small capacity (400W or less) servo. 1-14 CHAPTER 2 INSTALLATION AND WIRING 2-1. Controller Installation 2-2. Wiring 2-3. AC Power Cable Wiring 2-4. Axis (AX12 & AX34) Cable Wiring 2-5. I/O (In/Out) Cable Wiring 2-6. Limit (LMT) Cable Wiring 2-7. Motor Brake Cable Wiring 2-8. Controller Connector 2-9. Description of External Terminal Board of the Controller 2-10. Controller Wiring Diagram 2-11. Controller and Servo Wiring Diagram 2-12. Connector Pin Specification 2-13. COMM Connector Wiring Diagram (9-pin Connector) Chapter 2 2-1. Controller Installation 2-1-1. Inspection upon Product Arrival When the product arrives, check the following items. A. Does the product agree with what you ordered? B. Is there any damage during transportation? C. Check the capacity and the drive type when purchasing the servo and the motor. D. Doesn’t the joint part come loose? If there is any problem, contact immediately the sales division of our company or the sales agent where you bought the product. In addition, check if screws come loose, the lead wire is short-circuited, or the insulation is damaged. 2-1-2. MAC Installation The MAC is a base-mounting type controller. When installing the controller on the rack or the panel, install the cooling fan in consideration to the mechanical state of the surrounding area so that the controller can operate within the allowable temperature limit (55℃). When the MAC is subject to vibration, remove the vibration using the damping material. Corrosive gas may cause NFB and the wiring terminal to be corroded, which might lead to an accident. In particular, do not install the controller in a hot, humid or dusty place or in a place where a ferrous material or explosive gas exists. Generally, the controller is installed by attaching it to the wall. In this case, keep the mounting direction specified on the controller unit as the controller uses natural convection. <Figure 2-1. MAC Mounting Method (Front View)> 2-1 Chapter 2 2-1-3. Environment for MAC Installation - The MAC should be installed indoors, free from corrosive or explosive gas. - Ambient Temperature: 0 ∼ +55℃ - Storage Temperature: -20 ∼ +80℃ - Humidity : 20 ∼ 90% (no Condensation) - Vibration: 0.5G(4.9m/s2) - Well-ventilated place free of dust and humidity - Places easily accessible for inspection and cleaning If there exists much water or grease, take necessary measures such as attaching a cover. 2-1-4. Other Precautions - Mount the controller vertically on the wall using the screw holes for attaching the base of the controller. - MAC uses cooling by natural convection, so a sufficient space should be secured around the controller. - If you install MACs successively inside the panel, the distribution of temperature in the panel may be uneven and accordingly the temperature may rise. In this case, install the blower on the upper side to decrease the temperature of the MAC, as shown in Figure 2-2. <Figure 2-2. Blower Installation> 2-2 Chapter 2 2-2. Wiring The wiring should be made referring to the connector specification, the cable specification and the wiring diagram. The MAC is a high-precision location controller that processes signals below several mV. Consider the following mattes when you wire the controller. 1) For the encoder line and the location command signal line (AX12 and AX34 cables), use the twisted shielded pair or the multi-core twisted pair shield wire of AWG28 thickness or more. 2) For the ground line (B.G) of the external control board of the controller, use a thick cable if possible. Be sure to make 1-point grounding of Class 3 grounding or higher. When you insulate between the motor and the mechanical parts, ground the motor. 3) For wiring distance, make the axis (AX12 and AX3) cable length 1.5M, I/O cable 20M and limit (LMT) cable 10M in maximum. Wire the cable as short as possible and cut off the remaining cable. 4) Observe the following instructions to prevent mal-functioning due to noises: - Install the line filter, MAC, servo motor and input device in adjacent places if possible. - Attach the surge absorber to the relay, molded-case circuit breaker (MCCB) and magnetic contactor. - Do not use the same duct for the power and motor cable as that of the signal line. - It is recommended to install the noise filter for the power input. - For installation within a box, provide proper cooling so that the ambient temperature of the MAC may not exceed +50℃(cooling fan, air-cooler, etc.) - The MAC temperature may rise up to about 40℃. Thus, arrange the equipment or wiring subject to heat away from the robot controller. - When the equipment that generates noises such as the electric welder and the discharging processor is located nearby, attach the noise filter to the power input circuit. - Be sure to open the signals and terminals that are not in use. - When the wire is subject to bending or tension, remove the causes of such problems or use a special wire. 2-3. AC Power Cable Wiring The AC power cable is composed of three strands. The wire the cable, distinguishing between the grounding wire (F.G) and the AC power cable. The grounded is indispensable for preventing electric shock and for increasing the yield strength for the noise applied to the MAC. The cable thickness should not be less than AWG18. 2-3 Chapter 2 2-4. Axis (AX12 & AX34) Cable Wiring The axis cable processes encoder signals and pulse command signals, so it should be wired using the twisted wire or multi-core twisted pair shielded wire. The cable thickness should not be less than AWG28. For the encoder, analog command output, GND, step pulse +, step pulse -, direction + and direction -, the twisted pair wire should be used. ★ The maximum wiring length of the axis (AX12,AX34) cable is 1.5M. 2-5. I/O(OUT/IN) Cable Wiring The I/O cable thickness should not be less than AWG28. ★ The maximum wiring length of I/O cable is 20M. 2-6. Limit (LMT) Cable Wiring The thickness of the limit cable should not be less than AWG28. The limit sensor output of the MAC is maximum 24V,20㎃. The maximum wiring length of the limit (LMT) cable is 10M. ▶ Types of Available Sensors Photo Sensor, Limit Switch, AdjacentSensor ▶ Internal Circuit of the Controller +24V ※ 5V Output, PIN 1,6,19,24 1K ※ 24V Output, PIN 11,12,29,30 Photo Coupler TLP120 TLP120 TLP120 4.7K HOME 4.7K +LIMIT PIN 3,8,21,26 4.7K -LIMIT PIN 4,9,22,27 GND PIN 2,7,20,25 PIN 5,10,23,28 ▶ Cautions for Wiring For the photo sensor, wire the sensor after verifying the voltage level and current of the diode side. Wire the adjacent sensor after verifying the operating power source. 2-4 Chapter 2 2-7. Motor Brake Cable Wiring Connect the motor brake cable to the Limit Connector Pin 35 (+ Terminal) and Pin 36 (- Terminal) of the MAC. The internal wire of each pin is composed of two strands, and the pin specification and the internal circuit are shown below. PIN NO Limit Connector Pin 35 Limit Connector Pin 35 Multi-Axis Controller +24V +5V RELAY FUNCTION BRAKE + BRAKE - Limit Connector Pin 35 Limit Connector Pin 36 [Internal Circuit for MAC Brake Control] 2-8. Controller Connector Recommended Connector (Receptacle) Type Connector Connector Used in Name the Controller Connect or (Solderin Case Manufacturer Current Cable Specification Capacity g) LIMIT, AX12, 10136-52A2VC AX34, I/O 101363000VE · AWG 24, 26 and 23 2-wire Twisted 1033652A0- 3M 008 DC Max 100mA Shield Cable · The entire thickness of the cable is maximum 16mm. ★ We sell the above cables as optional items. 2-9 Description of External Terminal Board of the Controller Terminal Board Marking AC EARTH Name Description Main Power Input Frame Ground Single-phase 220V +10%, -15% 50/60Hz 2-5 Chapter 2 2-10. Controller Wiring Diagram 2-6 Chapter 2 2-11. Controller and Servo Wiring Diagram 2-11-1. Samsung Position Type Servo MAC 36-PIN SIGNAL NAME NO. SERVO#1 MAC 36-PIN 36-PIN NO. NO. SERVO #2 SIGNAL NAME 36-PIN NO. 1 “ X” Signal Input 7 19 “X” Signal Input 7 2 ± 10V ANALOG OUTPUT X 20 ± 10V ANALOG OUTPUT X 3 5V GND 17,33 21 5V GND 17,33 4 ENCODER A+ 16 22 ENCODER A+ 16 5 ENCODER A- 20 23 ENCODER A- 20 6 ENCODER B+ 21 24 ENCODER B+ 21 7 ENCODER B- 22 25 ENCODER B- 22 8 ENCODER Z+ 23 26 ENCODER Z+ 23 9 ENCODER Z- 24 27 ENCODER Z- 24 10 STEP PULSE + (CW+) 1 28 STEP PULSE + (CW+) 1 11 STEP PULSE - (CW-) 2 29 STEP PULSE - (CW-) 2 12 STEP SIGN + (CCW+) 3 30 STEP SIGN + (CCW+) 3 13 STEP SIGN - (CCW-) 4 31 STEP SIGN - (CCW-) 4 14 Servo Alarm Input 31 32 Servo Alarm Input 31 15 24V Output 12 33 24V Output 12 16 Servo Power ON Output 9 34 Servo Power ON Output 9 17 Servo Alarm Reset Output 10 35 Servo Alarm Reset Output 10 18 24V GND 32 36 24V GND 32 SHIELD 36 SHIELD 36 2-7 Chapter 2 ● Wiring between Samsung Small-volume Position Type (CSD) Servo Drive and the MAC MACMAC 제어기 Location위치형 Type SERVO Servo CW + 10 CW - Location Plus Input 위치 PLUS 입력->>> 1 PULS 11 2 PULS CCW + 12 3 SIGN CCW - 13 4 SIGN 150 Ω 150 Ω 36 <F.G> MC 3486 ENC A 4 19 5 20 ENC A ENC B 6 21 ENC B 7 22 ENC Z 8 23 ENC Z 9 24 Servo Output SERVO PG PG출력 LineDRIVER Driver LINE 15 +24V 출력Output +24V 16 Servo Power On/Off 17 Servo Alarm Reset 10 ALM RST 14 Servo Alarm 31 ALM OUT 18 (24V GND) 12 9 SV-ON +24V 32 ※ " " mark indicates the twisted pair. 2-8 Chapter 2 2-11-2. Samsung Velocity Type Servo MAC 36-PIN SIGNAL NAME NO. SERVO#1 MAC 36-PIN 36-PIN NO. NO. SERVO #2 SIGNAL NAME 36-PIN NO. 1 “X” Signal Input 7 19 “X” Signal Input 7 2 ± 10V ANALOG OUTPUT 1, 3 20 ± 10V ANALOG OUTPUT 1, 3 3 5V GND 2, 4, 33 21 5V GND 2, 4, 33 4 ENCODER A+ 19 22 ENCODER A+ 19 5 ENCODER A- 20 23 ENCODER A- 20 6 ENCODER B+ 21 24 ENCODER B+ 21 7 ENCODER B- 22 25 ENCODER B- 22 8 ENCODER Z+ 23 26 ENCODER Z+ 23 9 ENCODER Z- 24 27 ENCODER Z- 24 10 STEP PULSE + (CW+) X 28 STEP PULSE + (CW+) X 11 STEP PULSE - (CW-) X 29 STEP PULSE - (CW-) X 12 STEP SIGN + (CCW+) X 30 STEP SIGN + (CCW+) X 13 STEP SIGN - (CCW-) X 31 STEP SIGN - (CCW-) X 14 Servo Alarm Input 31 32 Servo Alarm Input 31 15 24V Output 12 33 24V Output 12 16 Servo Power ON Output 9 34 Servo Power ON Output 9 17 Servo Alarm Reset Output 10 35 Servo Alarm Reset Output 10 18 24V GND 32 36 24V GND 32 SHIELD 36 SHIELD 36 2-9 Chapter 2 ● Wiring Between the Samsung Small-volume Velocity Type (CSD) Servo Drive and the MAC MACMAC 제어기 Velocity Type Servo 속도형 SERVO 1 V/T-REF D /A 2 2 3 3 V-REF T-REF 4 36 MC 3486 ENC ENC A A 4 19 5 20 ENC B 6 21 ENC B 7 22 ENC Z 8 23 ENC Z 9 24 15 +24V Output +24V 출력 16 Servo Power On/Off 17 Servo Alarm Reset 14 Servo Alarm 31 18 (24V GND) 32 <F.G> Servo Output SERVOPG PG출력 LINE Line DRIVER Driver 12 9 10 SV-ON ALM RST +24V ※ " " mark indicates the twisted pair. 2-10 ALM OUT Chapter 2 2-11-3. Wiring between the Samsung Large-volume (CSDP) and the Small-volume (CSDJ) Servo Drives and the MAC MAC 36-PIN SIGNAL NAME NO. SERVO#1 MAC 36-PIN 36-PIN NO. NO. SERVO #2 SIGNAL NAME 36-PIN NO. 1 “X” Signal Input 41 19 “X” Signal Input 41 2 ± 10V ANALOG OUTPUT 19, 21 20 ± 10V ANALOG OUTPUT 19, 21 3 5V GND 20,22,27,42 21 5V GND 20,22,27,42 4 ENCODER A+ 29 22 ENCODER A+ 29 5 ENCODER A- 30 23 ENCODER A- 30 6 ENCODER B+ 31 24 ENCODER B+ 31 7 ENCODER B- 32 25 ENCODER B- 32 8 ENCODER Z+ 33 26 ENCODER Z+ 33 9 ENCODER Z- 34 27 ENCODER Z- 34 10 STEP PULSE + (CW+) 11 28 STEP PULSE + (CW+) 11 11 STEP PULSE - (CW-) 12 29 STEP PULSE - (CW-) 12 12 STEP SIGN + (CCW+) 13 30 STEP SIGN + (CCW+) 13 13 STEP SIGN - (CCW-) 14 31 STEP SIGN - (CCW-) 14 14 Servo Alarm Input 45 32 Servo Alarm Input 45 15 24V Output 1 33 24V Output 1 16 Servo Power ON Output 3 34 Servo Power ON Output 3 17 Servo Alarm Reset Output 7 35 Servo Alarm Reset Output 7 18 24V GND 46 36 24V GND 46 SHIELD 50 SHIELD 50 2-11 Chapter 2 ● Wiring between the Samsung Integrated Large-volume (CSDP) and the CSDJ Servo Drive and the MAC MAC 제어기 MAC CSDP, CSDJ TYPE SERVO 19 2 V/T-REF D/ A Analog Command Output ANALOG 지령 출력 V-REF 20 3 21 T-REF 22 27,4 2 Pulse 출력 Output PLUSE 11 PULS 11 12 PULS CCW + 12 13 SIGN CCW - 13 14 SIGN CW + 10 CW - 150Ω 150Ω 50 <F.G> MC 3486 A 4 29 EA ENC A 5 30 EA ENC B 6 31 EB ENC B 7 32 EB ENC Z 8 33 EZ ENC Z 9 34 EZ ENC 15 +24V 출력 +24V Output 1 16 Servo Power On/Off 3 SV-ON 17 Servo Alarm Reset 7 ALM RST 14 Servo Alarm 45 ALM OUT 18 (24V GND) 46 +24V ※ " " mark indicates the twisted pair. 2-12 SERVO Servo PG PG출력 Output LINE DRIVER Line Driver Chapter 2 2-12. COMM Connector Wiring Diagram The COMM connector is a 9-pin connector used for the communication with the PC, whose wiring method is shown below. MAC PC Side Rx. PIN 2 Rx. PIN 2 Tx. PIN 3 Tx. PIN 3 GND PIN 5 GND PIN 5 Shield Shield * If the shield is not connected, the communication port on PC side may be damaged. Thus, take heed of it. 2-13 CHAPTER 3 CONNECTOR PIN SPECIFICATION AND EXTERNAL CONTROL 3-1. 3-2. 3-3. 3-4. 3-5. 3-6. 3-7. 3-8. MAC I/O Wiring Diagram Axis Connector (AX12 & AX34) Pin Specification Limit (LMT) Connector Pin Specification I/O (OUT/IN) Connector Pin Specification I/O Circuit Configuration External Control System I/O Timing Chart Jog I/O Control Chapter 3 3-1. MAC I/O Wiring Diagram (Note) The I/O port capacity is 24V, 20mA for input and 24V, 150mA for output. 3-1 Chapter 3 3-2. Axis Connector (AX12 & AX34) Pin Specification The axis connector connected to the motor driver is a standard 36-pin connector of which pin numbers and specifications are given below. Two axes are connected to each axis connector. ◇ Axis Connector Pin Specification PIN NO PIN SPECIFICATION AXIS PIN NO PIN SPECIFICATION AXIS 1 “X” 1st 19 “X” 2nd 2 D/A OUT 1st 20 D/A OUT 2nd 3 GND 1st 21 GND 2nd 4 ENCODER A+ 1st 22 ENCODER A+ 2nd 5 ENCODER A- 1st 23 ENCODER A- 2nd 6 ENCODER B+ 1st 24 ENCODER B+ 2nd 7 ENCODER B- 1st 25 ENCODER B- 2nd 8 ENCODER Z+ 1st 26 ENCODER Z+ 2nd 9 ENCODER Z- 1st 27 ENCODER Z- 2nd 10 STEP PULSE + 1st 28 STEP PULSE + 2nd 11 STEP PULSE - 1st 29 STEP PULSE - 2nd 12 STEP DIRECTION + 1st 30 STEP DIRECTION + 2nd 13 STEP DIRECTION - 1st 31 STEP DIRECTION - 2nd 14 SERVO ALARM 1st 32 SERVO ALARM 2nd 15 +24V OUTPUT 1st 33 +24V OUTPUT 2nd 16 SERVO POWER ON 1st 34 SERVO POWER ON 2nd 17 SERVO ALARM RESET 1st 35 SERVO ALARM RESET 2nd 18 24V GND 1st 36 24V GND 2nd 3-2 Chapter 3 3-3. Limit (LMT) Connector Pin Specification The limit connector is a standard 36-pin connector of which pin numbers and specifications are given below. The limit sensor input is three per axis, and it can connect up to the four axes. BRAKE+ and BRAKE- (the motor brake control signals) pins control the motor brake as a pair. In the MAC, 'BRAKE+' pin outputs 24V and 'BRAKE-' pin outputs 0V. The internal circuit of the limit connector inside the controller is illustrated in Section 2-6. ◇ Limit Connector Pin Specification PIN NO PIN SPECIFICATION PIN NO PIN SPECIFICATION 1 +5V OUTPUT 19 +5V OUTPUT 2 1-AXIS HOME SENSOR 20 3-Axis HOME SENSOR 3 1-AXIS + LIMIT SENSOR 21 3-Axia LIMIT SENSOR 4 1-AXIS - LIMIT SENSOR 22 3-Axis LIMIT SENSOR 5 GND 23 GND 6 +5V OUTPUT 24 +5V OUTPUT 7 2-AXIS HOME SENSOR 25 4-Axis HOME SENSOR 8 2-AXIS + LIMIT SENSOR 26 4-Axis LIMIT SENSOR 9 2-AXIS - LIMIT SENSOR 27 4-Axis LIMIT SENSOR 10 GND 28 GND 11 1-AXIS +24V OUTPUT 29 3-AXIS +24V OUTPUT 12 2-AXIS +24V OUTPUT 30 4-AXIS +24V OUTPUT 13 X 31 X 14 X 32 X 15 X 33 X 16 X 34 X 17 X 35 BREAK + (+24V) 18 X 36 BREAK – (24GND) (Note) For the GND for +24V output, use the GND (PIN 5,10, 23, 28) for +5V output in common. 3-3 Chapter 3 3-4. I/O Connector (OUT/IN) Pin Specification The external I/O is driven by 24V power (supplied by the user). There are total 64 input and output points among which 16 are system input points, 8 system output points, 16 user input points and 24 user output points. The external I/O connector is a standard 36-pin connector and each pin has its unique function. The following table shows pin numbers and specifications. For more details about each signal, see Section 3-6. ◇ I/O Input (IN) Connector Pin Specification PIN NO SIGNAL NAME PIN SPECIFICATION PIN NO SIGNAL NAME PIN SPECIFICATION 1 E_STOP External Emergency Stop(+) 19 SIGIN 1 External Signal Input 1 2 E_STOP External Emergency Stop(-) 20 SIGIN 2 External Signal Input 2 3 ZR Zero Return 21 SIGIN 3 External Signal Input 3 4 RUN/STOP Program Run/Stop 22 SIGIN 4 External Signal Input 4 5 PAUSE Pause 23 SIGIN 5 External Signal Input 5 6 ERR_RST Error Reset 24 SIGIN 6 External Signal Input 6 7 EXT External Control Selection 25 SIGIN 7 External Signal Input 7 8 SVON/OFF Servo Power ON/OFF 26 SIGIN 8 External Signal Input 8 COM 1 (PIN3 ~ PIN8) 27 9 COM 3 (PIN19 ~ PIN26) 10 INT 1 User Interrupt #1 28 SIGIN 9 External Signal Input 9 11 INT 2 User Interrupt #1 29 SIGIN 10 External Signal Input 10 12 INT 3 User Interrupt #1 30 SIGIN 11 External Signal Input 11 13 PSEL 1 Program Selection Bit 0 31 SIGIN 12 External Signal Input 12 14 PSEL 2 Program Selection Bit 1 32 SIGIN 13 External Signal Input 13 15 PSEL 4 Program Selection Bit 2 33 SIGIN 14 External Signal Input 14 16 PSEL 8 Program Selection Bit 3 34 SIGIN 15 External Signal Input 15 17 PSEL 16 Program Selection Bit 4 35 SIGIN 16 External Signal Input 16 COM 2 (PIN10 ~ PIN17) 36 18 3-4 COM 4 (PIN28 ~ PIN35) Chapter 3 ◇ I/O Output (OUT) Connector Pin Specification PIN NO SIGNAL NAME PIN SPECIFICATION PIN NO SIGNAL NAME PIN SPECIFICATION 1 ERR Error Occurrence 19 SIGOUT 9 External Signal Output 9 2 ON-EXT External Control 20 SIGOUT 10 External Signal Output 10 3 SVON Servo Power ON 21 SIGOUT 11 External Signal Output 11 4 READY System Ready 22 SIGOUT 12 External Signal Output 12 5 RUN Program Run 23 SIGOUT 13 External Signal Output 13 6 P_STOP Pause 24 SIGOUT 14 External Signal Output 14 7 E_STOP Emergency Stop 25 SIGOUT 15 External Signal Output 15 8 ZRC Zero Return Completed 26 SIGOUT 16 External Signal Output 16 COM 1 27 9 COM 3 10 SIGOUT 1 External Signal Output 1 28 SIGOUT 17 External Signal Output 17 11 SIGOUT 2 External Signal Output 2 29 SIGOUT 18 External Signal Output 18 12 SIGOUT 3 External Signal Output 3 30 SIGOUT 19 External Signal Output 19 13 SIGOUT 4 External Signal Output 4 31 SIGOUT 20 External Signal Output 20 14 SIGOUT 5 External Signal Output 5 32 SIGOUT 21 External Signal Output 21 15 SIGOUT 6 External Signal Output 6 33 SIGOUT 22 External Signal Output 22 16 SIGOUT 7 External Signal Output 7 34 SIGOUT 23 External Signal Output 23 17 SIGOUT 8 External Signal Output 8 35 SIGOUT 24 External Signal Output 24 COM 2 36 18 COM 4 ★ The phrases ‘The signal is inputted’ and ‘The signal is turned on’ used in the input circuit section refer to the situation where the conditions for the photo coupler to be turned on is met, while the phrases ‘The signal is outputted’ and ‘The signal is turned on’ in the output circuit section refer to the situation where the conditions for transistor to be turned on is met. 3-5 Chapter 3 ★ Input Common Terminals There are four input common terminals of COM 1∼4, and the pin number assigned to each input common terminal is shown below. As the input circuit uses the bi-directional photo coupler, +24V or 0V can be connected to these four pins. Input Common Terminal No. COM 1 COM 2 COM 3 COM 4 Pin No. Assigned to Each Input Common Terminal PIN 3 ~ 8 PIM 10 ~ 17 PIN 19 ~ 26 PIN 28 ~ 35 ★ Output Common Terminals There are four output common terminals of COM 1∼4, and the pin number assigned to each output common terminal is shown below. +24V GND should be connected to these four pins. Output Common Terminal No. COM 1 COM 2 COM 3 COM 4 Pin No. Assigned to Each Output Common Terminal PIN 1 ~ 8 PIM 10 ~ 17 PIN 19 ~ 26 PIN 28 ~ 35 3-6 Chapter 3 3-5. I/O Circuit Configuration This section describes in detail the external input and output circuits used in the MAC, and also describes how to connect to the external equipment. 3-5-1. I/O Input Circuit 3-5-2. I/O Output Circuit 3-7 Chapter 3 3-5-3. Input Control Circuit by External Switch 3-5-4. Input Control Circuit by External Relay 3-5-5. Input Control Circuit by I/O input (TR Sink Output) 3-8 Chapter 3 3-5-6. Relay Control Circuit by I/O Output 3-9 Chapter 3 3-6. External Control MAC can operate either by internal control or by external control. Selection of internal/external control is made by the setting of the System Input Pin 7. If the System Input Pin 7 is on, external control is selected and if OFF, internal control is selected. Internal control refers to controlling the robot system not by the external signals but by the user using the Teach Pendant attached to the MAC. External control refers to controlling the robot system by the external controller (mainly PLC) through the I/O port. The controller transfers the current system status to the external controller through the system output port, and the external controller gets the current system status from the signal received from the controller. Then, it sends the signal to the robot system so that the controller can operate according to the signal. ★ External control is recognized only in such menu screens as [MAIN MENU], [RUN], [RUN/AUTO], [RUN/STEP] and [PRG] in the T/P! 3-6-1. Menu Screen for External Control [EXT] <00> PRG DON I/O OFF Set the input of the System Input Pin 7 to ON, and the above screen appears on the LCD of the T/P. F1 F2 F3 F4 Press keys in the above screen, and the following four display modes appear. ※ Each display mode is available only in the stop state. 1). Mode Indicating the Program Being Executed key, and the content of the program being executed is indicated in the real time. Press F1 [EXT] <00> 000 MVS P100 PRG DON I/O OFF The program number being executed is highlighted with yellow. The content of the program being executed is indicated 3-10 Chapter 3 Current Position Value Indication Mode F2 Press key, and the current location values of Axes 1, 2 and 3 are indicated in real time. [EXT] < 00> AX1= 123.45 AX2= - 345.67 PRG DON I/O OFF The program number being executed is indicated. The current position value of Axis 1 is indicated. The current position value of Axis 2 is indicated. < Application of 2-Axis MAC [EXT] AX1= 123.45 AX2= - 345.67 < 00> AX3= 213.00 The program number being executed is indicated. The current position value of AXis 1 is indicated. The current position value of AXis 2 is indicated. 2축의 현재위치값이 표시됨. The current position value of AXis 3 is indicated. < Application of 3-Axis/4-Axis MAC > (Note) To return to the top screen in the current location value display mode for 3-Axis or 4-Axis MAC, ESC press key. 3). I/O Indication Mode Press F3 [EXT] IN key, and 32 I/O input and output points each are displayed in real time. <00> = 00000000h OUT = 00000000h PRG DON I/O OFF Indicates 32 I/O input points. (16 higher bits = external input, 16 lower bits = system input) Indicates 32 I/O output points. (24 higher bits = external output, 8 lower bist = system output) 4). OFF Mode Press F4 key, and the T/P escapes from the program display, current location(Position) value display, or I/O display mode and the initial screen for external control appears. If F4 key is pressed, the initial screen of external I/O control is displayed after escaping from program current position(Location) value or I/O display mode. 3-11 Chapter 3 3-6-2. System Input Signals Related to External Control ◇ External Emergency Stop (E_STOP) ▶ PIN 1,2 ▶ Connect the e-stop switch. (See Section 3-1, I/O Wiring Diagram) ▶ Operates as the level signal. Emergency Stop Input Emergecy Stop Output 3 0 ~ 4 0 m s e c ◇ Zero Return (ZR) ▶ PIN 3 ▶ Selected to return all axes of the robot to the zero point. ▶ Operates as the rising edge. That is, this signal is recognized when it changes from low to high. Zero Return Input 원점복귀 입력 Zero Return 원점복귀 수행 Zero Return Completion Output 원점복귀 완료 출력 Zero Return Completed 원점복귀 완료 30 ~ 40 msec ◇ Program Run/Stop ▶ PIN 4 ▶ Selected to run/stop the selected program. ▶ Operates as the rising edge. That is, this signal is recognized when it changes from low to high. Program Run/Stop Input 프로그램 기동/정지 입력 Program Run Output 프로그램 기동 출력 Stop 정지 Run 30 ~ 40 msec 3-12 기동 Stop 정지 30 ~ 40 msec Chapter 3 ◇ Pause ▶ PIN 5 ▶ Selected to put pause to the program being executed. ▶ Operates as the level signal. That is, the robot system pauses when the input signal is high and is released from pause when it is low. Pause Input 입력 일시정지 일시정지중 On Pause 일시정지 Pause Output출력 Pause Release 일시정지 해 제 30 ~ 40 msec 30 ~ 40 msec ◇ Error Reset (ERR_RST) ▶ PIN 6 ▶ Selected to reset the servo error . ▶Operates as the rising edge. That is, this signal is recognized when it changes from low to high. Error Occurrence (Output) ERROR 발생(출력) ERROR 입력 Error RESET Reset Input 30 ~ 40 msec ◇ External Control Selection (EXT) ▶ PIN 7 ▶ Selected to control the robot with external signals. ▶ Operates as the level. That is, the robot is under external control when the input signal is high and under internal control when the signal is low. External Control Selection입력 Input 외부제어선택 외부제어 모드 External Control Mode 출력 External 외부제어 Control Output 30 ~ 40 msec 3-13 Internal Control 내부제어 모드 Mode 30 ~ 40 msec Chapter 3 ◇ Servo Power ON/OFF (SVON/OFF) ▶ PIN 8 ▶ Selected to turn ON/OFF the servo power. ▶ Operates as the rising edge. That is, this signal is recognized when it changes from low to high. SERVO POWER ON/OFF 입력 Servo Power ON/OFF Input Servo Power ON ON Output SERVO POWER 출력 ON OFF 30 ~ 40 msec OFF 30 ~ 40 msec ◇ User Interrupt (INT 1 ~ INT 3) ▶ PIN 10,11,12 ▶ Used to generate the user interrupt using the system I/O. ▶ Operates as the rising edge. That is, this signal is recognized when it changes from low to high. ▶ The user interrupt operates only when the program command (INT) is defined in the program. Therefore, if the INT command is defined as OFF in the program, the interrupt is not executed even when the user interrupt signal is generated. (See Chapter 10, Programming Language.) ◇ Program Selection (PSEL1 ~ PSEL16) ▶ PIN 12 ∼ 16 12 : Program Selection Bit 0 (PSEL 1) 13 : Program Selection Bit 1 (PSEL 2) 14 : Program Selection Bit 2 (PSEL 4) 15 : Program Selection Bit 3 (PSEL 8) 16 : Program Selection Bit 4 (PSEL 16) ▶ Select a program to be executed, from the outside. It is possible to select from 0 to 31 programs. ▶ Operates as the level. That is, this bit is set as 1 when the input signal is high and 0 (zero) when it is low. 3-14 Chapter 3 3-6-3. System Output Signals related to External Control ◇ Error Occurrence (ERR) ▶ PIN 1 ▶ Indicates that an error occurs. ◇ External Control (ON_EXT) ▶ PIN 2 ▶ Indicates that the robot is being operated by external control. ◇ Servo Power ON (SVON) ▶ PIN 3 ▶ Indicates that the motor driver power is ON. ◇ System Ready (READY) ▶ PIN 4 ▶ Indicates that the system is booted and gets ready for command input. If this signal is OFF, the controller does not operate. ◇ Program Run (RUN) ▶ PIN 5 ▶ Indicates that the program is running. ◇On Pause (P_STOP) ▶ PIN 6 ▶ Indicates that the program being executed is paused. ◇ Emergency Stop (E_STOP) ▶ PIN 7 ▶ Indicates that the system stops on emergency. ◇ Zero Return Completed (ZRC) ▶ PIN 8 ▶ Indicates that zero return is completed. 3-15 Chapter 3 3-7. System I/O Timing Chart ◇ Chart 1 Input Contact 입력 접점 Sequence 시이퀸스 External Control 1)외부제어 Selection 선택 ServoPOWER PowerON/OFF ON/OFF 2)서보 Zero 복귀 Return 3)원점 Program Run 4)프로그램 기동 Pause Request 5)일시정지 요구 Output 출력 Contact 접점 External Control 1)외부제어 (ON-EXT) 30~40ms ServoPOWER PowerONON 2)서보 (SVON) 100~110ms Zero Return 3)원점복귀 완료 Completed (ZRC) Zero Return 원점복귀실 시 Program Run 4)프로그램 기동 (RUN) 30~ 40ms Pause 5)일시정지 (P-STOP) 30~40ms 3-16 30~ 40ms Chapter 3 ◇ CHART 2 Input Contact 입력 접점 Sequence 시이퀸스 External Control 1)외부제어 Selection 선택 Servo POWER Power ON/OFF ON/OFF 2)서보 Zero Return 3)원점 복귀 Program Run/Stop 4)프로그램 기동/정지 Request 5) Pause 일시정지 요구 An error occurs. ERROR 발생 Error Reset 6) ERROR RESET Output 출력Contact 접점 External Control 1)외부제어 (ON-EXT) 30~40ms ServoPOWER PowerON ON 2)서보 (SVON) 100 ~110ms Zero Return Completed 3)원점복귀 완료 (ZRC) Zero Return 원점복 귀실시 Program Run 4)프로그램 기동 (RUN) 30~ 40ms Pause 5)일시정지 (P-STOP) 30~ 40ms 30~ 40ms Error Occurrence 6)ERROR 발생 (ERR) 3-17 Chapter 3 3-7-1. Explanation about System I/O Timing Chart ◇ Explanation about Chart 1 1. Turn on the "External Control" input contact when the “System Ready” signal is outputted. Then, the "External Control" output contact turns on. To release the external control, turn off the "External Control" input contact. 2. If there is an error, turn on the "Error Reset" input contact to clear the error. When the error is cleared, the "Error Occurrence” output contact turns off. 3. Turn on the "Servo Power ON/OFF" input contact. Then, the "Servo Power ON" output contact turns on. 4. When the servo power is turned on, turn on the "Zero Return" input contact. When the zero return is completed, the "Zero Return Completed" output contact turns on. 5. Select "Program Selection" input contact, and then turn on the "Program Run/Stop" input contact. Then, the "Program Run" output contact turns on. To release the program run, turn off the "Program Run/Stop" input contact. 6. Turn on the "Pause" input contact during program execution, and the program execution is put to a pause and the "Pause" output contact turns on. To release the pause, turn off the "Pause" input contact. 7. To turn off the servo power, stop the program execution and turn off the "Servo Power ON/OFF" input contact. Then, the "Servo Power ON" output contact turns off. 3-18 Chapter 3 ◇ Explanation about Chart 2 1. Turn on the "External Control" input contact when the “System Ready” signal is outputted. Then, the "External Control" output contact turns on. To release the external control, turn off the "External Control" input contact. 2. If there is an error, turn on the "Error Reset" input contact to clear the error. When the error is cleared, the "Error Occurrence” output contact turns off. 3. If the "Emergency Stop" input contact turns on or a servo error occurs, the servo power turns off and the "Servo Power ON" output contact turns off. 4. If an error occurs while the program is running, the program execution stops and such output contacts as the "Zero Return Completed", the "Program Run" and the "Pause" all turn off. 3-19 Chapter 3 3-8. JOG I/O Control The MAC has the jog operation mode in which the controller jogs the robot using external input signals. The external input signal for each jog I/O control function is listed below. External Input Signal No. Function External Input Signal No. 16 ON Select the jog function. External Input Signal No. 15 ON Move toward ‘+’ coordinate direction. External Input Signal No. 14 ON Move toward ‘-’ coordinate direction. External Input Signal No. 13 ON Select Axis 1. External Input Signal No. 12 ON Select Axis 2. External Input Signal No. 11 ON Select Axis 3. External Input Signal No. 10 ON Select Axis 4. ◈ Cautions for using Jog I/O Function 1. The jog I/O function operates only when the system parameter JGIO is "ON". 2. The jog I/O function is shown only in the”[ main menu]” screen in the internal control mode. 3. If the jog function is not selected, other external input signals (No. 10 through No.15) are all ignored. 4. It is impossible to select two axes at the same time. Therefore, if the External Input Signal No. 13 and the No. 12 are on, the Axis 1 is selected. 5. During the jog operation, the speed can be controlled only with the Teach Pendant. 3-20 CHAPTER 4 Operation of Controller (Using by T/P) 4-1. Overall Menu Structure 4-2. Main Menu 4-3. Changing Execution Programs 4-4. Editing and Modifying the Program 4-5. Deleting the Program 4-6. Copying the Program 4-7. System Reset 4-8. Error Content Display 4-9. ROM Version Display 4-10. Changing the System Coordinate Values 4-11. PCOM (PC Communication) 4-12. Setting the Password 4-13. REG (Register) 4-14. DRY (DRY-RUN) Chapter 4 4-1. Overall Menu Structure RUN (Run Mode) ZR (Zero Return Execution) STE (Step Run) AUT (Auto Run) PCHG (Select the program.) PRG (Program Edit Mode) EDT (Edit the program.) DEL (Delete the program.) COPY (Copy the program.) SET (Parameter Setting Mode) SYS (Edit the system parameter.) EDT (Edit the parameters for each axis.) REST (Reset the parameter for each axis) EDT (Edit the location data.) DEL (Delete the location data.) COPY (Copy the location data.) LOC (Location Edit Mode) SFT (Shift Location Edit Mode) EDT (Edit the shift location data.) DEL (Delete the shift location data) COPY (Copy the shift location data.) MEN (Manual Teach Mode) AX+ (Axis selection) ON (Servo Power ON) OFF (Servo Power OFF) STR (Set the location.) JOG (Jog Movement Mode) AX+ (Select the axis.) STR (Set the location) CSPD (Change the jog speed.) I/O (Indicate and display the I/O.) SYS (System) RST (Error Reset) EHIS (Error History) VER (ROM Version) CCLR (Reset the coordinate value.) PCOM (PC Communication) PAL (Palette) SAV (Save the palette parameter.) CLR (Clear the palette parameter.) SAL (Spline) SAV (Save the spline parameter.) CLR (Clear the palette parameter.) USER (User Mode) ZR (Test mode zero return) PWD (Set the password.) REG (Register Setting) JMP (Jump to the designated register number.) DEL (Delete the content of the designated register.) SET (Set the register value.) ADEL (Delete all registers.) DRY (DRY-RUN) 4-1 RUN (Step Run) JMP (Line Jump) RST (Restart the program.) I/O (Indicate and display the I/O.) CRUN (Cyclic Auto Run) RUN (Auto Run) SUB (Indicate the parallel processing program.) I/O (Indicate and display the I/O.) Chapter 4 4-2. Main Menu Connect the T/P to the T/P port of the MAC and supply the power. The following characters are displayed on the T/P LCD. Whenever F4 key is pressed, different menus appear. The main menu provides 13 submenus. [MAIN MENU] F4 RUN PRG SET F4 >> ESC [MAIN MENU] [MAIN MENU] REG DRY LOC SFT ..... >| F4 ESC JOG >> ESC F4 [MAIN MENU] F4 [MAIN MENU] PAL ESC MEN SYS PCOM >> SPL USER >> 4-2 Chapter 4 4-3. Changing the Execution Program To change the current program with another program, take the following steps: ① Press F1 key in the main menu screen. [MAIN MENU] RUN PRG SET ② When the screen as shown on the right appears, press F4 key. F1 [RUN] >> ESC <00> ZR STE AUT PCHG ③ In the screen as shown on the right, move “◀” to the desired number using and J- keys, and press F4 ENT J+ ENT key to select the program. At this time, press ESC ESC [PRG] [PROG NO 00] key, and the screen returns to the [PROG NO 01] PROG NO 02 higher screen without any change. Here, “【 】” mark indicates the presence of the program corresponding to the desired number and if this mark does not exist, it means that the designated program does not exist. 4-3 <00> ◀ Chapter 4 4-4. Editing and Modifying the Program This section describes how to edit and modify the user program. The length of one program is 255 lines (0 ~ 254lines maximum). The program with "【 】" mark is the one already edited, and the program without, "【 】" mark is the one without contents. Move "◀" to the program you want to edit or modify, using by pressing ENT ① Press J+ or J- key, and select the program key. F2 key in the main menu screen [MAIN MENU] shown on the right. RUN PRG SET F2 ② Press F1 key in the screen as shown on the right >> ESC [PRG] <01> [PROG NO 01] ◀ PROG NO 02 EDT DEL COPY .... F4 ③ Scroll the screen as shown on the right using key and select the desired command using F3 F1 F1 ESC F2 and F1 KEY (Jump), F2 [PRG/EDT] 000 MVE P001 KEY (Line Deletion), 001 DLY 500 F3 KEY (Line Insertion), JMP DEL F4 ― F1 KEY (Line Modify), F4 ― F2 KEY (Start Point for Block Copy), F4 ― F3 KEY (End Point for Block Copy), F4 ― F4 ― F1 F4 ― F4 ― F1 001 DLY 500 KEY (Command Search), and MDFY CP1 CP2 >> F4 ― F4 ― F1 KEY keys. INS [PRG/EDT] 000 MVE P001 <01> ◀ >> <01> ◀ KEY (Block Copy), [PRG/EDT] (Repetition of Command Search 000 MVE P001 <01> ◀ 001 DLY 500 PST SER CONT >| 4-4 Chapter 4 4-5. Deleting the Program This section describes how to delete an edited program. The sequence is described below: ① Press F2 key in the main menu screen as shown [MAIN MENU] on the right. RUN PRG SET F2 ② When the screen as shown on the right appears, move "◀" to the program to be deleted and press F2 key. [PRG] [PROG NO 01] ③ When the screen as shown on the right appears, press key to delete the program. (Press F2 ESC <01> ◀ PROG NO 02 EDT DEL COPY .... F2 F1 >> key, and the designated program is not deleted.) 4-5 [PRG/DEL] PROGRAM 01 DELETE OK ! YES NO ... ESC <01> .... Chapter 4 4-6. Copying the Program This section describes how to copy a program under the other name. The sequence is described below: ① Press F2 key in the Main Menu screen as shown [MAIN MENU] on the right. RUN PRG SET ② When the screen as shown on the right appears, move "◀" to the program to be copied and press F3 key (to designate the source program). F2 >> ESC [PRG] <01> [PROG NO 01] ◀ PROG NO 02 EDT DEL COPY .... F3 ③ When the screen as shown on the right appears, designate the program number and press ENT key. (to designate the destination program. If the program already exists, the message asking whether ESC [PRG/CPY] <01> COPY PRG01 TO PRG_ (PRG00 ∼ PRG31) to or not to overwrite the program pops up.) ENT ④ When the screen as shown on the right appears, press F1 key (to copy), or COPY PRG01>PRG05 F2 key (not to copy). NOT EMPTY ! OVERWRITE ? YES NO ... 4-6 .... Chapter 4 4-7. System Reset If one of the following three types of errors occurs, the error message is generated regardless of the current system situation (See Chapter 12). - SERVO ERROR - SYSTEM ERROR - EMERGENCY STOP At this time, if you escape from the error message screen without resetting the error, you have to reset the error as described below. ① Press F2 key in the Main Menu screen as shown [MAIN MENU] on the right. MEN SYS PCOM 》 F2 ② When the screen shown on the right appears, press F1 ESC [SYSTEM] key. RST F 1 ERR VER CCLR F1 ③ The error is reset as the screen shown on the right appears. When the error reset is completed, the screen returns to the upper screen. [SYSTEM/RST] WAITING ! ERR Reset .... F1 4-7 Chapter 4 4-8. Error Content Display This mode preserves and displays the content of three latest errors. The smaller the number in the screen, the more recent the error is. See below how to use this mode: ① Press F2 key in the Main Menu screen as shown [MAIN MENU] on the right. MEN SYS PCOM 》 F2 ② When the screen shown on the right appears, press F2 ESC [SYSTEM] key. RST ERR VER CCLR F2 [SYSTEM/EHIS] 1 SYSTEM ERR 10 ③ For error content, see Chapter 12. 2 SYSTEM ERR 12 3 NO ERROR 4-8 ESC Chapter 4 4-9. ROM Version Display This mode displays the ROM version of the controller. See below how to use this mode: ① Press F2 key in the Main Menu screen as shown on [MAIN MENU] the right. MEN SYS PCOM 》 F2 ② When the screen shown on the right appears, press F2 ESC [SYSTEM] key. RST ERR VER CCLR F3 [SYSTEM/VER] MAC CONTROLLER ROM-VER 3.30A ③ The ROM version screen appears as shown on the right. To move to the upper screen, press ESC key. 4-9 ESC Chapter 4 4-10. Changing the System Coordinate Values This mode allows the user to change the coordinate values of the system. See below how to use this mode: ① Press F2 key in the Main Menu screen as shown on [MAIN MENU] the right. MEN SYS PCOM 》 F2 ESC [SYSTEM] ② When the screen shown on the right appears, press F4 key. RST ERR VER CCLR F4 ③ When the screen shown on the right appears, execute the "CCLR" command. When the command is completed, the screen automatically returns to the upper screen. 4-10 [SYSTEM/CCLR] WAITING ! CCLR Processing Chapter 4 4-11. PCOM (PC Communication) This mode is used for the communication with the PC. See below how to use this mode: ① Press F3 key in the Main Menu screen as shown [MAIN MENU] on the right. MEN SYS PCOM 》 F3 ② When the screen as shown on the right appears, it gets ready for the communication with the PC. 4-11 PC COM READY ESC Chapter 4 4-12. Setting the Password This mode allows testing the system or using the password without performing zero return. See below how to use this mode: ① Press F3 key in the Main Menu screen as shown [MAIN MENU] on the right. PAL SPL USER 》 F3 [USER] ② When the screen shown on the right appears, press F3 key. ZR ② When the screen shown on the right appears, press F1 ESC PWD .... .... [USER] key, and the message "ZERO RETURN OLD PWD=_ NEW PWD=_ OK!" is displayed. When zero return is completed, the screen as shown on the right reappears. ZR ③ When the screen shown above in ② appears, press F2 PWD .... .... key, and the message "OLD PWD = _" is displayed. When you enter the right password, you are prompted to enter a new message, with the message "NEW PWD = _". ④ The password works only when the system parameter “LOCK” is set as "PWD" or "ALL". The default value of the password is "0", and the password should be set with 4 digits of Arabic numerals (0 ~ 9). If you enter the password for the first time, for example, you have to set the password in the following sequence. 1). Set the “LOC” parameter among system parameters to the "PWD" or the "ALL" 2). Select the “PWD” from the [USER] mode. 3). Enter “0” to "OLD PWD = _" and press ENT key. 4). Enter 4 digits of desired Arabic numerals to the "NEW PWD = _" and pressENT 4-12 key. Chapter 4 4-13. REG REG mode is used for displaying or editing the content of the register (R00 ~ R99). See below how to use this mode: ① Press F1 key in the Main Menu screen as shown [MAIN MENU] on the right. REG ..... F1 ..... >| ESC ② When the screen shown on the right appears, press F1 key (to jump to a certain register number), [REG] F2 key (to delete the content of a register), R00 = 0000(000h) < F3 key (to enter a register), F4 key (to delete the content of all registers R01 = 0000(000h) JMP DEL SET ADEL <R00> (R00~R99)), J+ key (to move one line above), or J- key (to move one line below). F3 ESC ③ When the screen as shown above in ② appears, press F3 key. Then the message "Rxx=_" is displayed to [REG] <R00> received the register entry, and you can enter 4 digits of R00 = _ decimal numbers. (000h) displayed on the right is the R01 = 0000(000h) JMP DEL SET ADEL decimal value expressed in the hexadecimal value. 4-13 CHAPTER 5 ZERO RETURN AND STEP/AUTO RUN 5-1. Zero Return 5-2. Step Run 5-3. Auto Run Chapter 5 5-1. Zero Return In order to search the zero point of the system after applying power to the system, you have to perform zero return first. See below how to perform zero return with the T/P : ① Press F1 key in the Main Menu screen as shown [MAIN MENU] on the right. RUN PRG SET >> F1 ESC ② When the screen shown on the right appears, press F1 [RUN] key. <00> Program No. ZR STE AUT PCHG ③ As the screen shown on the right appears, zero return starts. When the zero return is completed F1 [RUN/ZR] normally, the screen automatically returns to the WAIT ! upper screen. ZERO RETURNING... But, if the zero return is not completed normally, the error message is displayed on the screen. At this time, press ESC key to return to the upper screen. ④ Zero return for each axis is performed according to the method and sequence specified in the "ZRAX" and the "ZRIN" among system parameters. 5-1 Chapter 5 5-2. Step Run In this mode, it is possible to examine the operation of the user program by executing the program step by step. [MAIN MENU] ① Press F1 key in the Main Menu screen as shown on the right. RUN PRG SET >> F1 ② When the screen shown on the right appears, press F2 ESC [RUN/STEP] <00> key. ZR STE AUT PCHG F2 ESC [RUN/STEP] <00> ③ When the screen shown on the right appears, press F1 000 SPD 100 key (to execute the marked line) RUN JMP F2 key (to jump to the desired line) F3 key (to indicate and display the I/O), F4 key (to select jog operation), or ↑ ―↓ I/O JOG F1 key (to skip up or down one line). [RUN/STEP] <00> STEP RUNNING.... ④ As the screen shown on the right appears, step run is 000 SPD 100 HLD PAU ... .... executed. When the step run is normally completed, the screen automatically returns to the upper screen. Press F1 and F2 keys while the system runs, to stop the system and return to the upper screen. Functions of HLD (Hold) and PAU (Pause) are described below: HLD = Hold the robot at the designated deceleration rate when the robot is running, and execute the next line. PAU = Hold the robot at the designated deceleration rate when the robot is running, and execute the line that was being executed again. 5-2 Chapter 5 5-2-1. Input/Output in Step Run Mode This mode is used to display the I/O state when the user program being executed step by step in the step run mode described earlier stops. See below how to use this mode: ① Press F1 key in the main menu screen as [MAIN MENU] shown on the right. RUN PRG SET >> F1 ② When the screen shown on the right appears, press F2 ESC [RUN] <00> key. F4 ZR STE AUT PCHG F2 ③ When the screen shown on the right appears, press F3 key. ESC [RUN/STEP] <00> 000 SPD 100 RUN JMP I/O JOG F3 ESC ④ The screen shown on the right displays the status of 32 [SIG/IO/OUT] output signal points in real time. Press F1 key, and you can turn on or off the external output signal points one by one. Press F2 0000000000000000 SIG ON OFF MONI key, and you can turn on all of 24 external output signal points. Press F3 0001000000000000 F4 ESC key, and you can turn off all of 24 external output signal points. [SIG/IO/IN] Press F4 0100000000000000 key, and the screen displays the status 0000000000000000 of 32 input signal points in real time. 1 ---------->32 * 0 = Input/Output OFF * 1 = Input/Output ON 5-3 Chapter 5 5-3. Auto Run In this mode, the user program is executed automatically. See below how to use the auto run mode: ② Press F1 key in the Main Menu screen as [MAIN MENU] shown on the right. RUN PRG SET >> F1 [RUN] ESC <00> ③ When the screen shown on the right appears, press F3 key. ZR STE AUT PCHG F3 [RUN/AUTO] ESC <00> ③ When the screen shown on the right appears, press F1 or F2 (If you press F3 000 SPD 100 key. key here, It can be displayed current step of sub-program executing through by “RUN” CRUN RUN SUB I/O F1 command.) [RUN/AUTO] ④ When the screen shown on the right appears, auto run is executed. To stop the program execution, press F3 Press AUTO RUNNING.... 000 SPD 100 STOP DON key, and the program being executed stops after all linesHLD of thePAU program are executed. F4 key during auto run, and the current location of each axis is displayed. For 3-axis or 4-axis controller, press ESC or <00> F2 key and you can return to the previous screen. Press F1 key during auto run, and the robot stops running and the screen returns to the upper screen. Functions of the HLD (Hold) and the PAU (Pause) are described below: HLD = Hold the robot at the designated deceleration rate when the robot is running, and execute the next line. PAU = Hold the robot at the designated deceleration rate when the robot is running, and execute the line that was being executed again. 5-3-1. I/O Input/Output in Auto Run Mode 5-4 Chapter 5 This mode is used to display the I/O state when the user program step by step executed in the auto run mode as described in the earlier steps. See below how to use this mode: ① Press F1 key in the Main Menu screen as [MAIN MENU] shown on the right. RUN PRG SET >> F1 ② When the screen shown on the right appears, press F3 ESC [RUN] <00> key. ZR STE AUT PCHG F3 ③ When the screen shown on the right appears, press F4 ESC [RUN/AUTO] <00> key. 000 SPD 100 CRUN RUN ④ The screen shown on the right displays the status of 32 SUB I/O ESC F4 output signal points in real time. Press F1 key, and you can turn on or off the external output signal points one by one. Press F2 key, and you can turn on all of 24 L .-V D O G IN M R A ]P T E [S [SIG/IO/OUT] 0001000000000000 0000000000000000 SIG ON OFF MONI external output signal points. Press F3 key, and you can turn off all of 24 F4 ESC external output signal points. Press F4 key, and the screen displays the status [SIG/IO/IN] 0100000000000000 of 32 input signal points in real time. 0000000000000000 1 ---------->32 * 0 = Input/Output OFF * 1 = Input/Output ON 5-5 CHAPTER 6 SYSTEM PARAMETER AND AXIS PARAMETER SETTING 6-1. 6-2. 6-3. 6-4. 6-5. 6-6. System Parameters Axis Parameter GA (Gain) Axis Parameters AX (Axis) Axis Parameters SW (Software) Axis Parameters LMT (Limit) Axis Parameters Chapter 6 6-1. System Parameters 6-1-1. Setting Method This section describes how to set the system parameters among all parameters required for the controller operation. How to use this function is described below: ① Press F3 [MAIN MENU] key in the main menu screen as shown on the right. RUN PRG SET >> F3 ② When the screen shown on the right appears, press F1 key. ESC [SET] L .-V D O G IN M R A ]P T E [S PARAMETER SETTING MODE SYS EDT REST F1 .... ESC ③ When the screen shown on the right appears, move J+ “◀” to the desired parameter using J- key and press ENT or key, and the ESC ◀ ARCH= 2AXIS system enters the parameter setting mode. If you press [SET/SYS] [S L .-V D O G IN M R A ]P T E AXES= 2AXES ... ... ... .... key, the system escapes from the parameter setting mode without any change. ※ The values of the system parameters set at the time of delivery from the factory are given below. No. Parameter Set Value Remarks 1 AXES 2AXES 2 SPIN OFF 3 ARCH 2AXIS Sets the arch axis. 4 UPAX 2AXIS Sets the up-motion axis. 5 ZRAX 1 6 ZRIN Z+HOM 7 CSPD 2 Sets the number of control axes. Uses the spindle axis. Sets the order of zero return. Sets the method of completing zero return (using Encoder Z-phase) Sets the arch, circular and spline speed. 6-1 Chapter 6 No. Parameter Set Value Remarks 8 JGIO OFF Sets whether to or not to use the Jog I/O. 9 PSGF OFF Sets whether to or not to use the PSIG. 10 ESGF OFF Sets whether to or not to use the ESIG. 11 LOCK OFF Sets whether to or not to use the zero return lock and the password. 12 BRKF OFF Sets whether to or not to use the brake motor. 13 BRAX 1AX Sets the axis to be used as the brake motor. 14 PSIG 000000h User I/O output value upon system booting and upon zero return completion 15 ESIG 000000h User I/O output value upon system error 16 ZRNO 000000h Sets whether to or not to zero return by each axis 17 BRON 000000ms Delay time until the brake turns on after the servo power is off. 18 BROF 000000ms Delay time until the brake turns on after the servo power is off. 6-1-2. Definition of System Parameters 1) AXES : Parameter that decides the number of control axes, which is set according to the controller type at the time of delivery from the factory. It should be set as “2AXES” for the 2-axis controller, "3AXES" for the 3-axis controller, and “4AXES” for the 4-axis controller. (Note) When you reset the AXES parameter, be sure to use the controller after confirming all parameter values. Otherwise, the system might be damaged seriously. 2) SPIN : Parameter that decides whether to use or not to use the spindle axis, which is set as “OFF” at the time of delivery from the factory. The last axis of each controller is automatically set as the spindle axis. Two values of "ON" and "OFF" are available: "ON" => Use the spindle axis. Axis 2 of MAC-201/211 controller is automatically designated as the spindle axis. Axis 3 of MAC-301/311 controller is automatically designated as the spindle axis. Axis 4 of MAC-401/411 controller is automatically designated as the spindle axis. "OFF" => Do not use the spindle axis. 6-2 Chapter 6 (Note) If any multi-axis movement command other than “VMP” and “VMN” commands is used with PIN parameter "ON", the axis designated as the spindle axis does not move. "VMP" and "VMN" commands are applied only to the axis designated as the spindle axis, which are used not for location control but for velocity control. (For more details about "VMP" and "VMN" commands, see Chapter 10.) 3) ARCH : Parameter to set the axis to execute arch motion. It should be set as “2AXES” for the 2-axis controller, "3AXES" for the 3-axis controller, and “4AXES” for the 4-axis controller. There are four values available: "1AX","2AX","3AX" and "4AX". 4) UPAX : Parameter to set the axis to execute up motion. It should be set as “2AXES” for the 2-axis controller, "3AXES" for the 3-axis controller, and “4AXES” for the 4-axis controller. There are four values available: "1AX","2AX","3AX" and "4AX". 5) ZRAX : Parameter to set the order of zero return of each axis, which is set as “1” at the time of delivery from the factory. There are ten values available: "0 ~ 9". "0" => Do not perform zero return. "1" => 3-12-4 => Zero return is performed in the order of Axis 3->Axes 1 and 2 -> Axis 4. "2" => 34-12 => Zero return is performed in the order of Axes 2 and 3->Axes 1 and 2. "3" => 4-3-2-1 => Zero return is performed in the order of Axis 4 -> Axis 3 -> Axis 2-> Axis 1. "4" => 4321 => Zero return is performed for Axes 4, 3, 2 and 1 at the same time. "5" => 12-34 => Zero return is performed in the order of Axis 1 -> Axis 2 -> Axes 3 and 4. "6" => 1-2-3-4 => Zero return is performed in the order of Axis 1 -> Axis 2 -> Axis 3 -> Axis 4. "7" => 1-2-4-3 => Zero return is performed in the order of Axis 1 -> Axis 2 -> Axis 4 -> Axis 3. "8" => 2-1-3-4 => Zero return is performed in the order of Axis 2 -> Axis 1 -> Axis 3 -> Axis 4. "9" => 2-1-4-3 => Zero return is performed in the order of Axis 2 -> Axis 1 -> Axis 4 -> Axis 3. But, if there are no Axis 3 and Axis 4, zero return of these axes is ignored. When this parameter is set as "0", the zero return completion signal output turns on when the system booting is completed. 6) ZRIN : Parameter to set whether to use the home sensor or to use the home sensor and the Encoder Zphase to complete zero return of each axis, which is set as “Z+HOME” at the time of delivery from the factory. There are four values available: "Z+HOME","HOME1","HOME2" and "Z-P". "Z+HOME" => Complete zero return using the home sensor and the encoder Z-phase. "HOME1" => Complete zero return using the home sensor. "HOME2" => Complete zero return using the home sensor. "Z-P" => Complete zero return using the encoder Z-phase only (without the home sensor). Details about each zero return method are described in the following pages. 6-3 Chapter 6 【Zero Return Method】 HOME SENSOR INPUT Home Sensor Input ENCODER Z-phase Z-PHASE INPUT Encoder Input ① 1. ZRIN = Z+HOME, CDIR = -, ZDIR = + CASE ② ① 2. ZRIN = Z+HOME, CDIR = -, ZDIR = - CASE ② ① 3. ZRIN = Z-P, ZDIR = +,- CASE ① ① 4. ZRIN = HOME1, CDIR = - CASE ② ③ ① 5. ZRIN = HOME2, CDIR = - CASE 7) CSPD : Parameter to set the velocity for circular, arc and spline operations. There are four values available: "1", "2", "3" and "4". "1" => The range of operation velocity is set as 0.01mm ~ 1mm/sec. "2" => The range of operation velocity is set as 1mm ~ 100mm/sec. "3" => The range of operation velocity is set as 101mm ~ 200mm/sec. "4" => The range of operation velocity is set as 201mm ~ 300mm/sec. For example, the relation of the CSPD with the SPD, when the CSPD parameter is set as "2", is shown below: SPD 1 => 1 mm/sec SPD 100 => 100 mm/sec 8) JGIO : Parameter that determines whether to or not to use the jog I/O. This parameter can be set as either "OFF" or "ON". "OFF" => Use the jog I/O function. "ON" => Do not use the jog I/O function. For the jog I/O function, refer to the description in Section 3-8. 6-4 Chapter 6 9) PSGF : Parameter that determines whether to or not to use the value set in the PSIG. The PSIG is used to initialize the user output I/O status when power is applied to the controller. This parameter can be set as either "OFF" or "ON". When the PSGF is set as "OFF", the user output I/O status is all 1 (high) and when it is set as "ON", the user output I/O is initialized with the value set in the PSIG. 10) ESGF : Parameter that determines whether to or not to use the value set in the ESIG. The ESIG is used to initialize the user output I/O status when a system error occurs. This parameter can be set as either “OFF” or “ON. When the or is set as "OFF", the user output I/O status is kept as it is even when a system error occurs. On the other hand, if it is set as "ON", the user output I/O is initialized with the value set in the ESIG. 11) LOCK : Parameter that determines whether to or not to use the zero return lock signal and the password, which is set as “OFF” at the time of delivery from the factory. Available values are "OFF", "ZR", "PWD" and "ALL". "OFF" => Do not use the zero return lock signal and the password. "ZR " => Use the zero return lock signal and the password. The zero return lock signal is External Input Signal No. 9. That is, the zero return operation is executed only when External Input Signal No. 9 is set as ON. "PWD" => Use the password. The password set in [USER] mode operates. The password operates in one of "PRG mode", "LOC mode", "SFT mode" and "SET mode". The password default is "0". "ALL" => Use both the zero return lock signal and the password. The operations described in "ZR" and "PWD" are all available. 12) BRKF : Parameter that determines whether to or not to control the brake motor, which is set as “OFF” at the time of delivery from the factory. This parameter can be set as either "OFF" or "ON". "OFF" => Indicates that there is no axis to execute the brake control. "ON " => Indicates that there is an axis to execute the brake control. ★ When the location is set as MEN (Manual Teaching) mode, the BRKF parameter should be set as "OFF". This is because it is impossible to operate the brake axis with hands as the brake operates when the servo power is off. 13) BRAX : Parameter to set the axis to use the brake motor, which is set as "1AX" at the time of delivery from the factory. There are four values available: "1AX", "2AX", "3AX" and "4AX". This parameter does not operate if the BRKF parameter is set as "OFF". 6-5 Chapter 6 14) PSIG : Parameter used to initialize the user output I/O status when power is applied to the controller and when zero return is completed. The input parameter is 000000H ∼ FFFFFFH. It operates only when the PSGF parameter is "ON". 15) ESIG : Parameter used to initialize the user output I/O status when a system error occurs. The input parameter is 000000H ∼ FFFFFFH. It operates only when the ESGF parameter is "ON” 16) ZRNO : Parameter to set whether to or not to zero return. Set range are 000000H ∼ 00000FH. The default value set 000000H at factory. BIT 0 -> 1-axis (0 : to zero return , 1 : not to zero return) BIT 1 -> 2-axis (0 : to zero return , 1 : not to zero return) BIT 2 -> 3-axis (0 : to zero return , 1 : not to zero return) BIT 3 -> 4-axis (0 : to zero return , 1 : not to zero return) 17) BRON : Parameter to set the delay time until the brake turns on after the servo power turns off, which is set as "000000ms" at the time of delivery from the factory. The unit is ‘msec’. The input parameter is 000000ms ∼ 999999ms. It does not operate when the BRKF parameter is "OFF". 18) BROF : Parameter to set the delay time until the brake turns off when the servo power turns on, which is set as "000000ms" at the time of delivery from the factory. The unit is ‘msec’. The input parameter is 000000ms ∼ 999999ms. It does not operate when the BRKF parameter is "OFF". 6-6 Chapter 6 6-2. Axis Parameters This section describes how to set the axis parameter required for the controller operation. How to use this function is described below: ① Press F3 key in the main menu screen as shown [MAIN MENU] on the right. RUN PRG SET ② When the screen shown on the right appears, press F2 F3 key to set the axis parameter, or press key to reset the axis parameters to the >> F3 [SET] ESC L .-V D O G IN M R A ]P T E [S PARAMETER default values. In the latter case, the parameters set SETTING MODE by the user are ignored. SYS EDT REST .... ③ The explanation about the screen on the right is given below: Press F1 Press F2 key to set the gain parameters. key to set the axis configuration [SET/EDT] parameters. Press F3 key to set the upper and the lower software limits for each axis. Press F4 ESC F2 L .-V D O G IN M R A ]P T E [S PARAMETER SETTING MODE GA AX S/W LMT key to set the active level of every limit sensor. 6-7 Chapter 6 *. Default Values of Parameters ◇ GA (Gain): All axes are set with the same value. No. Parameter Set Value No. Parameter Set Value 1 P_p 50 6 V_p 2000 2 P_i 0 7 V_i 0 3 P_d 0 8 V_d 0 4 P_f 0 9 V_f 0 5 P_l 0 10 V_l 0 Note ) GAIN parameter is not applicable to position type MAC Controllers (MAC-201/301/401). Also it is not applicable to MAC Controller connected with Samsung FARA robot as well. If you try GAIN adjust, please do adjust on servo driver directly ◇ AX (Axis): All axes are set with the same value. No. Parameter Set Value No. Parameter Set Value 1 MOTOR MICRO 6 CDIR - 2 LOOP SEMI 7 ZDIR + 3 CONT VELO 8 CDRD CW 4 VOLT BI-PO 9 ENDIR + 5 STEP TWO 10 LMTCK YES ◇ S/W: All axes are set with the same value. No. Parameter Set Value No. Parameter Set Value 1 CR 0 10 DCC 20 2 LL -1000.00 11 INP 100 3 UL 1000.00 12 PUL 0 4 OFF 0.00 13 C_VEL 100 5 ERR 100.00 14 F_VEL 20 6 VEL 3000.00 15 Z_ACC 10 7 GEB 20.00 16 P_ACC 20 8 GEA 2048 17 RATIO 1 9 ACC 20 18 JLOCK 0 ◇ LMT (Limit): All axes are set with the same value. No. Parameter Set Value No. Parameter Set Value 1 POSI HIGH 4 SVERR HIGH 2 NEGA HIGH 5 SVRST LOW 3 HOME HIGH 6 SVON LOW 6-8 Chapter 6 6-3. GA (Gain) Axis Parameter 1) P_p : Proportional gain used for position control, set within the range of 0 ∼ 50000. 2) P_i : Integral gain used for position control, set within the range of 0 ∼ 50000. 3) P_d : Derivative gain used for position control, set within the range of 0 ∼ 50000. 4) P_f : Feed forward gain used for position control, set within the range of 0 ∼ 50000. 5) P_l : Integral upper limit used for position control, set within the range of 0 ∼ 50000. 6) V_p : Proportional gain used for velocity control, set within the range of 0 ∼ 50000. 7) V_i : Integral gain used for velocity control, set within the range of 0 ∼ 50000. 8) V_d : Derivative gain used for velocity control, set within the range of 0 ∼ 50000. 9) V_f : Feed forward gain used for velocity control, set within the range of 0 ∼ 50000. 10) V_l : Integral upper limit used for velocity control, set within the range of 0 ∼ 50000. Gain values applied according to the applied servo driver types are listed below: ● Position-type Servo Driver ==> Gain parameter values are ignored. That is, the gain is not needed. ● Velocity-type Servo Driver ==> Only the gain (P_p ∼ P_l ) parameters used for position control are applied, and the gain (V_p ∼ V_l) parameters used for velocity control are ignored. ● Torque-type Servo Driver ==> Both position and velocity gain parameters are all applied. The gain parameters are important elements that affect the system performance, which should be set with care. They are closely related with "MOTOR" and "CONT" parameters among the axis parameters. The relation between "MOTOR" and "CONT" parameter and the gain parameters is summarized below: “MOTOR” Parameter “CONT” Parameter Applicable Gain Parameter “MICRO” “STEP” “SERVO” “VELO" Position Gain ( P_p ~ P_l) “TORQ” Position Gain + Velocity Gain (P_p ~ V_l) Each control loop consists of PID algorithm, velocity, acceleration and feed-forward. The PID algorithm applied to the MAC is expressed in the following formula. The PID algorithms for the position control loop and that for the velocity control loop are the same. The analog voltage output from the MAC is calculated as follows according to the velocity control mode or the torque control mode. 6-9 Chapter 6 Yv (Velocity Control) = KR [( P_p * PEn + P_i * PSn + P_d * (PEn - PEn-1) + P_f * Vn)] Yt (Torque Control) = KR [( P_p * PEn + P_i * PSn + P_d * (PEn - PEn-1) + P_f * Vn) + ( V_p * VEn + V_i * VSn + V_d * (VEn - VEn-1) + V_f * An)] PSn = PSn-1 + PEn [ if ( -P_l < PSn < P_l ) ] P_l [ if ( PSn > P_l ) ] -P_l [ if ( PSn < -P_l ) ] VSn = VSn-1 + VEn [ if ( -V_l < VSn < V_l ) ] V_l [ if ( VSn > V_l ) ] -V_l [ if ( VSn < -V_l ) ] Where, Y = PID and feed-forward control output, Sample Period ‘n’ KR = Scale factor (1/512) P_p,V_p = Proportional gain of position and velocity P_i,V_i = Integral gain of position and velocity P_d,V_d = Derivative gain of position and velocity P_f,V_f = Feed-forward gain PEn,Ven = position and velocity error of Sample Period n Vn = Velocity command of Sample Period ‘n’ An = Acceleration command of Sample Period ‘n’ PSn,VSn = Sum of location errors (PEn) and velocity errors (VEn) P_l,V_l = Maximum value of sum of position errors (PEn) and velocity errors (VEn) Characteristics of each gain are briefed below: ◆ Proportional Gain The proportional gain affects the analog command voltage, based on the error. If the proportional gain is high, the response becomes "Stiffer" and if it is low, the response becomes "Mushy" and accordingly the error becomes larger. If the proportional gain is too high, the motor might vibrate, or buzzes when it runs or stops. ◆ Integral Gain The integral gain adds the static state error, which is used to reduce or get rid of the position and velocity errors in stop. The sum of errors has I LIMIT as the maximum value, and thus it is possible to prevent "WINDUP" phenomenon. ◆ Derivative Gain The derivative gain affects the analog command voltage, based on the changed amount of errors. It works as the damping element and reduces overshoot. If the derivative gain is large, noises might occur. 6-10 Chapter 6 ◆ Feed-forward Gain The feed-forward gain works with the changed amount of position and velocity command as its input, and adds the result to the PID output. It reduces the errors that occur while the robot moves. ◆ Integral Limit The integral limit is the absolute value that determines the upper limit and the lower limit of the error sum. It is also used to prevent "WINDUP" phenomenon. 6-11 Chapter 6 6-4. AX (Axis) Parameters 1) MOTOR : Parameter to set the type of the motor driver you are using. This parameter can be set as one of "MICRO", "SERVO" and "STEP", and the relation between each parameter and the motor driver is briefed below: Parameter Set Value Applicable Motor Driver Remarks Position-type Servo, Micro Stepper, “MICRO” Motor driver equipped with its own distribution function with the pulse string as its input. Velocity-type Servo, “SERVO” Motor drive with analog input General Stepper, “STEP” Motor driver without its own distribution function, with the pulse string as its input 2) LOOP : Parameter to set the method by which the user controls the system. This parameter can be set as one of "SEMI","OPEN" and "CLOSE". "SEMI" loop means to set the location upon in-position completion and in the manual teaching mode, with the feedback of the encoder data from the motor driver. Select this parameter when you use the position-type servo. "CLOSE" loop means to control the system with the feedback of the encoder data from the motor driver. Select this parameter when you use the velocity type servo. "OPEN" loop means that there is no feedback of the encoder data from the motor driver. Select this parameter when you use the micro-stepper without the encoder or general stepper. (Note) If you set “CLOSE” when you use the lposition-type servo, the position control is executed both in the MAC and the position-type servo and thus, it is impossible to control the position normally. (Note) If you set “OPEN” when you use the position-type servo, there is no feedback of the encoder from the motor driver and it is impossible to set the location using “MNU (manual teaching mode)”. 3) CONT : Parameter used when you use the velocity-type servo. This parameter can be set as either "VELO" or "TORQ". Set "VELO" when you use the velocity-type servo in the velocity control mode. Set "TORQ" when you use the velocity-type servo in the torque control mode.. Before setting the CONT parameter, be sure to check the motor driver control mode. 6-12 Chapter 6 4) VOLT : Parameter to set the directionality of analog voltage output from the controller. This parameter can be set as either "BI-PO" or "UNI-PO". When it is set as "BI-PO", ±10V voltage is output from the controller. When it is set as "UNI-PO", 0 ∼ 10V voltage is output from the controller. 5) ST-EP : Parameter to set the mode of pulse strings output from the controller. This parameter can be set as either "TWO" or "ONE". If the external device receives CW+CCW pulse string as its input, set "TWO". If the external device receives the sign+ pulse string as its input, set "ONE". 6) CDIR : Parameter to set the initial move direction at the time of zero return. This parameter can be set as either "-" or "+". When it is set as "-", the robot body moves to ‘-’ coordinate system direction at the time of zero return. When it is set as "+", the robot body moves to ‘+’ coordinate system direction at the time of zero return. 7) ZDIR : Parameter to set the move direction when the robot searches the Z-phase on the encoder after encountering the home sensor at the time of zero return. This parameter can be set as either "-" or "+". When it is set as "-", the robot body moves to ‘-’ coordinate system direction at the time of zero return. When it is set as "+", the robot body moves to ‘+’ coordinate system direction at the time of zero return. The ZDIR is available only when the ZRIN system parameter is set as "Z+HOME" or "Z-P". 8) CORD : Parameter to set the coordinate system direction (which changes the direction of motor revolution) This parameter can be set as either "CW" or "CCW". - Coordinate System Direction + + Motor Coordinate System Direction - Motor CORD Paramete r "CW" CORD Paramete r "CCW" 9) ENDIR : Parameter to set the direction of the encoder signal from the servo driver This parameter can be set as either "+","-". If System Error No.15 occurs when the robot moves with maintaining the coordinate system direction, set the ENDIR parameter as opposite. This is because the coordinate system direction is right but the encoder direction is wrong. 10) LMTCK : Parameter to set whether to or not to apply the LL (Lower Limit) or UL (Upper Limit) specified in the "S/W" parameter When this parameter is set as "YES", the LL and the UL are applied when the robot moves. When this parameter is set as "NO", the robot moves regardless of the LL or the UL. 6-13 Chapter 6 6-5. SW (Software) Axis Parameters 1) CR : Parameter to set the values of the coordinate system. The input range is -21470000.00 ∼ +21470000.00 (pulse or step). Using the CCLR command, it is possible to change Encoder-Counter values to those specified in the CR parameter, to change the position of the coordinate system. If the value is so large, the work area is limited by the LL and UL parameters. Therefore, the value should be set in consideration to those limits. In addition, the input value is automatically scaled according to the gear ratio (GEA and GEB). 2) LL : Parameter to set the maximum amount that the system can move to – direction of the coordinate system. The input range is -21470000.00 ∼ +21470000.00 (pulse or step). The LL parameter should be set less than the UL parameter. In addition, the input value is automatically scaled according to the gear ratio (GEA and GEB). 3) UL : Parameter to set the maximum amount that the system can move to + direction of the coordinate system. The input range is -21470000.00 ∼ +21470000.00 (pulse or step). The UL parameter should be set larger than the LL parameter. In addition, the input value is automatically scaled according to the gear ratio (GEA and GEB). 4) OFF : Parameter used to reset the zero point of the coordinate system. The input range is -21470000.00 ∼ +21470000.00 (pulse or step). This parameter allows to perform process several works with the same location data, by moving the zero point of the coordinate system to the OFF parameter when there are several works with the same relative movement distance. The input value is automatically scaled according to the gear ratio (GEA and GEB). 5) ERR : Parameter to set the maximum size of the position error that occur while the system operates. The input range is 0 ∼ +100000.00 (pulse or step). This parameter is useful for controlling the path that has to pass through an obstacle. The input value is automatically scaled according to the gear ratio (GEA and GEB). 6) VEL : Parameter to set the maximum revolution velocity of the motor in RPM unit. The figure next to the SPD command is recognized as percentage to the value set here as 100%. The input range is 0 ∼ 30000.00 RPM. 7) GEB : Parameter to set the value required for calculating the gear ratio of the system. The input range is 0 ∼ 900000. The unit varies with the input value. That is, if 0 is input, the unit is pulse. Otherwise, the unit is ‘mm’ or ‘deg’. The GEA and GEB parameters should be entered according to the system as shown in the following example. (Ex) For Motor Resolving Power = 2048 pulse/rev, Lead = 20mm GEA = 2048, GEB = 20.00 6-14 Chapter 6 8) GEA : Parameter to set the motor resolving power (pulse/rev). The input range is 1 ∼ 900000 (pulse/rev). As the GEA parameter value is closely related to the zero return velocity, it should be set according to the motor specification. (Note) When the parameters are set as MOTOR = "SERVO", LOOP = "CLOSE" and FEED = "ENCO", the position data feed-back from the motor driver becomes 4 times. Thus, the value calculated from ‘Motor Resolution x 4’ should be entered at the time of setting the GEA. 9) ACC : Parameter to set the acceleration time required for the motor to reach the designated velocity from the zero (0) velocity. If the acceleration time is not define in the user program, the motor accelerates at the velocity designated by the ACC parameter. The input range is 0 ∼ 200, and the unit is ‘10ms’. 10) DCC : Parameter to set the deceleration time required for the motor to reach the zero (0) velocity from the designated the velocity. If the deceleration time is not define in the user program, the motor decelerates at the velocity designated by the DCC parameter. The input range is 0 ∼ 200, and the unit is ‘10ms’. 11) INP : Parameter to set the In-position pulse value that checks the degree of convergence to the goal position. The input range is 0 ∼ 900000 (pulse or step), and the unit is pulse. It takes 5 seconds to check the degree of convergence and, if the deviation value does not converge the designated INP parameter value within this time, the program execution stops and an error occurs. 12) PUL : Parameter to set the pulse de-multiplication ratio. The input range is 0 ∼ 100. The PUL parameter is available only when the MOTOR parameter is set as "STEP". (Note) As the PUL parameter is the dividing ratio, the distance and velocity of actual movement are also reduced to 1/20 when this parameter is set as 20. Therefore, the movement distance and velocity should be set by multiplying as much as the pulse dividing ratio. 13) C_VEL : Parameter to set the velocity at which the system moves until it meets the home sensor at the time of zero return. The input range is 1 ∼ 5000, and the unit is RPM. 14) F_VEL : Parameter to set the velocity at which the system moves until it meets the second home sensor after it meets the home sensor at the time of zero return. The input range is 1 ∼ 5000, and the unit is RPM. 15) Z_ACC : Parameter to set the acceleration/deceleration time required for the motor to reach the velocity specified by the C_VEL and F_VEL parameters from zero (0) velocity. The input range is 0 ∼ 200, and the unit is 10ms. 16) P_ACC : Parameter to set the deceleration time in which the system reaches the zero velocity (0) stops during movement upon Input of the Pause while executing the program. The input range is 0 ∼ 200, and the unit is 10ms. 17) RATIO : Parameter to set the multiplication ratio of the Encoder data feed-back from the motor driver. 6-15 Chapter 6 The input range is 1 ∼ 100. This parameter might be useful in combination with the electronic gear ratio of the servo. 18) JLOCK : Parameter to set the jog mode lock signal. The input range is 1∼16 (External Signal ON) and 21 ~ 36 (External Input Signal OFF). For example, if this parameter is set as "JLOCK=5", the External Input Signal 5 is “ON and the jog mode operation at the corresponding axis is not moving. In addition, if it is set as "JLOCK=25", the External Input Signal 5 is "OFF" and the jog mode operation at the corresponding axis is not moving. 6-6. LMT (Limit) Axis Parameters 1) POSI : Parameter to set the active level of ‘+ Limit’ sensor. This parameter can be set as either "HIGH" or "LOW". 2) NEGA : Parameter to set the active level of ‘- Limit’ sensor. This parameter can be set as either "HIGH" or "LOW". 3) HOME : Parameter to set the active level of the home sensor. This parameter can be set as either “HIGH" or "LOW". 4) SVERR : Parameter to set the active level of the error signal output from the motor driver. This parameter can be set as either “HIGH" or "LOW". 5) SVRST : Parameter to set the active level of ‘Error Reset’. This parameter can be set as either “HIGH" or "LOW". 6) SVON : Parameter to set the active level of ‘Servo Power ON’. This parameter can be set as either “HIGH" or "LOW". 6-16 CHAPTER 7 LOCATION DATA SETTING 7-1. 7-2. 7-3. 7-4. 7-5. Location Data Setting Absolute Location Data Setting Relative Location Data Setting Jog Data Setting Manual Data Setting Chapter 7 7-1. Location Data Setting There are following three ways to set the location data at the MAC: ① Numerical value input ② Location data setting in the jog mode ③ Location data setting in the manual mode Location data is classified into the absolute location data and the relative location data, each of which is stored to separate parameter. Absolute Location Data Storage Parameter : P000 ~ P999 Relative Location Data Storage Parameter : S00 ~ S99 The absolute location data can be entered in any of the above three methods, but the relative location data can be entered only by the numerical value input. The location data are global parameters that can be used by several programs. 7-1 Chapter 7 7-2. Absolute Location Data Setting This section describes how to enter the location data required for operating the robot, directly in numerical values (Manual Data Input: MDI). This location data indicates the absolute location. See below how to use this mode. ① Press F1 key in the main menu as [MAIN MENU] shown on the right. LOC SFT JOG >> ESC F1 ② When the screen shown on the right appears, press F1 key (to jump to a specified LOC number) [LOC] F2 key (to delete a location), F3 F4 key (to enter a location), P000 ◀ [P001] JMP DEL EDT COPY J+ J- key (to move up one line), or key (to copy a location) key (to move down one line). The LOC marked with "【 】" means that the location data is stored. key and enter the location data in numerical values, and enter Otherwise, enter ESC ENT ESC F3 ③ When the screen shown on the right appears, press ENT <P000> to save the data. key, and the entered data is [LOC/EDT] AX1=0.00 <P000> ◀ AX2=0.00 AX3=0.00 3축일 경우에 표시됨 ignored and the original value is kept. AX1=0.00 AX2=0.00 AX3=0.00 ◀ AX4=0.00 For the 4-axis controller 4축제어기 일경우 7-2 Chapter 7 7-3. Relative Location Data Setting This section describes how to enter the location data required for operating the robot, directly in numerical values (Manual Data Input: MDI). This location data indicates the relative location. See below how to use this mode. ① Press F2 key in the main [MAIN MENU] menu as shown on the right. LOC SFT JOG ② When the screen shown on the right appears, press F1 key (to jump to a SPECIFIED SFT number) F2 key (to delete a shift location), F3 F4 key (to enter a shift location), J+ J- key (to skip up one line), or ESC F1 [SFT] key (to copy a shift location) >> [ <S00> L .-V D O G IN M R A ]P T E S S00 ◀ [S01] JMP DEL EDT COPY key (to skip down one line). The SFT marked with "【 】" means that the location data is stored. ESC F3 ③ When the screen shown on the right appears, press ENT key and enter the location data in numerical values, and enter ESC ENT to save the key, and the entered data is ignored and the original value is kept. [SFT/EDT] AX1=0.00 AX2=0.00 L .-V D O G IN M R A ]P T E [S <S00> ◀ AX3=0.00 For the 3-axis 3축일 경우에controller 표시됨 AX1=0.00 AX2=0.00 L .-V D O G IN M R A ]P T E [S ◀ AX3=0.00 AX4=0.00 For4축제어기 the 4-axis일경우 controller 7-3 Chapter 7 7-4. Jog Data Setting This refers to one of the methods for entering the absolute location data required for operating the system. In this mode, you can freely move the system by manipulating the T/P keys. Place the system on a desired location by moving it as described below, and enter the corresponding location data. ① Press F3 key in the main menu screen as [MAIN MENU] shown on the right. LOC SFT JOG ② When the screen shown on the right appears, move J+ the robot to the desired location using W+ and keys (+ coordinate direction) or JWand keys (- coordinate F2 direction). Then, press key to store the F1 location data. To select an axis, press key. Press F4 F3 >> ESC [JOG] <SPD=010> CURRENT POSITION AX1 = 100.00 AX+ STR CSPD I/O key, and you can display the I/O monitor input or output status. F2 ESC ③ When the screen shown on the right appears, set the desired location by using J+ key (to move up one line), Jkey (to move down one line), F1 key (to jump to the desired location), F2 key (to delete a location), or F3 key (to set a location). * Difference between J+ Jand J+ and J- keys and [JOG/STR] <P000> [P000] ◀ P001 JMP DEL SET .... W+ and keys are used for quick movement while the WW+ keys is that the Wand keys for fine movement by 0.01mm. * In the jog movement, the robot can move inside the whole areas of the work regardless of the + or the – limit sensor before zero return. But, after the zero return is completed, the robot stops when it meets the + or the – limit sensor. In other words, after the zero return is completed, the robot can move only within the area where the + or the – limit sensor is installed. 7-4 Chapter 7 7-4-1. Jog Speed Change This section describes how to change the jog speed, in detail. ① Press F3 key in the main menu screen as shown [MAIN MENU] on the right. LOC SFT JOG >> F3 ② Press F4 key in the screen shown on the right. ESC [JOG] <SPD=010> CURRENT POSITION AX1 = 123.32 AX+ STR CSPD I/O F3 ESC ③ When the screen shown on the right appears, enter the ESC key (to cancel the changed speed) or [JOG/CSPD] OLD SPEED = 010 ENT key (to save the changed speed). NEW SPEED = _ speed to be changed, and press ◆ The speed changed in the JOG/CSPD mode is valid only in the jog mode. When you escape from the jog mode, an press value. 7-5 JSPD key in the teach pendant to restore the set Chapter 7 7-5. Manual Data Setting This mode allows entering the absolute location data required for operating the system. In this mode, you can move the robot freely with hands to set the location, after turning off the motor power (free state). Move the system as described below and place it on the desired location, and then enter the data about the location. ① Press F1 key in the main menu screen as shown on [MAIN MENU] the right. MEN SYS PCOM >| ESC F1 ② When the screen shown on the right appears, the robot is in free state. Thus, move the robot to the desired location F4 with hands, and press key to store the corresponding location data. F1 To select an axis, press key. F2 Press key, and the servo power turns on. F3 Press key, and the servo power turns off. ③ When the screen shown on the right appears, set the location using the following key: J1 J2 F1 F2 F3 key (to move up one line), [MEN] CURRENT POSITION AX1 = 67.12 AX+ ON OFF STR ESC F4 [MEN/STR] <P000> [P000] ◀ P001 JMP DEL SET .... key (to move down one line), key (to jump), key (to delete), or key (to set). 7-6 Chapter 7 ★ Notice ① The manual teaching (MAN mode) is available only when the axis parameter LOOP is set as “SEMI” or "CLOSE". If it is set as "OPEN", the encoder signal is not feed-back from the motor driver and thus it is impossible to set the location. Thus, when the LOOP parameter is set as “OPEN”, it is possible to set the location only in the jog mode. ② To set the location of the brake axis in the MEN mode, the system parameter BRKF should be set as "OFF". This is because the brake axis does not move when the servo power is off. 7-7 CHAPTER 8 PALLET AND SPLINE OPERATION 8-1. 8-2. 8-3. 8-4. Pallet Operation Pallet Setting Spline Operation Spline Setting Chapter 8 8-1. Pallet Operation Pallet operation is a very useful operation for the following three works, by which the location of an object is automatically calculated to perform the required works without the need of setting individual locations on the pallet but only by designating four angular points of the pallet. ① Loading the object on the conveyor or a certain location on to the pallet. (Loading) ② Placing the object loaded on the pallet on to the conveyor or a certain location. (Unloading) ③ Moving the object between pallets The commands related to the pallet operation are PS and PM commands. (See Chapter 10 Program Languages.) Y for ② for ① X Y Y X X 8-1 Chapter 8 8-2. Pallet Setting This mode allows creating the location on the pallet of the matrix structure. For how to use this mode, see below. F1 ① Press [MAIN MENU] key in the main menu screen as shown on the right. PAL SPL USER 》 F1 ②When the screen shown on the right appears [PAL] PAL# = 001 move "◀" to the desired parameter using J+ and J- keys, and press ENT key ESC < TPNT1 =P000 to enter the setting mode. Press ESC SAV CLR ... .... key to escape from the setting mode without making any change. Press F1 key to save the entry, or press F2 key to delete the stored setting. ③ Items specified in the PAL mode are as follows: -. PAL# => Sets the pallet number, within the range of 1 ~ 100. -. TPNT1 => Sets the location number of Teaching Point #1. -. TPNT2 => Sets the location number of Teaching Point #2. -. TPNT3 => Sets the location number of Teaching Point #3. -. TPNT4 => Sets the location number of Teaching Point #4. -. LINES => Sets the number of lines in the designated pallet, within the range of 1 ~ 100. -. COL => Sets the number of columns in the designated pallet, within the range of 1 ~ 100. -. ZIGZAG => Sets the order of creating the pallet locations. 8-2 Chapter 8 ◈ When setting TPNT1 ~ TPNT4, be sure to observe the following rules. Y Y TPNT4 TPNT3 TPNT2 TPNT2 TPNT1 TPNT3 TPNT4 TPNT1 X X ◈ Order of Pallet Location Creation ① When the Zigzag mode is 1(ON), TPNT4 TPNT3 TPNT2 TPNT3 4 9 14 19 24 20 21 22 23 24 3 8 13 18 23 15 16 17 18 19 2 7 12 17 22 10 11 12 13 14 1 6 11 16 21 5 6 7 8 9 0 5 10 15 20 0 1 2 3 4 TPNT2 TPNT1 TPNT4 TPNT1 ② When the Zigzag mode is 0(OFF), TPNT4 TPNT3 TPNT2 TPNT3 4 5 14 15 24 20 21 22 23 24 3 6 13 16 23 19 18 17 16 15 2 7 12 17 22 10 11 12 13 14 1 8 11 18 21 9 8 7 6 5 0 9 10 19 20 0 1 2 3 4 TPNT1 TPNT2 TPNT1 8-3 TPNT4 Chapter 8 8-3. Spline Operation As being the movement along with a random curve using the location teaching by the user, the spline operation is very useful for such equipment that must move successively along with a random curve as dispenser equipment, bonding equipment and coating equipment. In the MAC, the spline operation is implemented to move along with the location taught on a random curve as shown in the following figure. The command related to the spline operation is SPL. (See Chapter 10, Program Languages) P051 P050, P075 X X P074 X P052 X P073 X X P072 P053 X P054 X P071 동작방 향 Direction of Operation X X P070 P055 X X P069 P056 X X P068 P057 X P058 X P067 X P059 X P066 X P060 X P065 X X X P064 P061 P062 X X P063 8-4 Chapter 8 8-4. Spline Setting The spline is the mode to move along with a random curve using the location taught by the user. For how to use this mode, see below. ① Press F2 [MAIN MENU] key in the main menu screen as shown on the right. PAL SPL USER >| F2 ESC ② When the screen shown on the right appears J+ move "◀" to the desired parameter using and J- keys, and press ENT [SPL] SPL# = 001 key < START =P000 to enter the setting mode. Press ESC SAV key to escape from the setting mode without making any CLR change.... Press F1 key to save the entry, or press F2 .... key to delete the stored setting. ③ Items specified in the SPL mode are as follows: -. SPL# => Sets the spline number, within the range of 1 ~ 100. -. START => Sets the start location number of the spline operation. -. END => Sets the last location number of the spline operation. ◈ When setting the location for the spline operation, be sure to observe the following rules. -. Start Location Number < Last Location Number -. The location number should increase by 1. 8-5 Chapter 8 ◈ How to Set the Spline Location -. P050 => Start Location Number -. P075 => Last Location Number P051 P050, P075 X X P074 X P052 X P073 X X P072 P053 X P054 X P071 동작방 향 of Operation Direction X X P070 P055 X X P069 P056 X X P068 P057 X P058 X P067 X P059 X P066 X P060 X P065 X X X P064 P061 P062 X X P063 ◈ How to Set the Spline Operation [SPL] SPL# = 001 < START =P000 SAV CLR ... .... In the T/P screen, enter .SPL# = 001 .START = P050 .END = P075 and press the SAV key, and the Spline Operation No.1 model is registered. When the program executes the command SPL 1 after the model registration is completed, the robot moves from P050 to P075 at the designated speed. 8-6 CHAPTER 9 USER COMMANDS 9-1. 9-2. 9-3. 9-4. 9-5. 9-6. Operation Commands (DO Commands) Input/Output (I/O) Commands Movement Speed Designation Command Jog Movement Speed Designation Command Servo Power ON/OFF Command Limit Sensor Indication Command Chapter 9 The user commands consist of the following six commands: 1. Operation Commands (DO Commands) 2. Input/Output (I/O) Command 3. Movement Speed Designation Command 4. Jog Movement Speed Designation Command 5. Servo Power ON/OFF Command 6. Limit Sensor Indication Command The composition of each command screen and how to operate the commands are given below. 9-1. Operation Commands (DO Commands) The operation commands are those that can execute operations using the designated location data, without executing any program. They are useful for the system debugging. Available commands are six movement commands such as MVE, MVS, MVC, CIR, MVA and SFT. See below for how to operate the commands. ① Press DO command in the main menu screen, and the screen shown on the right appears. F1 , F2 and F3 for selecting the command and keys are used F4 key is [DO/MOT MENU] DO _ MVE MVS MVC >> used for scrolling. ② The content displayed on the screen when each command is selected is shown below. The location data and the arch ratio following the command should be entered using the numeric keys. MVE => "DO MVE P0" MVS => "DO MVS P2" MVC => "DO MC P200,P201" CIR => "DO CR P31,P32" MVA => "DO MA P222,50" SFT => "DO SFT P10" MVF => "DO MF P10,1" MFB => "DO MB P10,-1" SFF => "DO SF P01,5" SFB => "DO SB P01,-5" [DO/MOT MENU] DO MVE P0 MVE MVS MVC >> ENTand the corresponding command is executed. ③ When the screen as shown above in ② appears, press key, Or, press key, and theESC entered content is ignored and the screen returns to the main menu screen. 8-1 Chapter 9 9-2. Input/Output (I/O) Commands The I/O commands allow monitoring all of 32 input and output points including the system I/O and the user I/O points, and sending the user I/O output signals. As letting the user know the every I/O status connected between the controller and the external device, the I/O commands are very useful for the system debugging. The I/O commands consist of the following four commands, which let the user know the current status of 32 I/O output points. 1). “Output by User I/O Bit” Command 2). “User I/O All ON” Command 3). “User I/O All OFF” Command 4). “Real-time Monitoring Command for 32 I/O Input Points” Command The composition of each command screen and how to operate the commands are given below. ① Press SIG [SIG/IO/OUT] key in the main menu screen, and the 0000000000000000 0000000000000000 I/O Command menu screen as shown on the right appears. F1 With 11 ~∼1616점 Points 17 ~∼3232점 Points SIG F 1 ON OFF MONI key, it is possible to turn ON/OF 1 ~ 24 user output points by each bit. F2 Press key, and all of 24 user output points turn ON. Or, press F3 key, and all of 24 user output points turn OFF. F4 Press key, and the status of 32 I/O input points is monitored in real-time. ESC key, and the screen returns to the main menu screen. Press ② Press F1 key in the I/O menu screen as shown above in [SIG/IO/OUT] ① appears. The range of the SIG NO is -24 ∼ 24 except 0. ENT For example, enter "SIG NO = -1" and press 0000000000000000 0000000000000000 key, and the External Output Signal 1 turns OFF. Enter "SIG NO = ENT key, and the External Output Signal 10" and press 10 turns ON. 8-2 SIG NO = _ Chapter 9 9-3. Movement Speed Designation Command The movement speed designation command is an element to decide the actual operation speed, which is expressed in percentage. This command is the value calculated by converting the value set in the VEL parameter among the Axis S/W parameters into 100%. The composition of each command screen and how to operate the command are given below. ① Press MSPD key in the main menu screen, and the Movement Speed Designation Command menu [MOVE_SPEED] OLD SPEED = 010 screen as shown on the right appears. NEW SPEED = _ Enter the desired value using the numeric keys and press ENT key, and entered value is saved. Press ESC key, and the entered content is ignored and the original value is restored. 9-4. Jog Movement Speed Designation Command The jog movement speed designation command is the value applied at the time of movement in the jog mode, which is expressed in percentage. This command is the value calculated by converting 50% of the value set in the VEL parameter among the Axis S/W parameters into 100%. The composition of each command screen and how to operate the command are given below. ① Press JSPD key in the main menu screen, and the Movement Speed Designation Command menu [JOG_SPEED] OLD SPEED = 010 NEW SPEED = _ screen as shown on the right appears. Enter the desired value using the numeric keys and ENT press key, and entered value is saved. ESC Press key, and the entered content is ignored and the original value is restored. 8-3 Chapter 9 9-5. Servo Power ON/OFF Command SVON key is pressed in the main menu. The servo power ON/OFF command is executed when SVON key operates as a toggle key and whenever it is pressed, the servo power is turned on or off. 9-6. Limit Sensor Monitor Command The limit sensor monitor command is executed when LMT key is pressed in the main menu, and displays the status of the limit sensor of each axis in real time. The composition of each command screen and how to operate the command are given below. ① The limit sensor monitor command screen appears when LMT key is pressed in the main menu screen. "H+-" in the third line of the T/P LCD means "HOME,+ Limit and - Limit". 8-4 [LIMIT SENSOR] 111 111 111 111 H+- H+- H+- H+1AX F1 2AX 3AX 4AX ESC CHAPTER 10 PROGRAM LANGUAGES AND EXAMPLES 10-1. Summary of Program Languages 10-2. Details of Motion Commands 10-3. Details of Program Control Commands 10-4. Details of I/O Control Commands 10-5. Details of Parameter Commands 10-6. Details of Function Commands 10-7. Details of Define Commands 10-8. Program Examples 1 Chapter 10 10-1. Summary of Program Languages The MAC program languages are classified into six groups, and composed of total 70 program languages. Using the designated keys and the function keys (F1 ∼ F4) on the Teach Pendant, you can select any group and command you want. The program languages of each group are listed below. 1. Motion Command Group => Selected with the MOT key. No. 1 Command MVE Function Asynchronous Absolute Location Movement No. 11 Command SFB (SB) 2 MVS Synchronous Absolute Location Movement 12 PMV (PM) 3 MVA (MA) Arch Movement 13 PMS (PS) 4 MVC (MC) Circular Arc Movement (0° < Movement Angle < 360°) 14 DRP 5 CIR (CR) Circular Movement 15 DRS 6 ARC (AR) Arc Movement (0° < Movement Angle < 999°) 16 SPL 7 SFT Shift Location Movement 17 UP 8 MVF (MF) 18 MVL 9 10 Moves forward the absolute location until the designated signal turns ON or OFF, and executes the next command. MVB (MB) Moves backward the absolute location until the designated signal turns ON or OFF, and executes the corresponding command again. SFF (SF) Shifts forward the location until the designated signal turns ON or OFF, and executes the next command. 2. Program Control Command Group Function Shifts backward the location until the designated signal turns ON or OFF, and executes the corresponding command again. Asynchronous absolute location movement to the designated LOC # on the designated Pallet #. Synchronous absolute location movement to the designated LOC # on the designated Pallet #. Absolute location movement of only the designated axis on the designated LOC # Shift movement of only the designated axis on the designated SFT # Continuously moves on a random curve along with the input from the designated spline model. Moves the axis designated in the UPAX system parameter to the coordinate zero point. Linear Movement 19 VMP Revolves to the clockwise direction at the specified velocity when the SPIN parameter is ON. 20 VMN Revolves to the counter-clockwise direction at the specified velocity when the SPIN parameter is ON. => Selected with the PRG key. No. Command Function No. Command Function 1 IF Sets the conditional sentence. 6 STOP Stops program execution. 2 GOT Goes to at the designated level 7 CALL Calls the program. 3 DLY Delays running. 8 RET Returns to the program. 4 JMP Jumps at the designated level. 9 RETC Returns to the program. 5 HOME Zero Return 10-1 2 Chapter 10 3. I/O Control Command Group => Selected with the I/O key. No. Command Function No. Command Function 1 SIGB Signal output by bits 6 TMS Waits until the designated signal turns ON and then OFF. 2 SIGI Signal input by ports 7 PWR Servo Power ON/OFF 3 SIGO Signal output by ports 8 SMV Outputs the designated signal at the designated location 4 JB Jumps according to the signal. 9 RUN Runs the parallel-processing program. 5 WAIT Waits until the designated signal turns ON and then OFF. 10 SAR Output signals at the designated % of the circle or of the circular arc. 4. Parameter Command Group => Selected with the PARA key. No. Command 1 ACC 2 DCC 3 SPD 4 INP Function No. Command Function Sets the acceleration time. 5 READ Reads data through RS232 communication. Sets the deceleration time. 6 WRITE Writes data through RS232 communication. Resets the movement speed of each axis 7 TSPD Sets the movement speed Sets the in-position value 5. Function Command Group => Selected with the FUNC key. No. Command Function No. Command Function 1 ADD Adds the variable value. 6 DEC Decreases the variable value by 1. 2 SUB Subtracts the variable value. 7 MUL Multiples the variable value. 3 OR Logical (OR) Operation for Variable Value 8 ADF Adds the real-type variable value. 4 AND Logical (AND) Operation for Variable Value 9 SUF Subtracts the real-type variable value 5 INC Increases the variable value by 1. 10 MUF Multiplies the real-type variable value 6. Define Command Group => Selected with the DEF key. No. Command Function No. Command Function 1 SET Sets the variable value. 8 LS Sets the location data with the relative deviation. 2 L Designate the label number. 9 FREG Sets the real-type register value. 3 INT Sets the interrupt. 10 LAP Sets the location data with the absolute designation value. 4 HERC Sets the location data. 11 LAS Sets the location data with the relative designation value. 5 HERA Sets the location data. 12 OFF Sets the offset value of the coordinate system. 6 CCLR Sets the coordinate value with the designated value. 13 LEP Reads the data of absolute position of designated axis 7 LP Sets the location data with the absolute deviation. 14 LES Reads the data of relative position of designated axis 10-2 3 Chapter 10 10-2. Details of Motion Commands MVE Grammar MVE [LOCATION] MVE Pxxx MVE P(Rxx) MVE P(*xx) Function Moves the robot to the designated location (Pxxx, P(Rxx), P(*xx)). At this time, the movement is PTP operation that each axis moves asynchronously. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "MVE Example Reference P(*10)" => "MVE P(R05)" 000 SET R20,200 001 L00: ; Designates the label. 002 MVE P035 ; Moves to P035. 003 MVE P(R20) ; Moves to P200. 004 JMP ; Branching to L00 L00,20 No. 20 . Input Range of Pxxx => P000~P999 (Axis 2), P339 (Axis 3), P255 (Axis 4) Input Range of Rxx => R00 ~ R99 10-3 4 Chapter 10 MVS Grammar MVS [LOCATION] MVS Pxxx MVS P(Rxx) MVS P(*xx) Function Moves the robot to the designated location (Pxxx, P(Rxx), P(*xx)). At this time, the movement is PTP operation that each axis moves synchronously. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "MVS P(*10)" => "MVS Example Reference P(R05)" 000 SET R20,200 001 L00: ; Designates the label. 002 MVS P035 ; Moves to P035. 003 MVS P(R20) ; Moves to P200. 004 JMP ; Branching to L00 L00,20 No. 20. Input Range of Pxxx => P000~P999 (Axis 2), P339 (Axis 3), P255 (Axis 4) Input Range of Rxx => R00 ~ R99 10-4 5 Chapter 10 MVA (MA) Grammar Function MA [LOCATION], [ARCH-PERCENT] MA Pxxx,xxx MA Pxxx,Rxx MA Pxxx,*xx MA Rxx,xxx MA Rxx,Rxx MA Rxx,*xx MA *xx,xxx MA *xx,Rxx MA *xx,*xx The axis designated by the system parameter ARCH moves, with drawing a shape of arch. During movement, the arch axis position varies with the register R97 value. When R97 = 0, the arch axis position during movement is 0.0. When R97 ≠ 0, the arch axis position goes up as much as the value designated by the R97. [ARCH-PERCENT] is the value that decides the time at which the axes other than the arch axis move. The other axes move after the arch axis moves as much as the ARCH-PERCENT of the UP movement. When the ARCH-PERCENT is set to 100, the arch axis and the other axes move at the same time and when the ARCHPERCENT is set to 1, the arch axis moves up fist and then the other axes start moving. It is the same for the down movement. The available input range of the ARCH-PERCENT is 1 ∼ 100. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "MA P003,*10" => "MA P003,R05" 30mm 30mm P000 P000 현재위치 Current Position P001 P001 목표위치 Goal Position P001 P001 목표위치 Goal Position P000 P000 현재위치 Current Position # When the current position목표위치보다 (P000) is higher than the goal # 현재위치(P000)가 높은경우 position, ARCH거리 = 현재위치 - 30mm Arch Distance = Current Position – 30mm ## When the goal position현재위치보다 (P001) is higher높은경우 than the 목표위치(P001)가 current position, ARCH거리 = 목표위치 - 30mm Arch Distance = Current Position – 30mm [ P000 = Current Location, P001 = Goal Location, R97=30 ] 10-5 6 Chapter 10 MVA (MA) Example 000 SET R11,0 001 SET R12,50 002 L00: ; Designates the label. 003 MVE P000 ; Moves to P000. 004 SET R97,0 ; Sets the arch axis to move to the zero point.. 004 MA P001,50 ; Moves the arch axis to P001 at the ARCHPERCENT 50. Reference 004 SET R97,50 ; Sets the arch axis to move from 50mm-up position. 005 MA R11,R12 ; The same as MA 006 GOT L00 P(R11), R12. ; Runs with going to L00. Input Range of Pxxx => P000~P999 (Axis 2), P339 (Axis 3), P255 (Axis 4) Input Range of Rxx R00 ~ R99 => 10-6 7 Chapter 10 MVC (MC) Grammar Function MC [LOCATION1], [LOCATION2] MC Pxxx,xxx MC Pxxx,Rxx MC Pxxx,*xx MC Rxx,xxx MC Rxx,Rxx MC Rxx,*xx MC *xx,xxx MC *xx,Rxx MC *xx,*xx The end-effector of the robot moves along with the arc that LOCATION1] and [LOCATION2] make starting from the current location. The [LOCATION1] is a gothrough-location and the [LOCATION2] is the goal location. For the 3-axis controller, the three-dimensional arc movement in the X, Y and Z directions are achieved according to the Z-axis location data set by the [LOCATION2]. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "MC Example Reference P003,*10" => "MC P003,R05" 000 SET R10,200 001 SET R11,201 002 SET R12,202 003 L00: ; Designates the label. 004 MVE P000 ; Moves to P000. 005 MC ; The same as MC 006 MVE P(R10) ; Moves to P200. 007 MC ; The same as MC 008 MVE P(R10) ; Moves to P200. 009 MC ; The same as MC 010 MVE P(R10) ; Moves to P200. 011 MC ; The same as MC 012 GOT L00 P001,002 P201,R12 R11,202 R11,R12 P001,P002. P201,P(R12). P(R11),P202. P(R11),P(R12). ; Input Range of Pxxx => P000~P999 (Axis 2), P339 (Axis 3), P255 (Axis 4) Input Range of Rxx R00 ~ R99 => ◆ The range of the movement speed is decided according to the system parameter CSPD, which is subdivided by the SPD command. The minimum circumferential movement speed is 0.01mm/sec, and the maximum speed is 300mm/sec. 10-7 8 Chapter 10 CIR (CR) Grammar Function CR [LOCATION1], [LOCATION2] CR Pxxx,xxx CR Pxxx,Rxx CR Pxxx,*xx CR Rxx,xxx CR Rxx,Rxx CR Rxx,*xx CR *xx,xxx CR *xx,Rxx CR *xx,*xx The end-effector moves along with the circle on the XY plane that [LOCATION1] and [LOCATION2] make starting from the current location of the robot. The [LOCATION1] and the [LOCATION2] are go-through locations, and the goal location is the current location as the operation is circular movement. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "CR Example Reference P003,*10" => "CR P003,R05" 000 SET R10,200 001 SET R11,201 002 SET R12,202 003 L00: ; Designates the label. 004 MVE P000 ; Moves to P000. 005 CR ; The same as CR 006 MVE P(R10) ; Moves to P200. 007 CR ; The same as CR 008 MVE P(R10) ; Moves to P200. 009 CR ; The same as CR 010 MVE P(R10) ; Moves to P200. 011 CR R11,R12 ; The same as CR 012 JMP L00,0 ; Branching to L00 indefinitely. P001,002 P201,R12 R11,202 P001,P002. P201,P(R12). P(R11),P202. P(R11),P(R12). Input Range of Pxxx => P000~P999 (Axis 2), P339 (Axis 3), p255 (Axis 4) Input Range of Rxx R00 ~ R99 => ◆ The range of the circumferential movement speed is decided according to the system parameter CSPD, which is subdivided by the SPD command. The minimum circumferential movement speed is 0.01mm/sec, and the maximum speed is 300mm/sec. 10-8 9 Chapter 10 ARC (AR) Grammar AR [LOCATION], [ANGLE] AR Pxxx,xxx Function Decides the circular radius on the basis of the current location of the robot and the X and Y coordinate values set in the [LOCATION], and performs arc movement on the XY plane as much as the designated movement angle. The range of the movement angle is 1 ~ 999 and the [LOCATION] is the center of the circle. Example 000 MVE P000 ; Moves to P000.(X=0.0,Y=0.0) 000 L00: ; Designates the label. 001 MVE P001 ; Moves to P001. 002 AR ; Decides the circular radius using the X- and the P100,720 ; Y-axis location data of the P100, and performs arc ; movement as much as 720 . 003 JMP L00,0 ; Branching to L00. Direction of Revolution ● P100 P001 P001 = Start Point of Arc Movement P100 = Center of the Circle ● ● P000 Reference Input Range of Pxxx => P000~P999 ◆ The range of the circumferential movement speed is decided according to the system parameter CSPD, which is subdivided by the SPD command. The minimum circumferential movement speed is 0.01mm/sec, and the maximum speed is 300mm/sec. 10-9 10 Chapter 10 SFT Grammar SFT [SHIFT-LOCATION] SFT Sxx Function SFT S(Rxx) SFT S(*xx) Shifts the robot to the designated shift location (Sxx, S(Rxx), S(*xx)). At this time, the movement operation is the PTP operation that each axis operates asynchronously. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "SFT Example Reference S(*10)" => "SFT S(R05)" 000 SET R20,001 001 L00: 002 SFT S35 ; Shift from the current location to S35. 003 SFT S(R20) ; Shift from the current location to S01. 004 JMP L00,20 ; Branching to L00 ; Designates the label. Input Range of Sxx => S00 ~ S99 Input Range of Rxx => R00 ~ R99 10-10 No. 20 . 11 Chapter 10 MVF (MF) Grammar MF [LOCATION], [EXTERNAL INPUT SIGNAL #] MF Function Pxxx, xx MF Pxxx, -xx MF Rxx, xx MF Rxx, -xx MF *xx, xx MF *xx, -xx Performs absolute location movement until the external input signal designated with the designated location (Pxxx, P(Rxx), P(*xx)) meets the set conditions. The robot stops when the designated external input signal meets the set condition during movement, and executes the next command. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "MF *10,03" => "MF R05,03" Example 000 SET 001 L00: 002 MF R20,001 ; Sets the register R20 value. ; Designates the label. P035,2 ; Absolute movement from the current location to ; P035 until the External Input Signal No. 2 turns ON. 003 MF R20,-3 ; Absolute movement from the current location to ; P001 until the External Input Signal No. 3 turns OFF. 004 Notice JMP L00,20 ; Branching to L00 No. 20. The MVF (MF) command operates in connection with the external input signal. If the External Input Signal No.1 is ON before the controller executes the command MF P001, 1, the robot does not move to P001 but executes the next line. Therefore, when using the commands related to the external input signal such as MVF (MF), MFB (MB), SFF (SF) and SFB (SB), pay attention to the external input signal status. The input signal is recognized only when it is kept for 10msec at the least. Reference Input Range of Pxxx => P000~P999 Input Range of Rxx R00 ~ R99 => 10-11 12 Chapter 10 MFB (MB) Grammar Function MB [LOCATION],[EXTERNAL INPUT SIGNAL #] MB Pxxx, xx MB Pxxx, -xx MB Rxx, xx MB Rxx, -xx MB *xx, xx MB *xx, -xx Performs absolute location movement until the external input signal designated with the designated location (Pxxx, P(Rxx), P(*xx)) meets the set conditions. The robot stops when the designated external input signal meets the set condition during movement, waits until the external input signal does not meet the set conditions, and then moves to the goal location. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "MB *10,03" => "MB R05,03" Example 000 SET 001 L00: 002 MB R20,001 ; Sets the register R20 value. ; Designates the label. P035,2 ; Absolute movement from the current location to the ; P035 location until the External Input Signal No.2 ; turns ON, waits until the External Input Signal No.2 ; turns OFF, and then moves to the P035 location. 003 MB R20,-3 ; Absolute movement from the current location to the ; P001 location until the External Input Signal No.3 ; turns OFF, waits until the External Input Signal No.3 ; turns ON, and then moves to the P001 location. 004 Notice JMP L00,20 ; Branching to L00 No.20. The MFB (MB) command operates in connection with the external input signal. If the External Input Signal No. 1 is ON before the controller executes the command MB P001, 1, the robot does not move to P001 but waits until the external input signal turns OFF. Therefore, when using the commands related to the external input signal such as MVF (MF), MFB (MB), SFF (SF) and SFB (SB), pay attention to the external input signal status. The input signal is recognized only when it is kept for 10msec at the least. Reference Input Range of Pxxx => P000~P999 Input Range of Rxx R00 ~ R99 => 10-12 13 Chapter 10 SFF (SF) Grammar Function SF [SHIFT_LOCATION],[EXTERNAL INPUT SIGNAL #] SF Sxx, xx SF Sxx, -xx SF Rxx, xx SF Rxx, -xx SF *xx, xx SF *xx, -xx Performs shift location movement until the external input signal designated with the designated location (Sxx, S(Rxx), S(*xx)) meets the set conditions. The robot stops when the designated external input signal meets the set condition during movement, and executes the next command. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "SF *10,-10" => "SF R05,-10" Example 000 SET 001 L00: 002 SF R20,001 ; Sets the register R20 value. ; Designates the label. S35,2 ; Shift movement from the current location to the ; S35 location until the External Input Signal ; No.2 turns ON. 003 SF S(R20),-3 ; Shift movement from the current location to the ; S01 location until the External Input Signal ; No.3 turns OFF. 004 Notice JMP L00,20 ; Branching to L00 No.20. The SFF (SF) command operates in connection with the external input signal. If the External Input Signal No. 1 is ON before the controller executes the command SF S01, 1, the robot does not move to S01 but executes the next line. Therefore, when using the commands related to the external input signal such as MVF (MF), MFB (MB), SFF (SF) and SFB (SB), pay attention to the external input signal status. The input signal is recognized only when it is kept for 10msec at the least. Reference Input Range of Sxx => S00 ~ S99 Input Range of Rxx => R00 ~ R99 10-13 14 Chapter 10 SFB (SB) Grammar Function SB [SHIFT_LOCATION],[EXTERNAL SIGNAL #] SB Sxx, xx SB Sxx, -xx SB Rxx, xx SB Rxx, -xx SB *xx, xx SB *xx, -xx Performs shift location movement until the external input signal designated with the designated location (Sxxx, S(Rxx), S(*xx)) meets the set conditions. The robot stops when the designated external input signal meets the set condition during movement, waits until the external input signal does not meet the set conditions, and then returns to the goal location. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "SB *10,-10" Example 000 SET 001 L00: 002 SB R20,001 => "SB R05,-10" ; Sets the register R20 value. ; Designates the label. S35,2 ; Shift movement from the current location to the S35 ; location until the External Input Signal No.2 turns ; ON, waits until the External Input Signal No.2 ; turns OFF, and then returns to the S35 location. 003 SB S(R20),-3 ; Shift movement from the current location to the S01 ; location until the External Input Signal No.3 turns ; OFF, waits until the External Input Signal No.3 ; turns ON, and then returns to the S01 location. 004 Notice JMP L00,20 ; Branching to L00 No.20. The SFB (SB) command operates in connection with the external input signal. If the External Input Signal No. 1 is ON before the controller executes the command SB S01, 1, the robot does not move to S01 but waits until the external signal turns OFF. Therefore, when using the commands related to the external input signal such as MVF (MF), MFB (MB), SFF (SF) and SFB (SB), pay attention to the external input signal status. The input signal is recognized only when it is kept for 10msec at the least. Reference Input Range of Sxx => S00 ~ S99 Input Range of Rxx => R00 ~ R99 10-14 15 Chapter 10 PMV (PM) Grammar PM [PALLET #],[PALLET LOCATION #] PM xxx, xxx Function PM xxx, Rxx PM xxx, *xx Performs absolute location movement to the location (xxx, Rxx, *xx) of the designated pallet number. At this time, the movement is PTP operation that each axis moves asynchronously. For how to create the pallet location, see section 8-2. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "PM 1,*10" Example => "PM 1,R05" 000 SET R00,000 ; Sets the register R00 value. 001 PM 1,000 ; Moves to the location “000” created on the Pallet No.1. 002 L00: 003 PM ; Designates the label. 2,R00 ; Moves to the location “R00” created on the Pallet No.2. ; (The number of pallet locations that can be created ; is assumed to be 50.) Notice 004 INC R00 ; Increases the register R00 value by 1. 005 JMP L00,50 ; Runs with jumping to No.50 L00. 006 STOP ; Stops program execution. To execute the PMV (PM) command, be sure to create the pallet location in the PAL mode of the Main Menu in advance. The location created in the PAL mode is treated differently from the absolute location (Pxxx), and the number of pallet locations also has nothing to do with the number of absolute locations (Pxxx). Reference Input Range of Pallet Number => 1 ~ 100 Input Range of Pallet Location => Number of locations created in the PAL mode. 10-15 16 Chapter 10 PMS (PS) Grammar PS [PALLET #],[PALLET LOCATION #] PS xxx, xxx Function PS xxx, Rxx PS xxx, *xx Performs shift location movement to the location (xxx, Rxx, *xx) of the designated pallet number. At this time, the movement is PTP operation that each axis moves asynchronously. For how to create the pallet location, see section 8-2. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "PS 1,*10" => "PS 1,R05" Example 000 SET R00,000 ; Sets the register R00 value. 001 PS 1,002 ; Moves to the location “002” created on the Pallet 1. 002 L00: 003 PS ; Designates the label. 2,R00 ; Moves to the location “R00” created on the Pallet 2. ; (The number of pallet locations that can be created ; is assumed to be 70.) Notice 004 INC R00 ; Increases the register R00 value by 1. 005 JMP L00,70 ; Runs with jumping to No.70 L00. 006 STOP ; Stops program execution. To execute the PMS (PS) command, be sure to create the pallet location in the PAL mode of the Main Menu in advance. The location created in the PAL mode is treated differently from the absolute location (Pxxx), and the number of pallet locations also has nothing to do with the number of absolute locations (Pxxx). Reference Input Range of Pallet Number => 1 ~ 100 Input Range of Pallet Location => Number of locations created in the PAL mode. 10-16 17 Chapter 10 DRP Grammar Function DRP [LOCATION #],[AXIS SET] DRP Pxxx, #h DRP Rxx, #h DRP *xx, #h Performs absolute location movement only for the designated axis as much as the location data of each axis on the designated location (xxx, Rxx, *xx). Each axis is assigned by each bit, as shown below. BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 X X X X Axis 4 Axis 3 Axis 2 Axis 1 *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "DRP *10,2h" => "DRP R05,2h" Example 000 SET 001 L00: 002 DRP R00,001 ; Sets the register R00 value. ; Designates the label. P000,1h ; Moves only the X-axis (Axis 1) to the X-axis ; absolute location designated by P000. 003 DRP R00,2h ; Moves only the Y-axis (Axis 2) to the Y-axis ; absolute location designated by P001. 004 DRP P002,3h ; Moves X- and Y-axis to the X- and Y axis ; absolute locations designated by P002. Reference 005 MVE P003 ; Moves the absolute location to P003. 006 JMP ; Runs with jumping to No.20 L00 007 STOP L00,20 ; Stops program execution. Input Range of Pxxx => P000~P999 Input Range of Rxx R00 ~ R99 => 10-17 18 Chapter 10 DRS Grammar DRS [SFT LOCATION ##],[AXIS SET] DRS Function Sxx, #h DRS Rxx, #h DRS *xx, #h Performs shift location movement only for the designated axis as much as the location data of each axis on the designated location (xxx, Rxx, *xx). Each axis is assigned by each bit, as shown below. BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 X X X X Axis 4 Axis 3 Axis 2 Axis 1 *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "DRS *10,2h" => "DRS R05,2h" Example 000 SET 001 L00: 002 DRS R00,001 ; Sets the register R00 value. ; Designates the label. S000,1h ; Moves only the X-axis (Axis 1) to the X-axis ; shift location designated by S00. 003 DRS R00,2h ; Moves only the Y-axis (Axis 2) to the Y-axis ; shift location designated by S01. Reference 004 MVE P002 ; Absolute movement to P002. 005 JMP ; Runs with jumping to No.20 L00 L00,20 Input Range of Sxx => S00 ~ S99 Input Range of Rxx => R00 ~ R99 10-18 19 Chapter 10 SPL Grammar SPL [SPLINE #] SPL ## Function SPL Rxx SPL *xx Moves a random curve continuously with the spline model number set in the SPL mode of the main menu. For how to create the spline model, see Section 8-4. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "SPL *10" => "SPL R05" Example 000 SET R00,002 001 MVE P100 ; Sets the register R00 value. ; Moves to the start point of the Spline 1 Model ; operation. 002 SPL 1 ; Continuously moves the curve of the Spline 1 ; Model. 003 MVE P200 ; Moves to the start point of the Spline 2 Model ; operation. 004 SPL R00 ; Continuously moves the curve of the Spline 2 ; Model. 005 Notice STOP ; Stops program execution. To use the SPL command, be sure to enter the spline location in the SPL mode of the Main Menu in advance. (See 8-4). When the SPL command is used, the operation start point should be the same as the location data designated as the start point in the SPL mode of the Main Menu. Reference Input Range of Spline Number => 1 ~ 10 Input Range of Rxx => R00 ~ R99 10-19 20 Chapter 10 UP Grammar Function UP [LOCATION ###] UP Pxxx Moves the axis designated by the system parameter UPAX as much as the value designated by the absolute location (Pxxx). Example 000 SET R20,200 001 L00: ; Designates the label. 002 MVS P100 ; Absolute movement to the P100 location. 003 L01: ; Designates the label. 004 SFT S35 ; Shift to S35. 005 UP P101 ; When the UPAX is "3AXIS", Axis 3 moves ; according to the Axis-3 location data of P101. 006 JMP L01,10 ; Branching 007 GOT L00 ; Goes to L00. 008 STOP ; Stops program execution. 10-20 to L01 No.10. 21 Chapter 10 MVL Grammar MVL [LOCATION] MVL Pxxx Function MVL P(Rxx) MVL P(*xx) Moves the robot to the designated location (Pxxx, P(Rxx), P(*xx)). At this time, the movement is the linear movement operation. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "MVL Example Reference P(*10)" => "MVL P(R05)" 000 SET R20,200 001 L00: ; Designates the label. 002 MVE P035 ; Moves to P035. 003 MVL P(R20) ; Move to P200 linearly. 004 JMP ; Branching to L00 No.20 . L00,20 Input Range of Pxxx => P000~P511 (Axis 2), P339 (Axis 3), P255 (Aix 4) Input Range of Rxx R00 ~ R99 => ◆ The range of the linear movement speed is decided by the system parameter CSPD, which is subdivided by the SPD command. The minimum linear movement speed is 0.01mm/sec, and the maximum speed is 300mm/sec. 10-21 22 Chapter 10 VMP, VMN Grammar VMP(VMN) [VARIABLE VALUE, REGISTER VARIABLE] Function VMP xxx VMP Rxx VMP *xx VMN xxx VMN Rxx VMN *xx Performs speed control at the designated speed. The VMP performs speed control with revolving to the clockwise direction and the VMN does so with revolving to the counter-clockwise direction. The range of variable value input is 1 ∼ 100, and the unit is the percentage (%) to the VEL setting in the axis software parameter. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "VMP *10" => "VMP R05" Example 000 L00: ; Designates the label as “VEL"=3000 RPM. 001 VMP 10 ; Revolves at 300 RPM. 002 DLY 500 ; Delays for 500msec. 003 VMP 50 ; Revolves at 1500 RPM. 004 DLY 1000 ; Delays for 1000msec. 005 VMP 100 ; Revolves at 3000 RPM. 006 DLY 500 ; Delays for 500msec. 007 VMP 20 ; Revolves at 600 RPM. 008 DLY 1000 ; Delays for 1000msec. 009 VMP 0 ; Stops with decelerating to the DCC value. 010 GOT L00 ; Runs with jumping to L00. 3000 RPM Speed 1500 RPM 300 RPM 300 RPM Time 0.5sec. 1.0sec. 0.5sec. 10-22 1.0sec. 23 Chapter 10 Reference The VMP and the VMN commands are available for the parallel processing (the RUN command) program, which are proper for processing the work using the X and Y tables with moving the spindle axis, or for the feeding machine. The VMP and the VMN commands are applied to the last axis of each controller. MAC-201,211 => Applied to Axis 2. MAC-301,311 => Applied to Axis 3. MAC-401,411 => Applied to Axis 4. 10-23 24 Chapter 10 10-3 Details of Program Control Commands IF Grammar IF Rxx > Rxx, IF Rxx > xxx, IF IF *xx > *xx, IF *xx > Rxx, IF *xx > IF *xx > xxh IF Rxx = Rxx, IF Rxx = xxx, Rxx = xxh IF *xx = *xx, IF *xx = Rxx, IF *xx = IF *xx = xxh IF Rxx < Rxx, IF Rxx < xxx, Rxx < xxh IF *xx < *xx, IF *xx < Rxx, IF IF *xx < xxh IF IF Rxx > xxh *xx < xxx, xxx, xxx, IF Rxx != Rxx, IF Rxx != xxx, IF Rxx != xxh IF *xx != *xx, IF *xx != Rxx, IF *xx != xxx, IF *xx != xxh Function If the condition in the conditional sentence is true, the controller executes the immediately following line but if it is false, it executes the next following line. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "IF *10>3h" => "IF R(R10)>3h" => "IF R05>3h" Example 000 IF R12 > R13 001 SIGB -1 ; Turns OFF the External Output Signal No. 1. 002 SIGB ; Turns ON the External Output Signal No. 1. ★ If R12 > 1 ; Executes the conditional sentence. R13, the controller executes Line 001, "SIGB -1", and if R12 <= R13, it executes Line 002, "SIGB 1". Reference Input Range of Rxx => R00 ~ R99 Input Range of xxx => 0 ∼ 255 Input Range of xxh 00 ∼ FFh (Hexa Decimal) => 10-24 (Decimal) 25 Chapter 10 GOT Grammar Function Example Reference GOT Lxx The program unconditionally goes to the designated label number (Lxx). 000 SET R20,001 001 L00: 002 SFT S35 ; Shifts from the current location to S35 location. 003 SFT S(R20) ; Shifts from the current location to S01 location. 004 GOT L00 ; Designates the label. Input Range of Lxx ; Goes to L00. => L00 ∼ L50 10-25 26 Chapter 10 DLY Grammar Function DLY [TIME] DLY xxxxxx Stops executing the robot program and delays for the designated time. [TIME] should be set using the integer within the input range of 1 ∼ 999999, and the unit is [ms]. Example 000 MVE P000 ; Moves to P000. 001 DLY 500 ; Delays for 500msec. 002 MVE P001 ; Moves to P001. 003 STOP ; Stops program execution. 10-26 27 Chapter 10 JMP Grammar Function JMP Lxx,xxx JMP Lxx,Rxx JMP Lxx,*xx The program jumps to the designated label number (Lxx), and is executed cycling the repetitive loop as many times as the repetition count (xxx,Rxx). *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "JMP L10,*10" => "JMP L10,R05" ★ If the repetition count is designated as ‘0’, the program circles the infinite loop until it is stopped by an external factor, and if it is designated to have the value between 1 ∼ 255, the program circles the repetitive loop. Example Reference 000 SET R20,001 001 L00: 002 SFT S35 ; Shifts from the current location to S35 location. 003 SFT S(R20) ; Shifts from the current location to S01location. 004 JMP L00,20 ; Runs with jumping to No.20 L00. 005 STOP ; Designates the label. ; Stops program execution. Input Range of Lxx => L00 ∼ L50 Input Range of xxx => 000 ∼ 255 Input Range of Rxx => R00 ∼ R99 10-27 28 Chapter 10 HOME Grammar HOME [AXIS SET] HOME ##h Function Zero return command for each axis. Each axis is assigned by each bit, as shown below. Example BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 X X X X Axis 4 Axis 3 Axis 2 Axis 1 HOME 01h : Returns Axis 1 to its home. HOME 02h : Returns Axis 2 to its home. HOME 04h : Returns Axis 3 to its home. HOME 08h : Returns Axis 4 to its home. HOME 03h : Returns Axes 1 and 2 to their homes at the same time. HOME 07h : Returns Axes 1, 2 and 3 to their homes at the same time. HOME 0Fh : Returns Axes 1, 2, 3 and 4 to their homes at the same time. 000 HOME 3h ; Returns Axes 1 and 2 to their homes at the same time. 001 L00: ; Sets the label. 002 MVE P012 ; Moves to P012. 003 MVS P013 ; Moves to P013. 004 HOME 02h ; Returns Axis 2 to its home. 005 GOT L00 ; Goes to the label L00. 10-28 29 Chapter 10 STOP Grammar Function Example STOP Stops program execution. 000 SET R20,001 001 L00: ; Designates the label. 002 MVE P000 ; Moves to P000. 003 MVE P(R20) ; Moves to P001. 004 JMP ; Executes the next operation, as already executed L00,1 ; the loop. 005 STOP ; Stops program execution. 10-29 30 Chapter 10 CALL Grammar CALL Function PRGxx Calls another program. Example Reference 001 L00: ; Designates the label. 002 MVE P000 ; Moves to P000. 003 CALL PRG05 ; Calls the Program No.05. 004 MVE P001 ; Moves to P001. 005 GOT L00 ; Goes to the label L00. 006 STOP ; Stops program execution. 1. The program should not call itself. To return from the called program to the calling program, be sure to use the RET command. 2. By repeating the CALL command (by using the CALL command again and again within the called program), it is possible to call up to 31 programs. But, if more than 31 programs are called, the CALL Stack Full error occurs. <Program #0> . . <Program #1> . <Program #2> . . CALL PRG01 CALL PRG02 . Other Command Other Command . . . . . . . . RET [ When the CALL command is used more than once ] 10-30 RET 31 Chapter 10 RET Grammar Function RET 1. Return to the original program from the program called by the program command CALL. 2. Function to return to the line next to the line in the subroutine, which was been executed before being called by the program command INT. Example 1. Program No.0 000 L00: 001 MVE P012 ; Moves to P012. 002 SIGB 1 ; Turns the External Output Signal No. 1 ON. 003 CALL PRG02 ; Calls the Program No.2 004 SIGB -1 ; Turns the External Output Signal No. 1 OFF. 005 GOT L00 2. Program No.2 000 MVE P001 ; Moves to P001. 001 SIGB 10 ; Turns the External Output Signal No. 10 ON. 002 RET Reference ; Returns to Line 4 of the Program No.0. If you use the RET command only, without using the CALL or INT command, the RET Stack Empty error occurs. 10-31 32 Chapter 10 RETC Grammar Function RETC Returns the line that was being executed before being called in the subroutine called by the program command INT. Example 1. Program No.0 000 INT 1,PRG02 ; Sets Interrupt 1 and jumps to the Program No.2. ; If the robot is moving, the program stops and then ; jumps. 001 L00: ; Sets the label. 002 MVE P012 ; Moves to P012. 003 MVS P013 ; Moves to P013 004 SFT ; Shifts from the current location to S10. 005 GOT L00 S10 ; Goes to the label L00. 2. Program No.2 000 MVE P001 ; Moves to the P001 location. 001 SIGB 10 ; Turns the External Input Signal No. 10 ON. 002 RETC ; Returns to Line 003 of the Program No.0. ★ If an interrupt occurs while the above program is executing Line 3 of the Program No.0, the program jumps to the Program No.2 and if the RETC command is issued, the program returns to Line 3 of the Program No.0 because the movement command was executed before the interrupt occurs. Reference If you use the RETC command only, without using the CALL or INT command, the RET Stack Empty error occurs. 10-32 33 Chapter 10 Reference * Differences between the RET and the RETC 1. Program No.0 000 INT 1,PRG02 ; Sets Interrupt 1, and jumps to the Program No.2. ; If the robot is moving, the program stops and then ; jumps. 001 L00: ; Sets the label. 002 MVE P012 ; Moves to P012. 003 MVS P013 ; Moves to P013. 004 SFT S10 ; Shifts from the current location to S10. 005 GOT L00 2. Program No.2 000 MVE P001 ; Moves to P001. 001 SIGB 10 ; Turns the External Output Signal No.10 ON. 002 RET ; Returns to Line 004 of the Program No.0. ★ If an interrupt occurs while the above program is executing Line 3 of the Program No.0, the program jumps to the Program No.2 and if the RET command is issued, the program returns to Line 4 of the Program No. 0 because the movement command before the interrupt is ignored. 1. Program No. 0 000 INT 1,PRG02 ; Sets Interrupt 1, and jumps to the Program No.2. ; If the robot is moving, the program stops and then ; jumps. 001 L00: ; Sets the label. 002 MVE P012 ; Moves to P012. 003 MVS P013 ; Moves to P013. 004 SFT ; Shifts from the current location to S10. 005 GOT L00 S10 2. Program No. 2 000 MVE P001 ; Moves to P001. 001 SIGB 10 ; Turns the External Output Signal No.10 ON. 002 RETC ; Returns to Line 003 of the Program No.0. ★ If an interrupt occurs while the above program is executing Line 3 of the Program No.0, the program jumps to the Program No.2 and if the RETC command is issued, the program returns to Line 3 of the Program No.0 because the movement command was executed before the interrupt occurs. 10-33 34 Chapter 10 10-4. Details of I/O Control Commands SIGB Grammar SIGB [EXTERNAL OUTPUT SIGNAL #] SIGB Function ## SIGB -## Tuns ON/OFF the designated external output signal. The range of external output is -24 ∼ -1 and 1 ∼ 24. Example Reference SIGB -1 => Turns the External Output Signal No.1 OFF. SIGB => Turns the External Output Signal No.3 ON. 3 000 MVE P010 ; Moves to P010. 001 SIGB -10 ; Turns the External Output Signal No.10 OFF. 002 SIGB 15 ; Turns the External Output Signal No.15 ON. 003 STOP ; Stops program execution. The designated signal keeps its status. 10-34 35 Chapter 10 SIGI Grammar Function SIGI [INPUT SIGNAL STORAGE VARIABLE],[INPUT PORT] SIGI Rxx,# Reads the signals from the designated input port and stores them to the register variable (Rxx). One input port consists of eight signals. The range of input ports (#) is 1 ∼ 2. Example 000 MVE P000 ; Moves to P000. 001 DLY 500 ; Delays for 500msec. 002 SIGI ; Reads the signal from Input Port 1 and stores them R00,1 ; to R00. 003 Reference STOP ; Stops program execution. The input port numbers and the corresponding signals are listed below. Input Port External Input Signal Port 1 1~8 Port 2 9 ~ 16 10-35 36 Chapter 10 SIGO Grammar Function SIGO [OUTPUT PORT],[EXTERNAL OUTPUT VALUE] SIGO #,Rxx SIGO #,xxh SIGO #,xxx SIGO AON SIGO AOFF Sends the external output to the designated output port. One output port consists of eight signals. The range of output ports (#) is 1 ∼ 3 and for the external output value, register variables, decimal values and hexadecimal values are available. The range of external output values (xxh,xxx) is 00h ∼ FFh. AON is the command that turns all 24 external output signal points ON, and AOFF is the command that turns all 24 external output signal points OFF. Example Reference 000 MVE P000 ; Moves to P000. 001 DLY 500 ; Delays for 500msec. 002 SIGO 1,0Fh ; Sends 0Fh to Output Port 1. 003 STOP ; Stops program execution. The output port numbers and the corresponding signals are listed below. Output Port Port 1 Port 2 Port 3 External Input Signal 1~8 9 ~ 16 17 ~ 24 10-36 37 Chapter 10 JB Grammar JB [EXTERNAL INPUT SIGNAL #],[LABEL, PROGRAM, EXTERNAL OUTPUT SIGNAL #] Function JB ##,Lxx JB -##,Lxx JB ##,PRGxx JB -##,PRGxx JB ##,xx JB -##,xx JB -##,xx JB -##,-xx Jumps to the designated label depending on whether the designated input signal is ON or OFF, calls the designated program, and turns ON/OFF the designated external output signal. If the condition is not matched, the program executes the next line. The range of external input signals is -16 ∼ -1 and 1 ∼ 16. The range of external output signals is -24 ∼ -1 and 1 ∼ 24. Example 000 L00: 001 MVE P010 ; Moves to P010. 002 JB ; Jumps to L00 if the External Input Signal No.1 is OFF -01,L00 No.2 is ON. 003 JB 02,PRG03 ; Calls the Program No.3 if the External Input Signal 004 JB 03,10 ; Turns the External Output Signal No.10 ON if the External Input Signal 3 is ON. 005 JB -03,-10 ; Turns the External Output Signal No.10 OFF if the External Input Signal No.3 is OFF. 006 STOP ; Stops program execution. 10-37 38 Chapter 10 WAIT Grammar WAIT WAIT Function [EXTERNAL INPUT SIGNAL #] ## WAIT -## Holds program execution and waits until the designated external input signal meets the designated condition. The range of external input signals is -16 ∼ -1 and 1 ∼ 16. Example 000 L00: 001 MVE P010 ; Moves to P010. 002 WAIT 10 ; Holds program execution and waits until the External ; Input Signal No.10 is turned ON. 003 MVE P011 ; Moves to P011. 004 GOT L00 ; Goes to the label L00. 005 STOP ; Stops program execution. Reference MVE P010 WAIT 10 MVE P011 External Input Signal No. Waits until the External Input Signal No. 10 turns on. 10-38 39 Chapter 10 TMS Grammar TMS TMS Function [INPUT SIGNAL #],[TIME] ##, #### TMS -##, #### Holds program execution for the designated time until the designated external input signal meets the designated state. If the input conditions are not met within the designated time, the variables of the register R99 and R98 are entered as follows. When the conditions are met, 0 is set. @ When the input conditions are met, Content of R99 => 0 (Main Program) Content of R98 => 0 (Sub-program) @ When the input conditions are not met, Content of R99 => 1 ~16 (When the external input signal is 1 ~ 16) Content of R99 => 21~36 (When the external input signal is -1 ~ -16) Content of R98 => 1 ~16 (When the external input signal is 1 ~ 16) Content of R98 => 21~36 (When the external input signal is -1 ~ -16) ◆ When not running the parallel processing program (using the RUN command), Only the register R99 is used. ◆ When running the parallel processing program (using the RUN command), The main program uses the register R99, and The sub-program uses the register R98. Range of the External Input Signal : -16 ~ -1, 1 ~ 16 Range of the Time Input : 1 ~ 9999 [Unit: 10msec] 10-39 40 Chapter 10 TMS Example 000 MVE P00 ; Absolute movement to P000. 001 TMS 1,100 ; Holds program execution for up to 1 second until the ; External Input Signal No. 1 turns ON. ; If the External Input Signal No.1 turns ON within ; 1 second, R99 = 0. ; If the External Input Signal No.1 does not turn ; ON within one second, R99 = 1. 002 TMS -5,200 ; Holds program execution for up to 2 seconds until the ; External Input Signal No. 5 turns OFF. ; If the External Input Signal No.5 turns OFF ; within 2 seconds, R99 = 0. ; If the External Input Signal No.2 does not turn ON ; within 2 seconds, R99 = 25. 003 IF R99 != 0 004 CALL PRG02 ; Errored program execution 005 MVE P001 ; Absolute movement to P001. 006 STOP ; Stops program execution. 10-40 41 Chapter 10 PWR Grammar Function Example PWR ON PWR OFF Turns ON or OFF the servo power. 000 PWR ON ; Turns the servo power ON. 001 L00: ; Sets the label. 002 MVE P010 ; Moves to P010. 003 JB ; Jumps to L00 when the External Input Signal No.1 -1,L00 ; is OFF. 004 PWR OFF ; Turns the servo power OFF. 005 STOP ; Stops program execution. 10-41 42 Chapter 10 SMV (SM) Grammar Function SM [LOC #],[AXIS #],[EXTERNAL OUTPUT SIGNAL #] SM xx,xx,xx [Rxx,Rxx,Rxx] Turns on the designated output signal when the designated axis reaches the designated location. The input range of the location number is P000~P999. That of the axis number is 1 ∼ 2 for the 2-axis controller, 1 ∼ 3 for the 3-axis controller, and 1 ~ 4 for the 4-axis controller, and that of the external output signal is 1 ∼ 24. Example 000 SET R00,20 001 SET R01,1 002 SET R02,2 003 SET R03,10 004 SET R04,11 005 L00: 006 SM ; P020 : X=55.00, Y=100.00 ; Defines the label. 00,01,03 ; Sets to turn ON the External Output Signal No.10 ; when the Axis-1 passes through the X-axis location ; (55.00mm) of P020. 007 SM 00,02,04 ; Sets to turn ON the External Output Signal No.11 ; when the Axis-2 passes through the Y-axis location ; (100.00mm) of P020.. 008 MVS P000 ; P000 : X=0.0, Y=0.0 009 MVS P001 ; P001 : X=250.00, Y=300.00 ; The External Output Signal No.10 turns ON when ; the X-axis goes through 55.00 mm while the robot ; moves to P001 and the External Output Signal No.11 ; turns ON when the Y-axis goes through 100.00mm ; while the robot moves to P001. 010 Notice GOT L00 ; Goes to L00. Once executed, the SM command is ignored. Therefore, in order to keep sending the output until the robot reaches the corresponding location, set the SM command value whenever the robot moves to the designated location, as shown in the above example. 10-42 43 Chapter 10 SAR (SA) Grammar Function SA ±[EXTERNAL OUTPUT SIGNAL],[PERCENT] SA XXXXh,### (External Output Signal ON) SA -XXXXh,### (External Output Signal OFF) Outputs the designated output signals set in the designated PERCENT (%) when the CIR or the ARC command is used. The input range of XXXX is 0 ~ FFFFh values., and that of the external output signal is 1~16. ### sets the percent within the range of 1~100%. Example 000 MVE P000 ; Moves to P000. (X=0.0,Y=0.0) 001 L00: ; Designates the label. 002 MVE P001 ; Moves to P001. 003 SA ; Turns on all of External Output Signals 1 ~ 8 at 75% 00FFh,75 ; location of the distance of 720 arc movement to ; be executed in Line 004. 004 AR P100,720 ; Decides the radius using the location data of the ; X-axis and the Y-axis of P100, and performs the arc ; movement by 720 . 005 SIGO AOFF ; Turns all external output signals OFF. 006 GOT L00 ; Runs with going to L00. = 원호동작 시작점. P001 P001 = Start Point of Arc Movement P100 = 원의 중심. P100 = Center of the Circle ◎ Direction 회전방향 of Rotation ● P100 P001 Turns720。이동의 on all of 75%지점 External즉 Output Signals 540。위치에서 1 ~ 8까지를of모두 시킴. 1 ~ 외부출력신호 8 at 75% location theON720° movement, namely, 540° location. ● ● P000 Notice Once executed, the SA command is ignored. Therefore, in order to keep sending the output until the robot reaches the corresponding location, set the SA command value whenever the robot moves to the designated location, as shown in the above example. 10-43 44 Chapter 10 RUN (RUN) Grammar RUN [ Program No.] RUN Function [Task No.] PRGxx x Executes the parallel process program. *Task input range is from 1 Example to 4. < Content of Program No. 0 > 000 SET R01,0 ; Resets the register R01. 001 SET R02,0 ; Resets the register R02. 002 RUN PRG10, 1 ; Shifts the Program No.10 to Task # 1 003 L00: ; Designates the label. 004 MVE P000 ; Moves to P000. 005 SET ; Sets the register R01 to ‘1’. 006 MVE P001 ; Moves to P001. 007 SET ; Sets the register R02 to ‘1’. 008 GOT L00 ; Goes to the label L00. 009 STOP ; Stops program execution. R01,1 R02,1 < Content of the Program No. 10 > 000 L00: 001 IF ; Designates the label. R01 == 1 ; Check if the movement to P000 is completed. 002 GOT L10 ; YES 003 R02 == 1 ; Check if the movement to P001 is completed. L20 ; YES IF 004 GOT 005 GOT L00 006 L10: 007 SET 008 SIGB 1 ; Turns the External Output Signal No. 1 ON. 009 SIGB -2 ; Turns the External Output Signal No. 2 OFF. 010 GOT L00 ; Goes to the label L00. 010 L20: ; The movement to P001 is completed. 011 SET ; The movement to P000 is completed. R01,0 R02,0 ; Resets the register R01. ; Resets the register R02. 012 SIGB 2 ; Turns the External Output Signal No. 2 ON. 013 SIGB -1 ; Turns the External Output Signal No. 1 OFF. 014 GOT L00 ; Goes to the label L00. 10-44 45 Chapter 10 RUN (RUN) <프로그램#10> #10> <Program Run Program 프로그램 10번#10 기동 <프로그램#0> #0> <Program 000 001 002 003 004 005 006 007 008 009 SET SET RUN L00: MVE SET MVE SET GOT STOP R01,0 R02,0 PRG10,1 P000 R01,1 P001 R02,1 L00 CYCLE RUN 프로그램 10번 #10 정지 Stops Program 000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 L00: IF GOT IF GOT GOT L10: SET SIGB SIGB GOT L20: SET SIGB SIGB GOT R01 == 1 L10 R02 == 1 L20 L00 R01,0 1 -2 L00 R02,0 2 -1 L00 X P000 External Output #1 ON 외부출력신호 1번Signal ON External Output 외부출력신호 2번Signal OFF #2 OFF P001 External Output 외부출력신호 1번Signal OFF #1 OFF External Output #2 ON 외부출력신호 2번Signal ON Y CAUTION ; 1. Do not excute self-Run 2. Enable to excute parallel program no.of 4 3. the following commands MA.MC.CR.SPL.PM.PS which are relate Arch motion,Linear motion,Circular motion, are not able to execute parallel process on parallel program. 10-45 46 Chapter 10 10-5. Details of Parameter Commands ACC Grammar Function ACC [AXIS#],[VARIABLE VALUE] ACC #,xxx Resets the acceleration section of the designated axis. The range of axis number input is 1∼2 for the 2-axis controller, 1∼3 for the 3- axis controller and 1 ~ 4 for the 4-axis controller. The range of variable values is 0 ∼ 200, and the unit is 10msec. Example 000 MVE P010 ; Moves to P010. ACC=20 is set. 001 ACC 1,30 ; Resets the acceleration section of Axis 1 to 30. 002 ACC 2,50 ; Resets the acceleration section of Axis 2 to 50. 003 MVE P011 ; Moves to P011. 004 STOP ; Stops program execution. ; The ACC of Axes 1 and 2 is restored to 20. Notice As the ACC data is related to the system performance, pay special care when resetting the ACC data. If the ACC is set to 0, the STEP speed waveform is output and thus the system might be damaged. Thus, it is recommended to set the ACC data as 10 or more. Reference To make the start operation smooth at the time of system run, set the ACC data as large. The ACC data re-set in the program is applicable only to the corresponding program, and restored to the original ACC parameter value when the program execution stops. 10-46 47 Chapter 10 DCC Grammar Function DCC [AXIS #],[VARIABLE VALUE] DCC #,xxx Resets the deceleration section of the designated axis. The range of axis number input is 1∼2 for the 2-axis controller, 1∼3 for the 3- axis controller and 1 ~ 4 for the 4-axis controller. The range of variable values is 0 ∼ 200, and the unit is 10msec. Example 000 MVE P010 ; Moves to P010. DCC=20 is set. 001 DCC 1,30 ; Resets the deceleration section of Axis 1 to 30. 002 DCC 2,50 ; Resets the deceleration section of Axis 2 to 50. 003 MVE P011 ; Moves to P011. 004 STOP ; Stops program execution ; The DCC of Axes 1 and 2 are restored to 20. Notice As the DCC data is related to the system performance, pay special care when resetting the DCC data. If the DCC is set to 0, the STEP speed waveform is output and thus the system might be damaged. Thus, it is recommended to set the DCC data as 10 or more. Reference To make the stop operation smooth at the time of system run, set the DCC data as large. The DCC data re-set in the program is applicable only to the corresponding program, and restored to the original DCC parameter value when the program execution stops. 10-47 48 Chapter 10 SPD Grammar Function SPD [AXIS NUMBER][VARIABLE VALUE, REGISTER VARIABLE] SPD x , xxx SPD x, Rxx SPD x, *xx Re-sets the movement speed. The input range of axis number is 1 ∼ 2 for 2 axis module, and 1 ∼ 3 for 3 axis module, 1 ∼4 for 4 axis module. The range of variable values is 1 ∼ 100, unit is the percent (%) with the VEL setting in the axis S/W parameter as 100%. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "SPD *10" => "SPD R05" Example 000 TSPD 50 001 MVE P010 ; Moves to P010. ; SPD=50 and DCC=20 are set. 002 DCC 1,30 ; Resets the deceleration section of Axis 1 to 30. 003 SPD ; Resets the movement speed of Axis 1 to 100%. 004 MVE P011 ; Moves to P 011. 005 STOP ; Stops program execution. 1,100 ; SPD=50 and DCC=20 are restored. Reference The SPD data re-set in the program is applicable only to the corresponding program, and restored to the original MSPD parameter value after the program execution stops. The Speed which is set by SPD command is not able to linear motion,circular motion, Spline motion, Pallet motion. 10-48 MA.MC.CR.MVL.SPL.PM 49 Chapter 10 TSPD Grammar Function TSPD [AXIS NUMBER][VARIABLE VALUE, REGISTER VARIABLE] TSPD x , xxx TSPD x, Rxx TSPD x, *xx Re-sets the movement speed. The range of variable values is 1 ∼ 100, unit is the percent (%) with the VEL setting in the axis S/W parameter as 100%. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "TSPD Example 000 TSPD 001 *10" => "TSPD R05" 50 MVE P010 ; Set all axis movement speed to 50% ; Moves to P 010. ; SPD=50 and DCC=20 are set. 002 DCC 1,30 ; Resets the deceleration section of Axis 1 to 30. 003 SPD ; Resets the movement speed of Axis 1 to 100%. 004 MVE P011 ; Moves to P 011. 005 STOP ; Stops program execution. 1,100 ; SPD=50 and DCC=20 are restored. Reference The TSPD data re-set in the program is applicable only to the corresponding program, and restored to the original MSPD parameter value after the program execution stops. The Speed which is set by SPD command is not able to linear motion,circular motion, Spline motion, Pallet motion. 10-49 MA.MC.CR.MVL.SPL.PM 50 Chapter 10 INP Grammar Function INP [VARIABLE VALUE] INP xxxxxx Re-set the in-position value, within the range of 0 ∼ 900000. The variable value is applied to all axes, and the unit is pulse (step). Example 000 MVE P010 ; Moves to P010. INP=100 is set. 001 INP 20 ; Re-set the in-position value to 20 pulse. 002 SPD 100 ; Re-set the movement speed to 100%. 003 MVE P011 ; Moves to P011. 004 STOP ; Stops program execution. ; INP=100 is restored. Reference The INP data re-set in the program is applicable only to the corresponding program, and restored to the original INP parameter value when the program execution stops. 10-50 51 Chapter 10 READ Grammar Function READ P### [LOCATION] READ S## [SHIFT LOCATION] Reads the location data and the shift location data of the PC to the controller, through RS232 serial communication, while the program is running. Example 000 L00: ; Sets L00P. 001 MVE P001 ; Moves to P001. 002 MVE P002 ; Moves to P002. 003 READ P001 ; Reads the location data of P001 from the PC. 004 READ P002 ; Reads the location data of P002 from the PC. 005 JMP ; Jumps to the label L00. The location data of P001 L00,2 ; and P002 are changed with the location data ; received from the PC. 006 Reference STOP ; Stops program execution. Inter face RS-232C Serial Speed 9600 baud Mode Half Duplex Synchronization Asynchronization Transmission Code 8 Data Bits, 1 Stop Bit, No Parity [ Requirements for Communication System ] 10-51 52 Chapter 10 Reference Communication Protocol MAC PC ENQ ACK TOKEN ECHO TOKEN Location Data Number (Low Byte) Location Data Number (High Byte) STX SYN Data Transfer (Location Data) CHKSUM 1 byte (Complement of 2) ETX EOT (Normal) DLE (Checksum Error) ◇ Location Data The location data should be “the LONG-type location data (4 bytes)”. It should be transferred as much as (4 bytes × 2) for the 2-axis controller, (4 bytes × 3) for the 3-axis controller and (4 bytes × 4) for the 4-axis controller. The decimal point data should be stored as the LONG variable by "Location Data × 100". Even for the 2-axis controller, the 3-axis location data should be made with the Z-axis location data as 0 (zero). <Example> AX1 = 300.67 AX3 = 0.00 => 30067, => 0 AX2 = 111.45 => 11145 ◇ Checksum The checksum value should be transferred in the form of a complement of 2 by performing ADD checksum for the data with 1 byte. ◇ Order of Data Reception of LONG Variable Of 4 byte data of the LONG variable, the low byte is received first. The order of reception is listed below. Byte High byte Middle byte #1 Middle byte #2 Low byte Order of Reception 4 3 2 1 ◇ Token Transmission Value LOCATION RED 4 SHIFT LOCATION RED 6 10-52 53 Chapter 10 WRITE Grammar Function WRITE Pxxx [LOCATION] WRITE APOS [CURRENT LOCATION] WRITE IN [I/O INPUT 32 POINTS] WRITE OUT [I/O OUTPUT 32 POINTS] Writes the location, current location, and I/O status on the PC, through RS232C serial communication, when the program is running. Example 000 L00: ; Sets L00P. 001 MVE P001 ; Moves to P001. 002 MVE P002 ; Moves to P002. 003 WRITE P001 ; Writes the location data of P001 on the PC. 004 WRITE P002 ; Writes the location data of P002 on the PC. 004 WRITE IN ; Writes the current status of 32 I/O input points on ; the PC. 005 JMP L00,2 006 STOP ; Jumps to the label L00. ; Stops program execution. Reference Inter face RS-232C Serial Speed 9600 baud Mode Half Duplex Synchronization Asynchronization Transmission Code 8 Data Bits, 1 Stop Bit, No Parity [ Requirements for Communication System] 10-53 54 Chapter 10 Reference Communication Protocol MAC PC ENQ ACK TOKEN ECHO TOKEN Location Data Number (Low Byte) Location Data Number (High Byte) Only 4 bytes are used for transferring the I/O input and output data. STX SYN Data Transfer (Location Data, I/O) CHSUM 1 byte ETX EOT (Normal) DLE (Checksum Error) ◇ Transfer of Location Data and Current Location Data The location data should be “the LONG-type location data (4 bytes)”. It should be transferred as much as (4 bytes × 2) for the 2-axis controller, (4 bytes × 3) for the 3-axis controller and (4 bytes × 4) for the 4-axis controller. The decimal point data should be stored as the LONG variable by "Location Data × 100". Even for the 2-axis controller, the 3-axis location data should be made with the Z-axis location data as 0 (zero). <Example> AX1 = 300.67 AX3 = 0.00 => 30067, => 0 AX2 = 111.45 => 11145 ◇ Checksum The checksum value should be transferred in the form of a complement of 2 by performing ADD checksum for the data with 1 byte. ◇ Order of Data Transmission of LONG Variable Of 4 byte data of the LONG variable, the low byte is transmitted first. The order of transmission is listed below. Byte Transmission Order High byte 4 Middle byte #1 3 ◇ Token Transmission Value Location Write APCS (Current Location IN (I/O Input 32 Points) OUT (I/O Output 32 Points) 3 17 18 19 10-54 Middle byte #2 2 Low byte 1 55 Chapter 10 10-6. Details of Function Commands ADD Grammar Function ADD [STORAGE VARIABLE], [OPERATION VALUE] ADD Rxx,Rxx ADD Rxx,xxxh ADD Rxx,*xx ADD Rxx,Fxx ADD *xx,Rxx ADD *xx,xxxh ADD *xx,*xx ADD *xx,Fxx ADD Rxx,xxxx ADD *xx,xxxx Executes the ADD operation, in the following manner: [Storage Variable] = [Content of Storage Variable] + [Operation Value]. The [Storage Value] must be a register variable (R00 ∼ R99). For the [Operation Value], a register variable or a hexadecimal or decimal value can be used directly. The range of the [Operation Value] is 0 ∼ 4095 (000h ∼ FFFh). *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "ADD Example Reference *10, 3" => "ADD R05, 3" 000 SET R00,0 ; Resets the register R00 variable. 001 MVE P010 ; Moves to P010. 002 ADD R00,5 ; R00 = R00 + 5. 003 MVE P(R00) ; Moves to P005. 004 STOP ; Stops program execution. Input Range of Constants => 0 ~ 4095 (000h ∼ FFFh) Input Range of Rxx => R00 ~ R99 Input Range of Fxx => F00 ~ F15 10-55 56 Chapter 10 SUB Grammar Function SUB [STORAGE VARIABLE],[OPERATION VALUE] SUB Rxx,Rxx SUB Rxx,xxxh SUB Rxx,*xx SUB Rxx,Fxx SUB *xx,Rxx SUB *xx,xxxh SUB *xx,*xx SUB *xx,Fxx SUB Rxx,xxxx SUB *xx,xxxx Executes the SUBTRACT operation, in the following manner: [Storage Variable] = [Content of Storage Variable] - [Operation Value]. The [Storage Value] must be a register variable (R00 ∼ R99). For the [Operation Value], a register variable or a hexadecimal or decimal value can be used directly. The range of the [Operation Value] is 0 ∼ 4095 (000h ∼ FFFh). *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "SUB *10, 3" => "SUB R05, 3" Example Reference 000 SET R00,10 001 MVE P010 ; Moves to P010. 002 SUB ; R00 = R00 - 5. 003 MVE P(R00) ; Moves to P005. 004 STOP ; Stops program execution. R00,5 ; Resets the register R00 value to 10. Input Range of Constant Values => 0 ~ 4095 (000h ∼ FFFh) Input Range of Rxx => R00 ~ R99 Input Range of Fxx => F00 ~ F15 10-56 57 Chapter 10 OR Grammar Function OR [STORAGE VARIABLE],[LOGICAL OPERATION VALUE] OR Rxx,Rxx OR Rxx,xxxh OR Rxx,*xx OR Rxx,Fxx OR *xx,Rxx OR *xx,xxxh OR *xx,*xx OR *xx,Fxx OR Rxx,xxxx OR *xx,xxxx Executes the BIT OR operation, a logical operation, in the following manner: [Storage Variable] = [Content of Storage Variable] | [Operation Value]. The [Storage Value] must be a register variable (R00 ∼ R99). For the [Operation Value], a register variable or a hexadecimal or decimal value can be used directly. The range of the [Operation Value] is 0 ∼ 4095 (000h ∼ FFFh). *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. Example Reference "OR *10, 3h" => "OR R05, 3h" 000 SET R00,0 001 MVE P010 ; Moves to P010. 002 OR ; R00 = R00 | 06h. 003 SIGO 1,R00 ; Turns the External Output No.2 and 3 ON. 004 STOP ; Stops program execution. R00,06h ; Resets the register R00 variable. Input Range of Constant Values => 0 ~ 4095 (000h ∼ FFFh) Input Range of Rxx => R00 ~ R99 Input Range of Fxx => F00 ~ F15 10-57 58 Chapter 10 AND Grammar Function AND [STORAGE VARIABLE],[LOGICAL OPERATION VALUE] AND Rxx,Rxx AND Rxx,xxxh AND Rxx,*xx AND Rxx,Fxx AND *xx,Rxx AND *xx,xxxh AND *xx,*xx AND *xx,Fxx AND Rxx,xxxx AND *xx,xxxx Executes the BIT AND operation, a logical operation, in the following manner: [Storage Variable] = [Content of Storage Variable] & [Operation Value]. The [Storage Value] must be a register variable (R00 ∼ R99). For the [Operation Value], a register variable or a hexadecimal or decimal value can be used directly. The range of the [Operation Value] is 0 ∼ 4095 (000h ∼ FFFh). *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "AND Example Reference *10, 3h" => "AND R05, 3h" 000 SET R00,FFh ; Resets the register R00 variable to 255. 001 MVE P010 ; Moves to P010. 002 AND R00,06h ; R00 = R00 & 06h. 003 SIGO 1,R00 ; Turns the External Output No. 2 and 3 ON. 004 STOP ; Stops program execution. Input Range of Constant Values => 0 ~ 4095 (000h ∼ FFFh) Input Range of Rxx => R00 ~ R99 Input Range of Fxx => F00 ~ F15 10-58 59 Chapter 10 INC Grammar Function INC [REGISTER VARIABLE] INC Rxx INC *xx Increases the [Register Variable] by 1, in the following manner. Rxx = the Content of Rxx + 1, *xx = the Content of R (Rxx) + 1. The maximum value that can be increased with the INC command is 4095 (FFFh). *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "INC *10" => "INC R05" Example Reference 000 SET R01,0 001 L00: ; Sets the label. 002 MVE P(R01) ; Moves from P000 to P009 in sequential order. 003 INC R01 ; R01 = R01 + 1. 004 JMP L00,10 ; Jumps to the label L00 ten times repeatedly. 005 STOP Input Range of Rxx ; Resets the register R01 variable. ; Stops program execution. => R00 ~ R99 In order to increase the register value beyond the maximum value 4095 (FFFh) that can be increased by the INC command, use the ADD command. 10-59 60 Chapter 10 DEC Grammar Function DEC [REGISTER VARIABLE] DEC Rxx DEC *xx Decreases the [Register Variable] by 1, in the following manner. Rxx = the Content of Rxx - 1, *xx = the Content of R (Rxx) - 1. The minimum value that can be decreased to with the DEC command is 0. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "DEC *10" => "DEC R05" Example Reference 000 SET R01,10 001 L00: ; Sets the label. 002 MVE P(R01) ; Moves from P010 to P001 in sequential order. 003 DEC R01 ; R01 = R01 - 1. 004 JMP ; Jumps to the label L00 ten times repeatedly. 005 STOP L00,10 Input Range of Rxx ; Resets the register R01 variable to 10. ; Stops program execution. => 10-60 R00 ~ R99 61 Chapter 10 MUL Grammar Function MUL [STORAGE VARIABLE],[OPERATION VALUE] MUL Rxx,Rxx MUL Rxx,xxxh MUL Rxx,*xx MUL Rxx,Fxx MUL *xx,Rxx MUL *xx,xxxh MUL *xx,*xx MUL *xx,Fxx MUL Rxx,xxxx MUL *xx,xxxx Executes the Multiply operation, in the following manner: [Storage Variable] = [Content of Storage Variable] x [Operation Value]. The [Storage Value] must be a register variable (R00 ∼ R99). For the [Operation Value], a register variable or a hexadecimal or decimal value can be used directly. The range of the [Operation Value] is 0 ∼ 4095 (000h ∼ FFFh). *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "MUL *10, 5" => Example Reference R00,10 "MUL R05, 5" 000 SET ; Resets the register R00 variable to 10. 001 MVE P010 ; Moves to P010. 002 MUL R00,2 ; R00 = R00 × 2. 003 MVE P(R00) ; Moves to P020. 002 MUL R00,2 ; R00 = R00 × 2. 003 MVE P(R00) ; Moves to P040. 004 STOP ; Stops program execution. Input Range of Constant Values => 0 ~ 4095 (000h ∼ FFFh) Input Range of Rxx => R00 ~ R99 Input Range of Fxx => F00 ~ F15 10-61 62 Chapter 10 ADF Grammar Function ADF [REAL-TYPE STORAGE VARIABLE],[OPERATION VALUE] ADF Fxx,Fxx ADF Fxx,*xx ADF Fxx,Rxx ADF *xx,Fxx ADF *xx,*xx ADF *xx,Rxx Executes the Real-type Add Operation, in the following manner. [Real-type Storage Variable] = [Content of Real-type Storage Variable] + [Operation Value]. The [Real-type Storage Variable] must be the real-type register variable (F00 ∼ F15). For the [Operation Value], a register variable or a real-type register variable can be used. *xx refers to F (Rxx), which means the real-type register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "ADF *10, F03"=> "ADF Example F05, F03" 000 SET R20,50 ; Sets the register R20 variable to 50. 001 F00 25.56 ; Resets the real-type register F00 variable to 25.56. 002 F01 0.00 ; Resets the real-type register F01 variable to 0.00. 003 L00: 004 LAP ; Sets the label. F01,1,20 ; Resets the location data of Axis 1 of P050 to the real; type register F01 value. Reference 005 MVE P(R20) ; Moves to P050. 006 ADF F01,F00 ; F01 = F01 + F00. 007 JMP L00,10 ; Jumps to the label L00 ten times repeatedly. 008 STOP ; Stops program execution. Input Range of Real Numbers => -2200.00 ~ +2200.00 Input Range of Rxx => R00 ~ R99 Input Range of Fxx => F00 ~ F15 10-62 63 Chapter 10 SUF Grammar Function SUF [REAL-TYPE STORAGE VARIABLE],[OPERATION VALUE] SUF Fxx,Fxx SUF Fxx,*xx SUF Fxx,Rxx SUF *xx,Fxx SUF *xx,*xx SUF *xx,Rxx Executes the Real-type Subtract Operation, in the following manner. [Real-type Storage Variable] = [Content of Real-type Storage Variable] [Operation Value]. The [Real-type Storage Variable] must be the real-type register variable (F00 ∼ F15). For the [Operation Value], a register variable or a real-type register variable can be used. *xx refers to F (Rxx), which means the real-type register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "SUF *10, F1"=> "SUF F05, F1" Example 000 SET R20,50 ; Sets the register R20 variable to 50. 001 F00 25.56 ; Resets the real-type register F00 variable to 25.56. 002 F01 300.00 ; Resets the real-type register F01 variable to 300.00. 003 L00: 004 LAP ; Sets the label. F01,1,20 ; Resets the location data of Axis 2 of P050 to the real; type register F01 value. Reference 005 MVE P(R20) ; Moves to P050. 006 SUF F01,F00 ; F01 = F01 - F00. 007 JMP L00,10 ; Jumps to the label L00 ten times repeatedly. 008 STOP ; Stops program execution. Input Range of Real Numbers => -2200.00 ~ +2200.00 Input Range of Rxx => R00 ~ R99 Input Range of Fxx => F00 ~ F15 10-63 64 Chapter 10 MUF Grammar Function MUF [REAL-TYPE STORAGE VARIABLE],[OPERATION VALUE] MUF Fxx,Fxx MUF Fxx,*xx MUF Fxx,Rxx MUF *xx,Fxx MUF *xx,*xx MUF *xx,Rxx Executes the Real-type Multiply Operation, in the following manner. [Real-type Storage Variable] = [Content of Real-type Storage Variable] x [Operation Value]. The [Real-type Storage Variable] must be the real-type register variable (F00 ∼ F15). For the [Operation Value], a register variable or a real-type register variable can be used. *xx refers to F (Rxx), which means the real-type register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "MUF *10, F1"=> "MUF F05, F1" Example 000 SET R20,0 ; Sets the register R20 variable to 0. 001 SET R20,50 ; Sets the register R20 variable to 50. 002 F00 25.56 ; Resets the real-type register F00 variable to 25.56. 003 F01 0.00 ; Resets the real-type register F01 variable to 0.00. 004 L00: 005 LAP ; Sets the label. F01,2,20 ; Resets the location data of Axis 2 of P050 to the real; type register F01 value. Reference 006 MVE P(R20) ; Moves to P050. 007 INC 008 MUF F01,R00 ; F01 = F01 × R00. 009 JMP L00,10 ; Jumps to the label L00 ten times repeatedly. 010 STOP ; Stops program execution. R00 Input Range of Real Numbers => -2200.00 ~ +2200.00 Input Range of Rxx => R00 ~ R99 Input Range of Fxx => F00 ~ F15 10-64 65 Chapter 10 10-7. Details of Define Commands SET Grammar Function SET [REGISTER VARIABLE],[SET VALUE] SET Rxx,Rxx SET Rxx,xxxh SET Rxx,*xx SET Rxx,Fxx SET *xx,Rxx SET *xx,xxxh SET *xx,*xx SET *xx,Fxx SET Rxx,xxxx SET *xx,xxxx Sets [Register Variable] to [Set Value]. The [Register Variable] must be a value from R00 ∼ R99. For the [Set Value], a register variable or a hexadecimal or decimal value can be used directly. The range of the [Set Value] is 0 ∼ 4095 (000h ∼ FFFh). *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "SET *10, 3" => "SET R05, 3" Example Reference 000 SET R00,0 ; Re-sets the register R00 variable. 001 MVE P010 ; Moves to P010. 002 ADD R00,5 ; R00 = R00 + 5. 003 MVE P(R00) ; Moves to P005. 004 STOP ; Stops program execution. Input Range of Constant Values => 0 ~ 4095 (000h ∼ FFFh) Input Range of Rxx => R00 ~ R99 Input Range of Fxx => F00 ~ F15 10-65 66 Chapter 10 L Grammar Function L [LABEL #] L xx Designates the label number. The label sentence is used for jumping the program in the GOT, JMP or INT command. For the label number, a decimal value should be used within the range of 0 ∼ 50. Example Reference 000 SET R01,10 ; Sets the register R01 variable to 10. 001 L00: ; Sets the Label No.0. 002 MVE P(R01) ; Moves from P010 to P019 in sequential order. 003 INC R01 ; R01 = R01 + 1. 004 JMP L00,10 ; Jumps to the label L00 ten times repeatedly. 005 STOP ; Stops program execution. Do not repeat the label number in one program. If the same label number exist at the time of program editing, the label number set previously is ignored. 10-66 67 Chapter 10 INT Grammar Function INT [INT #],[LABEL,PROGRAM] INT #,Lxx INT #,PRGxx INT #,OFF Sets the user interrupt. Once set, the user interrupt is released when it is executed or turned off by force. In addition, if an interrupt occurs, the interrupt jumps to a label or program depending on the interrupt setting. The input range of [INT #] is 1∼3 (System Input 8∼10). The priority of the user interrupt is given in the order of 1 > 2 > 3. When an interrupt occurs, the user interrupt is released before the corresponding interrupt routine is executed, and the released status is kept until the user interrupt is reset. When the interrupt execution is completed and the interrupt is jumped during movement, re-execute the movement to move to the original goal position. Example 1. Program No.0 000 INT 1,PRG02 ; Sets the Interrupt No.1, and jumps to the Program ; No.2. ; If the robot is moving, the program stops and then ; jumps. 001 L00: ; Sets the label. 002 MVE P012 ; Moves to P012. 003 MVS P013 ; Moves to P013. 004 SFT S10 ; Shifts from the current location to S10. 005 GOT L00 2. Program 2 000 MVE P001 ; Moves to P001. 001 SIGB 10 ; Turns the External Output Signal No.10 ON. 002 RET ; Returns to Line 004 of the Program No.0. 10-67 68 Chapter 10 INT Reference The system I/O input number for each user interrupt is listed below, and if the input is set to OFF, no interrupt occurs even though an interrupt is set. User Interrupt No. System I/O Input No. INT 1 System I/O Input No. 8 INT 2 System I/O Input No. 9 INT 3 System I/O Input No. 10 10-68 69 Chapter 10 HERC Grammar HERC [LOCATION] HERC Function Pxxx HERC P(Rxx) HERC P(*xx) Saves the current command position of the system to the designated [LOCATION]. The input range of the [LOCATION] is P000~P999 *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "HERC Example 000 HERC P000 ; Saves the current command position to P000. 001 MVE P002 ; Moves to P002. 002 SFT S10 ; Shifts from the current location to S10. 003 HERC P003 ; Saves the current command position to P003. 004 MVE P000 ; Moves to P000 005 DLY 100 ; Delays program execution for 100msec. 006 MVE P003 ; Moves to P003. 007 STOP Reference P(*10)" => "HERC P(R05)" ; Stops program execution. With the HERC and the HERA commands, it is possible to know the POSItion error of each axis when the robot stops. For example, if you set the robot position in the program after moving as much as such commands as “HERC P001, HERA P002”, the command position is set to the P001 and the actual position to the P002. Thus, the value subtracting the P002 from the P001 (P001 - P002) is the position error. 10-69 70 Chapter 10 HEAR Grammar Function HERA [LOCATION] HERA Pxxx HERA P(Rxx) HERA P(*xx) Saves the actual position of the system to the designated [LOCATION]. The input range of the [LOCATION] is P000~P999. *xx refers to R (Rxx), which means the register indicated by the Rxx. For example, if R10 = 5, the following left and right commands are equal. "HERA Example P(*10)" => "HERA P(R05)" 000 HERA P000 ; Saves the actual position to P000. 001 MVE P002 ; Moves to P002. 002 SFT S10 ; Shifts from the current location to S10. 003 HERA P003 ; Saves the actualposition to P003. 004 MVE P000 ; Moves to P000 005 DLY 100 ; Delays program execution for 100msec. 006 MVE P003 ; Moves to P003. 007 STOP Reference With the HERC and the HERA commands, it is possible to know the position error of each axis when the robot stops. For example, if you set the robot position in the program after moving as much as such commands as “HERC P001, HERA P002”, the command position is set to the P001 and the actual position to the P002. Thus, the value subtracting the P002 from the P001 (P001 - P002) is the position error. 10-70 71 Chapter 10 CCLR Grammar Function CCLR [AXIS #] CCLR x Changes the coordinate value of the system to the value set in the axis S/W parameter (CR). Namely, the CCLR is the function to change the coordinate value in the coordinate system. For example, when the CR parameter value for Axis-1 and Axis-2 is 0, the execution of such commands as "CCLR 1" and "CCLR 2" re-set the zero point of the XY-coordinate system. Example 000 MVE P002 001 CCLR 1 ; Moves to P002. ; Changes the coordinate value of Axis-1 to the value set ; to the CR parameter. 002 MVE P002 ; Moves to P002 on the basis of the changed location ; value. Notice 003 DLY 100 ; Delays program execution for 100msec. 004 MVE P003 ; Moves to P003. 005 STOP The use of the CCLR command changes the absolute coordinate value of the system. Thus, when you move the system using the MOTION command, it is better to run the system after confirming the location data. 10-71 72 Chapter 10 LP Grammar Function LP [LOC1. #],[LOC2. #],[LOC3. #] LP xx,xx,xx [Rxx,Rxx,Rxx] Sets the value resulted from subtracting the location data value of LOC1 from that of LOC2, as the location data value of LOC3. Here, the Rxx is the register, which indicates the location number. For example, the command "LP 10,11,12" is interpreted as follows: * R10 = 100, R11 = 101 and R12 = 102, P100 => X = 50.00, Y = 30.00, and P101 => X = 150.00, Y = 230.00 are set, P102 => X = P101 - P100 = 150.00 - 50.00 = 100.00 Y = P101 - P100 = 230.00 - 30.00 = 200.00 Example 000 SET R50,11 ; Sets the register R50 value. 001 SET R51,12 ; Sets the register R51 value. 002 SET R52,13 ; Sets the register R52 value. 003 L00: 004 MF ; Defines the label. P011,5 ; Absolute movement to the P011 location until the ; External Input Signal No. 5 turns on. Notice 005 HERC P012 ; Saves the command position to the P012 location. 006 LP ; P013 = P011 - P012 007 MVE P013 ; Moves to P013. 008 JMP ; Jumps to the label L00. 51,50,52 L00,00 To use the LP command, the LOC1 and the LOC2 location data should be set in advance. ◆ Difference between the LP and the LS commands: LP => Creates the Location (Pxxx). LS => Creates the Shift Location (S00 ~ S99). 10-72 73 Chapter 10 LS Grammar Function LS [SFT1. #],[SFT2. #],[SFT3. #] LS xx,xx,xx [Rxx,Rxx,Rxx] Sets the value resulted from subtracting the shift location data value of SFT1 from that of SFT2, as the shift location data value of SFT3. Here, the Rxx is the register, which indicates the shift location number (0 ~ 99). For example, the command "LS 10,11,12" is interpreted as follows: * R10 = 10, R11 = 11 and R12 = 12, S10 => X = 50.00, Y = 30.00, and S11 => X = 150.00 and Y = 230.00 are set, S12 => X = S11 - S10 = 150.00 - 50.00 = 100.00 Y = S11 - S10 = 230.00 - 30.00 = 200.00 Example 000 SET R50,11 ; Sets the register R50 value. 001 SET R51,12 ; Sets the register R51 value. 002 SET R52,13 ; Sets the register R52 value. 003 L00: 004 SF ; Defines the label. S11,5 ; Relative movement to the S 11 location until the ; External Input Signal No. 5 turns ON. Notice 006 SP 51,50,52 ; S13 = S11 – S12 007 SFT S 13 ; Relative Moves to S13. 008 JMP L00,00 ; Jumps to the label L00. To use the LS command, the SFT1 and the SFT2 shift location data should be set in advance. ◆ Difference between the LP and the LS commands: LS => Creates the Shift Location (S00 ~ S99). LP => Creates the Location (Pxxx). 10-73 74 Chapter 10 FREG (F) Grammar F[FREG. #] ±xxxx.xx F0 Function 123.45 Set [Real-type Register Variable] to [Set Value]. The real-type register variable should be a value from F00 ∼ F15. For the [Set Value], it is possible to a real number or an integer value directly, within the range of ±0.00 ∼ 2200.00. The real-type register variable is used for the LAS and the LAP commands. Example 000 SET R10,10 ; Sets the register R10 value. 001 SET R00,50 ; Sets the register R00 value. 002 SET R01,51 ; Sets the register R01 value. 003 SET R02,52 ; Sets the register R02 value. 004 SET R03,53 ; Sets the register R03 value. 005 F00 0.00 ; Sets the real-type register F00 value. 006 LAS F0,2,00 ; Sets the shift location value of S50(Y) = F00, Axis 2. 007 F01 200.00 ; Sets the real-type register F01 value. 008 LAS F1,2,01 ; Sets the shift location value of S51(Y) = F01, Axis 2. 009 F02 20.00 ; Sets the real-type register F02 value. 010 LAS F2,2,02 ; Sets the shift location value of S52(Y) = F02, Axis 2. 011 L00: 012 LS 02,01,01 ; Sets S51 = S51 - S52, + Shift Value. 013 LS 01,00,03 ; Sets S53 = S50 - S51, - Shift Value. 014 SFT S(R01) ; Moves to the S51 shift location. 015 SFT S(R03) ; Moves to the S53 shift location. 016 JMP L00,10 ; Jumps to the label L00 ten times repeatedly. 017 STOP ; Defines the label. 10-74 75 Chapter 10 LAP Grammar Function LAP [FREG.#],[AXIS #],[REGISTER #] LAP Fxx,x,xx Creates the absolute location (Pxxx), with the real-type register (F00 ~ F15) value as the location data of the designated axis. Here, the Rxx is the register, which indicates the shift location number. For example, the command "LAP F00,1,20" is interpreted as follows: * R20 = 20, F00 = 321.45 and P020 => X = 50.00, Y = 30.00 are set, The location value of Axis 1 is changed to P020 => X = 321.45, Y = 30.00. Example 000 SET R10,10 ; Sets the register R10 value. 001 SET R00,50 ; Sets the register R00 value. 002 SET R01,51 ; Sets the register R01 value. 003 SET R02,52 ; Sets the register R02 value. 004 SET R03,53 ; Sets the register R03 value. 005 F00 0.00 ; Sets the real-type register F00 value. 006 LAP F00,2,00 ; Sets the location value of P050(Y) = F00, Axis 2. 007 F01 200.00 ; Sets the real-type register F01 value. 008 LAP F01,2,01 ; Sets the location value of P051(Y) = F01, Axis 2. 009 F02 20.00 ; Sets the real-type register F02 value. 010 LAP F02,2,02 ; Sets the location value of P052(Y) = F02, Axis 2. 011 L00: 012 LP ; Defines the label. 02,01,01 ; Sets P51 = P51 - P52, + Coordinate Movement ; Value. 013 LP 01,00,03 ; Sets P53 = P50 - P51, - Coordinate Movement ; Value. Notice 014 MVS P(R01) ; Moves to the P051 location. 015 MVS P(R03) ; Moves to the P053 location. 016 JMP 017 STOP L00,10 ; Jumps to the label L00 ten times repeatedly. ◆ Difference between the LAS and the LAP Commands LAS => Changes the location data value of Shift Location (S00 ~ S99). LAP => Changes the location data value of Absolute Location (Pxxx). 10-75 76 Chapter 10 LAS Grammar Function LAS [FREG.#],[AXIS #],[REGISTER #] LAS Fxx,x,xx Creates the shift location (S00 ~ S99), with the real-type register (F00 ~ F15) value as the location data of the designated axis. Here, the Rxx is the register, which indicates the shift location number (S00 ~ S99). For example, the command "LAS F00,1,20" is interpreted as follows: * R20 = 20, F00 = 145.11 and S020 => X = 50.00, Y = 0.00 are set, The location value of Axis 1 is changed to S20 => X = 145.11, Y = 0.00. Example 000 SET R10,10 ; Sets the register R10 value. 001 SET R00,50 ; Sets the register R00 value. 002 SET R01,51 ; Sets the register R01 value. 003 SET R02,52 ; Sets the register R02 value. 004 SET R03,53 ; Sets the register R03 value. 005 F00 0.00 ; Sets the real-type register F00 value. 006 LAS F00,2,00 ; Sets the location value of S50(Y) = F00, Axis 2. 007 F1 200.00 ; Sets the real-type register F01 value. 008 LAS F01,2,01 ; Sets the location value of S51(Y) = F01, Axis 2. 009 F2 20.00 ; Sets the real-type register F02 value. 010 LAS F02,2,02 ; Sets the location value of S52(Y) = F02, Axis 2. 011 L00: 012 LS ; Defines the label. 02,01,01 ; Sets S51 = S51 - S52, + Coordinate Movement ; Value. 013 LS 01,00,03 ; Sets S53 = S50 - S51, - Coordinate Movement ; Value. Notice 014 SFT S(R01) ; Moves to the S51 shift location. 015 SFT S(R03) ; Moves to the S53 shift location. 016 JMP L00,10 ; Jumps to the label L00 ten times repeatedly. 017 STOP ◆ Difference between the LAS and the LAP Commands LAS => Changes the location data value of Shift Location (S00 ~ S99). LAP => Changes the location data value of Absolute Location (Pxxx). 10-76 77 Chapter 10 OFF (OF) Grammar OF[AXIS #] ±xxxx.xx 0F# Function 123.45 This command is used to set the coordinate offset value of each axis. For the [Set Value], it is possible to use a real number or an integer number value directly, within the range of ±0.00 ∼ 2200.00. Example 000 MVE P001 ; Moves to P001. ; OF1=0.00, OF2=0.00 001 SFT S10 ; Shifts to the S10 location. 002 SFT S50 ; Shifts to the S50 location. 003 SFT S51 ; Shifts to the S51 location. 004 SFT S52 ; Shifts to the S52 location. 005 SFT S53 ; Shifts to the S53 location. 006 OF1 20.10 ; Sets the offset value of Axis 1. 007 OF2 10.00 ; Sets the offset value of Axis 2. 008 MVE P001 ; Moves to P001+OFFSET location ; OF1=20.00, OF2=10.00 Notice 009 SFT S10 ; Shifts to the S10 location. 010 SFT S50 ; Shifts to the S50 location. 011 SFT S51 ; Shifts to the S51 location. 012 SFT S52 ; Shifts to the S52 location. 013 SFT S53 ; Shifts to the S53 location. 014 STOP ; Restored to OF1=0.00, OF2=0.00. The offset value set in the program is applicable only to the corresponding program and, when the program ends, it is restored the value designated by the axis S/W parameter OFF. 10-77 78 Chapter 10 LEP Grammar Function LEP [FREG.No. #], [AXIS No. #],[REGISTER No. #] LEP Fxx,x,xx Saves the designated axis location data to the real-type register (F00 ~ F15) Rxx is the register, which indicates the location number. For example, the command “LEP F00, 1,20” is interpreted as follows: * R20 = 20, F00 = 0.00 and P020 =>X = 50.00, Y=30.00 are set The register value F00 is changed from 0.00 to 50.00 Example Notice 000 SET R10,10 ; Sets the Register R10 value. 001 SET R00,50 ; Sets the Register R00 value. 002 SET R01,51 ; Sets the Register R01 value . 003 SET R02,52 ; Sets the Register R02 value. 004 SET R03,53 ; Sets the Register R03 value. 005 F00 10.00 ; Sets the Real-Type Register F00 value 006 LEP F00,2,00 ; Reads the locatopn value of Axis2 P050(Y)=>F00. 007 LEP F01,2,01 ; Reads the location value of Axis 2 P051(Y)=>F01 008 ADF F00,F02 ; F00=F00+F02 009 ADF F01,F02 ; F01=F01+F02 010 LAP F00,2,01 ; Sets the location value of Axis 2 P051(Y) <=F00 011 LAP F01,2,02 ; Sets the location value of Axis 2 P052(Y) <=F01 012 MVS P(R01) ; Moves to the position P 051 013 MVS P(R03) ; Moves to the position P 053 014 STOP ; ◆ Difference between the LES and the LEP Commands LES => Read the location data value of Shift Location (S00 ~ S99). LEP => Reads the location data value of Absolute Location (Pxxx). 10-78 79 Chapter 10 LES Grammar Function LES [FREG.No. #], [AXIS No. #],[REGISTER No. #] LES Fxx,x,xx Saves the relative location data of designated Axis to the real-type register (F00 ~ F15). Rxx is the register, which indicates the location number. For example, the command “LES F00, 1,20” is interpreted as follows: * R20 = 20, F00 = 0.00 and S020 =>X = 12.00, Y=0.00 are set The register value F00 is changed from 0.00 to 12.00 Example Notice 000 SET R10,10 ; Sets the Register R10 value. 001 SET R00,50 ; Sets the Register R00 value. 002 SET R01,51 ; Sets the Register R01 value . 003 SET R02,52 ; Sets the Register R02 value. 004 SET R03,53 ; Sets the Register R03 value. 005 F02 10.00 ; Sets the Real-Type Register F00 value 006 LES F00,2,00 ; Reads the locatopn value of Axis2 S050(Y)=>F00. 007 LES F01,2,01 ; Reads the location value of Axis 2 S051(Y)=>F01 008 ADF F00,F02 ; F00=F00+F02 009 ADF F01,F02 ; F01=F01+F02 010 LAS F00,2,01 ; Sets the location value of Axis 2 S051(Y) <=F00 011 LAS F01,2,02 ; Sets the location value of Axis 2 S052(Y) <=F01 012 SFT S(R01) ; Moves to the position S 051 013 SFT S(R03) ; Moves to the position S 053 014 STOP ; ◆ Difference between the LES and the LEP Commands LES => Read the location data value of Shift Location (S00 ~ S99). LEP => Reads the location data value of Absolute Location (Pxxx). 10-79 80 Chapter 10 10-8. Program Examples [Example 1] Simple Location Movement P000 P001 P002 <Program> 000 L00: ; Defines the label. 001 MVE P000 ; Moves to P000. 002 MVE P001 ; Moves to P001. 003 MVE P002 ; Moves to P002. 004 GOT L00 ; Jumps to L00. 005 [EOF] [Example 2] Location Movement using Variable P010 P011 P012 P049 P050 <Program> 000 L01: 001 SET ; Defines the label. R00,10 ; Sets the register R00 value to 10(0Ah). 002 L02: ; Defines the label. 003 ; Moves to P(R00). MVE P(R00) 004 INC R00 ; Increases the register R00 value by 01h (decimal number1). 005 IF ; Is the register R00 value equal to 51(33h)? R00=051 006 GOT L01 ; Goes to L01, if the answer is true. 007 GOT L02 ; Goes to L02, if the answer is false. 008 〔EOF〕 10-80 81 Chapter 10 [Example 3] Location Movement on X-Axis at an Equivalent Interval P100 P100+20 P100+40 P100+380 P100+400 <Memory Status > : P100 = Start Position S00 VEL = 20.00, 0.00 mm = 3000.00 <Program> 000 L00: 001 SPD 002 ; Defines the label. 100 MVE ; Sets the speed to 3000rpm. P100 ; Moves to P100. 003 DLY 001000 ; Delays for 1 second. 004 SET R01,00h ; Sets the register R01 value to 0. 005 TSPD 50 006 L01: ; Sets the speed to 1500rpm. ; Defines the label. 007 ADD R01,001 ; Adds 1 to the register R01 value. 008 GOT L00 ; Goes to L00, if the answer to the conditional sentence is true. 009 SFT S00 ; Shifts from the current location to S00. 010 DLY 001000 ; Delays for 1 second. 011 JMP L01,19 ; Jumps to L01 twenty times repeatedly. 012 〔EOF〕 10-81 82 Chapter 10 [Example 4] User Input and Output Control P000 P001 <Program> 000 L02: 001 MVE ; Defines the label. P000 ; Moves to P000. 002 WAIT 1 ; Waits until the External Input Signal No. 1 turns ON. 003 SIGB 1 ; Turns the External Output Signal No. 1 ON. 004 DLY 000500 ; Delays for 0.5 second. 005 P001 ; Moves to P001. MVE 006 WAIT 2 ; Waits until the External Input Signal No.2 turns ON. 007 SIGB 2 ; Turns the External Output Signal No.2 ON. 008 DLY ; Delays for 0.5 second. 000500 009 SIGO AOFF ; Turns 24 External Output Signals all OFF. 015 GOT ; Goes to L02. L02 016 〔EOF〕 10-82 83 Chapter 10 [Example 5] Transferring an Article using the Cylinder and the Gripper 실린더 Cylinder 글리퍼 Gripper Using the sensor, the cylinder and the gripper, the robot transfers an article between two locations. <Installation> 1. Connect the sensor signal to the External Input Signal No.1. 2. Connect the sensor signal to the External Output Signal No.1. 3. Connect the gripper control terminal to the External Output Signal No.2. 10-83 84 Chapter 10 <Program No. 0> 000 SET R02,00h 001 SIGO AOFF ; Clears the register R02. ; Clears the external output signal. 002 L20: 003 MVE P001 ; Moves to P001. 005 WAIT 1 ; Waits until the external Input signal No.1 turns on. 009 CALL PRG01 ; Lifts the article. 010 MVE ; Moves to P002. 011 CALL PRG02 012 GOT P002 ; Places the article. L20 013 〔EOF〕 <Program No. 1> 000 SIGB 1 ; Descends the cylinder. 001 SIGB 2 ; Closes the gripper (holding the article). 002 SIGB -1 ; Ascends the cylinder. 003 ; Returns to the called program. RET 004 [EOF] <Program No. 2> 000 SIGB 1 ; Descends the cylinder. 001 SIGB -2 ; Opens the gripper (placing the article). 002 SIGB -1 ; Ascends the cylinder. 003 RET ; Returns to the called program. 04 [EOF] 10-84 85 Chapter 10 [Example 6] Program to Load Parts using the Pallet 000 JB 1,L00 001 SET R00,000 ; Checks whether to or not to redo the work or not. ; Clears the register R00 value (Pallet Location Counter) 002 L00: 003 SET R01,018 ; Set the register R01 value (Pallet Location Number) 004 L01: 005 MVE P000 ; Moves the pickup point. 006 PM 1,R00 ; Moves the location created on the Pallet No. 1 in sequential order. 007 IF R00 > R01 ; Checks whether the pallet loading is completed. 008 GOT L02 ; Goes to the label L02, if the answer is YES. 009 INC R00 ; Increase the pallet location counter by 1, if the answer is NO. 010 GOT L01 ; Goes to the label L01. 011 L02: 012 SET R00,000 ; Clears the pallet location counter. 013 GOT L01 ; Goes to the label L01. # Register Variables R00~R99 are the backup variables. # Y TPNT3(P013) TPNT4(P014) PICKUP POINT (P000) 4 9 14 19 3 8 13 18 2 7 12 17 1 6 11 16 0 5 10 15 TPNT1(P011) TPNT2(P012) X 10-85 86 Chapter 10 [Example 7] Program using the OFFSET Command Y 'P013 'P014 'P012 'P015 'P011 P013 P012 P011 P014 P015 P016 'P016 23.0 -140.0 X 000 L00: 001 WAIT 1 ; Waits for the work signal. 002 SIGB -1 ; Turns the work completion signal OFF. 003 OF1, 0.0 ; Clear the Axis 1 offset value. 004 OF2, 0.0 ; Clear the Axis 2 offset value. 005 SET R00,11 ; Sets the position counter. 006 L01: ; Sets the label. 007 MVS P(R00) ; SFT S(R00) 008 IF R00 > 16 009 GOT L02 010 INC R00 011 GOT L01 012 L02: 013 OF1, -140.0 ; Sets the Axis 1 offset value. 014 OF2, 23.0 ; Sets the Axis 1 offset value. 015 SET R00,11 016 L03: 017 MVS P(R00) 018 IF R00 > 16 019 GOT L04 020 INC R00 021 GOT L03 022 L04: 023 SIGB 1 024 GOT ; SFT S(R00) ; Turns the work completion signal ON. L00 10-86 87 Chapter 10 [Example 8] Location Movement using the I/O Input 10-87 CHAPTER 11 PC COMMUNICATION 11-1. Overview 11-2. Controller Selection Screen 11-3. Main Menu Screen 11-4. FILE Menu Screen 11-5. LOC Menu Screen 11-6. SFT Menu Screen 11-7. SYS Menu Screen 11-8. GAIN Menu Screen 11-9. AXIS Menu Screen 11-10. S/W Menu Screen 11-11. LIMIT Menu Screen 11-12. RUN/ZR Menu Screen Chapter 11 11-1. Overview The controller can communicate with the PC through the GUI screen when "MAC.EXE" file contained in the 3.5" diskette provided with the controller is executed. Main role of the GUI is to store files, location data and all parameters and to transfer the saved or newly edited data to the MAC. For the MAC.EXE file to be executed, the MAC should be in [MAIN MENU] status or in the PCOM mode, one of the Main Menu items. Otherwise, the GUI screen is not executed and no data transmission from the PC is processed. The communication starts when the sending party (the party that launches or takes the lead in the communication) sends the ENQ (0x05) to the receiving party (the servicing party or the non-leading party) and the sending party receives the XON (0x11). It ends when the receiving party receives the EOT (0x04) after servicing the requirement of the party that has launched the communication. If the XON answer is not received from the MAC after the PC sent the ENQ, the GUI screen is not executed. The requirements for the communication between the MAC and the PC are listed in Table 1, and the GUI screen consists of the following nine menus. ● FILE TRANS/RECEIVE Menu ● LOC TRANS/RECEIVE Menu ● SFT TRANS/RECEIVE Menu ● SYSTEM PARAMETER TRANS/RECEIVE/SET Menu ● GAIN PARAMETER TRANS/RECEIVE/SET Menu ● AXIS PARAMETER TRANS/RECEIVE/SET Menu ● S/W PARAMETER TRANS/RECEIVE/SET Menu ● LIMIT PARAMETER TRANS/RECEIVE/SET Menu Inter face Speed Mode Synchronization Transmission Code RS-232C Serial 9600 baud Half Duplex Asynchronization 8 Data Bits, 1 Stop Bit, No Parity Table 11-1.Requirement for Communication System 11-1 Chapter 11 11-2. Controller Selection Screen SELECT CONTROLLER 2-AXES 3-AXES 4-AXES EXIT The Select Controller Screen appears when the MAC.EXE file is executed, which is used to set the controller type being used. - MAC-201 (2-axis Controller) => Select the "2-AXES" button. - MAC-301 (3-axis Controller) => Select the "3-AXES" button. - MAC-401 (4-axis Controller) => Select the "4-AXES" button. (Note) If the controller type being used does not match with the controller type selected in the Select Controller Screen, normal operation is not performed. Thus, the controller type should be selected properly. When the MAC.EXE file is executed, the communication between the MAC and the PC is established and the above Controller Selection Screen appears. If the communication with the controller is not established properly, the following "WAIT" screen appears and the PC waits until there is a reply from the controller. ....... WAIT FOR READY ........ To escape from the WAIT state, press ESC key. 11-2 Chapter 11 11-3. Main Menu Screen WELCOME TO SAMSUNG FARA MAC-202 COMM. S/W F1 FILE F2 LOC F3 SFT F4 SYS PARA F5 GAIN PARA F6 AXIS PARA F7 S/W PARA F8 LMT PARA F9 RUN/ZR EXIT When you select the controller type in the Select Controller Screen, the above Main Menu screen appears. If you want to select a function from the Main Menu screen, you can select the function using the mouse or button. 11-3 Chapter 11 11-4. FILE Menu Screen FILE TRANS/RECEIVE SERVICE SOURCE PRG# 0 DEST 0 PRG# TRANS RECEIVE ALL_TRANS ALL_RECEIVE EXIT The FILE Menu Screen appears when you press F1 key or click the FILE button with the mouse in the Main Menu screen. This menu allows you to receive the program from the MAC or to transmit the one edited in the PC to the MAC. In this menu, each button functions as follows: SOURCE PRG# => Designates the file to transmit/receive, using the keyboard, within the range of “ 0 ~ 31” . DEST PRG# => Designates the file to be transmitted/received, using the keyboard, within the range of “ 0 ~ 31” . <Example> When SOURCE PRG# "0" and DEST PRG# "1" are designated, Press the TRANS button, and the program "PROG00" in the PC is saved to the MAC as "PROG01". Press the RECEIVE button, and the program "PROG00" in the MAC is saved to the PC as "PROG01". TRANS Button => Transmits a program from the PC to the MAC. (PC -> MAC) RECEIVE Button => Receives a program from the MAC to the PC. (MAC -> PC) ALL_TRANS Button => Transmits all of 32 programs from the PC to the MAC. (PC -> MAC) ALL_RECEIVE Button => Receives all of 32 programs from the MAC to the PC. (MAC -> PC) 11-4 Chapter 11 11-4-1. Program Transmission When you transmit a program to the MAC using the TRANS/ALL_TRANS button, transmit an empty program that is not edited to the MAC, if there is no designated file in the PC. Be careful when you transmit the program, because the program stored in the MAC is overwritten with the file transmitted from the PC. 11-4-2. Program Storage The program transmitted from the MAC using the RECEIVE/ALL_RECEIVE button is stored in the directory where the MAC.EXE file is executed. Press the ALL_RECEIVE button, and 32 files under the names of PROG00 ~ PROG31 are created in the directory where the MAX.EXE file is executed, in one to one correspondence to those in the MAC. 11-4-3. Programming When you edit the program in the PC, be sure to follow the following rules. Otherwise, the program would not be transmitted normally. Rule 1. The comment statement must start with ";". Rule 2. The program must end with "[EOF]". <Example> PC Program MAC Program 000 001 002 003 004 005 006 007 SET R20,200 L00: MVS P035 MVS P(R20) CR P001, 002 MA P001, 50 JMP L00, 005 [EOF] 000 001 002 003 004 005 006 007 Method 1 SET R20 200 L00: MVS P035 MVS P(R20) CR P001 002 MA P001 50 JMP L00 005 [EOF] ★ When you edit the program, you can use any editor in the PC. 11-5 Method 2 SET R20,200 L0: MVS P35 MVS P(R20) CR P1, 2 MA P1, 50 JMP L0, 5 [EOF] Chapter 11 11-5. LOC Menu Screen LOC TRANS/RECEIVE SERVICE SOURCE(Start) LOC# 0 DEST(End) LOC# 0 TRANS RECEIVE BLOCK TRANS BLOCK RECEIVE ALL_TRANS ALL_RECEIVE EXIT The LOC Menu Screen appears when you press F2 key or click the LOC button with the mouse in the Main Menu screen. This menu allows you to receive the location data from the MAC or to transmit the one edited in the PC to the MAC. In this menu, each button functions as follows: SOURCE(Start) LOC# => Designates the location data to transmit/receive, using the keyboard, within the range of “ 0 ~ 999” . DEST(End) LOC# => Designates the location data to be transmitted/received, using the keyboard, within the range of “ 0 ~ 999” . <Example> When SOURCE LOC# "0" and DEST LOC# "1" are designated, Press the TRANS button, and the location data "P000" in the PC is saved to the MAC as "P001". Press the RECEIVE button, and the location data "P000" in the MAC is saved to the PC as "P001". TRANS Button => Transmits a location data from the PC to the MAC. (PC -> MAC) RECEIVE Button => Receives a location data from the MAC to the PC. (MAC -> PC) ALL_TRANS Button => Transmits all location data from the PC to the MAC. (PC -> MAC) ALL_RECEIVE Button => Receives all location data from the MAC to the PC. (MAC -> PC) 11-6 Chapter 11 11-5-1. Location Data Transmission When you transmit the location data to the MAC using the TRANS/ALL_TRANS button, transmit the location data specified as ‘0’ to the MAC if there is no designated location data in the PC. Be careful when you transmit the location data, because the location data stored in the MAC is updated with the location data transmitted from the PC. 11-5-2. Location Data Storage The location data transmitted from the MAC using the RECEIVE/ALL_RECEIVE button is stored as ‘MACLOC.DAT” file in the directory where the "MAC.EXE" file is executed. The "MACLOC.DAT" file contains all location data from P000 ∼ P999 11-5-3. MACLOC.DAT (Location Data File) Editing When you edit the location data file in the PC, be sure to follow the following rules. Otherwise, the location data would not be transmitted normally. Rule 1. All lines must start with "P### = ". Rule 2. The location data of each axis must be separated with space. <Example> Location Data in the MAC P000 AX1 = 350.00 AX2 = 300.00 P200 AX1 = 150.55 AX2 = 0.00 Location Data in the PC Method 1 Method 2 P000 = 350.00 300.00 P0 = 350.00 300.00 P200 = 150.55 0 P200 = 150.55 0 11-7 Chapter 11 11-6. SFT Menu Screen SFT TRANS/RECEIVE SERVICE SOURCE SFT# 0 DEST 0 SFT# TRANS RECEIVE ALL_TRANS ALL_RECEIVE EXIT The SFT Menu Screen appears when you press F3 key or click the SFT button in the Main Menu screen. This menu allows you to receive the shift location data from the MAC or to transmit the one edited in the PC to the MAC. In this menu, each button functions as follows: SOURCE SFT# => Designates the shift location data to transmit/receive, using the keyboard, within the range of “ 0 ~ 99” . DEST SFT# => Designates the shift location data to be transmitted/received, using the keyboard, within the range of “ 0 ~ 99” . <Example> When SOURCE SFT# "0" and DEST SFT# "1" are designated, Press the TRANS button, and the shift location data "S00" in the PC is saved to the MAC as "S01". Press the RECEIVE button, and the shift location data "S00" in the MAC is saved to the PC as "S01". TRANS Button => Transmits a shift location data from the PC to the MAC. (PC -> MAC) RECEIVE Button =>Receives a shift location data from the MAC to the PC. (MAC -> PC) ALL_TRANS Button => Transmits all of data from the PC to the MAC. (PC -> MAC) ALL_RECEIVE Button => Receives all of data from the MAC to the PC. (MAC -> PC) 11-8 Chapter 11 11-6-1. Transmission of Shift Location Data When transmitting the shift location data to the MAC using the TRANS/ALL_TRANS button, transmit the shift location data specified as ‘0’ to the MAC if there is no designated shift location data in the PC. Be careful when you transmit the shift location data, because the shift location data stored in the MAC is updated with the shift location data transmitted from the PC. 11-6-2. Storage of Shift Location Data The shift location data transmitted from the MAC using the RECEIVE/ALL_RECEIVE button is stored as “MACSFT.DAT” file in the directory where the "MAC.EXE" file is executed. The "MACSFT.DAT" file contains all location data from S00 to S99. 11-6-3. MACSFT.DAT (Shift Location Data File) Editing When you edit the shift location data file in the PC, be sure to follow the following rules. Otherwise, the shift location data would not be transmitted normally. Rule 1. All lines must start with "S### = ". Rule 2. The shift location data of each axis must be separated with space. <Example> Shift Location Data in the MAC S00 AX1 = 50.00 AX2 = 10.00 S50 AX1 = 10.55 AX2 = 1.23 Shift Location Data in the PC Method 1 Method 2 S00 = 50.00 10.00 S0 = 50.00 10.00 P50 = 10.55 1.23 S50 = 10.55 1.23 11-9 Chapter 11 11-7. SYS Menu Screen SYSTEM PARA TRANS/RECEIVE SERVICE TRANS RECEIVE SET EXIT The SYS Menu Screen appears when you press F4 key or click the SYS button in the Main Menu screen. This menu allows you to receive the system parameter from the MAC or to transmit the one set in the PC to the MAC. In this menu, each button functions as follows: TRANS Button => Transmits the system parameter from the PC to the MAC. (PC Æ MAC) RECEIVE Button => Transmits the system parameter from the MAC to the PC. (MAC Æ PC) SET Button => Sets the system parameter. 11-7-1. Creation of MACSYS.DAT File When you press the RECEIVE button or the SET button, the “MACSYS.DAT” file is automatically created in the directory where the “MAC.EXE” file is executed. Note that, if the “MACSYS.DAT” file does not exist, each system parameter value is adjusted to the default value when the SET button is pressed. ★ The AXES parameters set in the SYS menu are directly connected with the number of axes set in such axis parameter setting menus as GAIN menu, AXIS menu, S/W menu and LMT menu, so it is recommended to confirm whether the AXES parameter is correctly set in the SYS menu before using the axis parameter setting menu. 11-10 Chapter 11 11-7-2. System Parameter Setting (The SET button is pressed.) SYSTEM PARA SET SERVICE AXES 2AXES 3AXES 4AXES EXIT ARCH 1AXIS 2AXIS 3AXIS 4AXIS UPAX 1AXIS 2AXIS 3AXIS 4AXIS ZRAX 1 ZRIN Z+HOME HOME1 CSPD 1 2 2 3 4 5 6 HOME2 3 ON PSGF OFF ON ESGF OFF ON BRKF OFF ON 2AX 3AX PSIG 0 HEX ESIG 0 HEX ZRNO 0 HEX BRON 0 msec BROF 0 msec MSPD 10 % JSPD 10 % 9 4 OFF 1AX 8 Z-P JGIO BRAX 7 4AX The System Parameter Set menu consists of 16 parameters, and you can move between parameters and set the parameter using either the keyboard or the mouse. TAB ↑ ↓ keys => Used to move among 17 parameters. The selected parameters are indicated with the red boxes. → ← keys => Used to move from the selected parameter to the set button. The selected set button is indicated with the blue box. Alphanumeric Keys => Used to enter the values for such parameters as PSIG, ESIG,ZRNO,BRON, BROF, MSPD and JSPD. 11-11 Chapter 11 11-8. GAIN Menu Screen GAIN PARA TRANS/RECEIVE SERVICE TRANS RECEIVE SET EXIT The GAIN Menu Screen appears when you press F5 key or click the GAIN PARA button in the Main Menu Screen. This menu allows you to receive the gain parameter from the MAC or transmits the one set in the PC to the MAC. In this menu, each button functions as follows: TRANS Button => Transmits the gain parameter from the PC to the MAC. (PC Æ MAC) RECEIVE Button => Transmits the gain parameter from the MAC to the PC. (MAC Æ PC) SET Button => Sets the gain parameter. EXIT Button => Exits from the GAIN menu. 11-8-1. Creation of MACGAIN.DAT File When you press the RECEIVE button or the SET button, the “MACGAIN.DAT” file is automatically created in the directory where the “MAC.EXE” file is executed. Note that, if the “MACGAIN.DAT” file does not exist, each gain parameter value is adjusted to the default value when the SET button is pressed. ★ The values set in the GAIN menu directly affect the system control, so it is safe to set the gain values sequentially starting from small values, with monitoring the controlled situation. 11-12 Chapter 11 11-8-2. Gain Parameter Setting (The SET button is pressed.) GAIN PARA SET SERVICE AXIS 1 Pos P Gain (P_p) 50 Pos I Gain (P_i) 0 Pos D Gain (P_d) 0 Pos F Gain (P_f) 0 Pos I Limit (P_l) 0 Vel P Gain (V_p) 2000 Vel I Gain (V_i) 0 Vel D Gain (V_d) 0 Vel F Gain (V_f) 0 Vel I Limit (V_l) 0 NEXT PREV EXIT The Gain Parameter Set menu consists of 10 parameters, and you can move between parameters and set the parameter using either the keyboard or the mouse. Number Keys => Used to enter the parameter value. TAB ↑ ↓ keys => Used to move among 10 parameters. The selected parameters are indicated with the blue boxes. NEXT EXIT PREV buttons => Scrolls up and down the axis. button and ESC key => Exit from the Gain Parameter Set menu. 11-13 Chapter 11 11-9. AXIS Menu Screen AXIS PARA TRANS/RECEIVE SERVICE TRANS RECEIVE SET EXIT The AXIS Menu Screen appears when you press F6 key or click the AXIS PARA button in the Main Menu Screen. This menu allows you to receive the axis parameter from the MAC or transmits the one set in the PC to the MAC. In this menu, each button functions as follows: TRANS Button => Transmits the axis parameter from the PC to the MAC. (PC Æ MAC) RECEIVE Button => Transmits the axis parameter from the MAC to the PC. (MAC Æ PC) SET Button => Sets the axis parameter. EXIT Button => Exits from the AXIS menu. 11-9-1. Creation of MACAXIS.DAT File When you press the RECEIVE button or the SET button, the “MACAXIS.DAT” file is automatically created in the directory where the “MAC.EXE” file is executed. Note that, if the “MACAXIS.DAT” file does not exist, each axis parameter value is adjusted to the default value when the SET button is pressed. ★ The values set in the AXIS menu are closely related to the system configuration, so the parameter setting should be adjusted according to the servo driver type connected to the MAC. If the value set in the AXIS parameter does not match with the servo driver actually connected to the MAC, the system mal-operates or does not operate. 11-14 Chapter 11 11-9-2. Axis Parameter Setting (The SET button is pressed.) AXIS PARA SET SERVICE AXIS 1 MOTOR MICRO SERVO STEP LOOP SEMI CLOSE OPEN CONT VELO TORQ VOLT BI-P UNI-P STEP TWO ONE CDIR + - ZDIR + - CORD CW CCW NEXT PREV EXIT The Axis Parameter Set menu consists of 8 parameters, and you can move between parameters and set the parameter using either the keyboard or the mouse. TAB ↑ ↓ keys => Used to move among 8 parameters. The selected parameters are indicated with the red boxes. → ← keys => Used to move from the selected parameter to each set button. The selected set button is indicated with the blue box. NEXT EXIT PREV buttons => Scrolls up and down the axis. button and ESC key => Exit from the Axis Parameter Set menu. 11-15 Chapter 11 11-10. S/W Menu Screen S/W PARA TRANS/RECEIVE SERVICE TRANS RECEIVE SET EXIT The S/W Menu Screen appears when you press F7 key or click the S/W PARA button in the Main Menu Screen. This menu allows you to receive the S/W parameter from the MAC or transmits the one set in the PC to the MAC. In this menu, each button functions as follows: TRANS Button => Transmits the S/W parameter from the PC to the MAC. (PC Æ MAC) RECEIVE Button => Transmits the S/W parameter from the MAC to the PC. (MAC Æ PC) SET Button => Sets the S/W parameter. EXIT Button => Exits from the S/W menu. 11-10-1. Creation of MACSW.DAT File When you press the RECEIVE button or the SET button, the “MACSW.DAT” file is automatically created in the directory where the “MAC.EXE” file is executed. Note that, if the “MACSW.DAT” file does not exist, each S/W parameter value is adjusted to the default value when the SET button is pressed. ★ The values set in the S/W menu are closely related to the mechanical specification of the system. As the ACC and the DCC parameters are the values that decide the acceleration and the deceleration sections of the motor, the system might be damaged if small parameter values are used. 11-16 Chapter 11 11-10-2. S/W Parameter Setting (The SET button is pressed.) S/W PARA SET SERVICE AXIS 1 CR 0.00 LL -1000.00 UL 1000.00 OFF 0.00 ERR 100.00 VEL 3000.00 GEB 20.00 GEA 2048 ACC 20 DCC 20 INP 100 PUL 0 C_VEL 100 F_VEL 20 Z_ACC 10 P_DCC 20 PREV RATIO 1 EXIT NEXT The S/W parameter setting menu consists of 17 parameters, and you can move between parameters and set the parameter using either the keyboard or the mouse. Number Keys TAB ↑ => Used to enter the parameter value. ↓ keys => Used to move among 17 parameters. The selected parameters are indicated with the blue boxes. NEXT EXIT PREV buttons => Scrolls up and down the axis. button and ESC key => Exit from the S/W Parameter Set menu. 11-17 Chapter 11 11-11. LIMIT Menu Screen LIMIT PARA TRANS/RECEIVE SERVICE TRANS RECEIVE SET EXIT The LIMIT Menu Screen appears when you press F8 key or click the LMT PARA button in the Main Menu Screen. This menu allows you to receive the limit parameter from the MAC or transmits the one set in the PC to the MAC. In this menu, each button functions as follows: TRANS Button => Transmits the limit parameter from the PC to the MAC. (PC Æ MAC) RECEIVE Button => Transmits the limit parameter from the MAC to the PC. (MAC Æ PC) SET Button => Sets the limit parameter. EXIT Button => Exits from the LIMIT menu. 11-11-1. Creation of MACLMT.DAT File When you press the RECEIVE button or the SET button, the “MACLMT.DAT” file is automatically created in the directory where the “MAC.EXE” file is executed. Note that, if the “MACLMT.DAT” file does not exist, each limit parameter value is adjusted to the default value when the SET button is pressed. ★ The values set in the LIMIT menu are closely related to the active level including that of the sensor used for detecting the mechanical limit of the system and that for Servo ON/OFF and alarm reset. Therefore, the limit parameters should be set appropriately according to the limit sensor specification and the servo driver specification. 11-18 Chapter 11 11-11-2. Limit Parameter Setting (The SET button is pressed.) LIMIT PARA SET SERVICE AXIS 1 POSI LOW HIGH NEGA LOW HIGH HOME LOW HIGH SVERR LOW HIGH SVRST LOW HIGH SVON LOW HIGH NEXT PREV EXIT The Limit Parameter Set menu consists of 6 parameters, and you can move between parameters and set the parameter using either the keyboard or the mouse. TAB ↑ ↓ keys => Used to move among 6 parameters. The selected parameters are indicated with the red boxes. → ← keys => Used to move from the selected parameter to each set button. The selected set button is indicated with the blue box. NEXT EXIT PREV buttons => Scrolls up and down the axis. button and ESC key => Exit from the Limit Parameter Set menu. 11-19 Chapter 11 11-12. RUN/ZR Menu Screen RUN/ZR SERVICE RUN PRG# 0 RUN HOLD STOP ZR SERVO ON SERVO OFF I/O ALL ON I/O ALL OFF EXIT F9 The RUN/ZR Menu Screen appears when you press key or click the RUN/ZR button in the Main Menu screen. The RUN/ZR menu allows executing such functions as Program Run/Stop, Zero Return and Servo Power ON/OFF through RS232C communication. In this menu, each button functions as follows: RUN PRG# => Designates the program number to be run, using the keyboard, within the range of “0 ~ 31”. RUN Button => Runs the program designated with the RUN PRG# button. HOLD Button => Holds the program being running. When you press the RUN button again after the HOLD is pressed, the program execution resumes from the line next to the one being executed. STOP Button => Stops program execution. When you press the RUN button again after the STOP button is pressed, the program execution resumes from its very beginning. ZR Button => Executes zero return. SERVO ON Button => Turns the servo power ON. SERVO OFF Button => Turns the servo power OFF. I/O ALL ON =>Turns all of 32 I/O output points ON. I/O ALL OFF => Turns all of 32 I/O output points OFF. (Note) At the time of I/O ALL ON or I/O ALL OFF, both the system output signals and the external output signals are turned ON/OFF at the same time. So, check the current system status before executing such commands. 11-20 CHAPTER 12 ERROR MESSAGE 12-1. 12-2. 12-3. 12-4. Checksum Errors System Errors Parameter Errors Edit Errors Chapter 12 There are following four types of error messages: - CHECKSUM ERROR - PARAMETER ERROR - SYSTEM ERROR - EDIT ERROR When an error occurs, the error content is displayed on the Teach Pendant LCD. 12-1. Checksum Errors (Memory Crash) The checksum error occurs when the backup data is crashed, which is displayed only when the controller is powered up. There are total 10 checksum errors. When a checksum error occurs, the following screen is displayed on the Teach Pendant. ERROR CODE CODE ERROR [ERR/CHKSUM] <01> PRG00 Crashed ERROR ERROR DESCRIPTION 내용 A-S A-R SKP REST When the 'CHKSUM ERROR' message is displayed as shown above, each function key works as follows: A-S (All-Skip) => F1 key skips all of the memory crash error description, and loads the current memory content as it is. A-R (All-Reset) => F2 key resets all crashed memory blocks created after the checksum error is displayed, and does not display the error description. SKP (Skip) => F3 key just skips the crashed memory, and loads the current memory content as it is and checks whether the next memory block is crashed or not. REST (Reset) => F4 key resets the crashed memory block, and checks whether the next memory block is crashed or not. 12-1 Chapter 12 12-1-1. Description of Checksum Errors CODE 01 DESCRIPTION CAUSE There is an error in the file data. ACTION Reset or re-create the file. CODE 02 DESCRIPTION PRGxx Crashed (xx = 0 ~ 31) Pxxx LOC Crash (xxx = 0 ~ 999) CAUSE There is an error in the location data. ACTION Reset or re-create the location data. CODE 03 DESCRIPTION Sxx SFT Crash (xx = 0 ~ 99) CAUSE There is an error in the shift location data. ACTION Reset or re-create the shift location data. CODE 04 DESCRIPTION System parameter Crash CAUSE There is an error in the system parameter data. ACTION Reset or re-create the system parameter data. CODE 05 DESCRIPTION #ax Axis parameter Crash (# 1 ~ 4 ) CAUSE There is an error in the axis parameter data. ACTION Reset or re-create the axis parameter data. CODE 06 DESCRIPTION #ax Software Parameter Crash (# 1 ~ 4 ) CAUSE There is an error in the software parameter data. ACTION Reset or re-create the software parameter data. CODE 07 DESCRIPTION #ax Limit Parameter Crash (# 1 ~ 4 ) CAUSE There is an error in the limit parameter data. ACTION Reset or re-create the limit parameter data. CODE 08 DESCRIPTION #ax Gain Parameter Crash (# 1 ~ 4 ) CAUSE There is an error in the gain parameter data. ACTION Reset or re-create the gain parameter data. 12-2 Chapter 12 CODE 09 DESCRIPTION MATRIX Info. Parameter Crash. CAUSE There is an error in the matrix information data. ACTION Reset the matrix information data and then re-enter the data. CODE 10 DESCRIPTION SPLINE Info. Parameter Crash. CAUSE There is an error in the spline information data. ACTION Reset the spline information data and then re-enter the data. 12-3 Chapter 12 12-2. System Errors There are 29 types of system errors. When a system error occurs, the following screen is displayed on the Teach Pendant LCD. ERROR CODE CODE ERROR [ERR/SYS] <02> P001 LOC does not exist CLR ... .... ERROR DESCRIPTION 내용 ERROR EXIT When the system error message is displayed as shown above, each function key works as follows: CLR (CLEAR) => EXIT => F1 F4 key clears the error and exits to the previous screen. key exits to the previous screen without resetting the error. 12-2-1. Description of System Errors CODE 01 DESCRIPTION Backup Battery Low Voltage CAUSE There is an error in the backup battery attached to the main board. ACTION Check the backup battery connection part, and check whether the battery life is over. CODE 02 DESCRIPTION Pxxx Loc does not exist (xxx = 0 ~ 999) CAUSE The location does not exist. ACTION Enter the location information under the corresponding location name, or rename the location. 12-4 Chapter 12 CODE 03 DESCRIPTION Sxxx SFT does not exist (xxx = 0 ~ 99) CAUSE The shift location does not exist. ACTION Enter the location information under the corresponding shift location name, or rename the shift location. CODE 04 DESCRIPTION Pxxx Loc data S/W Limit Over (xxx = 0 ~ 999) CAUSE The location data exceeds the upper or the lower movement limit. ACTION Modify the corresponding location data properly. CODE 05 DESCRIPTION Sxxx SFT data S/W Limit Over (xxx = 0 ~ 999) CAUSE The shift location data exceeds the upper or the lower limit. ACTION Modify the corresponding shift location data properly. CODE 06 DESCRIPTION Circle Radius Limit Over CAUSE It is impossible to draw a circle using the specified location data. ACTION Modify the location data. CODE 07 DESCRIPTION CAUSE The file does not exist. ACTION Create the corresponding file. CODE 08 DESCRIPTION CAUSE Zero return is not completed. ACTION Perform zero return. CODE 09 DESCRIPTION PRGxx File does not exist ZERO RETRRN is not done #axis Curr-Pos Lower Limit Over (# = 1 ~ 4 ) CAUSE The current position (feedback position) exceeds the lower limit. ACTION Check the current position, and then modify the work area, the lower limit and the location data. CODE 10 DESCRIPTION #axis Curr-Pos Upper Limit Over (# = 1 ~ 4 ) CAUSE The current position (feedback position) exceeds the upper limit. ACTION Check the current position, and then modify the work area, the upper limit and the location data. 12-5 Chapter 12 CODE 11 DESCRIPTION #axis Tracking Error (# = 1 ~ 4 ) CAUSE The robot does not reach the command position. ACTION Adjust the gain value of the motor driver or that of the controller, or check the wiring and the connector. CODE 12 DESCRIPTION #axis Servo Err (# = 1 ~ 4 ) CAUSE An error in the motor driver of the corresponding axis. ACTION Check the error code in the motor driver and remove the cause of the error, or check the SVERR value of the LIMIT parameter. When this error occurs, zero return should be redone. CODE 13 DESCRIPTION #axis Positive Limit ON (# = 1 ~ 4 ) CAUSE The ‘+’ limit sensor on the corresponding axis turns ON. ACTION Check the work area, and check the sensor status or the POSI value of the LIMIT parameter. When this error occurs, zero return should be redone. CODE 14 DESCRIPTION #axis Negative Limit ON (# = 1 ~ 4 ) CAUSE The ‘-’ limit sensor on the corresponding axis turns ON. ACTION Check the work area, and check the sensor status or the NEGA value of the LIMIT parameter. When this error occurs, zero return should be redone. CODE 15 DESCRIPTION #axis Goal-Pos Move Error (# = 1 ~ 4 ) CAUSE The robot does not reach the command position. ACTION Adjust the gain value of the motor driver or that of the controller, or check the wiring or the connector. Check the INP value of the S/W parameter. When this error occurs, zero return should be redone. CODE 16 DESCRIPTION Lxxx Not Found (xxx = 0 ~ 50) CAUSE The label does not exist. ACTION Insert the corresponding label to the program, or edit the program. 12-6 Chapter 12 CODE 17 DESCRIPTION CALL Stack Full CAUSE More than 31 call statements are executed. ACTION Edit the program. The number of call statements in the program being executed should not exceed 31. CODE 18 DESCRIPTION CALL Current File CAUSE The program calls the current file. ACTION Edit the program. The program being executed cannot call the current file. CODE 19 DESCRIPTION RET Stack Empty CAUSE The RET command is used wrongly. ACTION Edit the program. It is impossible to the RET command for the programs other than those executed by the CALL or the INT command. CODE CAUSE 20 DESCRIPTION #axis Invalid Positive Sensor (# = 1 ~ 4 ) The ‘+’ limit sensor turns on when the corresponding axis moves to ‘-’ direction during zero return. ACTION Check the sensor. As this error occurs during zero return, zero return should be redone after the cause of this error is cleared. CODE CAUSE 21 DESCRIPTION #axis Invalid Negative Sensor (# = 1 ~ 4 ) The ‘-’ limit sensor turns on when the corresponding axis moves to ‘+’ direction during zero return. ACTION Check the sensor. As this error occurs during zero return, zero return should be redone after the cause of this error is cleared. CODE 22 DESCRIPTION #axis PWM OFF (# = 1 ~ 4 ) CAUSE The servo power of the corresponding axis turns OFF. ACTION Check the motor driver status. When this error occurs, zero return should be redone. CODE 23 DESCRIPTION IF FUNC. Max File Line Over CAUSE The IF command is placed on Line 253 or 254 of the program. ACTION The IF command uses following two lines in its characteristics. Therefore, it should be used before Line 252 of the program. 12-7 Chapter 12 CODE CAUSE 24 DESCRIPTION PC Communication Time Over The connector or the PC communication connector is faulty, or the communication program does not run. ACTION Check the communication connector connection status and the connector wiring status, and check whether the communication program runs normally. CODE 25 DESCRIPTION PC Communication Checksum Error CAUSE An error in the data received/transmitted through serial communication ACTION Check the communication connector connection status and the connector wiring status, and check whether the communication program runs normally. CODE 26 DESCRIPTION Emergency Switch ON! CAUSE This error occurs when the emergency input signal is kept ON in the external control mode. ACTION Check the system input wiring and the emergency switch. CODE CAUSE 27 DESCRIPTION PAL ### not define (### = 1 ~ 100) This error occurs when the robot system is used without entering the information about No. ### Pallet. ACTION CODE Enter the information about No. ### Pallet in the PAL menu. 28 DESCRIPTION PAL ### LOC does not exist. CAUSE The Pallet Location ### does not exist. ACTION Check the line and the location number entered in the PAL menu. CODE CAUSE 29 DESCRIPTION SPL ## not define (## = 1 ~ 10) This error occurs when the robot system is used without entering the information about No. ## Spline. ACTION CODE Enter the information about No. ## Spline in the SPL menu. 31 DESCRIPTION # Axis Invalid Home Sensor (## = 1 ~ 4 ) CAUSE When do zero return, Home sensor does not work ON/OFF, within the motor 10 revolution ACTION Check Home Sensor and Connection wire, connector 12-8 Chapter 12 12-9 Chapter 12 12-3. Parameter Errors There are 17 types of parameter errors. When the parameter error occurs, the following screen is displayed on the Teach Pendent LCD. ERROR CODE CODE ERROR [ERR/PARA] <01> GAIN VALUR ERROR ERROR DESCRIPTION 내용 ERROR GAIN = 0∼50000 ... ... .... EXIT Press F4 key when the parameter error message is displayed as shown above, and the screen returns to the main menu screen. The parameter error occurs when a parameter value is set larger or smaller than the prescribed limit. When a parameter error occurs, the parameter value should be reset within the limit. ◇ Description of Parameter Errors NO CODE DESCRIPTION 1 01 GAIN VALUE ERROR, GAIN = 0 ~ 50000 2 02 COUNTER LIMIT OVER 3 03 LOWER LIMIT OVER, LL = -21470000.00 4 04 UPPER LIMIT OVER, UL = +21470000.00 5 05 ERROR LIMIT OVER, ERR = 100000.00 6 06 VELO LIMIT OVER, VEL = 30000.00 7 07 ACC LIMIT OVER, ACC = 200 8 08 DCC LIMIT OVER, DCC = 200 9 09 INPOS LIMIT OVER, INP = 900000 10 10 GEAR LIMIT OVER, GEA = 1 ~ 900000 11 11 GEAR LIMT OVER, GEB = 1 ~ 900000 12 12 PULSE LIMIT OVER, PUL = 100 13 13 C_VEL LIMIT OVER, C_VEL = 5000 14 14 F_VEL LIMIT OVER, F_VEL = 5000 15 15 ZRACC LIMIT OVER, ZACC = 200 16 16 PACC LIMIT OVER, PACC = 200 17 17 RATIO LIMIT OVER, RATIO = 100 12-10 Chapter 12 12-4. Edit Errors There are 34 types of edit errors. When the edit error occurs, the following screen is displayed on the Teach Pendant LCD. ERROR CODE [ERR/EDIT] <02> LOC. NUM ERROR ERROR DESCRIPTION LOC. = 0∼511 ... Press F4 ... .... EXIT key when the edit error message is displayed as shown above, and the screen returns to the main menu screen. The edit error occurs during programming or program edition when the program exceeds the predefined syntax or limit. When an edit error occurs, the parameter value should be reset within the predefined syntax or limit. ◇ Description of Edit Errors NO CODE DESCRIPTION 1 01 REG. NUM ERROR, REG. = 0 ~ 99 2 02 POS. NUM ERROR, POS. = 0 ~ 999 3 03 SFT. NUM ERROR, SFT. = 0 ~ 99 4 04 P(001~999) Location is Not Define 5 05 S(00~99) Shift is Not Define 6 06 DLY. VALUE ERROR, DLY. = 1 ~ 999999 7 07 PRG. NUM ERROR, PRG. = 0 ~ 31 8 08 SPD. VALUE ERRO, SPD. = 1 ~ 100 9 09 ACC. VALUE ERRO, AC. = 0 ~ 200 10 10 DCC. VALUE ERRO, DCC. = 0 ~ 200 11 11 INP. VALUE ERRO, INP. = 0 ~ 900000 12 12 LABEL NUM ERROR, LABEL = 0 ~ 99 13 13 I/O NUM ERROR, I/O = 1 ~ 32 14 14 I/O NUM ERROR, INPUT I/O = 1 ~ 16 15 15 I/O NUM ERROR, OUTPUT I/O = 1 ~ 24 16 16 ARCH RATIO ERROR, RATIO = 1 ~ 100 12-11 Chapter 12 NO CODE 17 17 VAL. NUM ERROR, VAL = 0 ~ 255 DESCRIPTION 18 18 I/O POR NOM ERR, IN PORT = 1 ~ 2 19 19 I/O POR NOM ERR, OUT PORT = 1 ~ 3 22 22 AXIS NUM ERROR, AXIS = 1 ~ 2(3) 21 21 LOOP NUM ERROR, LOOP = 0 ~ 255 22 22 INT NUM ERROR, INT NUM = 1 ~ 3 23 23 MAX EDIT LINE ERR, LINE = 0 ~ 255 24 24 COPY BLOCK OVER 25 25 PAL RANGE OVER, RANGE = 1 ~ 100 26 26 PAL ZIGZAG OVER, 0 = OFF 1 = ON 27 27 TIMER VAL ERROR, VAL.= 1 ~ 9999 28 28 HOME VALUE ERROR, VAL. = 1 ~ 0x07h 29 29 SPL RANGE OVER, SPL#. = 1 ~ 10 30 30 ARC RANGE OVER, DEG#. = 1 ~ 999 31 31 FREG. NUM ERROR, FREG. = 0 ~ 15 32 32 IF VAL. NUM ERR, VAL = 0 ~ 255 33 33 FLOAT VALUE ERR, VAL = 0 ~ 2200.00 34 34 PALLET LOC. ERR, LOC# = 0 ~ 9999 12-12 Supplement 1 for MAC Communication Protocol MAC Communication Protocol MAC Communication Protocol ○ : Valid × : Invalid TOKEN Value NO Command TOKEN Value While pause or stop While Run 1 FILE READ 1 O X 2 FILE WRITE 2 O X 3 LOC READ 3 O X 4 LOC WRITE 4 O X 5 SFT READ 5 O X 6 SFT WRITE 6 O X 7 RUN 21 O X 8 ZR 22 O X 9 SERVO ON 23 O X 10 SERVO OFF 24 O X 11 I/O ALL ON 25 O X 12 I/O ALL OFF 26 O X 13 I/O Input 32points READ 27 O O 14 I/O Output 32points READ 28 O O 15 Objective Location READ 29 O O 16 Current Location READ 30 O O 17 ERROR READ 31 O O 18 ERROR RESET 32 O O 19 IO BIT ON/OFF 33 O O 20 REGISTER READ 34 O O 21 REGISTER WRITE 35 O O 22 Connection OFF 36 O O Supplement Page 2 c.f MAC Communication Protocol FILE READ PC MAC c,f SOH ACK 1 (TOKEN) 1 (ECHO) Program No (LOW BYTE) Program No (HIGH BYTE) STX SYN DATA (1024 BYTES) CHKSUM(1 BYTE) CHKSUM is 2 Complement ETX EOT (CHKSUM Value OK) DLE (CHKSUM Value not OK) * If PC send the signal DLE then, MAC controller make CHKSUM Error and the output of error (=SYS I/O No 1) is ON. * CHKSUM Method CHKSUM transfer 1 byte with 2 compliment adding data with the CHAR variable . * the sequence of data send for LONG variables BYTE HIGH BYTE MIDDLE BYTE #1 MIDDLE BYTE #2 LOW BYTE Sending Sequence 4 3 2 1 Supplement Page 3 MAC Communication Protocol FILE WRITE PC MAC c.f SOH ACK 2 (TOKEN) 2 (ECHO) Program No (LOW BYTE) Program No (HIGH BYTE) STX SYN DATA (1024 BYTES) CHKSUM(1 BYTE) ETX EOT (CHKSUM Value is OK) DLE (CHKSUM not OK) * If PC send the signal DLE then, MAC controller make CHKSUM Error and the output of error (=SYS I/O No 1) is ON. * CHKSUM Method CHKSUM transfer 1 byte with 2 compliment adding data with the CHAR variable . * the sequence of data send for LONG variables BYTE HIGH BYTE Sending Sequence 4 Supplement Page 4 MIDDLE BYTE #1 MIDDLE BYTE #2 3 2 LOW BYTE 1 MAC Communication Protocol LOC READ PC MAC c.f SOH ACK 3 (TOKEN) 3 (ECHO) LOC No (LOW BYTE) LOC No (HIGH BYTE) STX SYN DATA (12 BYTES) CHKSUM(1 BYTE) ETX EOT (CHKSUM Value is OK) DLE (CHKSUM Value not OK) * If PC send the signal DLE then, MAC controller make CHKSUM Error and the output of error (=SYS I/O No 1) is ON. * CHKSUM Method CHKSUM transfer 1 byte with 2 compliment adding data with the CHAR variable . * the sequence of data send for LONG variables BYTE HIGH BYTE Sending Sequence 4 MIDDLE BYTE #1 MIDDLE BYTE #2 3 2 LOW BYTE 1 - LOCATION DATA should be the LONG variable. Example> X = 123.45 ==> 123.45 X 100 ==> 12345 Y = 234.57 ==> 234.57 X 100 ==> 23457 Ie, X axis = 12345, Y axis = 23457 -> sending after changing with the data LONG variable. Supplement Page 5 MAC Communication Protocol LOC WRITE PC MAC c.f SOH ACK 4 (TOKEN) 4 (ECHO) LOC No (LOW BYTE) LOC No (HIGH BYTE) STX SYN DATA (12 BYTES) CHKSUM(1 BYTE) ETX EOT (CHKSUM Value is OK) DLE (CHKSUM is not OK) * If PC send the signal DLE then, MAC controller make CHKSUM Error and the output of error (=SYS I/O No 1) is ON. * CHKSUM Method CHKSUM transfer 1 byte with 2 compliment adding data with the CHAR variable . * the sequence of data send for LONG variables BYTE HIGH BYTE Sending Sequence 4 MIDDLE BYTE #1 MIDDLE BYTE #2 3 2 LOW BYTE 1 - LOCATION DATA should be the LONG variable. Example> X = 123.45 ==> 123.45 X 100 ==> 12345 Y = 234.57 ==> 234.57 X 100 ==> 23457 Ie, X axis = 12345, Y axis = 23457 -> sending after changing with the data LONG variable. Supplement Page 6 MAC Communication Protocol SFT READ PC MAC c.f SOH ACK 5 (TOKEN) 5 (ECHO) SFT No (LOW BYTE) SFT No (HIGH BYTE) STX SYN DATA (12 BYTES) CHKSUM(1 BYTE) ETX EOT (CHKSUM Value is OK) DLE (CHKSUM is not OK) * If PC send the signal DLE then, MAC controller make CHKSUM Error and the output of error (=SYS I/O No 1) is ON. * CHKSUM Method CHKSUM transfer 1 byte with 2 compliment adding data with the CHAR variable . * the sequence of data send for LONG variables BYTE HIGH BYTE Sending Sequence 4 MIDDLE BYTE #1 MIDDLE BYTE #2 3 2 LOW BYTE 1 - LOCATION DATA should be the LONG variable. Example> X = 123.45 ==> 123.45 X 100 ==> 12345 Y = 234.57 ==> 234.57 X 100 ==> 23457 Ie, X axis = 12345, Y axis = 23457 -> sending after changing with the data LONG variable. Supplement Page 7 MAC Communication Protocol SFT WRITE PC MAC c.f SOH ACK 6 (TOKEN) 6 (ECHO) SFT No (LOW BYTE) SFT No (HIGH BYTE) STX SYN DATA (12 BYTES) CHKSUM(1 BYTE) ETX EOT (CHKSUM is OK) DLE (CHKSUM is not OK) * If PC send the signal DLE then, MAC controller make CHKSUM Error and the output of error (=SYS I/O No 1) is ON. * CHKSUM Method CHKSUM transfer 1 byte with 2 compliment adding data with the CHAR variable . * the sequence of data send for LONG variables BYTE HIGH BYTE Sending Sequence 4 MIDDLE BYTE #1 MIDDLE BYTE #2 3 2 LOW BYTE 1 - LOCATION DATA should be the LONG variable. Example> X = 123.45 ==> 123.45 X 100 ==> 12345 Y = 234.57 ==> 234.57 X 100 ==> 23457 Ie, X axis = 12345, Y axis = 23457 -> sending after changing with the data LONG variable. Supplement Page 8 MAC Communication Protocol RUN PC MAC c.f SOH ACK 21 (TOKEN) 21 (ECHO) Program No (LOW BYTE) Program No (HIGH BYTE) If MAC receive DLE, MAC do not STX (ECHO Value is OK) send SYN signal to PC, ignoring DLE (ECHO is not OK) commands from PC. SYN * If the command "RUN" is executed successfully, the output of RUN (SYS I/O No 5) is ON. ZR PC MAC 비 고 SOH ACK 22 (TOKEN) 22 (ECHO) 0(ZERO) 0(ZERO) If MAC receive DLE, MAC do not STX (ECHO Value is OK) send SYN signal to PC, ignoring DLE (ECHO is not OK) commands from PC. SYN * If the command "ZR" is executed successfully, the output of RUN, PAUSE (SYS I/O No 5,6) is Off. And If ZR is completed successfully, the output of ZRC, READY, SVON (SYS I/O 8,4,3) is ON. Supplement Page 9 MAC Communication Protocol SERVO ON PC MAC 비 고 SOH ACK 23 (TOKEN) 23 (ECHO) 0(ZERO) 0(ZERO) If MAC receive DLE, MAC do not STX (ECHO Value is OK) send SYN signal to PC, ignoring DLE (ECHO is not OK) commands from PC. SYN * If "SERVO ON" is executed successfully, the output of SVON/OFF (SYS I/O No 3) is ON. SERVO OFF PC MAC 비 고 SOH ACK 24 (TOKEN) 24 (ECHO) 0(ZERO) 0(ZERO) If MAC receive DLE, MAC do not STX (ECHO Value is OK) send SYN signal to PC, ignoring DLE (ECHO is not OK) commands from PC. SYN * If "SERVO Off" is executed successfully, the output of SVON/OFF (SYS I/O No 3) is Off. Supplement Page 10 MAC Communication Protocol I/O ALL ON PC MAC 비 고 SOH ACK 25 (TOKEN) 25 (ECHO) 0(ZERO) 0(ZERO) If MAC receive DLE, MAC do not STX (ECHO Value is OK) send SYN signal to PC, ignoring DLE (ECHO is not OK) commands from PC. SYN I/O ALL OFF PC MAC 비 고 SOH ACK 26 (TOKEN) 26 (ECHO) 0(ZERO) 0(ZERO) If MAC receive DLE, MAC do not STX (ECHO Value is OK) send SYN signal to PC, ignoring DLE (ECHO is not OK) commands from PC. SYN Supplement Page 11 MAC Communication Protocol I/O Input 32 points READ PC 비 고 MAC SOH ACK 27 (TOKEN) 27 (ECHO) DATA(4 BYTES) CHKSUM(1 BYTE) ETX EOT (CHKSUM Value is OK) DLE (CHKSUM is not OK) * If PC send the signal DLE then, MAC controller make CHKSUM Error and the output of error (=SYS I/O No 1) is ON. * CHKSUM Method CHKSUM transfer 1 byte with 2 compliment adding data with the CHAR variable . * the sequence of data send for LONG variables BYTE HIGH BYTE Sending Sequence 4 Supplement Page 12 MIDDLE BYTE #1 MIDDLE BYTE #2 3 2 LOW BYTE 1 MAC Communication Protocol I/O Output 32 points READ PC 비 고 MAC SOH ACK 28 (TOKEN) 28 (ECHO) DATA(4 BYTES) CHKSUM(1 BYTE) ETX EOT (CHKSUM Value is OK) DLE (CHKSUM is not OK) * If PC send the signal DLE then, MAC controller make CHKSUM Error and the output of error (=SYS I/O No 1) is ON. * CHKSUM Method CHKSUM transfer 1 byte with 2 compliment adding data with the CHAR variable . * the sequence of data send for LONG variables BYTE HIGH BYTE Sending Sequence 4 Supplement Page 13 MIDDLE BYTE #1 MIDDLE BYTE #2 3 2 LOW BYTE 1 MAC Communication Protocol Objective Location READ PC 비 고 MAC SOH ACK 29 (TOKEN) 29 (ECHO) DATA(12 BYTES) CHKSUM(1 BYTE) ETX EOT (CHKSUM Value is OK) DLE (CHKSUM is not OK) * If PC send the signal DLE then, MAC controller make CHKSUM Error and the output of error (=SYS I/O No 1) is ON. * CHKSUM Method CHKSUM transfer 1 byte with 2 compliment adding data with the CHAR variable . * the sequence of data send for LONG variables BYTE HIGH BYTE Sending Sequence 4 MIDDLE BYTE #1 MIDDLE BYTE #2 3 2 LOW BYTE 1 * Sending Location data Location Data are LONG variables and transferred with 12 bytes of location data for 3 axes. Data for decimal points : transferred with LONG variables changing "location data × 100" Supplement Page 14 MAC Communication Protocol Current Location READ PC MAC c.f. SOH ACK 30 (TOKEN) 30 (ECHO) DATA(12 BYTES) CHKSUM(1 BYTE) ETX EOT (CHKSUM Value is OK) DLE (CHKSUM is not OK) * If PC send the signal DLE then, MAC controller make CHKSUM Error and the output of error (=SYS I/O No 1) is ON. * CHKSUM Method CHKSUM transfer 1 byte with 2 compliment adding data with the CHAR variable . * the sequence of data send for LONG variables BYTE HIGH BYTE Sending Sequence 4 MIDDLE BYTE #1 MIDDLE BYTE #2 3 2 LOW BYTE 1 * Sending Location data Location Data are LONG variables and transferred with 12 bytes of location data for 3 axes. Data for decimal points : transferred with LONG variables changing "location data × 100" Supplement Page 15 MAC Communication Protocol ERROR READ PC MAC c.f. SOH ACK 31 (TOKEN) 31 (ECHO) DATA(4 BYTES) CHKSUM(1 BYTE) ETX EOT (CHKSUM Value is OK) DLE (CHKSUM is not OK) * If PC send the signal DLE then, MAC controller make CHKSUM Error and the output of error (=SYS I/O No 1) is ON. * CHKSUM Method CHKSUM transfer 1 byte with 2 compliment adding data with the CHAR variable . * the sequence of data send for LONG variables BYTE HIGH BYTE Sending Sequence 4 * ERROR Data Structure MIDDLE BYTE #1 MIDDLE BYTE #2 3 LOW BYTE 2 1 (ERROR data are LONG variables) ERROR Data is composited with data required for explaining the contents below. ↙ the highest rank 2-bytes explains "Error_Code" and the highest rank 2-bytes explains "Error_Code" to come under. BYTE HIGH BYTE Data Structure MIDDLE BYTE #1 MIDDLE BYTE #2 ERROR_VAL LOW BYTE ERROR_CODE <EX> ERROR Contents : There is not P010 LOCATION. ERROR CODE : 72 (SYSTEM ERROR CODE = 2) => Codes for ERROR Contents ERROR VAL : 010 => LOCATION No <EX> ERROR Contents : 1 axis + LIMIT SENSOR perception. ERROR CODE : 83 (SYSTEM ERROR CODE = 13) => Codes for ERROR Contents ERROR VAL : 0 => Axis No *** The number for axes starts with "0". Supplement Page 16 MAC Communication Protocol ERROR RESET PC MAC c.f. SOH ACK 32 (TOKEN) 32 (ECHO) 0(ZERO) 0(ZERO) If MAC receive DLE, MAC do not STX (ECHO Value is OK) send SYN signal to PC, ignoring DLE (ECHO is not OK) commands from PC. SYN * This should be used in order to CLEAR errors in case of errors. The duration for ERROR RESET command is about 25 msec. If this command is executed with success, then the output for ERROR (SYS I/O No 1) is Off. Supplement Page 17 MAC Communication Protocol IO BIT ON/OFF PC MAC c.f. SOH ACK 33 (TOKEN) 33 (ECHO) BIT NO(1~16) 1(ON),0(OFF) If MAC receive DLE, MAC do not STX (ECHO Value is OK) send SYN signal to PC, ignoring DLE (ECHO is not OK) commands from PC. SYN REGISTER READ PC MAC c.f. SOH ACK 34 (TOKEN) 34 (ECHO) REGISER NO(0~99) 0(ZERO) If MAC receive DLE, MAC do not STX (ECHO Value is OK) send SYN signal to PC, ignoring DLE (ECHO is not OK) commands from PC. SYN REGISTER Contents (1 BYTE) CHKSUM(1 BYTE) ETX EOT (CHKSUM Value is OK) DLE (CHKSUM is not OK) Supplement Page 18 MAC Communication Protocol REGISTER WRITE PC MAC c.f. SOH ACK 35 (TOKEN) 35 (ECHO) REGISER NO(0~99) WRITE DATA(0~255) If MAC receive DLE, MAC do not STX (ECHO Value is OK) send SYN signal to PC, ignoring DLE (ECHO is not OK) commands from PC. SYN Connection OFF PC MAC c.f. SOH ACK 36 (TOKEN) 36 (ECHO) DATA ERASE PC SOH(0x01) NAK(0x15) Supplement Page 19 MAC c.f. MAC Communication Protocol HOLD PC MAC DLE * On execution of HOLD command, the output PAUSE (SYS I/O No 6) is ON. On execution of RUN command after HOLD, the program starts from the next line of current execution. If you want to start from the beginning of program, do RUN command after execute STOP command. STOP PC MAC CAN * On execution of STOP command, the output of "PAUSE","RUN" (SYS I/O No5,6) is Off. on connection PC MAC ENQ XON * This is used in order to connect from MAC to PC communication. When the program is running on MAC controller, MAC sends "XON" signal to PC after the end of running-command. Supplement Page 20 SOH 0x01 STX 0x02 ETX 0x03 EOT 0x04 ENQ 0x05 ACK 0x06 DLE 0x10 SYN 0x16 CAN 0x18 XON 0x11 MAC Communication Protocol ERROR CODE for MAC controller * refer to the manual chapter 12 about contents of errors. NO ERR CODE ERR VAL Classification c.f. 1 1 0 ~ 99 EDIT ERROR 1 ERROR VAL = REG. No 2 2 0 ~ 255 EDIT ERROR 2 ERROR VAL = LOC. No 3 3 0 ~ 99 EDIT ERROR 3 ERROR VAL = SFT LOC. No 4 4 0 ~ 255 EDIT ERROR 4 ERROR VAL = LOC. No 5 5 0 ~ 99 EDIT ERROR 5 ERROR VAL = SFT LOC. No 6 6 × EDIT ERROR 6 7 7 × EDIT ERROR 7 8 8 × EDIT ERROR 8 9 9 × EDIT ERROR 9 10 10 × EDIT ERROR 10 11 11 × EDIT ERROR 11 12 12 × EDIT ERROR 12 13 13 × EDIT ERROR 13 14 14 × EDIT ERROR 14 15 15 × EDIT ERROR 15 16 16 × EDIT ERROR 16 17 17 × EDIT ERROR 17 18 18 × EDIT ERROR 18 19 19 × EDIT ERROR 19 20 20 2 ~ 3 EDIT ERROR 20 21 21 × EDIT ERROR 21 22 22 × EDIT ERROR 22 23 23 × EDIT ERROR 23 24 24 × EDIT ERROR 24 25 25 × EDIT ERROR 25 26 26 × EDIT ERROR 26 *27 27 × EDIT ERROR 27 *28 28 × EDIT ERROR 28 *29 29 × EDIT ERROR 29 *30 30 × EDIT ERROR 30 Supplement Page 21 ERROR VAL = Axis No MAC Communication Protocol NO ERR CODE ERR VAL Classification 31 41 × Parameter ERROR 1 32 42 × Parameter ERROR 2 33 43 × Parameter ERROR 3 34 44 × Parameter ERROR 4 35 45 × Parameter ERROR 5 36 46 × Parameter ERROR 6 37 47 × Parameter ERROR 7 38 48 × Parameter ERROR 8 39 49 × Parameter ERROR 9 40 50 × Parameter ERROR 10 41 51 × Parameter ERROR 11 42 52 × Parameter ERROR 12 43 53 × Parameter ERROR 13 44 54 × Parameter ERROR 14 45 55 × Parameter ERROR 15 46 56 × Parameter ERROR 16 Supplement Page 22 c.f. MAC Communication Protocol NO ERR CODE ERR VAL Classification 47 71 × SYSTEM ERROR 1 48 72 0 ~ 255 SYSTEM ERROR 2 ERROR VAL = LOC. No 49 73 0 ~ 99 SYSTEM ERROR 3 ERROR VAL = SFT LOC. No 50 74 0 ~ 255 SYSTEM ERROR 4 ERROR VAL = LOC. No 51 75 0 ~ 99 SYSTEM ERROR 5 ERROR VAL = SFT LOC. No 52 76 × SYSTEM ERROR 6 53 77 0 ~ 31 SYSTEM ERROR 7 54 78 × SYSTEM ERROR 8 55 79 0 ~ 3 SYSTEM ERROR 9 ERROR VAL = Axis No 56 80 0 ~ 3 SYSTEM ERROR 10 ERROR VAL = Axis No 57 81 0 ~ 3 SYSTEM ERROR 11 ERROR VAL = Axis No 58 82 0 ~ 3 SYSTEM ERROR 12 ERROR VAL = Axis No 59 83 0 ~ 3 SYSTEM ERROR 13 ERROR VAL = Axis No 60 84 0 ~ 3 SYSTEM ERROR 14 ERROR VAL = Axis No 61 85 0 ~ 3 SYSTEM ERROR 15 ERROR VAL = Axis No 62 86 0 ~ 99 SYSTEM ERROR 16 ERROR VAL = LABEL No 63 87 × SYSTEM ERROR 17 64 88 × SYSTEM ERROR 18 65 89 × SYSTEM ERROR 19 66 90 0 ~ 3 SYSTEM ERROR 20 ERROR VAL = Axis No 67 91 0 ~ 3 SYSTEM ERROR 21 ERROR VAL = Axis No 68 92 0 ~ 3 SYSTEM ERROR 22 ERROR VAL = Axis No 69 93 × SYSTEM ERROR 23 70 94 × SYSTEM ERROR 24 71 95 × SYSTEM ERROR 25 72 96 × SYSTEM ERROR 26 73 97 1 ~ 100 SYSTEM ERROR 27 ERROR VAL = PAL No 74 98 0 ~ 9999 SYSTEM ERROR 28 ERROR VAL = PAL LOC. No *75 99 1~10 SYSTEM ERROR 29 ERROR VAL = SPL. No Supplement Page 23 c.f. ERROR VAL = PROG. No MAC Communication Protocol NO ERR CODE ERR VAL Classification c.f. 76 111 0 ~ 31 CHKSUM ERROR 1 ERROR VAL = PROG. No 77 112 0 ~ 255 CHKSUM ERROR 2 ERROR VAL = LOC. No 78 113 0 ~ 99 CHKSUM ERROR 3 ERROR VAL = SFT LOC. No 79 114 × CHKSUM ERROR 4 80 115 0 ~ 3 CHKSUM ERROR 5 ERROR VAL = Axis No 81 116 0 ~ 3 CHKSUM ERROR 6 ERROR VAL = Axis No 82 117 0 ~ 3 CHKSUM ERROR 7 ERROR VAL = Axis No 83 118 0 ~ 3 CHKSUM ERROR 8 ERROR VAL = Axis No 84 119 × CHKSUM ERROR 9 *85 120 × CHKSUM ERROR 10 Supplement Page 24