background image

56

Modbus TCP:

Robot is a Modbus Server waiting for connection from external Modbus clients.

Robot Modbus setting

Colis: Read (number: 1) and Write (number: 5)

Address

Node Introduction

R/W right

1

locked

R

2

running program

R

3

standby

R

4

paused

R

5

program stopped (rising edge)

R

6

error

R

7

Control box IO output

io_out[1]

R/W

8

Control box IO output

io_out[2]

R/W

9

Control box IO output

io_out[3]

R/W

10

Control box IO output

io_out[4]

R/W

11

Control box IO output

io_out[5]

R/W

12

Control box IO output

io_out[6]

R/W

13

Control box IO output

io_out[7]

R/W

14

Control box IO output

io_out[8]

R/W

15-32

reserved

/

33

Flange IO output

tool_out[1]

R/W

34

Flange IO output

tool_out[2]

R/W

35-50

reserved

/

51

robot locked

R

52

run program

R

53

pause program

R

54

stop program

R

55-56

reserved

/

57

Control box IO input

IO_in[1]

R

58

Control box IO input

IO_in[2]

R

59

Control box IO input

IO_in[3]

R

60

Control box IO input

IO_in[4]

R

61

Control box IO input

IO_in[5]

R

62

Control box IO input

IO_in[6]

R

63

Control box IO input

IO_in[7]

R

64

Control box IO input

IO_in[8]

R

65-72

reserved

/

73

Flange IO input, tool_in[1]

R

74

Flange IO input, tool_in[2]

R

75-80

reserved

/

Summary of Contents for GCR Series

Page 1: ...GCR Series Collaborative Robot User Manual Software Robot Model GCR20 1100 GCR14 1400 Robot Version 1 2 15 User interface Version 2 2 14 SIASUN Co Ltd ...

Page 2: ... subject to the commercial contract and terms and conditions of SIASUN Co Ltd All or part of the products services or features described in this manual may not be within the scope of your purchase or use Unless otherwise agreed in the contract SIASUN Co Ltd makes no representations or warranties either express or implied with respect to the contents of this manual Due to product version upgrade or...

Page 3: ...t without Drive Power 7 3 Introduction 8 4 Power On Power off 9 5 User Interface Introduction 12 5 1 Jog Page 12 5 2 Program Page 18 5 3 Run Page 21 5 4 Status Page 23 5 5 Setting Page 25 5 6 About Page 36 5 7 Disconnect Page 36 6 Robot Programming 37 6 1 Create program 37 6 2 Move tab 41 6 3 Function tab 42 6 4 Socket tab internet communication functions 46 6 5 Variable Tab Establishment 46 6 6 E...

Page 4: ... Expression 61 8 3 3 Logical Operation Expression 61 8 3 4 Assignment Expression 62 8 3 5 Function Call Expression 62 8 4 Statement 62 8 4 1 While Loop Statement 62 8 4 2 Break Statement 62 8 4 3 Function Definition 62 8 4 4 Return Statement 63 8 4 5 Conditional Control Statement 63 8 5 System Function Description 64 8 5 1 Movement Control 64 8 5 2 TCP IP Socket client 68 8 5 3 System Functions an...

Page 5: ... use the robot more safely and conveniently Be sure to operate this robot on the basis of careful reading and full understanding of this document This document applies for the following users On site robotic engineer Robotic software engineer Hardware installation engineer On site Maintenance engineer System maintenance engineer Operators must receive basic training before robot s operation ...

Page 6: ...th or serious personal injury Used to warn of potentially dangerous situations that if not avoided may result in moderate or minor personal injury Used to convey device or environmental security warnings that if not avoided may result in damage to the device loss of data degradation of device performance or other unpredictable results Caution does NOT involve personal injury Used to highlight impo...

Page 7: ...y the user Please take the information of user equipment as the standard this manual will no longer address the differences caused by the above situations The maximum value provided in this manual is the maximum that a device achieves in a lab specific scenario that meets the appropriate standards For example constant temperature humidity interference free environment typical operating conditions ...

Page 8: ...a trained person who has proper methods of operation and all safety precautions Only trained and qualified technicians are able to perform equipment installation and maintenance 2 2 Limitation of Liability This information neither includes how to design install and operate a complete robot system nor any peripherals that affect the overall system In order to protect personal safety an outstanding ...

Page 9: ...k assessment is one of the most important tasks that integrators must accomplish The robot itself is a partially completed machine and the safety of the robot installation depends on how the robot is integrated e g tools obstacles and other machineries It is recommended that integrators perform risk assessment in accordance with ISO12100 and ISO10218 2 Alternatively technical specification ISO TS ...

Page 10: ... or accidentally power down Operating error due to different emergency stop button allocation and types 2 4 Safety Operations 2 4 1 Emergency Stop Emergency stop takes precedence over all the other robot control operations Pressing emergency stop will cause all controlled hazards to stop removing the motor power from the robot drive It will remain in effect until reset manually Activate emergency ...

Page 11: ...e following method Manual brake release Remove the M3 screws that secure the joint cover and remove the joint cover Press the plunger in the small electromagnet to release the brake Manually moving the robot arm is limited to emergency situation and may damage joints If manual release the break gravity may cause the robot arm to fall Always hold the robot arm tools and work pieces when releasing t...

Page 12: ...8 3 Introduction The following chapter will introduce how to operate the GCR20 1100 GCR14 1400 collaborative robot The user interface version is 2 2 14 and robot version is 1 2 15 ...

Page 13: ... power cable and press down the power on button to enable the operation system After pressing the power button the indicator light will turns on The system initialize till the welcome page appears on the demonstrator Click the Start button in the middle of demonstrator to start operating robot ...

Page 14: ...ection function Click Modify button for further editing Click OK button while the above information has been verified The white flange light demonstrates the robot has been power on The first time power on process may take a while for initializing After each axis has been initialized the stand by indicators turn from red to blue on demonstrator Click Enable All button to enable the control of the ...

Page 15: ...11 To disconnect the robot click the Disconnect button from demonstrator home page top right corner To shut off the system click the switch off icon to completely shut off the system ...

Page 16: ...tions Coordinate button 3D View button Joint Move button Line Move button Teach zero gravity move button and Speed button 1 Current joints position flange origin position Selecting the 3D View button the page will show the current joint positions and the flange origin position Click the joints flange origin data will open then Enter joint Values window In this window you can enter the target posit...

Page 17: ... Tool Coordinate or User Coordinate Tool coordinate set tool end as origin User coordinate origin needs to be set up by user While swapping different coordinates the robot parameters displayed jogging orientation and programming coordinate will be changed respectively It is not functional for setting up coordinate when running program When programming it requires to reset coordinate with functions...

Page 18: ...14 3 3D View Click 3D View button to show the robot 3D simulation The simulation is based on real robot The simulation interface will show whether the robot is located at home position ...

Page 19: ...ange origin window Holding the corresponding arrow button will let the robot flange origin to move along the axis Releasing the button will stop current move The X Y Z illustrates moves orientation is along X Y Z axis and RX RY RZ illustrates flange end rotational orientation Before manually jogging the flange end Please verify the coordinate is correct comparing with the real condition 6 Traction...

Page 20: ... addition if individual axis jogging smooth requires modifying it is able to adjust it by clicking the Joint Force control setting button In traction teach mode while the axis reach maximum or minimum limitation there is opposite notification force acted By enough force continue jogging to the maximum or minimum limitation it is able to reach close enough to the limitation The robot is about to se...

Page 21: ...Adjust Click Speed button will display the speed adjustment bar It is able to modify joint speed flange end speed and reset to home position speed Speed can also be adjusted by the 7th buttons on the teach pendant ...

Page 22: ...set by default which each axis is located at 0 positions 9 TCP Bias The TCP Bias button illustrates the flange end displacement at tool coordinate Click Start calculate bias from current point will set the current location as TCP origin for further calculation 5 2 Program Page By clicking the Program button on the navigation bar to start programming ...

Page 23: ...g or preview a program that has been prepared before by clicking the Import button In addition it is able to copy or delete the program where listed at the left column of screen to an USB drive For creating a program type in a file name after click Create Program button ...

Page 24: ... appears User can add movement nodes or script languages to the program in this page The new created program will be named as siasun spf Click the Finish Editing button to exit editing page Only characters numbers and underline are allowed for editing filename ...

Page 25: ... run a program Before running system will detect if the first target move position is the current robot position or not For safety concern if these two positions are different user must move the robot to the first target position manually by holding the Press to Move button ...

Page 26: ... hazard before executing the repeat program since there may be hazard if run the program infinitely The speed bar is functional for changing the program s speed percentage Click lick e label to repeat program infinitely or enter the repeat times for repeat the program certain times The light at flange end will turn green when running a program The dot at the left down corner indicates whether the ...

Page 27: ...will open the status page Status page will display current flange end position current joint position I O status and log info User can check the digital input status and digital output status from this page Red dot means low level and blue dot means high level ...

Page 28: ...24 There are 8 digital inputs and outputs on the control box and 2 digital inputs and outputs on the robot flange It is able to swap high or low level by clicking the corresponding dot ...

Page 29: ...25 5 5 Setting Page Click Setting on the top navigation bar will open the setting page TCP Setting From the tool coordinate setting it is able to set up the displacement between tool ...

Page 30: ...ion range for axis 6 is from 90 to 90 After the necessary rotation the axis 6 will rotate to origin which is 0 deg Therefore the axis 4 and axis 5 will rotate follow by the same algorithm Before the calculation and any rotation safety is priority and hazards need to be evaluated The auto recognize load function system helps user to calculate the tool s load center This center parameter can help im...

Page 31: ...27 For TCP calibration first select a point for TCP calibration Second move robot end to which the select point Finally click Next for the next select point ...

Page 32: ...int method please check the TCP has been set as 0 User Coordinate Setting From user coordinate setting it is able to set up the displacement between tool ends to base coordinate It is able to save multiple tool coordinates ...

Page 33: ... P2 and P3 are the X and Y direction of object coordinate respectively The simulation result will show on demonstrator after all settings Default Program Default program setting will let the robot run a specific program automatically when the system starts If the default program has been set up there will be a red ...

Page 34: ... IP address or set robot s IP address in this function User can use DHCP to auto affect an IP address or use a static IP address Safety Setting After type in password it is able to check whether the collision detection function is open or not In addition sensitivity and virtual walls settings are able to set up from here ...

Page 35: ...false the robot will warning and let user to reset Collision Detection Users are able to select collision detection function The indicator turns blue when the function has been selected If collision occurs with function turns on the robot will perform a stop until all settings are reset to correct If the robot report wrong collision frequently please stop and change collision detection sensitivity...

Page 36: ...alls and 4 vertical walls Horizontal walls need to enter the distance mm between the wall plane and the X Y plane at the base coordinate Vertical walls need to enter the distance mm between the wall plane and the Z axis of the base coordinate and the rotation degree across the Z axis ...

Page 37: ...irtual wall system will show warning message If the robot is running program the program will be paused In tool coordinate mode the coordinate appears at the end of tool When the tool touches the virtual wall there will be an alert If the robot is running program the program will be paused Safety IO Setting It is able to select signal type from safety IO setting Protective stop 1st type protective...

Page 38: ...to safely speed Manual Auto Advance Setting The advance setting needs passwords to turn on The robot installation orientation has been set up from install setting When auto login function open the robot will wake up and release break automatically then the robot will standby Reset setting function is for restoring factory setting 3 pose enable switch is able to turn on for safety concern It is a f...

Page 39: ...tual position Move robot to target home position and click this button if it requires changing home position Change Password function is for reset password Default password is 111 Software update function is for upgrade software Language The system support both Chinese and English ...

Page 40: ...le the control of the robot When clicked robot will disconnect from control box the joints brakes will stuck and the servos will be disabled Demonstrator will return to Welcome page Click Start button to reconnect the robot with control box again When disconnect button is clicked each brakes will stuck Depending on the mechanical design robot arm may fall down for a little distance ...

Page 41: ...37 6 Robot Programming 6 1 Create program Click Create Program and enter a program name ...

Page 42: ...program type in program name then click Enter Only characters numbers and underline are allowed for editing filename The new created program will be named as siasun spf Click the Finish Editing button to exit the edit page ...

Page 43: ...includes flange end position each axis position and corresponding speed The default speed is 30 it is modifiable by redefining movej speed setting is the maximum angular velocity with a unit of percentage range 1 to 100 The default acceleration is the maximum angular percentage range 1 to 100 The default speed setting for movel and movec is the end speed range 1 to 1000mm s Default acceleration un...

Page 44: ...ation Afterwards the interface turns back to setting page for further nodes setting Click Move robot here the robot moves to this point with each axis collaboratively Click Add Nodes the interface turns to add node page It is able to swap from 3 different tabs from the navigation bar ...

Page 45: ...1 is a point on the arc movec_2 is the end point of the arc move_phi The robot will keep flange end posture other axes rotate collaboratively tcp_move Robot moves a displacement based on tool coordinate move_camera It works for programming with camera build in P1 is where camera taking photo and P2 is where robot to grab object After achieving camera grabbing function set up P1 P2 and offset displ...

Page 46: ... free to save a new path If the red dot path space has been record twice it will cover the previous path Script language The Script Language button let user to edit functions by pop up keyboard For script function included please refer to 6 Script Language Guide 6 3 Function tab ...

Page 47: ...43 The functions illustrate below are functions for IO The function illustrate below are logic function ...

Page 48: ...44 The functions illustrate below are function for coordinate establishment The functions illustrate below are functions for printing ...

Page 49: ...45 The functions illustrate are functions for resulting critical robot parameter The functions illustrate are Modbus functions ...

Page 50: ...e shortcut functions For the full function and function description please refer to script description of internet communication 6 5 Variable Tab Establishment This tab is for establishing Pose variable and joint Array variable It is record by traction teach with these two functions ...

Page 51: ...47 6 6 Example Add a movej and movel node respectively Then add a MoveC node and set it s sub nodes position ...

Page 52: ...g the node hold Move Robot Here button or hold Press to Move button on the left bottom corner to move the robot to the point selected When releasing the button the robot will stop Add Nodes button is for script editing Discard button will discard the node selected When program runs to the discarded node the node will be jumped over Click Discard again to cancel the discarded node The Copy button i...

Page 53: ...49 ...

Page 54: ... the script size is larger than maximum which is 8192 bytes it will reply exceed max size 81922 and will ignore the start has received When sending run program name spf or run program name spf speed percentage commands robot will run the corresponding program Robot will apply the current speed when there is no speed setting or the speed is not valid When robot status is free it will run the new co...

Page 55: ...d resume error to client Client send reset to Server when the robot report an error by reset robot will restore current paused program and send reset success to Client If robot is processing normally Server will send no error to reset to client For login command When the robot has connection issues by login robot send login success to Client and power on the robot with releasing breaks whereas the...

Page 56: ...send parameter error to client In addition if there is no valid solution it will send calculation error to client Take ikine 100 150 200 0 45 90 as example Client sends fkine j1 j2 j3 j4 j5 j6 to server robot will calculates the relative spatial position and send calculation done as feedback In addition it will repot parameters from FKineEndPose through Port 2001 unit mm and degree After calculati...

Page 57: ...double 6 48 280 327 6 joints motor temperature reserved double 1 8 328 335 motor driver temperature double 6 48 336 383 6 joints motor driver temperature reserved double 1 8 384 391 Cartesian actual position double 6 48 392 439 Cartesian actual position Cartesian assumed position double 6 48 440 487 Cartesian assumed position Cartesian speed double 6 48 488 535 Cartesian speed Cartesian accelerati...

Page 58: ...system IO 9 16 external input 7 32reserved tool IO input bool 8 8 816 823 tool digital input 1 2 tool terminal input 3 8 reserved tool IO output bool 8 8 824 831 tool digital input 1 2 tool terminal input 3 8 reserved tool switch status bool 4 4 832 835 check tool switch on off status collision bool 1 1 836 collision detection collision axis bool 1 1 837 collision axis emergency stop bool 1 1 838 ...

Page 59: ...sent Home status 1 represent home position The number as ones place represent as follow Unconnected 0 Power 1 Initial 2 Disable 3 Enable 4 Standstill 5 Running 6 Stopping 7 Estop 8 Error 9 Pause 10 analog IO bool 100 100 847 946 analog IO reserved bool 5 5 947 951 ...

Page 60: ...R W 12 Control box IO output io_out 6 R W 13 Control box IO output io_out 7 R W 14 Control box IO output io_out 8 R W 15 32 reserved 33 Flange IO output tool_out 1 R W 34 Flange IO output tool_out 2 R W 35 50 reserved 51 robot locked R 52 run program R 53 pause program R 54 stop program R 55 56 reserved 57 Control box IO input IO_in 1 R 58 Control box IO input IO_in 2 R 59 Control box IO input IO_...

Page 61: ...rising edge W 98 reduce speed rising edge W 99 reset error rising edge W 100 reserved 101 200 analog IO R W Register IN read number 3 Address Node Introduction 201 Joint 1 position low 16 bits 202 Joint 1 position high 16 bits 203 Joint 2 position low 16 bits 204 Joint 2 position high 16 bits 205 Joint 3 position low 16 bits 206 Joint 3 position high 16 bits 207 Joint 4 position low 16 bits 208 Jo...

Page 62: ...t home position The number as ones place represent as follow Unconnected 0 Power 1 Initial 2 Disable 3 Enable 4 Standstill 5 Running 6 Stopping 7 Estop 8 Error 9 Pause 10 Attention Every address of register in read 16bits joint position and manipulator end position are represented by float which is 32 bits Here we use 2 modbus nodes information to combine as 1 node information There is an example ...

Page 63: ...ing ends with 0 Pose Type Pose type is an array with 6 float data The system supports both constants and variables of pose type Array Type The system supports two built in array types i e int and float 8 2 2 1 6 2 2 System Constants A value such as 42 is called a literal constant Each literal constant corresponds to a data type The form and the value of a literal constant determine the data type a...

Page 64: ...ave the same value of 0 It is used for the pose variable initialization or parameter assignment 8 2 3 Variables A variable is usually represented by a unique identifier in the system Common Variables a 123 a is an int variable It is initialized to 123 b 11 23 b is a float variable It is initialized to 11 23 c True c is an int variable It is initialized to 1 d False d is an int variable It is initi...

Page 65: ...s with some return values It is a recursive definition In this document expression is represented by exp and operator is represented by op 8 3 1 Arithmetic Operation Expression The system supports four types of arithmetic operations namely addition subtraction multiplication and division An arithmetic operation expression returns arithmetic constants 8 3 2 Relational Operation Expression The syste...

Page 66: ... if the variable has already been defined If the variable is not defined it is a variable definition statement 8 3 5 Function Call Expression Function name argument list 8 4 Statement 8 4 1 While Loop Statement while exp end 8 4 2 Break Statement break Break statement is used to Jump out of the current while loop For example i 1 while i 10 i i 1 if i 7 break end end 8 4 3 Function Definition def f...

Page 67: ...tion functions and print functions are not supported in the system 8 4 4 Return Statement return exp Return statement can only be used inside a function to return the result of the function The data returned by return statement determines the return value of the function If the function does not contain a return statement the function does not return any value 8 4 5 Conditional Control Statement F...

Page 68: ... the percentage of speed set by the system It has a value range of 0 100 a It represents the joint acceleration whose unit is the percentage of acceleration set by the system It has a value range of 0 100 rad It represents Joint blend radius whose default value is 0 or 1 indicating no blend When the value is greater than 0 it means blend with the next motion command Return Value none movej_pose po...

Page 69: ...s mm s2 rad It represents Joint blend radius whose default value is 0 or 1 indicating no blend When the value is greater than 0 it means blend with the next motion command Return Value none MoveC pose p1 pose p2 float v float a float rad 0 Function Description This command controls the robot to make a circular motion The current pose point is the starting point The point p1 is on the path The poin...

Page 70: ...ription p1 The pose point which is a floating point array with a length of 6 is corresponding to the pose offset calculation point 1 in the tool coordinate system p2 The pose point which is a floating point array with a length of 6 is corresponding to the pose offset calculation point 2 in the tool coordinate system v It represents the robot end velocity in linear movement Its unit is mm s When x ...

Page 71: ...values in the position_speed array represent the robot end angular velocity ωx ωy ωz which unit is deg s Return Value none speed_stop Function Description Stop the motion of the speedj function or the speedl function Parameters Description none Return Value none move_camera_offset pose p1 pose p2 pose offset float v float a Function Description This command applies to camera shooting and the robot...

Page 72: ...alse otherwise Example socket_open 192 168 67 60 2003 socket_send_string string msg_send Function Description Send a string to the connected server Parameters Description msg_send It represents the string sent to the server It needs to be enclosed in Return Value true or false Example Form one socket_send_string send message Form two s XYZ socket_send_string s socket_send_float Array array_send Fu...

Page 73: ...the server The received string will be stored in this variable length It represents the length of the string received from the server timeout It represents the maximum waiting time for which the system can receive the string message Its unit is ms This value can be changed It has a default value of 3000ms Return Value Return the number of bytes received when the reception is successful Return 1 If...

Page 74: ...ver Store the floating point numbers in the array Parameters Description receive It represents the array that stores the floating point numbers received from the connected server Note that the maximum values can be read in one command is 30 Each value stored in the array is 32 bits timeout It represents the maximum waiting time for which the system can receive the floating point numbers Its unit i...

Page 75: ...erver Store the integer numbers in the array Parameters Description receive It represents the array that stores the integer numbers received from the connected server Note that the maximum values can be read in one command is 30 Each value stored in the array is 32 bits timeout It represents the maximum waiting time for which the system can receive the integer numbers Its unit is ms This value can...

Page 76: ...t port Return Value none io_in int portnum Function Description This command reads the high and low levels of the user IO input port on the control box If the command returns 1 the user IO input port is at high level If the command returns 0 the user IO input port is at low level Parameters Description portnum It represents the serial number of the IO input port on the control box Its range is fro...

Page 77: ...e IO port is at high level When the value is 0 the IO port is at low level Otherwise this command cannot change the level of the IO port Return Value none io_v_in int portnum Function Description This command reads the high and low levels of the virtual IO port in the system If the command returns 1 the virtual IO port is at high level If the command returns 0 the virtual IO port is at low level P...

Page 78: ... when the IO input port is at high level Return 0 when the IO input port is at low level Return 1 when the serial number of the IO input port is wrong w_reg_bool int num int val Function Description This command can change the value of the internal bool register Parameters Description num It represents the serial number of the internal bool register Its range is from 1 to 32 val When the value is ...

Page 79: ...35 r_reg_byte int num Function Description This command reads the value of the internal byte register Parameters Description num It represents the serial number of the internal byte register Its range is from 1 to 32 Return Value Return the value stored by the internal byte register It is an integer Example a r_reg_byte 5 print_i a w_reg_ float int num float value Function Description This command...

Page 80: ...ate_tool float x float y float z float rx float ry float rz float tcpLoad float loadBiasX float loadBiasY float loadBiasZ Function Description This command sets the displacement of the tool end relative to the flange end coordinate system After executing this command the position in the subsequent motion function is based on the tool end coordinate system Parameters Description x y z rx ry rz They...

Page 81: ...ction After the omission the current load s quality centroid set in the system will replaces for calculation Return Value none cal_ikine pose p array res Function Description This command is used to calculate the inverse solution of the robot Parameters Description p A pose data which is a floating point array with a length of 6 corresponds to the robot end pose of which user calculate the inverse...

Page 82: ...ts the pose data in which the acquired pose are stored Return Value none get_joint_pose array axis Function Description This command can obtain the 1 6 axis joint angles of the robot in the current state Parameters Description axis It represents the array in which the acquired 1 6 axis joint angles are stored Return Value none sub_prog string program_name Function Description This command can call...

Page 83: ... is recommended that user use this command only for debugging Parameters Description i It represents an integer Return Value none Example a 1 print_i a print_ f float f Function Description This command can output the value of the floating point parameter f next to the program bar It is convenient for debugging Note that the command runs with a delay of 1s Therefore it is recommended that user use...

Page 84: ... modbus_read mbus1 print_i modbus_read mbus1 modbus_write_d string signal_name int digital_value Function Description This command can write to the modbus node of digital type Parameters Description signal_name It represents the name of the modbus node digital_value It represents the value written to the modbus node Its value is 0 or 1 Return Value none Example modbus_write_d mbus1 1 modbus_write_...

Page 85: ...nal_type string signal_name Function Description This command can add a modbus node User can also manually add modbus nodes in the system settings Parameters Description IP It represents the IP address of the modbus server Its format is a string surrounded by slave_number It represents the slave number signal_address It represents the node s address offset signal_type 0 Read Discrete Input 1x 1 Re...

Page 86: ...82 signal_name It represents the name of the modbus node Return Value none Example modbus_delete_signal mbus1 ...

Page 87: ...83 SIASUN Co Ltd Add NO 257 Jinzang Rd Pudong New District Shanghai China Tel 086 021 50870608 Fax 086 021 63631363 Zip Code 201206 http www siasun com ...

Reviews: