通信方式介绍
主控通信
在视觉系统与机器人进行通信时,如果视觉系统控制机器人执行任务,即视觉系统作为控制方,机器人作为被控方,则这种通信方式称为主控通信。主控通信具体表现为视觉系统向机器人发送指令,机器人监听并执行接收的指令,如下图所示。
|
主控通信的实现方式可分为如下两类。
-
机器人需要烧录(导入)主控程序。
在这种方式下,机器人需持续运行烧录的主控程序,视觉系统才能控制机器人。例如,ABB、FANUC、KUKA等机器人就是使用此种方式进行主控通信。
-
机器人无需烧录(导入)程序。
在这种方式下,机器人需切换到远程控制模式,然后视觉系统通过机器人本体提供的SDK(Software Development Kit),便可直接控制机器人,即机器人无需额外运行其他前台程序。例如,AE、JAKA等机器人就是使用此种方式进行主控通信。
标准接口通信
在视觉系统与外部设备(机器人、PLC或上位机等)进行通信时,如果外部设备向视觉系统发送标准接口指令,视觉系统在接收到指令后返回相应数据,则这种通信方式称为标准接口通信,如下图所示。在此种通信方式下,视觉系统并未控制外部设备,仅是根据外部设备发送的指令返回相应的数据,因此用户需编写外部设备端的程序,从而与视觉系统通信。
标准接口指令是梅卡曼德基于标准通信协议开发的一套指令,定义了指令请求以及响应的数据格式。这些指令的功能主要是对Mech-Vision或Mech-Viz工程进行设置,并返回Mech-Vision或Mech-Viz工程输出的结果。 |
标准接口通信的实现方式可分为如下两类。
-
如果梅卡曼德视觉系统已适配该款外部设备,则用户可直接使用标准接口指令。具体适配情况可参考标准接口通信一览表。
-
如果梅卡曼德视觉系统未适配外部设备,则用户需根据《标准接口开发者手册》编写相应的标准接口指令,才可使用标准接口通信。
Adapter通信
在视觉系统与外部设备(机器人、PLC或上位机等)进行通信时,如果外部设备向视觉系统发送用户自定义的指令,视觉系统在接收到指令后返回相应数据,则这种通信方式称为Adapter通信,如下图所示。在此种通信方式下,通信双方需确定自定义指令,因此用户需同时编写视觉系统和外部设备端的程序。
|
Adapter通信的实现方式可分为如下两类,这两类都是基于Python程序实现的。
-
使用Adapter生成器快速配置通信双方之间的指令格式。如果生成的指令未满足需求,可在此基础上通过Python编程进一步扩展。
-
根据Adapter编程指南从零开始开发通信双方之间的指令格式。
通信方式对比
前文介绍了三种通信方式的基本概念,本小节将对这三种通信方式进行比较,并总结每种通信的特点及适用场景,以帮助用户更好地理解它们之间的差异。
首先,在通信双方发送和接收指令方面,三种通信的区别如下表所示。
通信方式 | 指令形式 | 指令的发送方 | 指令的接收方 |
---|---|---|---|
主控通信 |
机器人指令 |
视觉系统 |
机器人 |
标准接口通信 |
标准接口指令 |
外部设备(机器人、PLC或上位机) |
视觉系统 |
Adapter通信 |
自定义指令 |
外部设备(机器人、PLC或上位机) |
视觉系统 |
其次,三种通信支持的协议、使用难度、以及灵活度也各不相同,如下表所示。
通信方式 | 支持的协议 | 编写程序 | 使用难度 | 灵活度 |
---|---|---|---|---|
主控通信 |
TCP、UDP |
无需编写程序 |
低 |
低 |
标准接口通信 |
TCP UDP Siemens PLC Snap7 PROFINET EtherNet/IP Modbus TCP Mitsubish MC |
需编写外部设备端程序 |
中 |
中 |
Adapter通信 |
TCP UDP HTTP WebSocket Siemens PLC Snap7 PROFINET EtherNet/IP Modbus TCP Mitsubish MC 其他通信协议 |
需编写视觉系统和外部设备端程序 |
高 |
高 |
最后,对于如下表所列的场景,各种通信方式支持情况也各不相同。
通信方式 | 工件上料场景 | 拆码垛场景 | 定位装配场景 | 货品拣选场景 | 涂胶场景 |
---|---|---|---|---|---|
主控通信 |
√ |
√ |
√ |
√ |
√ |
标准接口通信 |
√ |
√ |
√ |
√ |
× |
Adapter通信 |
√ |
√ |
√ |
√ |
√ |
在初步了解三种通信方式后,用户接下来就需要结合实际项目需求,选择合适的通信方式。