运动性能:直接决定了机器人是否能够用于特定的工艺, 比如精度和速度。
通信方式:直接决定了机器人能否集成到系统中,以及支持的控制复杂度。
本文主要给大家介绍一下ABB机器人常用的一些通讯方式。通常,机器人支持的通信方式有:
1. 普通IO:Signal、 Group signal
2. 总线:Profinet、Profibus、 DeviceNet、 EthernetIP等
3. 网络:Socket、 PC SDK、 RWS(robot web service)、 OPC、 RMQ(robot message queue)
4. 其他:confidential
普通IO
本地IO模块,是机器人控制柜上*常见的模块之一,或者说是默认必备的模块。*常见的有8输入和8输出,或者16输入和16输出;以模拟量的0V和24V,作为数字控制中的0和1。在小型系统中,用来快速地连接电磁阀以及传感器,实现夹具等控制,是再方便不过的了。
在较复杂的IO应用中,可以使用cross-function将数个IO信号通过固定的逻辑关系组合在一起,通过一个IO信号来控制。用类似伪代码的方式举例:set do_1 = set do_2 & reset do_3。此外,ABB的机器人控制柜,其本地IO的参考电平可以从外面接入,以便满足客户整个控制系统等电平的要求。
在较少的情况下,可以将数个单独的IO信号合并为一个group(组),用于传输较为复杂的信号,比如数字,这种情况就类似于二进制数。比如4个IO组合在一起为0100(如二进制数), 就相当于表示4(十进制数)。其实这种用法并不推荐,一方面,IO数量有限,能够传递的信息的数量和复杂度都受到很大的限制;这时候就推荐使用总线以获得较多的IO信号,当然*优的方式是使用后面提到的基于网络(非总线的TCP/IP)的方式。
总线
工业总线,从系统的角度,是用于不同工业设备之间通信的可靠接口,比如机器人和PLC的通信;从控制方式的角度,是作为普通IO的扩展。
是否使用总线,以及使用何种总线,一般取决于系统中除机器人系统之外的设备能够支持的通信方式。辟如电气控制系统中的PLC支持profinet,而且PLC和机器人系统有控制系统的交互,则机器人也一般会选配profinet通信功能。总线的配置方式各有不同,使用方式基本类似普通IO。
网络
Socket:非常好用的通信方式,能够以字符串的形式发送各种数据,甚至可以一次将各种数据以特定的形式打包后发送。比如让机器人1在工位2抓取后在工位3位置放下,就可以表示为:“robot1;pickPosition2;placePosition3”。信息的具体格式,可以自定义,从而具有极强的柔性。
Socket是基于TCP/IP的通信方式,底层都会有握手信号确定信息的完整。需要注意的是:
1. Socket通信的连接状态,只有在通信时才能真正判断;因此,在某些对系统实时状态监控要求较高的情况下,可能需要单独建立“心跳”机制;
2. ABB机器人系统所支持的*大socket字符串长度为1024byte;虽然系统只支持不超过80个byte的字符串,我们仍可以使用自定义字符数组或者rawdata等方式实现更大的socket通信长度。
PC SDK
ABB提供对其机器人的远程通信和控制的控制接口,PC SDK就是其中一种方式。通过在高级编程语言中(只支持面向对象,如C#)调用其dll,就可以获取其丰富的功能(机器人端要求配备了pc interface选项):
1. 数据控制:变量读写;变量订阅(变量的值改变时,触发特定的操作);
2. 程序控制: 改变程序指针;上传或删除程序模块; 控制程序的执行和停止等;
3. 机器人信息读取:网络上的控制器发现;读取机器人控制参数; 读取机器人位置等信息;
4. Log读取及订阅;
5. 备份等一般操作;
RMQ
这是ABB机器人一种比较特殊的通信方式,用于机器人不同task之间(类似于高级语言的多线程)的通信,也可以用于机器人和PC的通信。可以选择中断模式和同步模式。
中断模式下,当信息发送后,接收信息的一方会立即(*近的可中断点)进入中断,并在中断中立即对信息进行处理,从而保证实现*快的实时性。
同步模式下,接收方只在执行读取指令时,才会对信息进行处理。
特别要提到的是,当和PC通信时,要求PC端使用PC SDK。
使用RMQ的优缺点都很明显,优点是中断模式,能够以*快的速度相应信息,并且信息的格式不定,甚至可以支持自定义的结构体;缺点是使用起来较为复杂,因此不常用。
RWS:其所能提供的功能,与PC SDK类似,只是实现方式不一样。其基于HTTP的特点,使得不受编程语言的影响,能够实现跨平台应用。比如通过IE浏览器,就可以读取机器人的信息
OPC:所谓OPC,就是OLE for Process Control,即用于过程控制的OLE,是一个工业标准。所谓OLE, 就是Object
使用OPC可以:
1. 读取机器人状态;
2. 读写并定义机器人程序数据(可以单独甚至是批量操作)
- 下一篇:暂无
- 上一篇:ABB机器人---物流技术解决方案的助力者