EC机器人JBI,LUA和用户PLC介绍,区别及如何选择
1. 简介
1.1. JBI语言介绍
● JBI语言是艾利特机器人示教器的编程语言,其主要功能是编写整体逻辑框架,及运动指令等。
● JBI 脚本的数据类型有 int{整型},uint{正整数型},double{浮点型},joint{关节位}pose{
内置全局变量 (variable) 包括:B{uint}, 正整数型变量。I{int}, 整数型变量。D{double}, 浮点数变量。P{joint}, 关节位置变量。V{pose},位姿变量。M{bit} 虚拟线圈。
● JBI 脚本是大小写敏感型,所有的指令及参数均是大写;对缩进没有要求,不同指令需处于不同行。JBI 脚本的常用格式如下,指令均需包围在关键字 NOP 和 END 之间,NOP 之前的数据是软件自动生成的关节位置数据,对应于使用非变量类型的 MOV 指令,例如下面代码的第5、6 行。
1 //固 定 点 位 的 存 储 (//是 注 释)
2 C00000=0.0000,-90.0000,0.0000,0.0000,90.0000,0.0000,0.0000,0.0000
3 C00001=0.0000,-90.0000,0.0000,0.0000,90.0000,0.0000,0.0000,0.0000
4 NOP
5 MOVJ VJ=100% PL=0
6 MOVL AV=10.0 MM/S PL=0
7 END
技术资料_机器人技术-艾利特机器人详细介绍可以看jbi手册
1.2. LUA脚本介绍
● lua是艾利特机器人的后台脚本,可以理解为线程,其主要功能是做一些复杂计算和通讯,除了IO通讯,其他所有的通讯都需要脚本来实现。
● lua语言是用标准C语言编写并以源代码形式开放,是一种轻量小巧的脚本语言,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
● 除了查看我们的lua手册LUA手册,网上也有许多可以学习的网址,例如:菜鸟链接
● 艾利特机器人的lua脚本编程灵活,不仅可以使用lua手册中的函数,而且lua原生的函数库都可以兼容,所以编程时不要局限于手册内的指令,对于一些手册无法解决的需求,可以去网上查找。
1.3. 用户PLC介绍
● 用户PLC 是一个始终在后台运行的PLC 程序。PLC 使用梯形逻辑,这是一种可视化编程语言。每行称为一个梯级,按照梯形图从上至下、从左至右的顺序执行。一旦梯形图的所有梯级都执行完毕,PLC 程序将返回顶部梯级并再次执行程序。PLC 最多支持200 行或梯级。
● 用户PLC可以将机器人IO,线圈等,映射到一个功能上面,功能如下:

详细内容可查看用户手册EC机器人用户手册
1.4. 三者的关系
JBI通过机器人的全局变量与LUA交互,例如:B/I/D变量和M线圈,以让外部设置的通讯
用户PLC作为机器人的后台线程,通过可以通过IO和M线圈触发对应的功能,可以通过 JBI或LUA触发,外部设备也可以。

2. 操作流程
2.1. JBI的使用
1. 在主界面内,打开或新建JBI程序

2.进入程序后,编辑指令功能块亮起,此时所有的JBI指令都在编辑指令里

3.接下来就可以根据项目来编程,关于指令的详细介绍和示例,可以查看JBI手册
4. 也可以通过Web示教器对JBI程序进行在线编程。如何使用Web可以咨询官方技术文档。
2.2. LUA的使用
1. 推荐使用Web示教器进行LUA编程,详细使用Web示教器可以咨询官方技术文档。
2. 点击新建,选着LUA文件,命名文件后即可编程LUA。

3. 程序编辑好后可以点击保存并运行进行测试。

4.后续想再编辑脚本,可以再打开中选着之前编写的脚本。

2.3. 用户PLC的使用
1. 用户PLC的编写只能在示教器上,在扩展-用户PLC中。

2.在横线处插入行

3.在空白区域点击修改即可出现PLC指令进行编写

3. 常见问题解答
3.1. JBI常见问题
● 逻辑控制内的if,while等指令都有对于的结束语句。
● CALL指令不可以嵌套超过十次
● jbi程序一行只可以一条指令
● jbi 在离线编程的时候不可在指令行后面做注释
3.2. LUA常见问题
● lua程序第一行需要使用sleep()延时指令,正常0.1秒即可。
● lua程序中的死循环需要在循环中加0.1秒的延时,降低机器人运行内存的负荷。
● lua程序不要求缩进,但建议编写时使用缩进,方便后期维护查看。
● lua的if,while等指令都有end的结束语句,需要注意,并且lua是有大小写和符号中英文区分。
● lua中的变量建议使用local定义局部变量。
3.3. 用户PLC常见问题
用户plc一般只用作简单的机器人功能配置,不能当做逻辑控制器使用,编写复杂程序会导致无法保存。
● 最多支持200行的编写。
4. 示例
4.1. JBI示例
可以参考JBI手册第三章JBI脚本示例
4.2. LUA示例
可以参考lua手册目录中以Example命名的示例
官方技术论坛中也有许多JBI和LUA的示例及解决问题的方法
4.3. 用户PLC示例
可以参考用户手册第十章的内容