安装驱动 ============================ 机器人版本 +++++++++++++++++++++++++++++++ 烧录程序前需要先判断当前机器人的系统版本,在示教器上按 ``MENU`` 键,进入 ``实用工具``-> ``声明``。 .. figure:: img/version.png :width: 500px :align: center .. figure:: img/version1.png :width: 500px :align: center 查看机器人版本 图片左上角圈出的部分即为机器人版本。 fanuc 导入程序版本说明 +++++++++++++++++++++++++++++++ fanuc 控制器对于 karel 程序和 ls 程序在大版本号相同的前提下向后兼容. **例如 v9.1 版本的控制器可以导入 v9.0 的程序,但是不能导入 v8.3 的程序;v9.4 的控制器可以导入 v9.3 的程序。** 所以如果控制器的版本和提供的程序版本不同,可以按照向后兼容的原则来选择合适的程序,或者根据源代码文件直接编译。 fanuc 机械臂驱动文件列表 +++++++++++++++++++++++++++++++ 驱动文件位于 MAX 安装目录的 ``share/robot_code/fanuc/`` 路径下,文件包括: - 编译后的pc,tp文件位于 ``share/robot_code/fanuc/compiled/`` ,该目录下存放了v8.3,v9.0,v9.3这三个fanuc机器人控制器版本的程序。其中pc文件夹下细分DIO和RIO。 DIO指的是工控机主控中控制的IO为通用的DIO,通用IO包含数字IO(DI/DO)、模拟IO(AI/AO)和组IO(GI/GO); 而RIO指的是工控机主控中控制的IO为机器人IO,机器人IO包含外围设备IO(UI/UO)、操作面板IO(SI/SO)以及机器人IO(RI/RO)。 **如果不需要使用 IO 或者不知道使用哪种IO,可以直接使用DIO文件夹下的程序。** .. figure:: img/fanuc_compiled_IO.png :width: 228px :align: center - 源代码kl文件位于 ``share/robot_code/fanuc/karel/`` , 源代码ls文件位于 ``share/robot_code/fanuc/tpe/`` ,源代码文件可以根据项目的特定要求或者版本需求修改并编译使用。 以下只介绍 pc,tp 文件的含义。 -- compiled 编译后的文件,这里只以 v9.3 为例 -- v9.3 软件版本 -- pc (RIO和DIO文件夹下文件名称一致) - xyz_abt_bkgd.pc 中止后台程序 - xyz_bkgd.pc 后台程序 - xyz_c_g_pose.pc 计算抓取目标点位 - xyz_c_o_pose.pc 计算物体位姿 - xyz_c_v_cmd.pc 呼叫视觉 - xyz_ck_err.pc 检查error_code - xyz_g_g_pose.pc 获取抓取目标点位 - xyz_g_o_pose.pc 获取物体位姿 - xyz_g_picin.pc 获取取料入框轨迹 - xyz_g_picout.pc 获取取料出框轨迹 - xyz_g_plain.pc 获取放料入框轨迹 - xyz_g_plaout.pc 获取放料出框轨迹 - xyz_log.pc 日志相关函数 - xyz_motion.pc 工控机主控motion socket函数 - xyz_pkt.pc socket package 相关函数 - xyz_r_g_pose.pc 计算抓取目标点位 - xyz_r_o_pose.pc 计算物体位姿 - xyz_r_picpla.pc 请求抓放规划 - xyz_reg_com.pc 初始化寄存器注释函数 - xyz_reset_ta.pc 重置任务 - xyz_s_c_pose.pc 发送特定笛卡尔位姿 - xyz_s_ext_j.pc 发送机器扩展轴坐标 - xyz_s_joints.pc 发送特定关节角 - xyz_s_sr.pc 设置SR寄存器的值 - xyz_sock.pc socket 相关函数 - xyz_status.pc 工控机主控 status socket 相关函数 - xyz_sw_item.pc 切换工件 - xyz_sw_ta.pc 切换任务 - xyz_sw_tool.pc 切换工具 - xyz_u_obj_ih.pc 工件在手上的二次定位 - xyz_u_t_pose.pc 料箱重定位 - xyz_usr_cmd.pc 用户自定义指令 -- tp - cartmove_basic.tp CartMove基础模板 - cartmove_repo.tp CartMove二次定位模板 - master_test.tp 内部测试程序,实际中用不到 - send_scan_pose.tp 注册拍照位姿程序 - trajmove_async.tp TrajMove异步模板 - trajmove_sync.tp TrajMove同步模板 - xyz.tp 工控机主控启动程序 - xyz_exectraj.tp 下位机主控执行轨迹程序 - xyz_move.tp 工控机主控动作执行函数 - xyzmotion.tp 工控机主控 motion socket 函数 - xyzstatus.tp 工控机主控 status socket 函数函数 -- karel 此处为源代码,未经编译 -- src -- include - xyz_bkgd_h.kl - xyz_const.kl - xyz_log_h.kl - xyz_motion_h.kl - xyz_pkt_h.kl - xyz_pkt_t.kl - xyz_sock_h.kl - xyz_sock_t.kl - xyz_status_h.kl -- DIO - xyz_motion.kl(使用通用IO) - xyz_abt_bkgd.kl - xyz_bkgd.kl - xyz_c_g_pose.kl - xyz_c_o_pose.kl - xyz_c_v_cmd.kl - xyz_ck_err.kl - xyz_g_g_pose.kl - xyz_g_o_pose.kl - xyz_g_picin.kl - xyz_g_picout.kl - xyz_g_plain.kl - xyz_g_plaout.kl - xyz_log.kl - xyz_motion.kl - xyz_pkt.kl - xyz_r_g_pose.kl - xyz_r_o_pose.kl - xyz_r_picpla.kl - xyz_reg_com.kl - xyz_reset_ta.kl - xyz_s_c_pose.kl - xyz_s_ext_j.kl - xyz_s_joints.kl - xyz_s_sr.kl - xyz_sock.kl - xyz_status.kl - xyz_sw_item.kl - xyz_sw_ta.kl - xyz_sw_tool.kl - xyz_u_obj_ih.kl - xyz_u_t_pose.kl - xyz_usr_cmd.kl -- tpe -- src - CARTMOVE_BASIC.LS - CARTMOVE_REPO.LS - MASTER_TEST.LS - Send_Scan_Pose.LS - TRAJMOVE_ASYNC.LS - TRAJMOVE_SYNC.LS - XYZ.LS - XYZ_EXECTRAJ.LS - xyz_move.ls - xyzmotion.ls - xyzstatus.ls 设定机械臂 IP +++++++++++++++++++++++++++++++ 1. 在示教器上按 ``MENU`` 键,进入 ``设置``-> ``主机通讯``。 .. figure:: img/fanuc_ip_set_1.png :width: 500px :align: center fanuc 设定机械臂 IP 1 2. 选中协议一栏中的 ``1 TCP/IP``,并点击示教器上的 ``ENTER`` 进入TCP/IP设置界面。对TCP/IP界面中的 ``IP地址`` , ``子网掩码`` 进行修改。 - ``IP地址`` 设置为:192.168.37.100 - ``子网掩码`` 设置为:255.255.255.0 机械臂默认IP地址为 192.168.37.100,如果项目有其他需求可根据项目实际情况进行修改,设置完成后界面如图所示 .. figure:: img/fanuc_ip_set_2.png :width: 500px :align: center fanuc 设定后的TCP/IP界面 配置工控机主控 socket +++++++++++++++++++++++++++++ 工控机主控模式下,fanuc 机械臂作为服务端,占用服务器的两个标签分别是 S3 和 S4。接下来介绍服务器标签的设置过程 1. 在示教器上按 ``MENU`` 键,进入 ``设置``-> ``主机通讯``。 .. figure:: img/fanuc_ip_set_1.png :width: 500px :align: center fanuc 设定工控机主控 socket 1 2. ``SHIFT`` + ``DISPLAY`` 设置为双画面。 3. 按示教器上的 ``DISP`` 切到左侧界面, 点击 ``显示``,选择服务器。 .. figure:: img/fanuc_motion_socket_set_1.png :width: 500px :align: center fanuc 设定工控机主控 socket 2 4. 在服务器界面对 **S3** 和 **S4** 都按照如下步骤进行设置,**注意参考图片** (1) 如果当前状态为 ``已定义``,则点击 ``动作`` 改为 ``未定义``; (2) 如果当前状态为 ``已开始``,则点击 ``动作`` -> ``停止``,然后再改为 ``未定义``; (3) **如果不能修改状态,尝试重启机器人后再次修改**; .. figure:: img/network.png :width: 500px :align: center .. figure:: img/network1.png :width: 500px :align: center fanuc 设定工控机主控 socket 3 (4) 设定 ``协议`` 为 ``SM``; (5) 修改 ``服务器 IP/主机名称`` 为 ``192.168.37.100``; (6) 将 ``启动状态`` 改为 ``开始`` (系统重启后可以自动恢复之前服务器的设置)。 .. figure:: img/fanuc_motion_socket_set_2.png :width: 500px :align: center fanuc 设定工控机主控 socket 4 5. 按示教器上的 ``DISP`` 切到右侧界面。 点击 ``MENU``, 进入 ``下页`` -> ``系统``-> ``变量``,找到并进入 ``$HOSTS_CFG`` (使用 ``SHIFT`` + ``上下方向键`` 可快速翻页)。 .. figure:: img/hostcfg.png :width: 500px :align: center .. figure:: img/hostcfg1.png :width: 500px :align: center fanuc 设定工控机主控 socket 5 6. 分别修改 ``$HOSTS_CFG[3]`` 和 ``$HOSTS_CFG[4]`` 的 ``$SERVER_PORT`` 分别为 10100 和 10102。 .. figure:: img/hostcfg2.png :width: 500px :align: center .. figure:: img/fanuc_motion_socket_set_4.png :width: 500px :align: center fanuc 设定工控机主控 socket 6 .. figure:: img/fanuc_motion_socket_set_5.png :width: 500px :align: center fanuc 设定工控机主控 socket 7 7. 修改完成后,左侧界面回到服务器标签界面,分别移动光标选中 S3 和 S4并进行如下操作 - 点击 ``动作`` 选中 ``定义`` 按 ``ENTER`` 将状态改为 ``定义`` - 点击 ``动作`` 选中 ``开始`` 按 ``ENTER`` 将状态改为 ``开始`` - 最后进入S3和S4 查看 ``当前状态`` 和 ``启动状态`` 都应该被设置成了 ``开始``。 .. figure:: img/fanuc_motion_socket_set_6.png :width: 500px :align: center fanuc 设定工控机主控 socket 8 配置机械臂主控 socket ++++++++++++++++++++++++++++++++ 机械臂主控模式下,fanuc 机械臂作为客户端,需要配置客服端标签页的 C2。 1. 在示教器上按 ``MENU`` 键,进入 ``设置``-> ``主机通讯``。 2. ``SHIFT`` + ``DISPALY`` 设置为双画面。 3. 按示教器上的 ``DISP`` 切到左侧界面 点击 ``显示``,选择客户端。进入客户端标签页。 .. figure:: img/fanuc_master_socket_set_1.png :width: 500px :align: center fanuc 设定机械臂机械臂主控 socket 1 4. 进入 C2 并按以下步骤进行修改 - 如果当前状态为 ``已定义``,则点击 ``动作`` 改为 ``未定义``; - 如果当前状态为 ``已开始``,则点击 ``动作`` -> ``停止``,然后再改为 ``未定义``; - 如果修改状态失败,尝试重启机器人后再次修改; - 设定 ``协议`` 为 ``SM``; - 修改 ``服务器 IP / 主机名称`` 为: ``192.168.37.101``。 .. figure:: img/fanuc_master_socket_set_2.png :width: 500px :align: center fanuc 设定机械臂机械臂主控 socket 2 工控机的IP地址默认为192.168.37.101,可根据项目需求改成其他IP地址。 5. 点击 ``MENU``, 进入 ``系统``-> ``下页``-> ``变量``,找到并进入 ``$HOSTC_CFG`` (使用 ``SHIFT`` + ``上下方向键`` 可快速翻页), 将 ``$HOSTC_CFG[2]`` 中的 ``$SERVER_PORT`` 修改为11111; .. figure:: img/hostcfg.png :width: 500px :align: center .. figure:: img/hostcfg3.png :width: 500px :align: center .. figure:: img/hostcfg4.png :width: 500px :align: center fanuc 设定机械臂机械臂主控 socket 3 6. 修改完成后,回到客户端标签页,移动光标选中 C2 并按如下步骤操作。 - 点击 ``动作`` 选中 ``定义`` 按 ``ENTER`` 将状态改为 ``定义`` - 点击 ``动作`` 选中 ``开始`` 按 ``ENTER`` 将状态改为 ``开始`` - 最后进入C2 查看 ``当前状态`` 和 ``启动状态`` 都应该被设置成了 ``开始``。 .. figure:: img/network2.png :width: 500px :align: center fanuc 设定机械臂机械臂主控 socket 4 使用U盘导入程序 +++++++++++++++++++++++++++++++++ 1. 准备一个文件系统为FAT32格式的U盘(其他格式的文件系统可能不会被Fanuc控制器识别) 2. 将Fanuc程序compiled/文件夹下对应控制器版本以及 IO 版本的 .PC 与 .TP 文件拷贝到U盘,建议全部放在一个文件夹,并且该文件夹没有其他文件 3. U盘插入示教器或控制柜的USB接口 4. 示教器上 ``MENU``-> ``文件`` -> ``文件`` .. figure:: img/fanuc_import_src_1.png :width: 500px :align: center U盘导入程序 1 5. 可通过 ``工具 F5`` → ``切换设备`` 来选择插口: 如果插在示教器上,则选 ``TP上的USB(UT1:)``,如果插在控制柜上,则选 ``USB盘(UD1:)`` 。 6. 可通过 ``目录 F2`` 来选择要显示的文件类型,通常选择 ``*.*`` ,来看到所有的文件与文件夹,选中你所存放Fanuc PC和TP程序的文件夹并进入。 7. 选中对应 PC 及 TP 的文件,或 ``SHIFT`` + ``上下方向键`` 快速翻页找到 ``所有文件`` 并选中,按下 ``加载 F3`` 加载选中的文件或者加载所有文件。 8. 如果导入程序时提示是否覆盖已有程序,可以根据实际情况选择是否覆盖。如果导入程序时提示程序被占用,可以点击 ``SELECT``,选择任意另一个不会被覆盖的程序,再次尝试导入。 .. figure:: img/program.png :width: 500px :align: center U盘导入程序 2 至此,程序已被全部导入到机器人控制器中。