西门子PLC与ABB机器人EtherNet/IP通讯支持的通信有:
1.网口:
Profinet IO
IO控制器
智能设备
共享设备
PG 通信(编程调试)
HMI 通信
S7 通信
开放式用户通信
TCP
ISO on TCP
UDP
Modbus TCP
安全开放式用户通信
Web 服务器
OPC UA 服务器
2.串口:
Profibus DP
点对点通信
Modbus RTU
USS 通信
MPI
PPI
西门子PLC作为EIP的扫描器应用(扫一扫二维码下载Demo和说明文档)
西门子PLC作为EIP的适配器应用(扫一扫二维码下载Demo和说明文档)
文章记录西门子PLC与ABB机器人做EIP通讯测试,1511做扫描器,机器人做适配器。EIP中扫描器就是主站,适配器就是从站。
机器人侧配置:
设置机器人LAN3网口的IP地址,标签“EIP”,路径在图中框出。
EtherNet/IP与LAN3网口标签“EIP”绑定,路径在图中框出。
设置EIP的输入输出字节大小,路径在图中框出。
设置组输入信号,路径在图中框出。
设置组输出信号,路径在图中框出。
导出EDS文件,这个文件和西门子的GSD文件一样,有了这个文件主站才会认识从站。如果你安装了ABB Studio,可以使用***种获得EDS的方法(选择841-1集成网口的EDS):
如果你是示教器操机手,那么第二种方法会适合你:
拿到这个EDS文件后用记事本打开,西门子PLC不能直接加载EDS文件,所以需要我们提取参数来写到PLC中。
这个记事本里边的信息我们一会儿需要用到,先说一下EIP中比较重要的几个参数:
IP地址(这个就是ABB机器人LAN3口的IP地址)
设备***编号(这个是EIP给每个设备厂商的编号)
产品设备类型(这个是厂商的设备类型编码)
产品代码(这个是产品的编码)
大版本号(比如V20.05这个版本,20就是大版本号)
小版本号(比如V20.05这个版本,05就是小版本号)
配置程序集实例(这个也叫配置的汇编地址)
通信时间(这个是设备间的通讯时间设置)
输出程序集实例(这个也叫输出的汇编地址)
输出字节数量(这个是输出字节的大小)
输入程序集实例(这个也叫输入的汇编地址)
输入字节数量(这个是输入字节的大小)
配置字节数量(这个是配置字节的大小)
PLC侧配置:
复制他的Demo并更改PLC类型,删除程序段1和程序段2,因为我们要在数据块中修改,所以***后只剩下一个FB块。打开EnetIoSystem[DB2],框出的数据都要从EDS文件中获取并填写到对应的变量上。
从刚才的EDS记事本中查找有用的信息
把这些数据手动填到DB块对应的变量上,IP地址就写机器人LAN3的IP地址, "20 04 24 80 2C 70 2C 64"; $ exclusive output path 这一段的提取是按照西门子给出的文档解析来的,所以西门子的文档是非常必要仔细研读的。
下面这个图片来自西门子文档:
机器人和PLC配置好后,连接机器人与PLC的网线,下载PLC程序,重启机器人,查看变量能否正常传递。在datas中datas[0]是机器人的,这和上面的adapters有关,简单来说就是adapters[0]这个适配器对应的就是datas[0]这个里边的输入输出,那么adapters[1]这个适配器对应的就是datas[1]这个里边的输入输出。