1.1通讯方式:
满足机器人与各种PLC通讯,满足系统控制复杂度,直接将机器人控制集成到主控系统中。
ABB机器人支持的通讯方式有:标准IO通讯 ;总线通讯;网络通讯。
2.标准IO通讯
2.1 Signal和 Group signal
本地IO模块,是机器人控制柜上*常见的模块之一,或者说是默认必备的模块。*常见的有8输入和8输出,或者16输入和16输出;以模拟量的0V和24V,作为数字控制中的0和1。
简单的搬运应用里你直接用它来控制夹具上电磁阀以及传感器,实现夹具开关和动作信号状态控制。在复杂一点的应用中,用个cross-function将多个IO信号通过逻辑组合一下,再使用一个IO信号来控制。
3 现场总线
2.1 工业总线,从系统的角度,是用于不同工业设备之间通信的可靠接口,比如机器人和PLC的通信;从控制方式的角度,是作为普通IO的扩展。
2.2 是否使用总线,以及使用何种总线,一般取决于系统中除机器人系统之外的设备能够支持的通信方式。比如电气控制系统中的PLC支持profinet,而且PLC和机器人系统有控制系统的交互,则机器人也一般会选配profinet通信功能。
4 PC网络通信
4.1 Socket
Socket非常好用的通信方式,能够以字符串的形式发送各种数据,甚至可以一次将各种数据以特定的形式打包后发送。
比如让机器人1在工位2抓取后在工位3位置放下,就可以表示为:“robot1;pickPosition2;placePosition3”。信息的具体格式,可以自定义,从而具有极强的柔性。
Socket是基于TCP/IP的通信方式,底层都会有握手信号确定信息的完整。需要注意的是:
1.Socket通信的连接状态,只有在通信时才能真正判断;因此,在某些对系统实时状态监控要求较高的情况下,可能需要单独建立“心跳”机制;
2.ABB机器人系统所支持的*大socket字符串长度为1024byte;虽然系统只支持不超过80个byte的字符串,我们仍可以使用自定义字符数组或者rawdata等方式实现更大的socket通信长度。
2. PC SDK
ABB提供对其机器人的远程通信和控制的控制接口,PC SDK就是其中一种方式。通过在高级编程语言中(只支持面向对象,如C#)调用其dll,就可以获取其丰富的功能(机器人端要求配备了pc interface选项):
1.数据控制:
a)变量读写;
b)变量订阅(变量的值改变时,触发特定的操作);
2.程序控制:
a)改变程序指针;
b)上传或删除程序模块;
c)控制程序的执行和停止等;
3.机器人信息读取:
a)网络上的控制器发现;
b)读取机器人控制参数;
c)读取机器人位置等信息;
4.Log读取及订阅;
5.备份等一般操作;
3. RMQ
3.1 这是ABB机器人一种比较特殊的通信方式,用于机器人不同task之间(类似于高级语言的多线程)的通信,也可以用于机器人和PC的通信。可以选择中断模式和同步模式。
3.2 中断模式下,当信息发送后,接收信息的一方会立即(*近的可中断点)进入中断,并在中断中立即对信息进行处理,从而保证实现*快的实时性。
3.3 同步模式下,接收方只在执行读取指令时,才会对信息进行处理。
3.4 特别要提到的是,当和PC通信时,要求PC端使用PC SDK。
3.5 使用RMQ的优缺点都很明显,优点是中断模式,能够以*快的速度相应信息,并且信息的格式不定,甚至可以支持自定义的结构体;缺点是使用起来较为复杂,因此不常用。