public static void SyncOutput(int device_id, HRobot.CallBackFun callback) { double[] p1 = { -10, -200, 0, 0, 0, 0 }; double[] p2 = { 10, 150, 0, 0, 0, 0 }; int type = 0; //DO int id = 1; int ON = 1; int OFF = 0; int delay = 1000; int distance = 50; int Start = 0; int End = 1; int Path = 2; HRobot.jog_home(device_id); Thread.Sleep(100); HRobot.lin_rel_pos(device_id, 0, 0, p1); HRobot.SyncOutput(device_id, type, id, ON, Start, delay, distance); HRobot.SyncOutput(device_id, type, 2, ON, Path, -1000, distance); HRobot.SyncOutput(device_id, type, 3, ON, Path, 0, distance); HRobot.SyncOutput(device_id, type, 4, ON, Path, delay, distance); HRobot.SyncOutput(device_id, type, 5, ON, Path, -1000, -50); HRobot.SyncOutput(device_id, type, 6, ON, Path, 0, -50); HRobot.SyncOutput(device_id, type, 7, ON, Path, 1000, -50); HRobot.SyncOutput(device_id, type, 8, ON, End, -1000, distance); HRobot.lin_rel_pos(device_id, 0, 0, p2); Console.ReadKey(); }
public static void SetRobotParameter(int device_id, HRobot.CallBackFun callback) { if (device_id >= 0) { Console.WriteLine("connect successful."); callback = new HRobot.CallBackFun(EventFun); } else { Console.WriteLine("connect failure."); Console.ReadLine(); } bool ON = true; int rlt = HRobot.set_operation_mode(device_id, 1); //switch mode to running mode ,cuz acc can only be changed in runing mode. StringBuilder robot_id = new StringBuilder("HrSs_Robot_ID"); StringBuilder str = new StringBuilder("test text"); rlt = HRobot.set_robot_id(device_id, robot_id); rlt = HRobot.set_acc_time(device_id, 250); rlt = HRobot.set_acc_dec_ratio(device_id, 50); // set acc ratio(%) rlt = HRobot.set_operation_mode(device_id, 0); //switch mode to safety mode ,cuz ptp speed can only be changed in safety mode. rlt = HRobot.set_override_ratio(device_id, 50); //override ratio(%) rlt = HRobot.set_ptp_speed(device_id, 50); //PTP speed ratio(%) rlt = HRobot.set_lin_speed(device_id, 800); //LIN speed (mm/s) rlt = HRobot.set_command_id(device_id, 10); rlt = HRobot.set_digital_output(device_id, 5, true); rlt = HRobot.set_robot_output(device_id, 5, true); rlt = HRobot.set_valve_output(device_id, 1, true); rlt = HRobot.set_base_number(device_id, 5); rlt = HRobot.set_tool_number(device_id, 5); rlt = HRobot.set_timer(device_id, 5, 1000); rlt = HRobot.set_timer_start(device_id, 5); rlt = HRobot.set_timer_stop(device_id, 5); StringBuilder timer_name = new StringBuilder("timer_name"); rlt = HRobot.set_timer_name(device_id, 5, timer_name); rlt = HRobot.set_counter(device_id, 5, 1000); rlt = HRobot.set_pr_type(device_id, 5, 1000); double[] coor = { 0, 0, 0, 0, -90, 0 }; rlt = HRobot.set_pr_coordinate(device_id, 5, coor); double[] tool_base = { 5, 5 }; rlt = HRobot.set_pr_coordinate(device_id, 5, tool_base); rlt = HRobot.set_pr_tool_base(device_id, 5, 2, 2); rlt = HRobot.define_base(device_id, 5, coor); rlt = HRobot.define_tool(device_id, 5, coor); rlt = HRobot.set_pr(device_id, 5, 1, coor, 5, 5); rlt = HRobot.remove_pr(device_id, 5); rlt = HRobot.set_smooth_length(device_id, 200); StringBuilder rsr = new StringBuilder("set_rsr.hrb"); rlt = HRobot.set_rsr(device_id, rsr, 1); rlt = HRobot.set_motor_state(device_id, 1); rlt = HRobot.set_module_input_simulation(device_id, 5, true); rlt = HRobot.set_module_input_value(device_id, 5, true); rlt = HRobot.set_module_input_start(device_id, 5, 1); rlt = HRobot.set_module_input_end(device_id, 5, 5); StringBuilder mi_comment = new StringBuilder("mi_comment"); rlt = HRobot.set_module_input_comment(device_id, 5, mi_comment); rlt = HRobot.set_module_output_value(device_id, 5, true); rlt = HRobot.set_module_output_start(device_id, 5, 1); rlt = HRobot.set_module_output_end(device_id, 5, 5); StringBuilder mo_comment = new StringBuilder("mi_comment"); rlt = HRobot.set_module_output_comment(device_id, 5, mo_comment); // new 2020.03.19 rlt = HRobot.set_DI_simulation_Enable(device_id, 5, ON); rlt = HRobot.set_DI_simulation(device_id, 5, ON); rlt = HRobot.set_digital_input_comment(device_id, 5, str); rlt = HRobot.set_digital_output_comment(device_id, 5, str); double[] joint = { 0, 0, 0, 0, 0, 0 }; rlt = HRobot.set_home_point(device_id, joint); rlt = HRobot.set_module_input_type(device_id, 5, 0); rlt = HRobot.set_module_output_type(device_id, 5, 1); rlt = HRobot.set_counter_name(device_id, 5, str); int DIO = 0; int SIO = 1; int[] data = { DIO, 34, DIO, 35, SIO, 36, SIO, 37, DIO, 38, SIO, 39 }; rlt = HRobot.set_digital_setting(device_id, data, str); rlt = HRobot.set_user_alarm_setting_message(device_id, 5, str); rlt = HRobot.set_language(device_id, 0); rlt = HRobot.save_module_io_setting(device_id); Console.ReadLine(); }