Skip to content

Program Operations

Program Open

The program needs to be opened before formally executing the program.

Command Word: 0x5100

FieldTypeDescription
robotintRobot number to operate, range [1, 4]
jobNamestringNew job file name
suffixnamestringFile suffix: .JBR front-end program, .JBP background local program, .JBPG background global program
json
{
  "robot": 1,
  "jobName": "xxxx",
  "suffixname": ".JBR"
}

Program Copy

The suffix of the program remains the same after copying.

Command Word: 0x5101

FieldTypeDescription
robotintRobot number to operate, range [1, 4]
oldjobNamestringOld file name
newjobNamestringCopied file name
suffixnamestringFile suffix: .JBR front-end program, .JBP background local program, .JBPG background global program
json
{
  "robot": 1,
  "oldjobName": "QQQQ",
  "newjobName": "WWWW",
  "suffixname": ".JBR"
}

Program Clear

This will clear all programs of the current robot, but will not clear the reset program.

Command Word: 0x5102

FieldTypeDescription
robotintRobot number to query, range [1, 4]
lock_enableboolWhether to enable clearing job files, true means clear enabled, false means clear disabled
json
{
  "robot": 1,
  "lock_enable": true
}

Get Currently Open Program

Command Word: 0x5103

FieldTypeDescription
robotintRobot number to operate, range [1, 4]
json
{
  "robot": 1
}

Controller Reply

Command Word: 0x5104

FieldTypeDescription
openedJobNamestringCurrently open job file, empty means none
json
{
  "openedJobName": "asd"
}

Main Program

A main program can be considered a special front-end program. Only front-end programs can be set as main programs.

Set Job File as Main Program

Command Word: 0x5110

FieldTypeDescription
robotintRobot number to query, range [1, 4]
jobNamestringJob file name, empty string means cancel main program
json
{
  "robot": 1,
  "jobName": "xxx"
}

Query Main Program

Command Word: 0x5111

FieldTypeDescription
robotintRobot number to query, range [1, 4]
json
{
  "robot": 1
}

Controller Reply

Command Word: 0x5112

FieldTypeDescription
robotintRobot number to query, range [1, 4]
jobNamestringJob file name, empty means none
json
{
  "robot": 1,
  "jobName": "xxx"
}

Program Save

After modifying, inserting, or deleting a program, use this protocol to save it.

Command Word: 0x5120

FieldTypeDescription
robotintRobot number to query, range [1, 4]
jobnamestringJob file name
suffixstringFile suffix: .JBR front-end program, .JBP background local program, .JBPG background global program
timestringTimestamp, format like "2024.08.08 14:16:39"
json
{
  "robot": 1,
  "jobname": "xxxx",
  "suffix": ".JBR",
  "time": "2024.08.08 14:16:39"
}

Sync Program Open

The function may have issues, only works when 6001 is open and syncs to 6000.

The controller notifies the host computer after opening a program, informing the host computer that the program has been opened in the controller.

Command Word: 0x3130

FieldTypeDescription
robotintCurrent feedback robot number, range [1, 4]
jobNamestringJob file name
json
{
  "robot": 1,
  "jobName": ""
}

Send Program Command

Inserts a command without a job file. The execution method is the same as job execution, but the value of the "noFileRun" node needs to be set to true.

Command Word: 0x5122

FieldTypeDescription
robotintRobot number to operate, range [1, 4]
cmdobjectInserted command details, format is cmd->toJson(), see command page
json
{
  "robot": 1,
  "cmd": {}
}

Program Sync

Host computer sends to controller, notifying the teach pendant to sync job files.

Command Word: 0x1222

  • No data needs to be sent

Controller Response

Command Word: 0x1223

FieldTypeDescription
finishedbooltrue means success, false means failure
json
{
  "finished": true
}

Controller Notifies Teach Pendant to Sync Job Files

Command Word: 0x1224

  • No data needs to be sent

Teach Pendant Response

Command Word: 0x1225

FieldTypeDescription
finishedbooltrue means success, false means failure
json
{
  "finished": true
}