Wiki source code of Wecon LX6C Parallel Robot Project
Last modified by Wecon on 2025/09/03 21:04
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | = 1 Introduction = | ||
| 2 | |||
| 3 | This project uses Wecon Codesys PLC LX6C and bus type servo VD3E for parallel robot control. Through simple debugging, the point-to-point interpolation motion of the delta robot is realized. | ||
| 4 | |||
| 5 | = 2 Main kit composition = | ||
| 6 | |||
| 7 | (% style="text-align:center" %) | ||
| 8 | [[image:1708658466693-778.png]] | ||
| 9 | |||
| 10 | (% style="margin-left:auto; margin-right:auto" %) | ||
| 11 | |(% style="width:799px" %)((( | ||
| 12 | (% style="text-align:center" %) | ||
| 13 | ((( | ||
| 14 | (% style="display:inline-block; width:334px;" %) | ||
| 15 | [[==== **LX6C** ====>>image:1708658932564-782.png||height="319" width="334"]] | ||
| 16 | ))) | ||
| 17 | )))|(% style="width:823px" %)((( | ||
| 18 | (% style="text-align:center" %) | ||
| 19 | ((( | ||
| 20 | (% style="display:inline-block; width:513px;" %) | ||
| 21 | [[==== **VD3E Servo** ====>>image:1708666409644-249.png||height="289" width="513"]] | ||
| 22 | ))) | ||
| 23 | ))) | ||
| 24 | |||
| 25 | (% style="margin-left:auto; margin-right:auto" %) | ||
| 26 | |=(% style="width: 801px;" %)NAME|=(% style="width: 821px;" %)QUANTITY | ||
| 27 | |(% style="text-align:center; width:801px" %)**LX6C-0808MT-DD**|(% style="text-align:center; width:821px" %)**1** | ||
| 28 | |(% style="text-align:center; width:801px" %)**VD3E-014SA1G**|(% style="text-align:center; width:821px" %)**3** | ||
| 29 | |(% style="text-align:center; width:801px" %)**WE80M-07530S-A1F**|(% style="text-align:center; width:821px" %)**3** | ||
| 30 | |(% style="text-align:center; width:801px" %)**Upper arm**|(% style="text-align:center; width:821px" %)**3** | ||
| 31 | |(% style="text-align:center; width:801px" %)**Lower arm**|(% style="text-align:center; width:821px" %)**6** | ||
| 32 | |(% style="text-align:center; width:801px" %)**Motor shaft connector**|(% style="text-align:center; width:821px" %)**3** | ||
| 33 | |(% style="text-align:center; width:801px" %)**Top plate**|(% style="text-align:center; width:821px" %)**1** | ||
| 34 | |(% style="text-align:center; width:801px" %)**Tool plate**|(% style="text-align:center; width:821px" %)**1** | ||
| 35 | |(% style="text-align:center; width:801px" %)**Hexagon socket screws**|(% style="text-align:center; width:821px" %)**6 (M4 and M5)** | ||
| 36 | |||
| 37 | = 3 Mechanical parameters = | ||
| 38 | |||
| 39 | |||
| 40 | |((( | ||
| 41 | (% style="text-align:center" %) | ||
| 42 | [[image:1708659158007-639.png]] | ||
| 43 | )))|((( | ||
| 44 | (% style="text-align:center" %) | ||
| 45 | [[image:1708659191216-488.png]] | ||
| 46 | )))|((( | ||
| 47 | (% style="text-align:center" %) | ||
| 48 | [[image:1708659202564-503.png]] | ||
| 49 | ))) | ||
| 50 | |||
| 51 | Length of the upper arm **d1**: 330mm | ||
| 52 | |||
| 53 | Length of the lower arm **d2**: 600mm | ||
| 54 | |||
| 55 | Distance between lower arm in one pair **d3**: 20mm | ||
| 56 | |||
| 57 | Radius of circle where lower arm contact point is located **r1**: 50mm | ||
| 58 | |||
| 59 | Radius of circle where motor shaft is located **r2**: 100mm | ||
| 60 | |||
| 61 | Maximum angle in ± for ball joints: 60° | ||
| 62 | |||
| 63 | = 4 Program preparation = | ||
| 64 | |||
| 65 | == 4.1 Language settings == | ||
| 66 | |||
| 67 | **Select “Tools”~-~->“Options”** | ||
| 68 | |||
| 69 | (% style="text-align:center" %) | ||
| 70 | [[image:1708659282790-309.png]] | ||
| 71 | |||
| 72 | |||
| 73 | **Set software language in “International Settings”** | ||
| 74 | |||
| 75 | (% style="text-align:center" %) | ||
| 76 | [[image:1708659276549-637.png]] | ||
| 77 | |||
| 78 | == 4.2 Device file import == | ||
| 79 | |||
| 80 | **Select “Tools“~-~->“Device Repository“** | ||
| 81 | |||
| 82 | (% style="text-align:center" %) | ||
| 83 | [[image:1708659330267-186.png]] | ||
| 84 | |||
| 85 | **Install LX6C xml file.** | ||
| 86 | |||
| 87 | (% style="text-align:center" %) | ||
| 88 | [[image:1708659348892-129.png]] | ||
| 89 | |||
| 90 | **Install VD3E xml file.** | ||
| 91 | |||
| 92 | (% style="text-align:center" %) | ||
| 93 | [[image:1708659363849-556.png]] | ||
| 94 | |||
| 95 | |||
| 96 | |((( | ||
| 97 | (% style="text-align:center" %) | ||
| 98 | [[image:1708666791453-744.png]] | ||
| 99 | )))|((( | ||
| 100 | (% style="text-align:center" %) | ||
| 101 | [[image:1708666805375-462.png]] | ||
| 102 | ))) | ||
| 103 | |||
| 104 | = 5 Device connection = | ||
| 105 | |||
| 106 | == 5.1 New project == | ||
| 107 | |||
| 108 | **Create a new standard project** | ||
| 109 | |||
| 110 | (% style="text-align:center" %) | ||
| 111 | [[image:1708659481680-311.png]] | ||
| 112 | |||
| 113 | **Select device and programming language** | ||
| 114 | |||
| 115 | (% style="text-align:center" %) | ||
| 116 | [[image:1708659504171-928.png]] | ||
| 117 | |||
| 118 | == 5.2 Connect LX6C == | ||
| 119 | |||
| 120 | **Double click “Device” and select Scan Network** | ||
| 121 | |||
| 122 | **Select LX6C and click OK, make sure your PC and LX6C in the same LAN (LX6C default IP is 192.168.8.8)** | ||
| 123 | |||
| 124 | (% style="text-align:center" %) | ||
| 125 | [[image:1708659630178-665.png]] | ||
| 126 | |||
| 127 | **Login device with account and password** | ||
| 128 | |||
| 129 | (% style="text-align:center" %) | ||
| 130 | [[image:1708659646762-832.png]] | ||
| 131 | |||
| 132 | = 6 Project configuration = | ||
| 133 | |||
| 134 | == 6.1 Add Axis Group == | ||
| 135 | |||
| 136 | **Right click Application, “Add Object” and select “Axis Group”** | ||
| 137 | |||
| 138 | |||
| 139 | (% style="text-align:center" %) | ||
| 140 | [[image:1708659668179-463.png]] | ||
| 141 | |||
| 142 | **Click “Select Kinematics” and select “TRAFO.Kin_Tripod_Rotary”** | ||
| 143 | |||
| 144 | (% style="text-align:center" %) | ||
| 145 | [[image:1708659683686-935.png]] | ||
| 146 | |||
| 147 | **Fill in the mechanical parameters (Use the same user units)** | ||
| 148 | |||
| 149 | (% style="text-align:center" %) | ||
| 150 | [[image:1708659724005-484.png]] | ||
| 151 | |||
| 152 | **Right click “Device” and add device** | ||
| 153 | |||
| 154 | (% style="text-align:center" %) | ||
| 155 | [[image:1708659738998-621.png]] | ||
| 156 | |||
| 157 | **Add “EtherCAT Master SoftMotion”** | ||
| 158 | |||
| 159 | (% style="text-align:center" %) | ||
| 160 | [[image:1708659810951-477.png]] | ||
| 161 | |||
| 162 | **Right click “EtherCAT_Master_SoftMotion” and add device, select “Wecon VD3E EtherCAT Servo_v1.10” (Servo xml file should be same with servo firmware, you can check servo firmware in U2-04 through servo panel)** | ||
| 163 | |||
| 164 | (% style="text-align:center" %) | ||
| 165 | [[image:1708659837241-566.png]] | ||
| 166 | |||
| 167 | |||
| 168 | (% style="text-align:center" %) | ||
| 169 | [[image:1708659844978-946.png]] | ||
| 170 | |||
| 171 | **Add 3 motion axis** | ||
| 172 | |||
| 173 | (% style="text-align:center" %) | ||
| 174 | [[image:1708659868961-294.png]] | ||
| 175 | |||
| 176 | **Set the correct resolution based on the motor encoder** | ||
| 177 | |||
| 178 | (% style="text-align:center" %) | ||
| 179 | [[image:1708659882131-694.png]] | ||
| 180 | |||
| 181 | **Double click “EtherCAT_Master_SoftMotion” and select network name “eth1” in “General”** | ||
| 182 | |||
| 183 | (% style="text-align:center" %) | ||
| 184 | [[image:1708659902425-597.png]] | ||
| 185 | |||
| 186 | **Bind axis to robot.** | ||
| 187 | |||
| 188 | (% style="text-align:center" %) | ||
| 189 | [[image:1708659921571-879.png]] | ||
| 190 | |||
| 191 | **Move “PLC_PRG” from “MainTask” to “EtherCAT_Task”** | ||
| 192 | |||
| 193 | (% style="text-align:center" %) | ||
| 194 | [[image:1708660033766-909.png]] | ||
| 195 | |||
| 196 | (% style="text-align:center" %) | ||
| 197 | [[image:1708660038539-524.png]] | ||
| 198 | |||
| 199 | == 6.2 Demo program == | ||
| 200 | |||
| 201 | **Build a simple program for absolute move** | ||
| 202 | |||
| 203 | (% style="text-align:center" %) | ||
| 204 | [[image:1708660054738-287.png]] | ||
| 205 | |||
| 206 | (% style="text-align:center" %) | ||
| 207 | [[image:1708660060148-798.png]] |