Welding Process
Welding communication protocols primarily cover welding equipment, current/voltage, welding parameters, weave welding parameters, welding IO ports, multi-layer multi-pass welding, and intersecting curves. For detailed information on welding processes, please refer to the Welding Process Manual.
1. Welding Equipment
Welding equipment settings include basic functions, micro-adjustment, anti-collision, restart/re-arc, and other modules.
1.1 Host Computer Sets Welding Equipment
Command: 0x8300
Description: During welding, when arc interruption occurs due to arc break, anti-collision, mode-switch stop, etc., this function allows welding to resume at the break point. For automatic and semi-automatic restart, ensure there are no obstacles between the arc break point and the retreat target position.
basic_functions (Basic Functions)
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| arc_detection_time | double | Arc Detection Time | [0,5]s |
| arc_depletion_detection_time | double | Arc Depletion Detection Time | [0,5]s |
| arc_detection_ensure_time | double | Arc Detection Confirmation Time | [0,5]s |
| pre_give_gas_time | double | Pre-gas Delivery Time | [0,5]s |
| close_time | double | Gas Shut-off Time (negative = pre-shut-off, positive = delayed shut-off) | [-5,5]s |
| weld_interruption_detection | bool | Welding Interruption Detection | true: Detect, false: Do Not Detect |
| arc_fly | bool | Fly Arc Start | true: Fly Arc Start, false: No Fly Arc Start |
| air_close_mode | int | Gas Shut-off Mode | 0: Delayed Shut-off, 1: Pre-shut-off |
micro_adjustment (Micro-adjustment)
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| single_adjustment_current | double | Single Adjustment Amount for Welding Current | [0,1000]A |
| single_adjustment_voltage | double | Single Adjustment Amount for Welding Voltage | [-1000,1000]V |
restart (Restart/Re-arc)
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| restart_times | int | Restart Times | [0,1000] |
| restart_distance | double | Restart Distance | [0,100]mm |
| restart_speed | double | Restart Speed | [0,100]mm/s |
| re_arc_times | int | Re-arc Times | [1,1000] |
| restart_enable | bool | Restart Enable | - |
| re_arc_enable | bool | Re-arc Enable | - |
| restart_mode | int | Restart Mode | - |
antiCollision (Anti-collision)
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| enable | bool | Anti-collision Enable | true: Enabled, false: Disabled |
| inputPort | int | Anti-collision IO Port | - |
| inputValue | int | Anti-collision Trigger Level | 0/1 |
| stopTime | double | Anti-collision Quick Stop Time | [50,200]s |
| outputPort | int | Anti-collision Status Output Port | - |
| outputValue | int | Anti-collision Status Output Level | 0/1 |
| shieldFlag | bool | Shield Anti-collision | true: Enabled, false: Disabled |
| shieldTime | double | Shield Time | [0,1000000]s |
other (Other)
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| break_back_time | double | Arc Break Retract Time | [0,5]s |
| weld_finish_time | double | Weld Completion Retract Time | [0,5]s |
| break_back_enable | bool | Arc Break Retract Enable | true: Enabled, false: Disabled |
| weld_finish_function | bool | Weld Completion Retract Function | true: Enabled, false: Disabled |
| simulation_set_zero | bool | Arc Extinguish Analog Zero Function | true: Enabled, false: Disabled |
| collisionButtonFlag.error_enable_switch | bool | Error Enable Switch | - |
Example:
{
"basic_functions": {
"arc_detection_time": 1.1,
"arc_depletion_detection_time": 1.1,
"arc_detection_ensure_time": 1.1,
"pre_give_gas_time": 1.1,
"close_time": 1.1,
"weld_interruption_detection": true,
"arc_fly": true,
"air_close_mode": 0
},
"micro_adjustment": {
"single_adjustment_current": 1.1,
"single_adjustment_voltage": 1.1
},
"restart": {
"restart_times": 1,
"restart_distance": 1.1,
"restart_speed": 1.1,
"re_arc_times": 1,
"restart_enable": true,
"re_arc_enable": true,
"restart_mode": 1
},
"antiCollision": {
"enable": false,
"inputPort": 0,
"inputValue": 1,
"stopTime": 60,
"outputPort": 0,
"outputValue": 1,
"shieldFlag": false,
"shieldTime": 30
},
"other": {
"break_back_time": 1.1,
"weld_finish_time": 1.1,
"break_back_enable": true,
"weld_finish_function": true,
"simulation_set_zero": true
},
"collisionButtonFlag": {
"error_enable_switch": true
}
}1.2 Host Computer Queries Welding Equipment
Command: 0x8301
Description: Drag jog mode toggle switch.
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| robot | int | Current Robot | [1,4] |
{
"robot": 1
}1.3 Controller Replies with Welding Equipment
Command: 0x8302
Return parameters are the same as "Host Computer Sets Welding Equipment"; see the tables and examples above.
2. Current and Voltage
2.1 Current and Voltage Matching Setup
Command: 0x8310
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| robot | int | Current Robot | [1,4] |
current_control (Current Control)
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| set_current | double[] | Set Current | [0,10]A |
| actual_current | double[] | Actual Current | [0,999]A |
voltage_control (Voltage Control)
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| set_voltage | double[] | Set Voltage | [0,10]V |
| actual_voltage | double[] | Actual Voltage | [0,999]V |
{
"current_control": {
"set_current": [1, 2, 3, 4, 5, 6, 7, 8],
"actual_current": [1, 2, 3, 4, 5, 6, 7, 8]
},
"voltage_control": {
"set_voltage": [1, 2, 3, 4, 5, 6, 7, 8],
"actual_voltage": [1, 2, 3, 4, 5, 6, 7, 8]
},
"robot": 1
}2.2 Host Computer Queries Current/Voltage Matching
Command: 0x8311
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| robot | int | Current Robot | [1,4] |
{
"robot": 1
}2.3 Controller Replies with Current/Voltage Matching
Command: 0x8312
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| robot | int | Current Robot | [1,4] |
| set_current | int[] | Set Current | [0,10]A |
| actual_current | int[] | Actual Current | [0,999]A |
| set_voltage | int[] | Set Voltage | [0,10]V |
| actual_voltage | int[] | Actual Voltage | [0,999]V |
| AO_setcurrent | int | Current Output Port | - |
| AO_setvoltage | int | Voltage Output Port | - |
{
"current_control": {
"set_current": [1, 2, 3, 4, 5, 6, 7, 8],
"actual_current": [1, 2, 3, 4, 5, 6, 7, 8]
},
"voltage_control": {
"set_voltage": [1, 2, 3, 4, 5, 6, 7, 8],
"actual_voltage": [1, 2, 3, 4, 5, 6, 7, 8]
},
"IO": {
"AO_setcurrent": 0,
"AO_setvoltage": 0
},
"robot": 1
}2.4 Host Computer Sets Current/Voltage Matching Parameter Actual Values
Command: 0x8313
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| type | int | Parameter Type (Voltage 1=0, Voltage 2=1, Current 1=2, Current 2=3) | [0,3] |
| value | double | Parameter Value | [0,999]A/V |
| robot | int | Robot Number | [1,4] |
{
"type": 0,
"value": 4.13,
"robot": 1
}2.5 Controller Returns Setup Success Status
Command: 0x8314
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| result | int | Setup Result (1: Success, 0: Failure) | - |
| robot | int | Current Robot | [1,4] |
{
"result": 1,
"robot": 1
}2.6 Start Current/Voltage Matching
Command: 0x8315
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| start | bool | Whether to Start Matching | true: Start, false: End |
| robot | int | Current Robot | [1,4] |
{
"start": true,
"robot": 1
}2.7 Manual Current/Voltage Setting Operation
Command: 0x8316
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| robot | int | Current Robot | [1,4] |
| type | int | Select to Set Current/Voltage | 1: Set Current, 2: Set Voltage |
| value | double | Value | - |
{
"robot": 1,
"type": 1,
"value": 1
}3. Welding Parameters
3.1 Host Computer Sets Welding Parameters
Command: 0x8320
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| num | int | Process Number (starts from 1, can set 1-99) | [1,99] |
| notes | string | Notes | - |
| robot | int | Current Robot | [1,4] |
arcoff_parameters (Arc End Parameters)
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| arcoff_use_param | bool | Whether to Use Arc End Parameters | true: Use, false: Do Not Use |
| arcoff_voltage | double | Arc End Voltage | [-1000,1000]V |
| arcoff_current | double | Arc End Current | [0,1000]A |
| arcoff_time | double | Arc End Time | [0,5]s |
| ramp_time | double | Ramp Time | [0,100000]ms |
| ramp_enable | bool | Ramp Enable | - |
| ramp_mode | int | Arc End Ramp Mode | 0: Time Ramp |
weld_parameters (Welding Parameters)
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| weld_current | double | Welding Current | [0,1000]A |
| weld_voltage | double | Welding Voltage | [-1000,1000]V |
arcon_parameters (Arc Start Parameters)
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| arcon_use_param | bool | Whether to Use Arc Start Parameters | true: Use, false: Do Not Use |
| arcon_current | double | Arc Start Current | [0,1000]A |
| arcon_voltage | double | Arc Start Voltage | [-1000,1000]V |
| arcon_time | double | Arc Start Time | [0,5]s |
| arcon_ramp_time | double | Ramp Time | [0,1000000]ms |
| arcon_ramp_enable | bool | Arc Start Ramp Enable | - |
| arcon_ramp_mode | int | Arc Start Ramp Mode | 0: Time Ramp |
{
"num": 1,
"notes": "Example",
"arcoff_parameters": {
"arcoff_use_param": true,
"arcoff_voltage": 1.1,
"arcoff_current": 1.1,
"arcoff_time": 1.1,
"ramp_time": 1.1,
"ramp_enable": true,
"ramp_mode": 1
},
"weld_parameters": {
"weld_current": 1.1,
"weld_voltage": 1.1
},
"arcon_parameters": {
"arcon_use_param": true,
"arcon_current": 1.1,
"arcon_voltage": 1.1,
"arcon_time": 1.1,
"arcon_ramp_time": 1.1,
"arcon_ramp_enable": true,
"arcon_ramp_mode": 1
}
}3.2 Host Computer Queries Welding Parameters
Command: 0x8321
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| num | int | Process Number (starts from 1) | [1,99] |
| robot | int | Current Robot | [1,4] |
{
"num": 1,
"robot": 1
}3.3 Controller Replies with Welding Parameters
Command: 0x8322
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| num | int | Parameter Sequence Number (starts from 1) | - |
| notes | string | Notes | - |
| robot | int | Current Robot | [1,4] |
arcoff_parameters (Arc End Parameters)
| Parameter Name | Type | Description |
|---|---|---|
| arcoff_voltage | double | Arc End Voltage |
| arcoff_current | double | Arc End Current |
| arcoff_time | double | Arc End Time |
| arcon_ramp_time | double | Ramp Time |
| arcon_ramp_distance | double | Ramp Distance |
| arcon_ramp_enable | bool | Ramp Enable |
| arcon_ramp_mode | int | Arc End Ramp Mode (0: Time Ramp, 1: Distance Ramp) |
weld_parameters (Welding Parameters)
| Parameter Name | Type | Description |
|---|---|---|
| weld_current | double | Welding Current |
| weld_voltage | double | Welding Voltage |
| weld_velocity | double | Welding Speed |
arcon_parameters (Arc Start Parameters)
| Parameter Name | Type | Description |
|---|---|---|
| arcon_current | double | Arc Start Current |
| arcon_voltage | double | Arc Start Voltage |
| arcon_time | double | Arc Start Time |
| arcon_ramp_time | double | Ramp Time |
| arcon_ramp_distance | double | Ramp Distance |
| arcon_ramp_enable | bool | Arc Start Ramp Enable |
| arcon_ramp_mode | int | Arc Start Ramp Mode (0: Time Ramp, 1: Distance Ramp) |
anti_adhesion_parameters (Anti-adhesion Parameters)
| Parameter Name | Type | Description |
|---|---|---|
| anti_adhesion_enable | bool | Anti-adhesion Enable |
| anti_adhesion_times | int | Anti-adhesion Times |
| anti_adhesion_v | double | Anti-adhesion Voltage |
| anti_adhesion_i | double | Anti-adhesion Current |
| anti_adhesion_time | double | Anti-adhesion Time |
{
"num": 1,
"notes": "Example",
"arcoff_parameters": {
"arcoff_voltage": 1.1,
"arcoff_current": 1.1,
"arcoff_time": 1.1,
"arcon_ramp_time": 1.1,
"arcon_ramp_distance": 1.1,
"arcon_ramp_enable": true,
"arcon_ramp_mode": 1
},
"weld_parameters": {
"weld_current": 1.1,
"weld_voltage": 1.1,
"weld_velocity": 0.0
},
"arcon_parameters": {
"arcon_current": 1.1,
"arcon_voltage": 1.1,
"arcon_time": 1.1,
"arcon_ramp_time": 1.1,
"arcon_ramp_distance": 1.1,
"arcon_ramp_enable": true,
"arcon_ramp_mode": 0
},
"anti_adhesion_parameters": {
"anti_adhesion_enable": true,
"anti_adhesion_times": 1,
"anti_adhesion_v": 1.1,
"anti_adhesion_i": 1.1,
"anti_adhesion_time": 1.1
}
}4. Weave Welding Parameters
inexbot weave welding supports seven weaving modes: Sine Wave, Zigzag, Circular, External Axis Fixed-Point, L-Shape, Triangular, and Figure-8. Parameters such as weaving frequency, weaving amplitude, start direction, horizontal angle, vertical angle, etc. are adjustable.
4.1 Host Computer Sends Weave Welding Parameter Setup
Command: 0x8330
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| num | int | Weave Welding File Sequence Number (starts from 1) | [1,99] |
| note | string | Notes | - |
| robot | int | Current Robot | [1,4] |
parameter (Weave Welding Parameters)
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| weaving_type | int | Weaving Type | [0,6], 0: Sine Wave, 1: Zigzag, 2: Circular, 3: External Axis Fixed-Point, 4: L-Shape, 5: Triangular, 6: Figure-8 |
| weaving_freq | int | Weaving Frequency | (0,20]Hz |
| weaving_ampli | int | Weaving Amplitude | (0,50]mm |
| isMove | int | Move or Stay | 0: Stay, 1: Move |
| right_standing_time | int | Right Dwell Time (must be set when selecting Zigzag, External Axis Fixed-Point, L-Shape, or Triangular weaving) | [0,15] |
| left_standing_time | int | Left Dwell Time (must be set when selecting Zigzag, External Axis Fixed-Point, L-Shape, or Triangular weaving) | [0,15] |
| init_direction | int | Start Direction | 0: +1, 1: -1 |
| horizontal_angle | int | Horizontal Yaw Angle | [-180,180] |
| vertical_angle | int | Vertical Pitch Angle | [-180,180] |
| left_angle | int | Left Elevation Angle (must be set when selecting L-Shape or Triangular weaving) | [0,90] |
| right_angle | int | Right Elevation Angle (must be set when selecting L-Shape or Triangular weaving) | [0,90] |
{
"num": 1,
"parameter": {
"note": "Example",
"weaving_type": 0,
"weaving_freq": 20,
"weaving_ampli": 50,
"isMove": 0,
"right_standing_time": 15,
"left_standing_time": 15,
"init_direction": 1,
"horizontal_angle": 180,
"vertical_angle": 180,
"left_angle": 90,
"right_angle": 90
},
"robot": 1
}4.2 Host Computer Queries Weave Welding Parameters
Command: 0x8331
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| robot | int | Current Robot | [1,4] |
| num | int | Weave Welding File Sequence Number | [1,99] |
{
"robot": 1,
"num": 1
}4.3 Controller Returns Weave Welding Parameters
Command: 0x8332
Return parameters are the same as "Host Computer Sends Weave Welding Parameter Setup"; see the tables and examples above.
5. Welding IO
The inexbot control system achieves precise control of welding processes through digital IO ports, completing closed-loop management of welding parameters via analog signal interfaces.
5.1 Host Computer Sets Welding IO Interface
Command: 0x8340
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| robot | int | Current Robot | [1,4] |
Din (Digital Input, port number starts from 1, 0 means None)
| Parameter Name | Type | Description |
|---|---|---|
| arc_success | int | Arc Start Success |
| seek_success | int | Positioning Success |
| weld_enable | int | Remote Welding Enable |
| wire_feed | int | Jog Wire Feed |
| return_wire | int | Wire Retract |
| remote_gastest | int | Gas Detection |
Dout (Digital Output, port number starts from 1, 0 means None)
| Parameter Name | Type | Description |
|---|---|---|
| arc_signal | int | Arc Start Success Signal |
| wire_feed | int | Jog Wire Feed Signal |
| wire_feed_back | int | Reverse Wire Feed Signal |
| gas_detection | int | Gas Detection Signal |
| positioning_mode | int | Positioning Mode |
| weld_enable | bool | Welding Enable |
Ain (Analog Input, port number starts from 1, 0 means None)
| Parameter Name | Type | Description |
|---|---|---|
| electric | int | Welding Current |
| voltage | int | Welding Voltage |
Aout (Analog Output, port number starts from 1, 0 means None)
| Parameter Name | Type | Description |
|---|---|---|
| given_electric_current | int | Given Current Signal |
| given_setvoltage | int | Given Voltage Signal |
{
"Din": {
"arc_success": 0,
"seek_success": 0,
"weld_enable": 0,
"wire_feed": 0,
"return_wire": 0,
"remote_gastest": 0
},
"Dout": {
"arc_signal": 0,
"wire_feed": 0,
"wire_feed_back": 0,
"gas_detection": 0,
"positioning_mode": 0,
"weld_enable": true
},
"Ain": {
"electric": 0,
"voltage": 0
},
"Aout": {
"given_electric_current": 0,
"given_setvoltage": 0
},
"robot": 1
}5.2 Host Computer Queries Welding IO Interface
Command: 0x8341
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| robot | int | Current Robot | [1,4] |
{
"robot": 1
}5.3 Controller Replies with Welding IO Interface
Command: 0x8342
Return parameters are the same as "Host Computer Sets Welding IO Interface"; see the tables and examples above.
6. Query Welding Status
6.1 Host Computer Queries Welding Status
Command: 0x8350
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| robot | int | Robot | [1,4] |
{
"robot": 1
}6.2 Controller Returns Welding Status
Command: 0x8351
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| robot | int | Robot | [1,4] |
antiCollision (Anti-collision)
| Parameter Name | Type | Description |
|---|---|---|
| shieldFlag | bool | Whether to Shield Anti-collision |
Welding Status
| Parameter Name | Type | Description | Value |
|---|---|---|---|
| weldEnabled | bool | Welding Enable | - |
| spotWeldEnabled | bool | Spot Welding | - |
| feedWire | bool | Wire Feed | - |
| aspiration | bool | Gas Supply | - |
| returnWire | bool | Wire Retract | - |
| pistolSwitch | int | Welding Gun Switch Status | 0 = Low (Red), 1 = High (Green), -1 = None (Gray) |
| arcingSuccess | int | Arc Initiation Success | Same as above |
| handWireFeed | int | Manual Wire Feed | Same as above |
| weldCurrent | double | Welding Current | - |
| weldVoltage | double | Welding Voltage | - |
| weldRunTime | double | Welding Time | - |
| weldRunDutyRatio | double | Welding Duty Cycle | - |
{
"antiCollision": {
"shieldFlag": true
},
"weldEnabled": true,
"spotWeldEnabled": true,
"feedWire": true,
"aspiration": true,
"returnWire": true,
"pistolSwitch": 0,
"arcingSuccess": 1,
"handWireFeed": -1,
"weldCurrent": 1.0,
"weldVoltage": 2.0,
"weldRunTime": 3.3,
"weldRunDutyRatio": 4.4,
"robot": 1
}7. Spot Welding Parameters
7.1 Host Computer Sets Spot Welding Parameters
Command: 0x8352
Description: Users can manually set spot welding parameters via this command, including: spot welding current, spot welding voltage, and maximum spot welding time.
| Parameter Name | Type | Description |
|---|---|---|
| spotWeldCurrent | double | Spot Welding Current |
| spotWeldVoltage | double | Spot Welding Voltage |
| spotWeldMaxTime | double | Maximum Spot Welding Time |
| robot | int | Robot Number (value range [1,4]) |
{
"spotWeldCurrent": 0,
"spotWeldVoltage": 0,
"spotWeldMaxTime": 0,
"robot": 1
}8. Welder Mode
8.1 Host Computer Sets Welder Mode
Command: 0x8360
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| type | int | Welder Mode | 1: Welding Enable, 2: Manual Arc Start, 3: Manual Spot Welding, 4: Wire Feed, 5: Wire Retract, 6: Gas Supply, 7: Fault Reset |
| value | int | Whether to Enable the Corresponding Mode | 1: Enabled, 0: Disabled |
| robot | int | Current Robot | [1,4] |
{
"type": 1,
"value": 0,
"robot": 1
}8.2 Host Computer Queries Welder Mode
Command: 0x8361
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| robot | int | Current Robot | [1,4] |
{
"robot": 1
}8.3 Controller Returns Welder Mode
Command: 0x8362
| Parameter Name | Type | Description |
|---|---|---|
| weldEnabled | bool | Welding Enable |
| spotWeldEnabled | bool | Spot Welding Enable |
| spotWeldCurrent | double | Spot Welding Current |
| spotWeldVoltage | double | Spot Welding Voltage |
| spotWeldMaxTime | double | Maximum Spot Welding Time |
| newCurrent | double | Set Current |
| newVoltage | double | Set Voltage |
| feedWire | bool | Wire Feed |
| returnWire | bool | Wire Retract |
| aspiration | bool | Gas Supply |
| robot | int | Current Robot (value range [1,4]) |
{
"weldEnabled": true,
"spotWeldEnabled": true,
"spotWeldCurrent": 33.3,
"spotWeldVoltage": -20.2,
"spotWeldMaxTime": 0.5,
"newCurrent": 33.3,
"newVoltage": -20.2,
"feedWire": true,
"returnWire": true,
"aspiration": true,
"robot": 1
}8.4 Welding Micro-adjustment
Command: 0x8363
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| name | string | Welding Current/Voltage | - |
| robot | int | Current Robot | [1,4] |
| type | int | Operation Type | 0: Increase Set Value, 1: Decrease Set Value, 2: Save |
{
"name": "weld_current",
"robot": 1,
"type": 0
}8.5 Host Computer Queries Welding Micro-adjustment Result
Command: 0x8364
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| robot | int | Current Robot | [1,4] |
{
"robot": 1
}8.6 Controller Returns Query Result
Command: 0x8365
| Parameter Name | Type | Description |
|---|---|---|
| robot | int | Current Robot |
weav (Weave Welding Parameters)
| Parameter Name | Type | Description |
|---|---|---|
| left_stay_time | double[] | Left Dwell Time |
| right_stay_time | double[] | Right Dwell Time |
| swing_amplitude | double[] | Weave Welding Amplitude |
| swing_frequency | double[] | Weave Welding Frequency |
weld (Welding Parameters)
| Parameter Name | Type | Description |
|---|---|---|
| weld_current | double[] | Welding Current |
| weld_voltage | double[] | Welding Voltage |
{
"robot": 1,
"weav": {
"left_stay_time": [0.0, 1.0],
"right_stay_time": [0.0, 1.0],
"swing_amplitude": [0.0, 1.0],
"swing_frequency": [0.0, 1.0]
},
"weld": {
"weld_current": [0.0, 1.0],
"weld_voltage": [0.0, 1.0]
}
}9. Welder Settings
9.1 Host Computer Sets Welder
Command: 0x8370
Description: Users can configure the welder via the following command word.
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| controlMode | int | Control Mode | 0: Analog Control, 1: Digital Control |
| monufactor | string | Welder Manufacturer | Nabo, Megmeet, Shenwei Intelligent, Aotai, Meijianike, Ruiling, Kemppi IF15, EWM, Fronius |
| weldingMode | int | Welder Working Mode | 0: Separate, 1: Unified |
| commMode | string | Communication Mode | CAN, ModBus RTU, Modbus TCP |
| slaveIP | string | Slave IP (must be set when communication mode is Modbus TCP) | - |
| slaveid | int | Slave ID (must be set when communication mode is Modbus RTU) | - |
| port | int | Port Number (must be set when communication mode is Modbus RTU or Modbus TCP) | (0,65535] |
| baudRate | int | Baud Rate (must be set when communication mode is Modbus RTU) | - |
| identifiedWelder | string | Identified Welder | - |
| CANPort | string | CAN Communication Port (must be set when communication mode is CAN) | - |
| CANPortSum | int | CAN Communication Port Count | - |
| welderNumber | int | Welder Number | - |
| monufactorList | string[] | Selectable Welder Manufacturer List | Nabo, Megmeet, Shenwei Intelligent, Aotai, Meijianike, Ruiling, Kemppi IF15, EWM, Fronius, Hezong |
| weldingvoltageCurve | int[] | Welding Voltage Curve | - |
RILAND (RILAND Welder Parameters)
| Parameter Name | Type | Description |
|---|---|---|
| materialWireDiameterGasSelect | int | Material/Wire Diameter/Gas Selection |
{
"welder": [
{
"controlMode": 0,
"monufactor": "Megmeet",
"weldingMode": 0,
"commMode": "CAN",
"slaveIP": "192.168.1.14",
"slaveid": 1,
"port": 2,
"baudRate": 38400,
"identifiedWelder": "Megmeet1",
"CANPort": 1,
"CANPortSum": 0,
"welderNumber": 1,
"monufactorList": ["Nabo","Megmeet","Shenwei Intelligent","Aotai","Meijianike","Ruiling","Kemppi IF15","EWM","Fronius","Hezong"],
"weldingvoltageCurve": [0],
"RILAND": {
"materialWireDiameterGasSelect": 1
}
}
]
}9.2 Host Computer Queries Welder Selection
Command: 0x8371
9.3 Controller Replies with Welder Selection
Command: 0x8372
Return parameters are the same as "Host Computer Sets Welder"; see the tables and examples above.
9.4 Welder Communication Status Query
Command: 0x8373
9.5 Controller Returns Welder Communication Status
Command: 0x8374
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| welder[].status | int | Welder Communication Status | 0: Not Communicated, 1: Communicated |
{
"welder": [
{
"status": 0
}
]
}9.6 Host Computer Queries Notes in Welding Parameters and Weave Welding Parameters
Command: 0x8380
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| finishinit | bool | Controller Initialization Complete Flag | true: Complete, false: Incomplete |
| robot | int | Current Robot | [1,4] |
{
"finishinit": true,
"robot": 1
}9.7 Controller Returns Query Result
Command: 0x8381
| Parameter Name | Type | Description |
|---|---|---|
| weldNotes | string[] | Welding Parameter Notes |
| weavParameterNotes | string[] | Weave Welding Parameter Notes |
| robot | int | Current Robot |
{
"robot": 1,
"weldNotes": ["112", "223", "", ""],
"weavParameterNotes": ["112", "223", "", ""]
}10. Multi-layer Multi-pass Welding
10.1 Multi-layer Multi-pass Welding Parameter Setup
Command: 0x8390
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| num | int | Process Number | [1,999] |
| robot | int | Current Robot | [1,4] |
| sum | int | Total Weld Beads | [1,999] |
multipass (Multi-layer Multi-pass Parameters)
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| note | string | Notes | - |
| weld_bead_num | int | Weld Bead Count | [1,99] |
{
"multipass": [
{
"note": "",
"weld_bead_num": 6
}
],
"num": 1,
"robot": 1,
"sum": 100
}10.2 Host Computer Queries Multi-layer Multi-pass Weld Bead Parameters
Command: 0x8391
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| num | int | Process Number | [1,999] |
| robot | int | Current Robot | [1,4] |
{
"num": 1,
"robot": 1
}10.3 Controller Replies with Multi-layer Multi-pass Weld Bead Parameters
Command: 0x8392
Return parameters are the same as "Multi-layer Multi-pass Welding Parameter Setup"; see the tables and examples above.
10.4 Host Computer Sets Multi-layer Multi-pass Weld Bead Configuration
Command: 0x8393
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| num | int | Process Number | [1,999] |
| robot | int | Current Robot | [1,4] |
weld_bead (Weld Bead Configuration)
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| head_indent | double | Head Indent | [-1000,1000]mm |
| head_multi_indent | bool | Head Multiple Indent Enable | - |
| left_right_offset | double | Left/Right Offset | [-1000,1000]mm |
| push_angle | double | Push Angle | [-180,180] |
| tail_indent | double | Tail Indent | [-1000,1000]mm |
| tail_multi_indent | bool | Tail Multiple Indent Enable | - |
| tilt_angle | double | Tilt Angle | [-180,180] |
| up_down_offset | double | Up/Down Offset | [-1000,1000]mm |
| weld_dir | int | Welding Direction | 0: +1, 1: -1 |
{
"num": 1,
"robot": 1,
"weld_bead": [
{
"head_indent": 0.0,
"head_multi_indent": false,
"left_right_offset": 0.0,
"push_angle": 0.0,
"tail_indent": 0.0,
"tail_multi_indent": false,
"tilt_angle": 0.0,
"up_down_offset": 0.0,
"weld_dir": 0
}
]
}10.5 Host Computer Queries Multi-layer Multi-pass Weld Bead Configuration
Command: 0x8394
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| num | int | Process Number | [1,999] |
| robot | int | Current Robot | [1,4] |
{
"num": 1,
"robot": 1
}10.6 Controller Replies with Multi-layer Multi-pass Weld Bead Configuration
Command: 0x8395
Return parameters are the same as "Host Computer Sets Multi-layer Multi-pass Weld Bead Configuration"; see the tables and examples above.
10.7 Multi-layer Multi-pass Parameter Clear
Command: 0x8396
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| num | int | Process Number | [1,999] |
| robot | int | Current Robot | [1,4] |
{
"num": 1,
"robot": 1
}10.8 Multi-layer Multi-pass Parameter Copy
Command: 0x8397
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| num_source | int | Source Process Number | - |
| num_target | int | Target Process Number | - |
| robot | int | Current Robot | [1,4] |
{
"num_source": 1,
"num_target": 2,
"robot": 1
}10.9 Multi-layer Multi-pass Parameter Add
Command: 0x8398
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| robot | int | Current Robot | [1,4] |
{
"robot": 1
}11. Weld Seam Database
11.1 Save Data to Weld Seam Database
Command: 0x83A0
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| robot | int | Robot Number | [1,4] |
| weld_type | string | Weld Seam Type | - |
| fillet_weld_leg_1 | double | Left Weld Leg Height | - |
| fillet_weld_leg_2 | double | Right Weld Leg Height | - |
| fillet_weld_leg_angle | double | Angle Between Two Weld Legs | [-180,180] |
| weld_parameter_mode | string | Welder Working Mode | "Unified" or "Separate" |
| welding_current | double | Welding Current | - |
| welding_voltage | double | Welding Voltage | - |
| welding_speed | double | Welding Speed | - |
| weld_bead_layer | int | Total Weld Bead Layers | [1,99] |
| weld_bead_number | int | Total Weld Bead Count | [1,99] |
weld_bead (Weld Bead Parameters)
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| left_right_offset | double | Left/Right Offset of i-th Weld Bead | [-1000,1000] |
| up_down_offset | double | Up/Down Offset of i-th Weld Bead | [-1000,1000] |
{
"robot": 1,
"weld_type": "V-groove",
"fillet_weld_leg_1": 10,
"fillet_weld_leg_2": 10,
"fillet_weld_leg_angle": 90,
"weld_parameter_mode": "Unified",
"welding_current": 160,
"welding_voltage": 23,
"welding_speed": 6,
"weld_bead_layer": 4,
"weld_bead_number": 10,
"weld_bead": [
{
"left_right_offset": 0.0,
"up_down_offset": 0.0
}
]
}11.2 Match Data in Weld Seam Database
Command: 0x83A1
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| robot | int | Robot Number | [1,4] |
| weld_type | string | Weld Seam Type | - |
| fillet_weld_leg_1 | double | Left Weld Leg Height | - |
| fillet_weld_leg_2 | double | Right Weld Leg Height | - |
| fillet_weld_leg_angle | double | Angle Between Two Weld Legs | [-180,180] |
| weld_parameter_mode | string | Welder Working Mode | "Unified" or "Separate" |
| welding_current | double | Welding Current | - |
| welding_voltage | double | Welding Voltage | - |
| welding_speed | double | Welding Speed | - |
{
"robot": 1,
"weld_type": "V-groove",
"fillet_weld_leg_1": 10,
"fillet_weld_leg_2": 10,
"fillet_weld_leg_angle": 90,
"weld_parameter_mode": "Unified",
"welding_current": 160,
"welding_voltage": 23,
"welding_speed": 6
}11.3 Controller Replies with Database Match Results
Command: 0x83A2
Description: Replies with the total weld bead layers, total bead count, and number of beads per layer for matching items in the database.
| Parameter Name | Type | Description |
|---|---|---|
| weld_database | array | Matched Database |
| total_layer | int | Total Weld Bead Layers of i-th Match Item |
| total_bead | int | Total Weld Bead Count of i-th Match Item |
| layer | array | Weld Bead Layer Info |
| number | int | Weld Bead Count of k-th Layer in i-th Match Item |
{
"weld_database": [
{
"total_layer": 4,
"total_bead": 10,
"layer": [
{
"number": 1
}
]
}
]
}12. Intersecting Curve
12.1 Coordinate Calibration Setup
Command: 0x83B0
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| workPieceNum | int | Process Number | [1,3] |
{
"workPieceNum": 1
}12.2 Host Computer Queries Coordinate Calibration
Command: 0x83B1
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| workPieceNum | int | Process Number | [1,3] |
| pointNum | int | Calibration Points (6 calibration points required in total) | [0,5] |
{
"workPieceNum": 1,
"pointNum": 0
}12.3 Controller Replies with Coordinate Calibration
Command: 0x83B2
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| workPieceNum | int | Process Number | [1,3] |
| pointNum | int | Calibration Points (6 calibration points required in total) | [0,5] |
| pos | double[] | Coordinates of the Calibration Point (X,Y,Z,A,B,C) | - |
{
"workPieceNum": 1,
"pointNum": 0,
"pos": [0, 0, 0, 0, 0, 0]
}12.4 Reply with Intersecting Curve Setup Calculation Result
Command: 0x83B3
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| result | bool | Whether Calculation Result Exists | true: Yes, false: No |
| workPieceNum | int | Process Number | [1,3] |
cylinderIntersectLineParam (Intersecting Curve Parameters)
| Parameter Name | Type | Description |
|---|---|---|
| R | double | Lower Cylinder Radius |
| r | double | Upper Cylinder Radius |
| e | double | Center Axis Distance |
| alpha | double | Center Axis Angle |
WorkPieceCoord
| Parameter Name | Type | Description |
|---|---|---|
| - | double[] | X, Y, Z, A, B, C Values |
{
"result": true,
"workPieceNum": 1,
"cylinderIntersectLineParam": {
"R": 0,
"r": 0,
"e": 0,
"alpha": 0
},
"WorkPieceCoord": [0, 0, 0, 0, 0, 0]
}12.5 Intersecting Curve Workpiece Parameter Setup
Command: 0x83B4
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| workPieceNum | int | Process Number | [1,3] |
cylinderIntersectLineParam (Intersecting Curve Parameters)
| Parameter Name | Type | Description |
|---|---|---|
| R | double | Lower Cylinder Radius |
| r | double | Upper Cylinder Radius |
| e | double | Center Axis Distance |
| alpha | double | Center Axis Angle |
WorkPieceCoord
| Parameter Name | Type | Description |
|---|---|---|
| - | double[] | X, Y, Z, A, B, C Values |
{
"workPieceNum": 1,
"cylinderIntersectLineParam": {
"R": 0,
"r": 0,
"e": 0,
"alpha": 0
},
"WorkPieceCoord": [0, 0, 0, 0, 0, 0]
}12.6 Host Computer Queries Intersecting Curve Workpiece Parameters
Command: 0x83B5
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| workPieceNum | int | Process Number | [1,3] |
{
"workPieceNum": 1
}12.7 Controller Replies with Intersecting Curve Workpiece Parameters
Command: 0x83B6
Return parameters are the same as "Intersecting Curve Workpiece Parameter Setup"; see the tables and examples above.
12.8 Intersecting Curve Welding Gun Parameter Setup
Command: 0x83B7
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| workPieceNum | int | Process Number | [1,3] |
WeldingGunParam (Welding Gun Parameters)
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| alpha | double | - | [-60,60] |
| beta | double | - | [-60,60] |
| gama | double | - | [-180,180] |
| pos_hf_hq | double[] | The third value must be greater than 0 | - |
| startAngle | double | - | [-180,180] |
| totalAngle | double | - | [0,360] |
{
"workPieceNum": 1,
"WeldingGunParam": {
"alpha": 0,
"beta": 0,
"gama": 0,
"pos_hf_hq": [0, 0, 10]
},
"startAngle": 0,
"totalAngle": 360
}12.9 Host Computer Queries Intersecting Curve Welding Gun Parameters
Command: 0x83B8
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| workPieceNum | int | Process Number | [1,3] |
{
"workPieceNum": 1
}12.10 Controller Replies with Intersecting Curve Welding Gun Parameters
Command: 0x83B9
Return parameters are the same as "Intersecting Curve Welding Gun Parameter Setup"; see the tables and examples above.
12.11 Host Computer Sets Whether Positioner Exists
Command: 0x83BA
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| workPieceNum | int | Process Number | [1,3] |
| withSyncPosFlag | int | Whether Positioner Exists | 0: No Positioner, 1: Has Positioner |
{
"workPieceNum": 1,
"withSyncPosFlag": 1
}12.12 Host Computer Queries Whether Positioner Exists
Command: 0x83BB
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| workPieceNum | int | Process Number | [1,3] |
{
"workPieceNum": 1
}12.13 Controller Replies with Whether Positioner Exists
Command: 0x83BC
| Parameter Name | Type | Description | Value Range |
|---|---|---|---|
| workPieceNum | int | Process Number | [1,3] |
| withSyncPosFlag | int | Whether Positioner Exists | 0: No Positioner, 1: Has Positioner |
{
"workPieceNum": 1,
"withSyncPosFlag": 1
}