Control API coverage and operational cautions

This table follows the comments and delegation structure of the supplied DobotCtrl source. The existence of a method on DobotCtrl does not guarantee that it is supported by the MG400.

Public methods versus hardware support

API

Behavior identified in source

Limitations

move()

P+PTP → MovJ; P+LINE → MovL; J+PTP → JointMovJ

Semantics-preserving support for path_blend, decel, pose, CIRCLE and SPLINE is not established. Review is_async and Sync().

drive()

Axis/value input, relative, speed, is_async

No semantics-preserving path_blend implementation; MG400 has no J5/J6.

dev()

Addition in x/y/z/rz

A four-axis MG400 cannot represent rx/ry.

rotate()

Method is exposed

Conversion of plane/angle/center into an MG400 trajectory is not implemented.

set_path_blend()

Method is exposed

No safe mapping to the DOBOT CP parameter is defined.

halt() / stop()

Methods are exposed

The corresponding common-interface stop behavior cannot be guaranteed on MG400.

hand_stop()

Method is exposed

Requires a defined end-effector model, I/O and communication scheme.

Safety: Do not rely on unsupported methods as emergency stopping mechanisms. Emergency stopping must be provided by the equipment safety system.

Public method signatures extracted from source

  • connect()

  • get_version(rel_toml_path)

  • delete()

  • disconnect()

  • halt()

  • task_stop()

  • hand_stop()

  • stop()

  • reset_error()

  • release_arm()

  • motion_complete()

  • get_motion_complete()

  • wait_for_complete()

  • change_work(work_no)

  • get_current_work_no()

  • get_work(work_no)

  • set_work(work_no, work_define, work_attribute)

  • change_tool(work_no)

  • get_current_tool()

  • get_current_tool_no()

  • get_tool_define(tool_no)

  • get_tool(tool_no)

  • set_tool_define(tool_no, tool_define)

  • set_tool(tool_no, tool_define)

  • take_arm()

  • give_arm()

  • coord_type()

  • coord_type(coord_type)

  • set_coord_type(coord_type)

  • get_coord_type()

  • path_blend()

  • path_blend(value)

  • set_path_blend(path_blend)

  • get_path_blend()

  • motion_mode()

  • motion_mode(value)

  • set_motion_mode(mode)

  • get_motion_mode()

  • task()

  • task_state()

  • get_task_status()

  • current_position()

  • current_angle()

  • speed()

  • jspeed()

  • extspeed()

  • accel()

  • decel()

  • extaccel()

  • extdecel()

  • lock()

  • busy_status()

  • is_running()

  • state()

  • servo_on()

  • direct_mode()

  • get_direct_mode()

  • get_current_position()

  • get_current_pose()

  • get_current_angle()

  • error_code()

  • error_description()

  • get_current_error_info()

  • get_error()

  • get_error_code()

  • get_error_count()

  • get_error_info(index)

  • get_error_description(error_code)

  • print_error_info(e)

  • print_error(e)

  • set_speed(speed)

  • get_speed()

  • set_jspeed(speed)

  • get_jspeed()

  • set_accel(accel)

  • get_accel()

  • set_decel(decel)

  • get_decel()

  • set_extspeed(speed)

  • get_extspeed()

  • set_extaccel(extaccel)

  • get_extaccel()

  • set_extdecel(extdecel)

  • get_extdecel()

  • turn_on_motor()

  • turn_off_motor()

  • p2j(p_type_pos)

  • j2p(j_type_pos)

  • dev(base, offset)

  • move(target, *, motion_mode, coord_type, path_blend, offset, pose, speed, accel, decel, is_async)

  • approach(lComp, vntPoseBase, vntPoseLen, bstrOpt)

  • drive(target, *, relative, path_blend, speed, is_async)

  • rotate(plane, angle, center, *, path_blend, speed, is_async)

  • get_IO(id_num)

  • get_digital_input(id_num)

  • set_IO(id_num, value)

  • autocal(origin)

  • get_motion_preparation()

  • run_script()

  • init_hand()

  • open_hand(speed)

  • hand_open(speed)

  • hand(pos, *, position, force, direction, relative, speed, is_async)

  • start_log()

  • stop_log()

  • clear_log()

  • start_servo_log()

  • stop_servo_log()

  • clear_servo_log()

  • get_log_count()

  • get_log_record(index)

Signatures are extracted mechanically from public DobotCtrl definitions. Consult method comments and DobotTcp for actual implementation status.