Siemens 1200 PLC与机器人通信

(1)PLC与机器人通信时,PLC作为客户端,机器人作为服务器,PLC建立四个MB_CLIENT(MODBUS TCP客户端)通信指令,分别用于读机器人DO、写机器人DI
1)点击软件右侧的“指令”选项,选择“通信指令”,找到MB_CLIENT指令,如图1。
在这里插入图片描述
图1

2)将指令拖动至程序行中,选择数据块类型为“单个实例”,如图2
在这里插入图片描述
图2

3)设置相应的参数,如图3
在这里插入图片描述
图3
参数含义:
EN:输入能流,能流定义为虚拟电流,EN类似于直流电流的正极;
ENO:输出能流,ENO类似于直流电流的负极;
REQ:接通,指令就会发送通信请求,在服务器响应或输出错误信息之前,对参数进行更改将不会生效;
DISCONNECT:控制与服务器的连接,0表示建立通信连接,1表示断开连接;
MB_MODE:选择 Modbus 请求模式(读取、写入或诊断);
MB_DATA_ADDR:由“MB_CLIENT”指令所访问数据的起始地址;
MB_DATA_LEN:数据长度,数据访问的位数或字数;
MB_DATA_PTR:指Modbus 服务器接收数据的数据缓冲区或指发送到 Modbus 服务器的数据所在数据缓冲区的指针;
CONNECT:指向连接描述结构的指针,可以使用TCON_IP_v4系统数据类型;
DONE:完成标志位,只要最后一个作业成功完成,立即将输出参数 DONE 的位置位为“1”;
BUSY:繁忙标志位,0表示无 Modbus 请求在进行中,1表示正在处理 Modbus 请求;
ERROR:错误标志位,0表示无错误,1表示出错,出错原因由参数 STATUS 指示;
STATUS:指令的详细状态信息。
(2)西门子1200系列PLC与广数机器人MODBUS-TCP功能代码说明,如表5-3所示。
在这里插入图片描述
(3)建立MBCLENT-IP【DB】数据块用于设置通信连接结构和参数,如图4所示,数据类型输入TCON_IP_v4,建立TCON_IP_v4结构的连接。
在这里插入图片描述
图4
参数含义:
InterfaceId:本地接口的硬件标识符,双击设备组态里的“CPU”模块,查看硬件标识符,为64,这里相应填入16进制数16#40;
ID:引用该连接,该参数将唯一确定 CPU 中的连接,这里设置为16#1,只要与机器人ID、MES的ID不一致即可;
ActiveEstablished:建立连接的方式,对于主动建立连接,应选择 TRUE;
RemoteAddress:连接伙伴(Modbus 服务器)的 IP 地址,这里输入机器人的IP地址;
RemotePort:远程连接伙伴的端口号,这里输入机器人的端口号。
(4)背景数据块MB_CLIENT_DB【DB】设置连接方式
如图5所示,在项目树中,点击“程序块”,选择“系统块”,“程序资源”,双击“MB_CLIENT_DB”,设置通信连接方式
在这里插入图片描述
图5

参数含义:
MB_Unit_ID:设置连接伙伴的ID号,这里设置机器人的ID号;
Retries:设置重连次数,0表示一直尝试连接,对于客户端,此参数应设置为0。
(5)建立MB-CLENT-DATA【DB】数据块作为通信数据缓存区
如图6所示
在这里插入图片描述
图6
1)建立四个数组,分别用于读机器人DO数据、写机器人DI数据
2)存储DO和DI数组的数据类型为Bool布尔量
3)数组长度设置为0-64
(6)在一个程序块中建立四个通信指令,用于读写IO和变量;
1)如图7,建立读机器人DO数据的通信指令
在这里插入图片描述
图7

2)如图8,建立写机器人DI数据的通信指令;

在这里插入图片描述 图9