汇川机器人软件RobotLab常规操作

汇川机器人软件RobotLab常规操作

一.权限管理注意事项

1.1 软件登录权限管理

连接上软件后,修改轴参数、点位数据需要权限。点击人物图标,登录对应的权限,管理员权限登录密码6个0。

1.2机器人控制权限管理

点击“锁”,打开机器人控制权配置页面。

选择“InoRoboLabt”,机器人受编程软件控制,使用软件可手动移动点位、示教位置信息。

选择“远程IO单元”,机器人受外部设备控制如PLC、上位机,机器人进入自动模式,收到交互信号就按照程序执行。

选择“远程以太网客户端”,机器人受远程客户短控制,用于查找问题、远程调试。

二、 使用过渡点注意事项

程序中点到点直线运动会有机构干涉或有安全风险时,使用过渡点在运动规避风险。

使用过渡点时,注意指令的工具坐标系,选择正确的Wobj工具好,否则运动出错有撞机风险。

如下图所示为例,wobj0为A工位,wobj1为B工位,注意在“轴控制面板”中选择对应工具坐标号

三、使用全局点位移动注意事项

双击左侧“P.pts”,打开全局点位列表。

程序使用全局点位移动一般有两种形式

1)程序调用编号走位,如Movj P[0]

2)程序调用自定义标签名,如Movj P_Home

在程序内使用指令进行点位移动、示教过程中,注意检查运动方式、标签和描述内容。

四、点位示教注意事项

打开“轴控制面板”,选择正确的直角坐标系和工具号(例如拧紧工位工位一选择0号,工位二选择1号),速度不可设置过高。

注意不能切换工具号和用户号时,检查机器人是否在示教模式并且主任务处于运行中,或再现模式时下也不支持切换。

选择寸动模式,点击X、Y、Z、R将机器人移动到目标位置

在程序中点击右键,选择“查看点数据”,在打开的程序位置点中,右键选中空白行,点击“取当前点”,则机器人当前位置信息就存入系统中。

注意要编辑合适的标签名,提示当前点位的功能,方便程序阅读。

五、全局变量监控注意事项

程序中包含大量的全局变量(定义的Global变量)

在全局监控表中单个添加时名字输入错误时会导致添加失败,可在程序内添加监控。

可在程序内选中变量,鼠标点击右键,选择“添加到全局变量监控”。

注意变量值显示为“未识别”时,检查当前程序块运行是否包含此变量,否则无法从控制器查询到数值,监控列表中变量值必须在值被有效刷新的时候才能查看到。

六、程序备份注意事项

点击“配置文件备份”,选择保存路径,输入文件名后确认,待系统提示“备份配置文件完成”则表示备份完成。

注意不能将多台机器人的配置文件相互导入,会导致机器人的出厂设置参数改变,后果不可预料。导入后降低程序运行速度和轴移动速度,验证配置是否正确。

Read more

C++之基于正倒排索引的Boost搜索引擎项目日志+server代码及详解

C++之基于正倒排索引的Boost搜索引擎项目日志+server代码及详解

首先为了更好的查看自己的项目状况,日志是我们做项目可以说必须要写的一部分。而server部分我们可以理解为写了这么多的类就是为了在这里使用。 1. 日志 __FILE__和__LINE__是 C/C++ 编译器预定义的特殊宏: __FILE__: 它会被编译器自动替换为当前代码所在源文件的路径或文件名(字符串类型)。 在日志函数中,它的作用是记录 “这条日志是从哪个文件输出的”。 例如:如果在 test.cpp 中调用 LOG1 宏,__FILE__ 就会被替换为 "test.cpp"(具体可能包含路径,取决于编译器),最终日志中会显示 [test.cpp : ...]。 __LINE__: 它会被编译器自动替换为当前代码所在的行号(整数类型)。 在日志函数中,它的作用是记录 “这条日志是从文件的哪一行输出的”。 例如:如果 LOG1 宏调用写在 test.cpp 的第 25

By Ne0inhk
C++起始之路——模板进阶

C++起始之路——模板进阶

💁‍♂️个人主页:进击的荆棘 👇作者其它专栏: 《数据结构与算法》《算法》《C++起始之路》 目录 1.非类型模板参数 2.模板的特化 3.模板分离编译 4.模板总结 1.非类型模板参数 模板参数分类类型形参与非类型形参。 类型形参即:出现在模板参数列表中,跟在class或typename之类的后面的参数类型名称。 非类型形参,就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当成常量来使用。 namespace Achieve{ //定义一个模板类型的静态数组 tempalte<class T,size_t N=10> class array{ public: T& operator[](size_t index)

By Ne0inhk
RPC魔法揭秘:从原理到BRPC实战,用C++玩转分布式通信

RPC魔法揭秘:从原理到BRPC实战,用C++玩转分布式通信

文章目录 * 本篇摘要 * 一.什么是rpc * 简单理解 * 核心特点 * RPC 工作原理 * 常见 RPC 框架 * 典型使用场景 * 二.BRPC介绍 * 是什么? * 比gRPC强在哪? * 三.基于brpc实现简单的服务调用 * brpc安装教程 * 简单实现客户端向brpc服务端口请求服务完成应答过程(以echo回显为例) * 测试效果 * 代码汇总 * 四.封装每个服务的channels及所有服务管理者 * 五.基于etcd实现服务上下线监控来完成brpc服务调用 * 测试效果 * 代码汇总 * 六.本篇小结 本篇摘要 本文从RPC核心概念出发,阐释其“透明远程调用”的本质与工作原理,对比主流框架后聚焦百度开源的C++高性能RPC框架BRPC,详解其安装、Echo服务示例代码(含客户端/服务端实现),并延伸介绍基于ETCD的服务注册发现与信道管理封装,完整呈现分布式通信方案落地过程。 一.什么是rpc 简单理解 RPC(远程过程调用)就是让程序调用

By Ne0inhk
C++ string 全面指南

C++ string 全面指南

一、模板 1. 函数模板 什么是模板呢?模板就是一个模具,只需要往这个模具里倒入不同的材料,就可以获得不同材料的铸件。 如果我们要实现一个交换函数呢?这是很容易的事情。 但是这种交换函数只能实现整型之间的交换,如果我想进行浮点数交换呢,字符型交换呢?是不是就不可以了。 虽然我们可以通过函数重载实现不同的交换函数,但是这样做太浪费时间了,没有意义。毕竟只是改变了交换函数参数的类型,代码不需要变化。所以,这种方法是有缺陷的。 1.代码复用率低。 2.可维护性差。 所以,有了函数模板,这是实现泛型编程的基础。 所谓泛型编程就是编写与类型无关的通用代码,是代码复用的一种手段。 template<typename T>就是定义了一个模板,通过一份代码就可以实现多个要求。 这里的typename也可以换成class,这两个的区别会在后面讲解。 这个就叫做函数模板,函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。 函数模板的格式:template<typename T1, typename

By Ne0inhk