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"
}