User Manual for UFACTORY models including: xArm, Linear Motor, xArm Linear Motor, Motor
xArm Accessories Download | UFACTORY
File Info : application/pdf, 31 Pages, 915.62KB
DocumentDocumentUFACTORY 1 UFACTORY Table 1. General Presentation....................................................................4 1.1. UFactory Linear Motor Introduction .......................................... 4 1.2. Linear Motor Model...................................................................4 1.3. AC Control Box Pro .................................................................... 5 1.4. Safety ....................................................................................... 6 1.4.1. Warning ........................................................................... 6 1.4.2. Risk Assessment and Final Application............................7 1.4.3. Validity and Responsibility .............................................. 8 2. Installation ................................................................................... 9 2.1. Scope of Delivery ...................................................................... 9 2.2. Mechanical Installation........................................................... 10 3. Control ....................................................................................... 14 3.1. Control Linear Motor through xArm Studio ............................. 14 3.2. Control Linear Motor through Python-SDK.............................. 16 3.3. Indicator ................................................................................. 16 3.4. IO Control................................................................................ 17 2 UFACTORY 4. Linear Motor Alarm Code............................................................ 17 5. Linear Motor Technical Specifications ........................................ 20 6. After-sales Service ..................................................................... 21 Appendix ............................................................................................... 23 Appendix1 - Use Modbus-RTU communication Protocol to Control Linear Motor ..................................................................................................... 23 1.1 Modbus RTU Communication Format .......................................... 23 1.2 Read Linear Motor Register......................................................... 24 1.3 Write Linear Motor Register......................................................... 25 1.4 Modbus RTU Example ................................................................. 25 3 UFACTORY 1. General Presentation 1.1. UFactory Linear Motor Introduction UFactory Linear Motor needs to be used with AC Control Box Pro, it mainly supports and guides the moving parts(Robotic Arm) to move smoothly according to the given direction, which significantly increases the working range of xArm. UFactory Linear Motor 1.2. Linear Motor Model There are two models of UFactory Linear Motor, which can be divided according to Serial Number(SN). SN can be found at the end plate of Linear Motor, see the figure below. Zero Position: position - 0. 4 UFACTORY Speed Range: 1 to 1000(mm/s). Position Range: depend on the model(SN) of Linear Motor. SN - AL1300: 0 to 700(mm) SN - AL1301: 0 to 1000(mm) 1.3. AC Control Box Pro UFactory Linear Motor comes with AC Control Box Pro. Control IO connection is as shown in the figure below, and it has been connected before shipping. 5 UFACTORY 1.4. Safety The operator must read and understand all the instructions below before running the Linear Motor. 1.4.1. Warning 1. The Linear Motor needs to be properly installed before operating. 2. Do not install or operate a Linear Motor that is damaged or lacking parts. 3. Never supply Linear Motor with an alternative current (AC) source. 4. Make sure all cord sets are always secured at both ends, Linear Motor end & Robot end. 5. Always satisfy the recommended Mechanical Installation. 6. Be sure nothing is in the robot and Linear Motor path before initializing the Linear Motor. 6 UFACTORY 7. Set the Linear Motor speed and position accordingly, based on your application. Caution The term "operator" refers to anyone responsible for any of the following operations on the Linear Motor: Installation Control Maintenance Inspection Programming Decommissioning This documentation explains the various components of the Linear Motor and general operations regarding the whole life-cycle of the product from installation to operation and decommissioning. The drawings and photos in this documentation are representative examples and differences may exist between them and the delivered product. 1.4.2. Risk Assessment and Final Application The Linear Motor is meant to be used on an industrial robot. The robot, Linear Motor and any other equipment used in the final application must be evaluated with a risk assessment. The robot integrator must ensure 7 UFACTORY that all local safety measures and regulations are respected. Depending on the application, there may be risks that need additional protection/safety measures, for example, the work-piece the Linear Motor is manipulating may be inherently dangerous to the operator. 1.4.3. Validity and Responsibility The Linear Motor is designed for supporting and guiding the moving parts(Robotic Arm), according to the given direction of smooth reciprocating linear motion. Caution The product can be installed horizontally only. No debris should be placed on the surface of the product. The photoelectric sensor on the Linear Motor can not be disassembled. The product is intended for installation on a robot or other automated machinery and equipment. Info Always comply with local and/or national laws, regulations and directives on automation safety and general machine safety. The unit may be used only within the range of its technical data. Any other use of the product is deemed improper and unintended use. UFACTORY will not be liable for any damages resulting from any improper or unintended use. 8 UFACTORY 2. Installation The following subsections will guide you through the installation and general setup of Linear Motor. (1) The Scope of Delivery section (2) The Mechanical Installation section Warning Before installing: Read and understand the safety instructions related to the Linear Motor. Verify your package according to the Scope of delivery and your order info. Have the required parts, equipment and tools listed in the requirements readily available. Installing: Satisfy the environmental conditions. Please do not disassemble the photoelectric sensor on the Linear Motor. Do not operate the Linear Motor, or even turn on the power supply, before it is firmly anchored and the danger zone is cleared. 2.1. Scope of Delivery A Linear Motor Kit generally includes these items: 9 UFACTORY UFactory Linear Motor *1 (including Power cable for the Linear Motor*1, Power cable for the Robotic Arm*1) Power cable for the AC Control Box Pro*1 Communication cable for the Robotic Arm*1 AC Control Box Pro*1 Ethernet Cable*1 Head hexagon socket screws M6*20 (28) Head hexagon socket screws M5*12 (5) 5MM L type wrench*1 4MM L type wrench*1 Debugging tool*1(USB to 485 cable) 2.2. Mechanical Installation The Linear Motor is directly connected to the AC Control Box Pro via a cable, which is used for 48V DC power supply and Modbus RTU communication over RS-485. Linear Motor installation steps (as shown below): 1. Move the Linear Motor and robotic arm to a safe position. Avoid touching other equipment or obstacles; Please install the Linear Motor 10 UFACTORY horizontally only, not vertically. There are 20 6.2 screw holes on the linear motor which is designed for fixing the linear motor on the table or base. There are also 28 M6*20 screws in the package. Dimension of screws holes in the linear motor (unit: mm) 2. Fix the base plate on the Linear Motor with 8 M6*20 screws. 11 UFACTORY 3. Fix the robotic arm on the base plate with 5 M5*12 screws. 4. Cable connection: 1Plug the Linear Motor Power Supply Cable, LAN cable into control box. 2Plug the connector of the Robotic Arm Power Supply Cable and the Robotic Arm Signal Cable into the interface of the Robotic Arm. The connector is a foolproof design. Please do not unplug and plug it violently. 3Plug the Robotic Arm Power Supply Cable and the Robotic Arm Signal Cable into the interface of control box. The connector is a foolproof design. 5. Turn on the power switch of the control box and release the emergency stop button. 6. Enter into 'xArmStudio-Settings-Tools-Linear Motor', click 'Initialize' 12 UFACTORY button to return to zero position and finish initialization. Note: 1. When wiring the Linear Motor connection cable, be sure to power off the Robotic Arm, the emergency stop button is pressed down and the power indicator of the robotic arm is off, so as to avoid robotic arm failure caused by hot plugging; 2. The Linear Motor has no brake design, please installed horizontally only. 13 UFACTORY 3. Control 3.1. Control Linear Motor through xArm Studio 1. Set up Linear Motor Enter [Settings]-[Tools]-[Linear Motor] Turn on [Is Linear Motor installed]. Click [Initialize] button. 1. [Is Linear Motor installed] button should be turn on. 2. Click [Initialize] button to enable the Linear Motor and return to zero position. After the initialization is completed, the Linear Motor will be ready to move. 2.Control Linear Motor 14 UFACTORY 1) In Linear Motor interface, the speed and position of the Linear Motor can be adjusted through the progress bar, +/- keys, and input box. 2) Control the Linear Motor through Blockly UF_Linear_Motor.Blockly The role of this program: execute this program to control the Linear Motor to reciprocate 10 times at the highest speed(1000mm/s) from the zero position to the farthest position. 15 UFACTORY Note: 1) Before moving the linear motor for the first time after power on, it is a must to go back to zero position and do initialization first. 2) Click 'Edit' button, can quickly modify the position of Linear Motor. 3.2. Control Linear Motor through Python-SDK For details on controlling Linear Motor with python-SDK, please refer to the link below: https://github.com/xArm-Developer/xArm-Python-SDK/blob/master/ex ample/wrapper/common/9000-set_linear_track.py 3.3. Indicator Linear Motor has two indicators, which are at the end plate of Linear 16 UFACTORY Motor. 1. Power indicator: it will show red light when power on. 2. Status indicator: a steady green light indicates normal status; a flashing green light indicates there is an error. 3.4. IO Control Linear Motor has three IOs, one Input and two Outputs. SCI1: Emergency stop of Linear Motor, low level effective. SCO0: Output high level, indicating there is an error of Linear Motor. SCO1: Output high level, indicating the position has been reached. 4. Linear Motor Alarm Code Software Error Handling: 17 UFACTORY 1. If there is a software error, please refer to Error Handling Method. 2. If it does not work, please re-power on the Linear Motor. Press down the Emergency stop button on the AC Control Box Pro, release it after 5 seconds, and click xArmStudio 'initialize' button to enable and initialize the Linear Motor. If the problem remains unsolved after power on/off multiple times, please contact UFACTORY team for support. Software Error Code Error Handling Linear Motor Current Detection Error T9 Please restart the Controller. If multiple reboots are not working, please contact technical support. Linear Motor Current Overlimit T11 Please click "Clear Error" clear the Linear Motor error. Linear Motor Speed Overlimit T12 Please click "Clear Error" clear the Linear Motor error. Linear Motor Large Motor Position Deviation Please check if the movement of the Linear Motor is blocked, if not, T13 please click "Clear Error" clear the Linear Motor error. Linear Motor Position Command Overlimit T14 Please click "Clear Error" clear the Linear Motor error. Linear Motor EEPROM Read and Write Error T15 Please click "Clear Error" clear the Linear Motor error. Linear Motor Driver IC Hardware Error T20 Please click "Clear Error" clear the Linear Motor error. 18 UFACTORY Linear Motor Driver IC Initialization Error T21 Please click "Clear Error" clear the Linear Motor error. Linear Motor Command Over Software Limit T25 Please check if the Linear Motor command is set beyond the software limit. Linear Motor Feedback Position Software Limit T26 Please contact technical support. Linear Motor Drive Overloaded T33 Please contact technical support. Linear Motor Motor Overload T34 Please contact technical support. Linear Motor Driver Type Error T36 Please click "Clear Error" clear the Linear Motor error. For alarm codes that are not listed in the above table: Please click "Clear Error" clear the Linear Motor error.If it reports the same error repeatedly, please contact technical support. Appendix: xArm-Python-SDK alarm processing method: When designing the Linear Motor path with the Python library, if the errors appear, you need to manually clear the errors. After clearing the error, re-enable the Linear Motor. 1.error clearing: clean_linear_track_error() 2. initialize and enable Linear Motor if necessary: set_linera_track_enable() set_linear_track_back_origin() 19 UFACTORY 5. Linear Motor Technical Specifications UFactory Linear Motor Continue 62N Peak force 160N Maximum speed 1000mm/s Travel distance AL1300:0-700mm; AL1301:0-1000mm Maximum load mass 200kg Communication Mode RS-485 Communication Protocol Modbus RTU Programmable Gripping Specification Position, Speed Feedback Position Dimensions(L*W*H) AL1300: 1096*214*115mm AL1301: 1382*214*115mm 20 UFACTORY Weight AL1300:20kgAL1301:24kg 6. After-sales Service 1. After-sales policy: For the detailed after-sales policy of the product, see the official website: https://store-ufactory-cc.myshopify.com/pages/warranty-returns 1. The general process of after-sales service is: (1) Contact UFACTORY technical support (support@ufactory.cc) to confirm whether the product needs to repair and which part should be sent back to UFACTORY. (2) After the bill of lading on UPS/DHL, we will send the invoice and label to you by mail. You need to make an appointment with the local UPS/DHL and then send the product to us. (3) UFACTORY will check the product warranty status according to the after-sales policy. (4) Generally, the process takes around 1-2 weeks except for shipment. Note: 21 UFACTORY 1. Please keep the original packaging materials of the product. When you need to send the product back to get repaired, please pack the product with the original box to protect the product during the transportation. 22 UFACTORY Appendix Appendix1 - Use Modbus-RTU communication Protocol to Control Linear Motor 1.1 Modbus RTU Communication Format The Linear Motor defaults to the standard Modbus RTU protocol at a default baudrate is 2Mbps and the slave ID is 0x01. The currently supported function codes are: 0x03 / 0x06/ 0x10. Commonly used address for Linear Motor are: 0x0100, 0x0700, 0x0303, 0x0A0A, 0x0404, 0x004F. If need to store EEPROM, perform an '|' operation with the communication address and 0x1000. For example, write servo operation mode to EEPROM, the communication address(0x0A0B) should be changed to 0x1A0B. Note: Linear Motor needs to be initialized after each powered on. 23 UFACTORY 1.2 Read Linear Motor Register Read Register Request Slave ID (Linear Motor) 1 Byte Function Code Modbus RTU Data Register Starting Address 1 Byte 2 Bytes Quantity of Register 2 Bytes Modbus CRC16 2 Bytes Response Slave ID 1 Byte Modbus RTU Data Function Code Byte Count 1 Byte 1 Byte Registers Value N*x2 Bytes Modbus CRC16 2 Bytes N* = Quantity of Registers 0x01 0x03 Address N* CRC* 0x01 0x03 N*x2 Value CRC* Address = Register Starting Address CRC* = Cyclic Redundancy Check Resgister Starting Address Registers Value Get Linear Motor status Register 0x0000 End status: 0x0000 2 Bytes Motion status: 0x0001 Stop status: 0x0002 Get Linear Motor position Register 0x0702 4bytes 0xFFFFFFFB-0x00000320 Get Linear Motor Error Register 0x000F 2 Bytes An error occurs: all other return values indicate an error(except 0) No error occurred: 0x0000 24 UFACTORY 1.3 Write Linear Motor Register Write Register Request Slave ID (Linear Motor) 1 Byte Function Code 1 Byte Register Starting Address Modbus RTU Data Quantity of Register 2 Bytes 2 Bytes Byte Count 1 Byte Registers Value N*x2 Bytes Modbus CRC16 2 Bytes Response Slave ID 1 Byte Function Code Modbus RTU Data Register Starting Address 1 Byte 2 Bytes Quantity of Registers 2 Bytes Modbus CRC16 2 Bytes N* = Quantity of Registers Address = Register Starting Address CRC* = Cyclic Redundancy Check 1.4 Modbus RTU Example 1. Enable Linear Motor Request Slave ID (Linear Motor) 1 Byte Function Code 1 Byte Register Starting Address Modbus RTU Data Quantity of Registers 2 Bytes 2 Bytes Byte Count 1 Byte Registers Value 2 Bytes 25 0x01 0x10 Address N* N*x2 Value CRC* 0x01 0x10 Address N* CRC* 0x01 0x10 0x01,0x00 0x00,0x01 0x02 0x00,0x01 UFACTORY Modbus CRC16 2 Bytes Response Slave ID 1 Byte Function Code Modbus RTU Data Register Starting Address 1 Byte 2 Bytes Quantity of Registers 2 Bytes Modbus CRC16 2 Bytes 2. Set Linear Motor position Set Linear Motor position Request Slave ID (Linear Motor) 1 Byte Function Code 1 Byte Register Starting Address Modbus RTU Data Quantity of Registers 2 Bytes 2 Bytes Byte Count 1 Byte Registers Value 4Bytes Modbus CRC16 2 Bytes Response Slave ID 1 Byte Function Code Modbus RTU Data Register Starting Address 1 Byte 2 Bytes Quantity of Registers 2 Bytes Modbus CRC16 2 Bytes 3. Set Linear Motor Speed Set Linear Motor Speed Request Slave ID (Linear Motor) 1 Byte Function Code 1 Byte Register Starting Address Modbus RTU Data Quantity of Registers 2 Bytes 2 Bytes Byte Count 1 Byte Registers 2 Bytes Modbus RTU Data Modbus CRC16 2 Bytes Response Slave ID 1 Byte 26 0x1D,0x00 0x01 0x10 0x01,0x00 0x00,0x01 0x00,0xAC 0x01 0x10 0x07,0x00 0x00,0x02 0x04 0x00,0x1E,0x84,0x80 0x7B,0x62 0x01 0x10 0x07,0x00 0x00,0x02 0x40,0x25 0x01 0x10 0x03,0x03 0x00,0x01 0x02 0x17,0x70 0xFD,0xFA 0x01 UFACTORY Function Code Register Starting Address Quantity of Registers Modbus CRC16 4. Set Linear Motor to Zero position 1 Byte 2 Bytes 2 Bytes 2 Bytes Set Linear Motor tozero position Request Slave ID (Linear Motor) 1 Byte Function Code Modbus RTU Data Register Starting Address 1 Byte 2 Bytes Quantity of Registers 2 Bytes Modbus CRC16 2 Bytes Response Slave ID 1 Byte Function Code Modbus RTU Data Register Starting Address 1 Byte 2 Bytes Quantity of Registers 2 Bytes Modbus CRC16 2 Bytes 5. Set Linear Motor speed to Zero position Set Linear Motor speed to zero position Request Slave ID (Linear Motor) 1 Byte Function Code 1 Byte Register Starting Address Modbus RTU Data Quantity of Registers 2 Bytes 2 Bytes Byte Count 1 Byte Registers 2 Bytes Modbus CRC16 2 Bytes Response Slave ID 1 Byte Function Code Modbus RTU Data Register Starting Address 1 Byte 2 Bytes Quantity of Registers 2 Bytes Modbus CRC16 2 Bytes 6. Get if Linear Motor is back to zero 27 0x10 0x03,0x03 0x00,0x01 0xF1,0x14 0x01 0x06 0x0A,0x0A 0x00,0x01 0xFD,0xFA 0x01 0x10 0x0A,0x0A 0x00,0x01 0xFD,0xFA 0x01 0x10 0x04,0x04 0x00,0x01 0x02 0x0B,0xB8 0xFD,0xFA 0x01 0x10 0x04,0x04 0x00,0x01 0xF1,0x14 UFACTORY Get if Linear Motor is back to zero Request Slave ID (Linear Motor) 1 Byte Function Code Modbus RTU Data Register Starting Address 1 Byte 2 Bytes Quantity of Registers 2 Bytes Modbus CRC16 2 Bytes Response Slave ID 1 Byte Modbus RTU Data Function Code Byte Count 1 Byte 1 Byte Registers Value 2 Bytes Modbus CRC16 2 Bytes 0x01 0x03 0x0A,0x25 0x00,0x01 0xB5,0xDD 0x01 0x03 0x02 0x00,0x01 0x79,0x84 7. Monitor the distance between the photoelectric sensor and the fisrt Z phase Monitor the distance Request Slave ID (Linear Motor) 1 Byte Function Code Modbus RTU Data Register Starting Address 1 Byte 2 Bytes Quantity of Registers 2 Bytes Modbus CRC16 2 Bytes Response Slave ID 1 Byte Modbus RTU Data Function Code Byte Count 1 Byte 1 Byte Registers Value 2 Bytes Modbus CRC16 2 Bytes 8. Locating end range 0x01 0x03 0x0A,0x28 0x00,0x01 0xE4,0x1D 0x01 0x03 0x02 0x06,0xF2 0x3A,0x61 Locating end range Request Slave ID (Linear Motor) 1 Byte Modbus RTU Data Function Code Register Starting Address 1 Byte 2 Bytes Quantity of Registers 2 Bytes 28 0x01 0x10 0x0A,0x0B 0x00,0x01 UFACTORY Byte Count 1 Byte Registers Value(1000) 2 Bytes Modbus CRC16 2 Bytes Response Slave ID 1 Byte Function Code Modbus RTU Data Register Starting Address 1 Byte 2 Bytes Quantity of Registers 2 Bytes Modbus CRC16 2 Bytes 9. Soft emergency stop trigger soft emergency stop Request Slave ID (Linear Motor) 1 Byte Function Code 1 Byte Register Starting Address Modbus RTU Data Quantity of Registers 2 Bytes 2 Bytes Byte Count 1 Byte Registers Value(1000) 2 Bytes Modbus CRC16 2 Bytes Response Slave ID 1 Byte Function Code Modbus RTU Data Register Starting Address 1 Byte 2 Bytes Quantity of Registers 2 Bytes Modbus CRC16 2 Bytes 10. get Linear Motor SN get Linear Motor SN Request Slave ID (Linear Motor) 1 Byte Function Code Modbus RTU Data Register Starting Address 1 Byte 2 Bytes Quantity of Registers 2 Bytes Modbus CRC16 2 Bytes Response Modbus RTU Data Slave ID 1 Byte 29 0x02 0x03,0xE8 0x0C,0xC0 0x01 0x10 0x0A,0x0B 0x00,0x01 0x73,0xD3 0x01 0x10 0x0A,0x0B 0x00,0x01 0x02 0x00,0x01 0xCC,0xBE 0x01 0x10 0x0A,0x0E 0x00,0x01 0x63,0xD2 0x01 0x03 0x0B,0x10 0x00,0x02 0xB5,0xDD 0x01 UFACTORY Function Code Byte Count Registers Value Modbus CRC16 11. get input SCI status 1 Byte 1 Byte 2 Bytes 2 Bytes get input SCI status Request Slave ID (Linear Motor) 1 Byte Function Code Modbus RTU Data Register Starting Address 1 Byte 2 Bytes Quantity of Registers 2 Bytes Modbus CRC16 2 Bytes Response Slave ID 1 Byte Modbus RTU Data Function Code Byte Count 1 Byte 1 Byte Registers Value 2 Bytes Modbus CRC16 2 Bytes 12. get output SCO status get output SCO status Request Slave ID (Linear Motor) 1 Byte Function Code Modbus RTU Data Register Starting Address 1 Byte 2 Bytes Quantity of Registers 2 Bytes Modbus CRC16 2 Bytes Response Slave ID 1 Byte Modbus RTU Data Function Code Byte Count 1 Byte 1 Byte Registers Value 2 Bytes Modbus CRC16 2 Bytes 12. get status area address start from 0x0A20 30 0x03 0x04 ** ** 0x01 0x03 0x0A,0x26 0x00,0x01 0x86,0x17 0x01 0x03 0x02 ** ** 0x01 0x03 0x0A,0x27 0x00,0x01 0xD7,0xD7 0x01 0x03 0x02 ** ** UFACTORY get status area Request Slave ID (Linear Motor) 1 Byte 0x01 Function Code Modbus RTU Data Register Starting Address 1 Byte 2 Bytes 0x03 0x0A,0x20 Quantity of Registers 2 Bytes 0x00,0x08 Modbus CRC16 2 Bytes 0x46,0x1E Response Slave ID 1 Byte 0x01 Modbus RTU Data Function Code Byte Count 1 Byte 1 Byte 0x03 0x10 Registers Value 16 Bytes ** Modbus CRC16 2 Bytes ** Registers Value - 16 Bytes: 00 00 0F A0 00 00 00 00 00 01 00 01 00 02 00 02 1-4 bytes: 00 00 0F A0 , current position(unit: number of pulses) 5-6 bytes: 00 00, get Linear Motor status(same as address 0x0000) 7-8 bytes: 00 00, error code 9-10 bytes: 00 01, enable status 11-12 bytes: 00 01, if get back to zero 12-14 bytes: 00 02, SCI status 15-16 bytes: 00 02, SCO status 31