Skip to content

5. External Control and Communication Methods

Table of Contents


Remote Program Settings

Remote Mode Connection Status

Query Modbus and External IO Connection Status

Command Code: 0x5032 REMOTE_CONNECT_INQUIRE

Request body:

json
{}

Return Connection Status

Command Code: 0x5033 REMOTE_CONNECT_RESPOND

Response body:

json
{
  "ModbusConnect": false,
  "ExternIOConnect": true,
  "type": 2
}
ParameterTypeDescription
ModbusConnectboolModbus connection status: false not connected, true connected
ExternIOConnectboolExternal IO connection status: false not connected, true connected
typeintConnection type: 0:NAN, 1:RTU, 2:TCP

Remote Job File Settings

Set Remote Job File

Command Code: 0x2C01 REMOTE_JOBFILE_SET

ParameterTypeDescription
robotintRobot number
jobFilearrayJob file list

jobFile array elements:

ParameterTypeDescription
namestringJob file name
timesintNumber of runs

Request body:

json
{
  "robot": 1,
  "jobFile": [
    {"name": "Q1", "times": 1},
    {"name": "Q2", "times": 1},
    {"name": "Q3", "times": 1},
    {"name": "Q4", "times": 1},
    {"name": "Q5", "times": 1}
  ]
}

Maximum 10 job files

Get Remote Job File

Command Code: 0x2C02 REMOTE_JOBFILE_INQUIRE

Request body:

json
{
  "robot": 1
}

Return Job File Query Result

Command Code: 0x2C03 REMOTE_JOBFILE_RESPOND

Response body:

json
{
  "robot": 1,
  "jobFile": [
    {"name": "Q1", "times": 3},
    {"name": "Q2", "times": 3},
    {"name": "", "times": 1},
    {"name": "Q4", "times": 2},
    {"name": "", "times": 1}
  ]
}

Remote Mode Parameter Settings

Set Remote Mode Parameters

Command Code: 0x2C04 REMOTE_PARA_SET

ParameterTypeDescription
robotintRobot number
remoteDefaultSpeedintRemote mode speed, range 1~100
reserveIsStartintReserve and start: 1 start, 0 off
reserveTrgTimeintStart confirmation time, range 200~1000ms
waitingTimeintIO repeat trigger time

Request body:

json
{
  "robot": 1,
  "remoteDefaultSpeed": 15,
  "reserveIsStart": 1,
  "reserveTrgTime": 200,
  "waitingTime": 500
}

Query Remote Mode Parameters

Command Code: 0x2C05 REMOTE_PARA_INQUIRE

Request body:

json
{
  "robot": 1
}

Return Remote Mode Parameter Query Result

Command Code: 0x2C06 REMOTE_PARA_RESPOND

Response body:

json
{
  "robot": 1,
  "remoteDefaultSpeed": 15,
  "reserveIsStart": 1,
  "reserveTrgTime": 200,
  "waitingTime": 500
}

Lua Program

Lua files are stored in the ~/robot/job/lua directory.

File upload and file list viewing use the SCP method.

Run Program

Host PC sends: 0x2511

json
{
  "fileName": "xxx.lua"
}

Controller returns: 0x2512

json
{
  "fileName": "xxx.lua",
  "result": true,
  "error": "Error reason"
}
ParameterTypeRequiredDescription
fileNamestringYesLua file name
resultboolYesWhether the run was successful
errorstringYesError reason; empty string on success

Stop Program

Host PC sends: 0x2513

json
{
  "fileName": "xxx.lua"
}
ParameterTypeRequiredDescription
fileNamestringYesLua file name

Current Running

Host PC sends: 0x2515

json
{}

Controller responds: 0x2516

json
{
  "fileNames": [
    {
      "fileName": "xxx.lua",
      "status": 1
    }
  ]
}
ParameterTypeRequiredDescription
fileNamesarrayYesList of running files
fileNames[].fileNamestringYesLua file name
fileNames[].statusintYes1-paused, 2-running

Modbus

1. Set Modbus Program

Command Code: 0x5701 EXTERN_PROGRAM_SET

json
{
  "robot": 1,
  "programid": 1,
  "jobname": "xxxx"
}
ParameterTypeRequiredDescription
robotintYesRobot number, range 1-4
programidintYesProgram ID, range 1-300
jobnamestringYesJob file name (without extension)

2. Query Modbus Program

Command Code: 0x5702 EXTERN_PROGRAM_INQUIRE

json
{
  "robot": 1,
  "startprogramid": 1,
  "num": 10
}
ParameterTypeRequiredDescription
robotintYesRobot number, range 1-4
startprogramidintYesProgram start ID
numintYesNumber of programs to retrieve, range 1-10

3. Query Modbus Program Response

Command Code: 0x5703 EXTERN_PROGRAM_RESPOND

json
{
  "robot": 1,
  "startprogramid": 1,
  "jobnamelist": ["xxx", "", "yyyy"]
}
ParameterTypeRequiredDescription
robotintYesRobot number, range 1-4
startprogramidintYesProgram start ID
jobnamelistarrayYesJob file name list, 10 elements total; fill with empty string if none

4. Set Controller Modbus Type

Command Code: 0x5711

json
{
  "RTU": {
    "baudrate": 115200,
    "port": 2,
    "slaveId": 1
  },
  "TCP": {
    "IP": "192.168.1.11",
    "port": 502
  },
  "master-slave": 1,
  "scancycle": 100,
  "stoprun": 0,
  "type": "TCP"
}
CategoryParameterTypeRequiredDescription
RTUbaudratestringYesBaud rate for Modbus RTU communication
RTUportintYesSerial port number for Modbus RTU communication
RTUslaveIdintYesSlave device ID for Modbus RTU communication
TCPIPstringYesServer IP address for Modbus TCP communication
TCPportintYesPort number for Modbus TCP communication
Generalmaster-slavestringYesMaster-slave mode: 0 for master mode, 1 for slave mode
GeneralscancycleintYesScan cycle, unit: milliseconds
GeneralstoprunboolYesRun/stop flag: 0 for not stopped, 1 for stopped
GeneraltypestringYesCommunication type, either RTU or TCP

5. Query Controller Modbus Type

Command Code: 0x5712

json
{}

Controller response (0x5713):

json
{
  "RTU": {
    "baudrate": 115200,
    "port": 2,
    "slaveId": 1
  },
  "TCP": {
    "IP": "192.168.1.11",
    "port": 502
  },
  "enable": true,
  "master-slave": 1,
  "scancycle": 100,
  "stoprun": 0,
  "type": "TCP"
}
CategoryParameterTypeRequiredDescription
RTUbaudratestringYesBaud rate for Modbus RTU communication
RTUportintYesSerial port number for Modbus RTU communication
RTUslaveIdintYesSlave device ID for Modbus RTU communication
TCPIPstringYesServer IP address for Modbus TCP communication
TCPportintYesPort number for Modbus TCP communication
GeneralenableboolYesWhether Modbus communication is enabled
Generalmaster-slavestringYesMaster-slave mode: 0 for master mode, 1 for slave mode
GeneralscancycleintYesScan cycle, unit: milliseconds
GeneralstoprunboolYesRun/stop flag: 0 for not stopped, 1 for stopped
GeneraltypestringYesCommunication type, either RTU or TCP

6. Controller Modbus Enable

Command Code: 0x5714

json
{
  "enable": false
}
ParameterTypeRequiredDescription
enableboolYesWhether to enable Modbus communication: false to disable, true to enable

7. Set Modbus Heartbeat Detection

Command Code: 0x5715 MODBUS_CHECKHEART_SET

json
{
  "checkheart": true
}
ParameterTypeRequiredDescription
checkheartboolYesModbus heartbeat detection switch

8. Query Modbus Heartbeat Detection

Command Code: 0x5716 MODBUS_CHECKHEART_INQUIRE

json
{}

Controller response (0x5717):

json
{
  "checkheart": true
}
ParameterTypeRequiredDescription
checkheartboolYesModbus heartbeat detection status: true enabled, false disabled

9. Query Whether Controller as Slave Station is Connected

Command Code: 0x5718

Request:

json
{}

Response:

json
{
  "ModbusConnect": false
}
ParameterTypeRequiredDescription
ModbusConnectboolYesConnection status: false not connected, true connected

10. Controller as Master Station Parameter Settings

Command Code: 0x5719

json
{
  "masterStation": {
    "RTU": {
      "baudrate": 115200,
      "checkBit": "E",
      "dataBit": 5,
      "port": 2,
      "slaveId": 1,
      "stopBit": 1
    },
    "TCP": {
      "IP": "192.168.10.56",
      "port": 503
    },
    "processNumber": 1,
    "type": "TCP"
  },
  "startAddress": false
}
CategoryParameterTypeRequiredDescription
masterStationtypestringYesCommunication type: RTU or TCP
masterStationprocessNumberintYesProcess number
masterStation.RTUbaudrateintYesBaud rate
masterStation.RTUcheckBitstringYesParity bit: e.g. "E" (even parity), "O" (odd parity), "N" (no parity)
masterStation.RTUdataBitintYesData bit
masterStation.RTUportintYesSerial port number
masterStation.RTUslaveIdintYesSlave device ID
masterStation.RTUstopBitintYesStop bit
masterStation.TCPIPstringYesTCP server IP address
masterStation.TCPportintYesTCP port number
GeneralstartAddressboolYesStart address switch

11. Query Controller Information as Master Station

Command Code: 0x5744

json
{
  "processNumber": 2
}
ParameterTypeRequiredDescription
processNumberintYesProcess number

12. Query Master Station Information Response

Command Code: 0x5745

json
{
  "RTU": {
    "baudrate": 115200,
    "checkBit": "E",
    "dataBit": 5,
    "port": 3,
    "slaveId": 56,
    "stopBit": 1
  },
  "TCP": {
    "IP": "192.168.1.14",
    "port": 503
  },
  "modbus_state": false,
  "response_time_out": 100,
  "startAddress": true,
  "type": "RTU"
}
CategoryParameterTypeRequiredDescription
RTUbaudrateintYesBaud rate
RTUcheckBitstringYesParity bit
RTUdataBitintYesData bit
RTUportintYesSerial port number
RTUslaveIdintYesSlave device ID
RTUstopBitintYesStop bit
TCPIPstringYesTCP server IP address
TCPportintYesTCP port number
Generalmodbus_stateboolYesMODBUS status
Generalresponse_time_outintYesResponse timeout, unit: milliseconds
GeneralstartAddressboolYesStart address switch
GeneraltypestringYesCommunication type: RTU or TCP

13. Command Code Summary

Command CodeFunctionDirection
0x5701Set Modbus programHost PC → Controller
0x5702Query Modbus programHost PC → Controller
0x5703Query Modbus program responseController → Host PC
0x5711Set controller Modbus typeHost PC → Controller
0x5712Query controller Modbus typeHost PC → Controller
0x5713Query controller Modbus type responseController → Host PC
0x5714Controller Modbus enableHost PC → Controller
0x5715Set Modbus heartbeat detectionHost PC → Controller
0x5716Query Modbus heartbeat detectionHost PC → Controller
0x5717Query Modbus heartbeat detection responseController → Host PC
0x5718Query slave station connection statusHost PC → Controller
0x5719Set master station parametersHost PC → Controller
0x5744Query master station informationHost PC → Controller
0x5745Query master station information responseController → Host PC

TCP Communication

Set Network Parameters

Command Code: 0x4180 MSGCOMM_PARAM_SET

Client

Request Parameters

FieldTypeDescription
frameHeaderstringFrame header
ipstringIP address
numberSystemint0: decimal, 1: hexadecimal
portintPort number
separatorstringSeparator
terminatorstringTerminator
craftintProcess number (1~9)
robotintRobot number
typeint0: server, 1: client

Request Example

json
{
  "client": {
    "frameHeader": "@",
    "ip": "192.168.1.111",
    "numberSystem": 1,
    "port": 9000,
    "separator": ",",
    "terminator": "!"
  },
  "craft": 1,
  "robot": 1,
  "type": 1
}

Server

Request Parameters

FieldTypeDescription
frameHeaderstringFrame header
ipstringIP address
numberSystemint0: decimal, 1: hexadecimal
portintPort number
separatorstringSeparator
terminatorstringTerminator
craftintProcess number (1~9)
robotintRobot number
typeint0: server, 1: client

Request Example

json
{
  "craft": 3,
  "robot": 1,
  "server": {
    "frameHeader": "@A",
    "ip": "192.168.1.14",
    "numberSystem": 0,
    "port": 9001,
    "separator": "B",
    "terminator": "C"
  },
  "type": 0
}

Query Network Parameters

Command Code: 0x4181 MSGCOMM_PARAM_INQUIRE

Request Parameters

FieldTypeDescription
robotintRobot number
craftintProcess number
typeint0: server, 1: client

Request Example

json
{
  "robot": 1,
  "craft": 1,
  "type": 2
}

Respond to Network Parameter Query

Command Code: 0x4182 MSGCOMM_PARAM_RESPOND

Client

Response Parameters

FieldTypeDescription
frameHeaderstringFrame header
ipstringIP address
numberSystemint0: decimal, 1: hexadecimal
portintPort number
separatorstringSeparator
terminatorstringTerminator
craftintProcess number
netStatebooltrue: connected, false: disconnected
robotintRobot number
typeint0: server, 1: client

Response Example

json
{
  "client": {
    "frameHeader": "@",
    "ip": "192.168.1.111",
    "numberSystem": 0,
    "port": 9000,
    "separator": ",",
    "terminator": "!"
  },
  "craft": 1,
  "netState": false,
  "robot": 1,
  "type": 1
}

Server

Response Parameters

FieldTypeDescription
frameHeaderstringFrame header
ipstringIP address
numberSystemint0: decimal, 1: hexadecimal
portintPort number
separatorstringSeparator
terminatorstringTerminator
craftintProcess number
netStatebooltrue: connected, false: disconnected
robotintRobot number
typeint0: server, 1: client

Response Example

json
{
  "craft": 1,
  "netState": false,
  "robot": 1,
  "server": {
    "frameHeader": "@",
    "ip": "192.168.1.14",
    "numberSystem": 0,
    "port": 22,
    "separator": ",",
    "terminator": "!"
  },
  "type": 0
}

Connect MSGCOMM Network

Command Code: 0x4183 MSGCOMM_DEVICE_CONNECT

Request Parameters

FieldTypeDescription
robotintRobot number
craftintProcess number

Request Example

json
{
  "robot": 1,
  "craft": 1
}

Close MSGCOMM Network

Command Code: 0x4184 MSGCOMM_DEVICE_CLOSE

Request Parameters

FieldTypeDescription
robotintRobot number
craftintProcess number

Request Example

json
{
  "robot": 1,
  "craft": 1
}