Skip to content

System ​

Status ​

Query Initialization Status ​

The system needs to be initialized upon startup, otherwise the system will not be usable.

Command: 0x1000

  • No data needs to be sent

Controller Reply

Command: 0x1001

FieldTypeDescription
finishinitboolWhether initialization is complete; true means complete, false means not complete
json
{
  "finishinit": true
}

Query Whether It Is a T5 System ​

Command: 0x1002

  • No data needs to be sent

Controller Reply

Command: 0x1003

FieldTypeDescription
T5_systemboolWhether it is a T5 system; true means yes, false means no
json
{
  "T5_system": false
}

Query Hardware System Release Version ​

Command: 0x1004

  • No data needs to be sent

Controller Reply

Command: 0x1005

FieldTypeDescription
resultboolWhether the query was successful; true means success, false means failure
versionstringVersion number (returned if the query is successful)
json
{
  "result": true,
  "version": "xx"
}

Version Upgrade ​

When the system starts up, the current version number needs to be queried. If a mismatch is found, a version upgrade is required.

Query Current System Version Number ​

Command: 0x1010

FieldTypeDescription
versionstringVersion number content
json
{
  "version": "v1.0-rc1-67-gf34dae7"
}

Controller Reply

Command: 0x1011

FieldTypeDescription
configFileVersionMismatchboolWhether the configuration file matches; false means mismatch, true means match
jobFileVersionstringJob file version
rtlVersionstringController version
sysClockstringSystem clock, format like "2023.11.10 13:29:25"
versionstringVersion number content; if the version sent during the query is an empty string, the same content is returned
json
{
  "configFileVersionMismatch": false,
  "jobFileVersion": "5.2.0",
  "rtlVersion": "22.08.0",
  "sysClock": "2023.11.10 13:29:25",
  "version": "v1.0-rc1-67-gf34dae7"
}

Log ​

Query Crash Log Files ​

Command: 0x1020

  • No data needs to be sent

Controller Reply

Command: 0x1021

FieldTypeDescription
absolutepathstringPath
dumpLogfilenumintNumber of files
dumpLogfileliststring[]Log file list
json
{
  "absolutepath": "",
  "dumpLogfilenum": 3,
  "dumpLogfilelist": ["", "", "", ""]
}

Request Log File List ​

Command: 0x1022

FieldTypeDescription
numintNumber of recent files to retrieve; can be 5, 30, or 100
json
{
  "num": 5
}

Controller Reply

Command: 0x1023

FieldTypeDescription
absolutepathstringLog directory path
logfilenumintNumber of logs (may not equal num)
logfileliststring[]Log list
json
{
  "absolutepath": "log/",
  "logfilenum": 3,
  "logfilelist": ["logInfo.0", "logInfo.1", "logInfo.2"]
}

Factory Reset ​

Command: 0x1030

FieldTypeDescription
clearFactoryIOboolClear all IOs; true means clear, false means not cleared
clearFactoryRobotboolClear all robots; true means clear, false means not cleared
clearFactoryToolhandboolClear all tool hands; true means clear, false means not cleared
clearConfigFileboolClear all system configuration files; true means clear, false means not cleared
clearExtendedFileboolClear all extended files; true means clear, false means not cleared
json
{
  "clearFactoryIO": true,
  "clearFactoryRobot": true,
  "clearFactoryToolhand": true,
  "clearConfigFile": true,
  "clearExtendedFile": true
}

Restart, Shutdown ​

Restart Controller ​

Command: 0x1031

  • No data needs to be sent

Shutdown ​

Command: 0x1032

  • No data needs to be sent

Query Power Loss Recovery Status ​

Command: 0x1033

  • No data needs to be sent

Controller Reply

Command: 0x1034

FieldTypeDescription
rebootKeepRecoveryFlagboolPower loss recovery flag; true means recovery successful, false means power loss recovery was not performed
rebootKeepJobFileNamestringProgram name for power loss recovery; the first character of the program name must not be a digit
json
{
  "rebootKeepRecoveryFlag": false,
  "rebootKeepJobFileName": "xxxx"
}

IP Settings ​

Controller IP Settings ​

Command: 0x1040

FieldTypeDescription
namestringNetwork interface name
addressstringController IP address
gatewaystringController gateway
dnsstringController DNS
json
{
  "name": "p1p1",
  "address": "192.168.1.13",
  "gateway": "192.168.1.1",
  "dns": "114.114.114.114"
}

Query Connected IP ​

Command: 0x1041

  • No data needs to be sent

Controller Reply

Command: 0x1042

FieldTypeDescription
numintNumber of network interfaces
networkarrayNetwork information list
network[].namestringNetwork interface name
network[].addressstringController IP
network[].gatewaystringController gateway
network[].dnsstringController DNS
json
{
  "num": 2,
  "network": [
    {
      "name": "p1p1",
      "address": "192.168.1.13",
      "gateway": "192.168.1.1",
      "dns": "114.114.114.114"
    },
    {
      "name": "p2p1",
      "address": "192.168.1.14",
      "gateway": "192.168.1.1",
      "dns": "114.114.114.114"
    }
  ]
}

Time Settings ​

Send Time Query ​

Command: 0x1050

FieldTypeDescription
typeintTime type: 0 for real time, 1 for seconds elapsed since system start
formatintFormat: 0 for timestamp, 1 for Beijing time
json
{
  "type": 0,
  "format": 0
}

Controller Reply

Command: 0x1051

FieldTypeDescription
tTypeintTime type: 0 for real time, 1 for seconds elapsed since system start
formatintFormat: 0 for timestamp, 1 for Beijing time
dateobjectDate and time information
date.yearintYear
date.monintMonth
date.dayintDay
date.hourintHour
date.minintMinute
date.secintSecond
date.msecintMillisecond
timestampobjectTimestamp (displayed when format is 0)
timestamp.sintTimestamp seconds
timestamp.nsintTimestamp nanoseconds
json
{
  "tType": 0,
  "format": 0,
  "date": {
    "year": 2023,
    "mon": 1,
    "day": 1,
    "hour": 1,
    "min": 1,
    "sec": 1,
    "msec": 1
  },
  "timestamp": {
    "s": 1,
    "ns": 1
  }
}

Query Language Support ​

Command: 0x1052

  • No data needs to be sent

Controller Reply

Command: 0x1053

FieldTypeDescription
languagestring[]All languages supported by the controller; currently supports: Chinese, Korean, English
language_usedstringLanguage currently used by the controller
json
{
  "language": ["Chinese", "Korean", "English"],
  "language_used": "Chinese"
}

Query Host Computer Current Language ​

Command: 0x1054

FieldTypeDescription
teachbox_languagestringCurrent language used by the host computer
json
{
  "teachbox_language": "Chinese"
}

System Maintenance ​

System Maintenance Query ​

Command: 0x1060

  • No data needs to be sent

Controller Reply

Command: 0x1061

FieldTypeDescription
controller_IDstringController ID
controller_total_timeintTotal controller power-on time, in hours
controller_spent_timeintTime since last controller maintenance, in hours
controller_cycle_timeintController maintenance interval cycle, in hours
robot_total_timeintTotal robot power-on time, in hours
robot_spent_timeintTime since last robot maintenance, in hours
robot_cycle_timeintRobot maintenance interval cycle, in hours
json
{
  "controller_ID": "4DC9F0249098C82E",
  "controller_total_time": 0,
  "controller_spent_time": 0,
  "controller_cycle_time": 0,
  "robot_total_time": 0,
  "robot_spent_time": 0,
  "robot_cycle_time": 0
}

System Maintenance Reminder ​

Command: 0x1062

FieldTypeDescription
existboolWhether the maintenance file exists; true means exists, false means does not exist
controlTimeStatusboolController maintenance status; true means maintenance needed, false means no maintenance needed
robotTimeStatusboolRobot maintenance status; true means maintenance needed, false means no maintenance needed
json
{
  "exist": true,
  "controlTimeStatus": true,
  "robotTimeStatus": true
}

File ​

Query Controller Configuration File Directory ​

Command: 0x1070

FieldTypeDescription
isExportboolImport/export configuration; true means export configuration, false means import configuration
json
{
  "isExport": true
}

Controller Reply

Command: 0x1071

FieldTypeDescription
fileliststring[]Configuration file name list
filenumintNumber of configuration files
json
{
  "filelist": ["xxx.json", "yyy.json"],
  "filenum": 2
}

System Backup ​

Query Whether Teach Pendant Program for Current Version Exists ​

Command: 0x1090

FieldTypeDescription
config_md5stringMD5 value of config.db file
pinyin_md5stringMD5 value of Pinyin.db file; null means the file does not exist or its size is 0
pro_md5stringMD5 value of the teach pendant program file
pro_namestringName of the teach pendant program file; optional Qt-tp or T30_ARM_Linux_Teach-pendant
json
{
  "config_md5": "2803f92ecdecfd3c178b0998b9391a4d",
  "pinyin_md5": "null",
  "pro_md5": "ce407851346d030dad5207948f55ed6c",
  "pro_name": "Qt-tp"
}

Controller Reply

Command: 0x1091

FieldTypeDescription
pathobjectFile path information
path.configstringconfig.db file upload path
path.dirstringPath for all files
path.pinyinstringPinyin.db file upload path; empty string means no upload needed
path.prostringQt-tp file upload path
json
{
  "path": {
    "config": "qttpBackup/rtl-24.03.07-6.0.9-1.0.6",
    "dir": "qttpBackup/rtl-24.03.07-6.0.9-1.0.6",
    "pinyin": "",
    "pro": "qttpBackup/rtl-24.03.07-6.0.9-1.0.6"
  }
}

Query Whether Teach Pendant Program Matching Controller Version Exists ​

Command: 0x1092

FieldTypeDescription
pro_namestringTeach pendant program name; optional Qt-tp or T30_ARM_Linux_Teach-pendant
json
{
  "pro_name": "Qt-tp"
}

Controller Reply

Command: 0x1093

FieldTypeDescription
backuppathstringBackup path

Request Backup Program File ​

Command: 0x1094

FieldTypeDescription
backup_dirstringOriginal path of the backup file
pro_namestringProgram name; Qt-tp or T30_ARM_Linux_Teach-pendant
json
{
  "backup_dir": "qttpBackup/rtl-24.03.07-6.0.9-1.0.6",
  "pro_name": "Qt-tp"
}

Controller Reply

Command: 0x1095

FieldTypeDescription
backuppathstringAuto backup path
json
{
  "backuppath": ""
}

Request Auto Backup ​

Command: 0x1096

  • No data needs to be sent

Controller Reply

Command: 0x1097

FieldTypeDescription
backUpNumintNumber of backup systems; up to 10
backUpNamestring[]Names of backup systems
json
{
  "backUpNum": 1,
  "backUpName": ["string", "string", "string..."]
}

Request System Recovery ​

Command: 0x1098

FieldTypeDescription
backUpOneNamestringName of the system to recover
json
{
  "backUpOneName": "xxxx"
}

Controller Reply

Command: 0x1099

FieldTypeDescription
successboolWhether system recovery was successful; true means success, false means failure
backUpNamestring[]Names of backup systems; up to 10
json
{
  "success": true
}

Save Manufacturer Parameters ​

Command: 0x109A

  • No data needs to be sent

Controller Reply

Command: 0x109B

FieldTypeDescription
successboolWhether the save was successful; true means success, false means failure
json
{
  "success": true
}

License Key ​

System Restriction Settings ​

Command: 0x10B0

FieldTypeDescription
palletboolSet palletizing function restriction
weldingboolSet welding function restriction
laserCutboolSet laser cutting function restriction
polishboolSet polishing function restriction
sprayboolSet spraying function restriction
searchboolSet search function restriction
visionboolSet vision function restriction
conveyorboolSet conveyor function restriction
clear_databoolClear data
json
{
  "pallet": true,
  "welding": true,
  "laserCut": true,
  "polish": true,
  "spray": true,
  "search": true,
  "vision": true,
  "conveyor": true,
  "clear_data": true
}

Query Controller Function Restrictions ​

Command: 0x10B1

  • No data needs to be sent

Controller Reply

Command: 0x10B2

FieldTypeDescription
maxRobotCountintMaximum number of robots
craftsstring[]List of unlocked crafts
robotTypesstring[]List of unlocked robot types

Craft type values:

  • C_Pallet: Palletizing craft
  • C_Welding: Welding craft
  • C_Lasercut: Laser cutting craft
  • C_Polish: Polishing craft
  • C_Spray: Spraying craft
  • C_Search: Search tracking craft
  • C_Vision: Vision craft

Robot type values:

  • R_NULL: No robot type selected
  • R_GENERAL_6S: Six-axis serial multi-joint
  • R_GENERAL_6S_1: Six-axis collaborative
  • R_SIXAXIS_SPRAY_BBR: Six-axis spray robot
  • R_GENERAL_6S_2: Six-axis special type 2
  • R_GENERAL_5S: Five-axis robot
  • R_SCARA: Four-axis SCARA robot
  • R_SCARA_1: Four-axis SCARA special type 1 robot
  • R_FOURAXIS_PALLET: Four-axis linkage palletizing robot
  • R_FOURAXIS_PALLET_1: Four-axis palletizing lead screw robot
  • R_FOURAXIS: Four-axis robot
  • R_FOUR_CARTESIAN_COORDINATE: Four-axis Cartesian robot
  • R_FOUR_POLAR_COORDINATE_1: Four-axis polar coordinate special robot
  • R_SCARA_THREEAXIS: Three-axis SCARA robot
  • R_THREE_CARTESIAN_COORDINATE: Three-axis Cartesian robot
  • R_THREE_CARTESIAN_COORDINATE_1: Three-axis special type 1 robot
  • R_SCARA_TWOAXIS: Two-axis SCARA robot
  • R_GENERAL_7S: Seven-axis general robot
  • R_GENERAL_1S: One-axis robot
  • R_GANTRY_WELD: Five-axis gantry welding robot
  • R_DELTA: Delta robot (four-axis parallel robot)
  • R_WINE_CHAMFER: Wine tank model
  • R_GANTRY_WELD_2: Five-axis gantry welding robot type 2
  • R_FOUR_CARTESIAN_COORDINATE_1: Four-axis Cartesian special type 1 robot
  • R_GANTRY_WELD_6: Six-axis gantry welding robot
  • FIVE_AXLE_MIXED: Five-axis hybrid robot
  • R_SCARA_FOURAXIS_2: Four-axis SCARA special type 2
  • R_SIX_AXLE_ABNORMITY_3: Six-axis special type 3
  • R_SCARA_THREEAXIS_1: Three-axis SCARA special type 1
  • R_DELTA_2D_: Delta 2D parallel robot model
  • R_GANTRY_WELD_3: Five-axis gantry welding robot type 3
  • R_GENERAL_3S_1: Three-axis serial special type 1
  • R_GENERAL_5S_COLLABORATIVE_: Five-axis collaborative robot
  • R_SCARA_3_: Four-axis SCARA special type 3 robot
  • R_GENERAL_6S_CBBARA_: Six-axis serial-CBBARA
  • R_HEAVY_DUTY_FOUR_AXIS_: Heavy-duty column rotary four-axis
json
{
  "crafts": [
    "C_Pallet",
    "C_Welding",
    "C_Lasercut",
    "C_Polish",
    "C_Spray",
    "C_Search",
    "C_Vision"
  ],
  "maxRobotCount": 4,
  "robotTypes": [
    "R_GENERAL_6S",
    "R_SCARA",
    "R_FOURAXIS_PALLET",
    "R_FOURAXIS",
    "R_GENERAL_1S",
    "R_GENERAL_5S",
    "R_GENERAL_6S_1",
    "R_SCARA_TWOAXIS",
    "R_SCARA_THREEAXIS",
    "R_THREE_CARTESIAN_COORDINATE",
    "R_THREE_CARTESIAN_COORDINATE_1",
    "R_GENERAL_7S",
    "R_SCARA_1",
    "R_FOURAXIS_PALLET_1",
    "R_SIXAXIS_SPRAY_BBR",
    "R_FOUR_CARTESIAN_COORDINATE",
    "R_FOUR_POLAR_COORDINATE_1",
    "R_GENERAL_6S_2",
    "R_GANTRY_WELD",
    "R_DELTA",
    "R_WINE_CHAMFER",
    "R_GANTRY_WELD_2",
    "R_FOUR_CARTESIAN_COORDINATE_1",
    "R_GANTRY_WELD_6",
    "FIVE_AXLE_MIXED",
    "R_SCARA_FOURAXIS_2",
    "R_SIX_AXLE_ABNORMITY_3",
    "R_SCARA_THREEAXIS_1",
    "R_DELTA_2D_",
    "R_GANTRY_WELD_3",
    "R_GENERAL_3S_1",
    "R_GENERAL_5S_COLLABORATIVE_",
    "R_SCARA_3_"
  ]
}

Query Controller ID ​

Command: 0x10B3

  • No data needs to be sent

Controller Reply

Command: 0x10B4

FieldTypeDescription
controllerIDstringController ID
json
{
  "controllerID": "4DC9F0249098C82E"
}

Note: After obtaining the connected controller ID, when synchronizing job files, you need to determine whether this ID is known. If known, check whether the path "dir/controllerID" exists. If it exists, do nothing; if it does not exist, create the working file path in the format: "dir/controllerID/robotJob/R1". For multiple robots, use R1-4.

Get Controller Remaining Usage Days ​

Command: 0x10B5

  • No data needs to be sent

Controller Reply

Command: 0x10B6

FieldTypeDescription
restdaysintRemaining usage days; -1 means unlimited, 0 means expired, other values indicate remaining days
yearintExpiration year
monintExpiration month
dayintExpiration day
json
{
  "restdays": 30,
  "year": 1,
  "mon": 1,
  "day": 1
}

Controller Sends Remaining Usage Days ​

Command: 0x10B7

FieldTypeDescription
restDaysintRemaining usage days
json
{
  "restDays": 0
}

Controller Serial Number Update ​

Command: 0x10B8

FieldTypeDescription
licensestringController serial number
json
{
  "license": "ACOCWKBZHSKBEJHI"
}

Controller Reply

Command: 0x10B9

FieldTypeDescription
resultstringUpdate result; "success" means success, "ivalid" means invalid key, "notInit" means not initialized
ivalidstringInvalid key
errorstringSuspected tampering detected; unlocking refused
json
{
  "result": "success",
  "ivalid": "Invalid key!",
  "error": "Suspected tampering detected; unlocking refused!"
}

After the license key is successfully updated, the controller will restart.

Controller Unauthorized Usage Information ​

Command: 0x10BA

FieldTypeDescription
reasonstringReason for controller unauthorized usage
json
{
  "reason": ""
}

Get Controller Basic Information ​

Command: 0x10C0

  • No data needs to be sent

Controller Reply

Command: 0x10C1

FieldTypeDescription
controllerIDstringController ID
controllerModelstringController model
json
{
  "controllerID": "1234567890ABCDEF",
  "controllerModel": "C2201"
}

Get Supported Robot Types and Crafts ​

Command: 0x10C2

  • No data needs to be sent

Controller Reply

Command: 0x10C3

FieldTypeDescription
maxRobotSumintMaximum total number of robots, range [0,4]
robotTypeEnstring[]Supported robot types in English
robotTypeCnstring[]Supported robot types in Chinese
craftTypeEnstring[]Supported crafts in English
craftTypeCnstring[]Supported crafts in Chinese
json
{
  "maxRobotSum": 4,
  "robotTypeEn": ["RobotA", "RobotB"],
  "robotTypeCn": ["RobotA", "RobotB"],
  "craftTypeEn": ["pallet", "weld"],
  "craftTypeCn": ["Palletizing", "Welding"]
}

Get Controller Authorization Information ​

Command: 0x10C4

  • No data needs to be sent

Controller Reply

Command: 0x10C5

FieldTypeDescription
isInitboolWhether initialized
expirationDateobjectExpiration date
expirationDate.yearintExpiration year
expirationDate.monthintExpiration month
expirationDate.dayintExpiration day
maxRobotSumintMaximum number of robots, range [0,4]
robotTypestring[]Robot types
craftTypestring[]Craft types
json
{
  "isInit": true,
  "expirationDate": {
    "year": 2038,
    "month": 1,
    "day": 31
  },
  "maxRobotSum": 4,
  "robotType": ["RobotA", "RobotB"],
  "craftType": ["pallet", "weld"]
}

Transmit Initialization Key ​

Command: 0x10C6

FieldTypeDescription
permissionTypestringPermission type
licensestringLicense key
json
{
  "permissionType": "01",
  "license": "DSFPSKDGSJDFSGDSGJDSDF"
}

Controller Reply

Command: 0x10C7

FieldTypeDescription
resultstringKey result; "success" means success, "ivalid" means invalid key, "deviceAbnormal" means controller abnormal
datastringController data
json
{
  "result": "success",
  "data": "123ABC"
}

Transmit Decryption Key ​

Command: 0x10C8

FieldTypeDescription
licensestringLicense key
json
{
  "license": "DSFPSKDGSJDFSGDSGJDSDF"
}

Controller Reply

Command: 0x10C9

FieldTypeDescription
resultstringResult; "success" means success, "ivalid" means invalid key, "notInit" means not initialized
json
{
  "result": "success"
}

Get Offline Permission File Content ​

Command: 0x10CA

  • No data needs to be sent

Controller Reply

Command: 0x10CB

FieldTypeDescription
datastringPermission file content
json
{
  "data": "xxxxxxxx"
}
🤖 AI assistants / automation: start with the Agent Development Guide and Pre-generation Checklist (Chinese); machine-readable entry: /llms.txt; plain-text version: swap .html for .md in the URL