FANUC发那科机器人KAREL语言


1、概述
FANUC 机器人系统的 KAREL 系统由机器人,控制器和系统软件组成。它使用用 KAREL 编程语言编写的程序来完成工业任务。KAREL 可以操作数据,控制和与相关设备进行通信并与操作员进行交互。
配备 KAREL 的系统 R-30iA 控制器可与各种机器人模型配合使用,以处理各种应用。这意味着常见的操作,编程和故障排除程序以及更少的备件。KAREL 系统扩展到包括全系列支持产品,如整体视觉,离线编程和特定于应用的软件包。
KAREL 编程语言实际上融合了像 Pascal和PL / 1 这样的高级语言的逻辑,类似英语的功能,以及机器控制语言经验证的工厂车间效率。KAREL 结合了高级语言通用的结构和惯例以及专门为机器人应用开发的功能。这些 KAREL 功能包括
· 简单和结构化的数据类型
· 算术,关系和布尔运算符
· 控制循环和选择的结构
· 条件处理程序
· 程序和功能例程
· 输入和输出操作
· 多编程支持
本章总结了 KAREL 编程语言,并描述了 KAREL 系统软件和控制器。
以下说明适用于 R-30iB控制器:
注意为了加载 KAREL 程序,必须在机器人控制器上安装 KAREL 选件。
1.2 KAREL 编程语言
1.2.1 概述
KAREL程序由存储在源代码文件中的声明和可执行语句组成。与程序关联的变量数据值存储在变量文件中。
使用 OLPC PRO 或其他编辑器(如Word Pad)创建和编辑 KAREL程序。
KAREL 语言编译器将源代码转换为称为p代码的内部格式并生成p代码文件。编译器提供OLPC PRO。编译完成后,可以使用 KAREL 命令语言(KCL)或FILE菜单将产生的p代码程序加载到控制器上。
在加载期间,系统将创建任何不在RAM中的所需变量并将其设置为未初始化。当你运行程序时,KAREL 解释器执行加载的p代码指令。
KAREL 程序由程序逻辑和程序数据组成。程序逻辑定义了执行特定任务所需执行的一系列步骤。程序数据是程序逻辑使用的任务相关信息。在KAREL中,程序逻辑与程序数据是分开的。
程序逻辑由 KAREL 程序中BEGIN和END语句之间的 KAREL 可执行语句定义。程序数据包括通过RAM中的名称,数据类型和存储区域在 KAREL 程序的VAR声明部分中标识的变量。程序数据的值可以通过示教器点动机器人,通过程序计算,从数据文件读取,从CRT / KB内设置或者教导式菜单结构,或者在执行过程中作为输入接受。数据值可以从一次执行改变到下一次,但是使用相同的程序逻辑来操纵数据。
由于以下原因,程序逻辑和程序数据在 KAREL 程序中是分开的:
· 允许在同一个程序中的多个地方引用数据
· 允许多个程序引用或共享相同的数据
· 允许程序使用替代数据
· 促进离线计算机辅助设计(CAD)系统建立数据文件
程序的可执行部分包含数据操作语句,I / O语句和例程调用。
程序开发周期:
· 创建一个程序源代码文件
· 编译程序文件。
· 加载程序逻辑和数据。
· 执行程序。
· 维护程序的执行历史。
1.2.2 创建一个程序
您可以使用离线编辑器(如OLPC PRO)或任何文本编辑器(如写字板)创建 KAREL 程序。生成的文件称为源文件或源代码。
1.2.3 编译程序
在执行之前,KAREL源文件必须编译成内部代码,称为p代码。KAREL语言编译器执行此功能并检查源代码中的错误。
KAREL语言编译器从源代码的第一行开始并持续到遇到错误或成功编译程序。如果遇到错误,转换程序会尝试继续检查程序,但不会生成p代码。
您可以从 OLPC PRO 调用编译器,并且您正在编辑的源代码将被编译。成功编译后,编译将显示成功的编译消息并创建一个p代码文件。p代码文件将使用源代码文件名和.pc文件类型。该文件包含源代码的内部表示以及系统将程序链接到变量数据和例程所需的信息。
如果编译器检测到任何错误,它将显示正在编译的错误消息和源代码行。纠正错误后,您可以再次编译程序。
1.2.4 加载程序逻辑和数据
以下说明适用于R-30iB控制器:
注意为了加载KAREL程序,必须在机器人控制器上安装KAREL选件。
一个程序的p代码被加载到一个可以执行的控制器上。加载程序时,将在RAM中创建一个包含程序中所有静态变量的变量数据表。变量数据表包含程序标识符,所有变量标识符以及变量所在RAM中的存储区域的名称。
加载程序还会建立语句和变量之间的链接。最初,变量数据表中的值将被初始化。如果成功加载变量文件(.vr),则任何变量的值都将存储在可变数据存储区(CMOS,DRAM,SHADOW)中。
通常使用多个程序来将大型应用程序或问题分解为可以单独开发和测试的较小块。KAREL 系统允许加载多个程序。每个加载的程序都有自己的p代码结构。
可变数据可以在多个程序之间共享。在这种情况下,必须在VAR声明中指定 KAREL 语言的FROM子句,以便系统可以在程序加载时执行链接。这节省了包含数据的多个副本所需的存储空间。
以下限制适用于可以加载的KAREL程序的数量和大小:
· 程序数量限制为2704或可用RAM。
· 每个程序的变量数量限制为2704或可用RAM。
1.2.5 执行程序
从程序列表中选择一个程序并将p代码和变量文件加载到RAM后,测试和调试程序以确保其按预期运行。
程序执行从第一个可执行文件行开始。除非您指定堆栈大小,否则将分配300个字的堆栈。堆栈从可用的用户RAM分配。
1.2.6 执行历史
每次执行程序时,可以使用SHOW HISTORY命令从KCL显示已执行的嵌套例程和行号的日志。
这在程序暂停或意外中止时非常有用。执行历史显示导致中断的事件序列。
1.2.7 程序结构
KAREL程序由声明和由KAREL语言声明组成的可执行部分组成,如KAREL程序的结构所示
PROGRAM prog_name Translator DirectivesCONST, TYPE, and/or VAR Declarations ROUTINE DeclarationsBEGIN Executable StatementsEND prog_name ROUTINE Declarations
在KAREL计划的结构中,用大写字母表示的词语是具有专用意义的KAREL保留字。PROGRAM,CONST,TYPE,VAR和ROUTINE表示程序的声明部分。BEGIN和END标记可执行部分。
确定程序的PROGRAM语句必须是任何KAREL程序中的第一条语句。PROGRAM语句由保留字PROGRAM和您选择的标识符(KAREL程序结构中的prog_name)组成。
注意您的程序必须位于文件中。该文件可以但不一定与程序具有相同的名称。这种区别很重要,因为您调用翻译器并使用包含程序的文件的名称加载程序,但是您会启动程序的执行并使用程序名称清除程序。
例如,如果名为移动器的程序包含在名为transfer的文件中,则可以通过传输引用该文件进行翻译,但会使用程序名移动器来执行该程序。如果程序和文件都被命名为移动器,则可以使用移动器翻译文件并执行该程序。
创建任务来执行程序,任务名称是您启动的程序的名称。该程序可以在另一个程序中调用例程,但任务名称不会更改。
用于命名程序的标识符不能在程序中用于任何其他目的,例如标识变量或常量。
CONST(常量),TYPE(类型)和VAR(变量)声明节在PROGRAM语句之后。一个程序可以包含任意数量的CONST,TYPE和VAR部分。每个部分还可以包含任意数量的单个声明语句。此外,多个CONST,TYPE和VAR部分可以按任意顺序出现。CONST,TYPE和VAR段以及声明语句的数量仅受可用内存量的限制。
例程声明可以遵循CONST,TYPE和VAR部分。每个例程都以保留字ROUTINE开头,在语法上与程序类似。在END语句后,ROUTINE声明也可以跟在主程序的可执行部分之后。
可执行部分必须在开始和结束时用BEGIN标记,最后用程序标识符(在KAREL程序的结构中为prog_name)标记。END语句中必须使用与PROGRAM语句中相同的程序标识符。可执行部分可以包含任意数量的可执行语句,仅受可用内存量的限制。
1.3 系统软件

R-30iA系统软件是由FANUC Robotics提供的软件,由控制器CPU执行,允许您操作R-30iA系统。您使用系统软件来运行程序,以及执行日常操作,维护和故障排除。

系统软件的组件包括:

· Motion Control - 将工具中心点(TCP)从初始位置移动到所需的目标位置

· File System - 将数据存储在RAM磁盘或外围存储设备上

· System Variables - 作为KAREL系统软件一部分声明的永久定义的变量

· CRT/KB or Teach Pendant Screens - 便于操作KAREL系统的屏幕

· KCL - KAREL 命令语言

· KAREL Interpreter - 执行 KAREL 程序

1.4 控制器
1.4.1 内存

有三种控制器内存:

· 动态随机存取存储器(DRAM)

· 有限的电池备份静态/随机访问存储器(SRAM)

· 闪存可编程只读存储器(FROM)


来源:马少爷,如有侵权,联系删除

(0)

相关推荐

  • ASP.NET Core笔记(3) - 配置

    配置规则 命令行配置提供程序 环境变量配置提供程序 文件配置提供程序 配置的读取 自定义配置数据源 ASP.NET Core中的配置项可以通过命令行.环境变量.json/xml/ini配置文件来提供. ...

  • FANUC机器人KAREL语言编程:“Hello,world”用户信息输出

    KAREL语言介绍 FANUC机器人除了可以通过编写TP语言程序进行控制以外,还可以通过编写KAREL语言程序进行控制. KAREL是一种专门用于机器人系统架构的语言,用户可以在PC上创建KAREL程 ...

  • 【案例回顾】昆山某公司发那科机器人常规保养服务报告

    杭州指南车机器人科技有限公司成立于2015年,坐落于环境优美的杭州西湖畔,中国人工智能小镇,与著名的之江实验室毗邻,公司人数60余人. 凭借多年的集成项目经验及三年多的工业机器人技术服务经验,打造了技 ...

  • 发那科机器人使用常见问题及解决方法

    发那科机器人使用常见问题及解决方法

  • 发那科机器人仿真软件如何对程序快速查找替换?

    在发那科工业机器人仿真软件的使用过程中有时需要对已经写好的程序进行查找与替换,这时一般使用虚拟示教器,但在对写好的程序进行修改的过程中用示教器查找与替换功能往往较慢,下面就让我们一起来学习如何使用发那 ...

  • 发那科机器人在生产中的日常保养及安全操作解析

    发那科机器人具备可承担高温作业的考验,包括抗腐蚀及蒸汽清洗.抗压铸等,但是再强大的"躯体"也需要日常保养,更是离不开安全操作. FANUC 机器人保养 (1)伺服电机驱动的机械机构 ...

  • 发那科机器人IO信号的种类与常用信号的分配

    对于机器人来说,其io 配置一直是重点,下面介绍一下发那科机器人IO信号的种类与常用信号的分配等知识,一起来学习吧! I/O种类介绍 I/O (输入/输出信号),是机器人与末端执行器.外部装置等系统的 ...

  • 发那科机器人维修出现SERVO

    FANUCF-200iB七轴点焊机器人在对控制器断电检修后,控制器通电运行时,发那科机器人发出伺服故障报警,报警故障代码为SERVO-062.对此故障代码进行复位操作:按MENUS→SYSTEM→F1 ...

  • 日本FANUC发那科长盛不衰之谜,老段为你深度揭密

    你知道为什么日本FANUC发那科能够长盛不衰?主要还是得益于掌门人-稻叶清右卫门的怪诞管理 FANUC是全球装机量最大的工业机器人制造商.也是最大专业数控系统生产商,在机器人与数控系统这两个领域算是很 ...

  • 发那科机器人报 警处理(中文).pdf

    3 按下 F2[RELEASE (释放)] 以释放超行程轴. 4 按住 shift 键,按下警告清除按钮. 5 按住 shift 键,按下微动键把工具沿超行程轴线微动到可移动的有效范围内. 从损坏的腕 ...