Skip to content

Online Programming Configuration projectManagement

This interface supports the sending and management of online programming files, global waypoint management, and other functions.

Send files rm_send_project()

  • Method prototype:
C
int rm_send_project(rm_robot_handle * handle,rm_send_project_t project,int * errline)

Jump to rm_robot_handle and rm_send_project_t for details of the structure

  • Parameter description:
ParameterTypeDescription
handleInputRobotic arm handle.
projectInputParameter configuration structure for sending files.
errlineInputIf the operation fails, this parameter returns the number of error lines. If err_line is 0, it indicates that the paring data length is incorrect; if err_line is -1, it indicates no error.
  • Return value:
ParameterTypeDescription
0intSuccess.
1intThe controller returns false, indicating that the parameters are sent incorrectly or the robotic arm state is wrong.
-1intThe data transmission fails, indicating that a problem occurs during the communication.
-2intThe data reception fails, indicating that a problem occurs during the communication, or the controller has a return timeout.
-3intThe return value parse fails, indicating that the received data format is incorrect or incomplete.
-5intFile name check failed.
-5intFile reading failed.
  • Usage demo
C
// Save the online programming files to the controller with the ID 10, and operate at 20% speed
rm_send_project_t project;
int errline;
strcpy(project.project_path, "/home/work/realman.txt");
project.project_type = 0;//在线编程文件
project.plan_speed = 20;
project.only_save = 0;// 运行
project.save_id = 10;
project.project_path_len = strlen(project.project_path);
ret = rm_send_project(robot_handle, project, &errline);
printf("send project result: %d, err_line: %d\n", ret, errline);

Change the speed ratio in trajectory planning rm_set_plan_speed()

  • Method prototype:
C
int rm_set_plan_speed(rm_robot_handle * handle,int speed)

Jump to rm_robot_handle and rm_send_project_t for details of the structure

  • Parameter description:
ParameterTypeDescription
handleInputRobotic arm handle.
speedInputSpeed data of the current progress bar.
  • Return value:
ParameterTypeDescription
0intSuccess.
1intThe controller returns false, indicating that the parameters are sent incorrectly or the robotic arm state is wrong.
-1intThe data transmission fails, indicating that a problem occurs during the communication.
-2intThe data reception fails, indicating that a problem occurs during the communication, or the controller has a return timeout.
-3intThe return value parse fails, indicating that the received data format is incorrect or incomplete.
  • Usage demo
C
int speed = 20;
ret = rm_set_plan_speed(robot_handle,speed);

Get online program list rm_get_program_trajectory_list()

  • Method prototype:
C
int rm_get_program_trajectory_list(rm_robot_handle * handle,int page_num,int page_size,const char * vague_search,rm_program_trajectorys_t * trajectorys)

Jump to rm_robot_handle and rm_program_trajectorys_t for details of the structure

  • Parameter description:
ParameterTypeDescription
handleInputRobotic arm handle.
page_numInputPage number.
page_sizeInputPage size.
vague_searchInputKeyword for vague search.
trajectorysOutputOnline program list.
  • Return value:
ParameterTypeDescription
0intSuccess.
1intThe controller returns false, indicating that the parameters are sent incorrectly or the robotic arm state is wrong.
-1intThe data transmission fails, indicating that a problem occurs during the communication.
-2intThe data reception fails, indicating that a problem occurs during the communication, or the controller has a return timeout.
-3intThe return value parse fails, indicating that the received data format is incorrect or incomplete.
  • Usage demo
C
// Query 10 online programming files on page 1.
int page_num = 1;
int page_size = 10;
const char *vague_search;
rm_program_trajectorys_t program_trajectorys;
int result = rm_get_program_trajectory_list(robot_handle, page_num, page_size, vague_search, &program_trajectorys);
printf("rm_get_program_trajectory_list result : %d\n", result);

Start to run the specified trajectory rm_set_program_id_run()

  • Method prototype:
C
int rm_set_program_id_run(rm_robot_handle * handle,int id,int speed,int block)

Jump to rm_robot_handle for details of the structure

  • Parameter description:
ParameterTypeDescription
handleInputRobotic arm handle.
idInputPage number.
speedInput1−100, speed required to run the trajectory. If set to 0, run at the saved speed.
blockInputBlocking settings:
multi-thread mode: 0: non-blocking mode, immediately return after sending commands; 1: blocking mode, return after the robotic arm reaches the target position or the planning fails.
Single-thread mode: 0: non-blocking mode; other values: blocking mode, and timeout period setting according to the movement time, in s.

Note: For single-thread blocking mode, set the timeout period to return the trajectory after running within the timeout period.

  • Return value:
ParameterTypeDescription
0intSuccess.
1intThe controller returns false, indicating that the parameters are sent incorrectly or the robotic arm state is wrong.
-1intThe data transmission fails, indicating that a problem occurs during the communication.
-2intThe data reception fails, indicating that a problem occurs during the communication, or the controller has a return timeout.
-3intThe return value parse fails, indicating that the received data format is incorrect or incomplete.
-4intThe running has stopped, but the successful running information is not received. The trajectory may have stopped outside the range.
  • Usage demo
C
// Run the online programming file with the ID 1 at the default speed in blocking mode (multi-thread mode by default)
ret = rm_set_program_id_run(robot_handle, 1, 0, 1);
printf("rm_set_program_id_run result :%d\n", ret);

Query the online program running state rm_get_program_run_state()

  • Method prototype:
C
int rm_get_program_run_state(rm_robot_handle * handle,rm_program_run_state_t * run_state)

Jump to rm_robot_handle and rm_program_run_state_t for details of the structure

  • Parameter description:
ParameterTypeDescription
handleInputRobotic arm handle.
run_stateOutputOnline program running state structure.
  • Return value:
ParameterTypeDescription
0intSuccess.
1intThe controller returns false, indicating that the parameters are sent incorrectly or the robotic arm state is wrong.
-1intThe data transmission fails, indicating that a problem occurs during the communication.
-2intThe data reception fails, indicating that a problem occurs during the communication, or the controller has a return timeout.
-3intThe return value parse fails, indicating that the received data format is incorrect or incomplete.
  • Usage demo
C
rm_program_run_state_t state;
ret = rm_get_program_run_state(robot_handle, &state);

Delete the specified trajectory rm_delete_program_trajectory()

  • Method prototype:
C
int rm_delete_program_trajectory(rm_robot_handle * handle,int id)

Jump to rm_robot_handle and rm_program_run_state_t for details of the structure

  • Parameter description:
ParameterTypeDescription
handleInputRobotic arm handle.
idInputID of specified trajectory.
  • Return value:
ParameterTypeDescription
0intSuccess.
1intThe controller returns false, indicating that the parameters are sent incorrectly or the robotic arm state is wrong.
-1intThe data transmission fails, indicating that a problem occurs during the communication.
-2intThe data reception fails, indicating that a problem occurs during the communication, or the controller has a return timeout.
-3intThe return value parse fails, indicating that the received data format is incorrect or incomplete.
  • Usage demo
C
// Delete the online programming file with the ID 50
ret = rm_delete_program_trajectory(robot_handle, 50);
printf("delete program trajectory result : %d\n", ret);

Update the information of the specified trajectory rm_update_program_trajectory()

  • Method prototype:
C
int rm_update_program_trajectory(rm_robot_handle * handle,int id,int speed,const char * name)

Jump to rm_robot_handle for details of the structure

  • Parameter description:
ParameterTypeDescription
handleInputRobotic arm handle.
idInputID of specified trajectory.
speedInputUpdated planned speed ratio 1−100.
nameInputUpdated file name.
  • Return value:
ParameterTypeDescription
0intSuccess.
1intThe controller returns false, indicating that the parameters are sent incorrectly or the robotic arm state is wrong.
-1intThe data transmission fails, indicating that a problem occurs during the communication.
-2intThe data reception fails, indicating that a problem occurs during the communication, or the controller has a return timeout.
-3intThe return value parse fails, indicating that the received data format is incorrect or incomplete.
  • Usage demo
C
// Update the online programming file with the ID 1: planned speed ratio: 50%, file name: "test"
ret = rm_update_program_trajectory(robot_handle,1,50,"test");
printf("update program trajectory result : %d\n", ret);

Set the ID of program that the IO runs by default rm_set_default_run_program()

  • Method prototype:
C
int rm_set_default_run_program(rm_robot_handle * handle,int id)

Jump to rm_robot_handle for details of the structure

  • Parameter description:
ParameterTypeDescription
handleInputRobotic arm handle.
idInputSet the ID of online programming file that the IO runs by default. It is configurable from 0 to 100. 0 means canceling the setting.
  • Return value:
ParameterTypeDescription
0intSuccess.
1intThe controller returns false, indicating that the parameters are sent incorrectly or the robotic arm state is wrong.
-1intThe data transmission fails, indicating that a problem occurs during the communication.
-2intThe data reception fails, indicating that a problem occurs during the communication, or the controller has a return timeout.
-3intThe return value parse fails, indicating that the received data format is incorrect or incomplete.
  • Usage demo
C
// Set the ID of online programming file that the IO runs by default to 1
int ret = -1;
ret = rm_set_default_run_program(robot_handle, 1);

Get the ID of program that the IO runs by default rm_get_default_run_program()

  • Method prototype:
C
int rm_get_default_run_program(rm_robot_handle * handle,int * id)

Jump to rm_robot_handle for details of the structure

  • Parameter description:
ParameterTypeDescription
handleInputRobotic arm handle.
idOutputSave the ID of online programming file that the IO runs by default. It is configurable from 0 to 100. 0 means canceling the setting.
  • Return value:
ParameterTypeDescription
0intSuccess.
1intThe controller returns false, indicating that the parameters are sent incorrectly or the robotic arm state is wrong.
-1intThe data transmission fails, indicating that a problem occurs during the communication.
-2intThe data reception fails, indicating that a problem occurs during the communication, or the controller has a return timeout.
-3intThe return value parse fails, indicating that the received data format is incorrect or incomplete.
  • Usage demo
C
int id;
ret = rm_get_default_run_program(robot_handle, id);