一、现场要求:发那科机器人作为服务器端,DCS作为客户端向发那科机器人发送读写请求,发那科机器人应答后DCS接收发那科机器人的数据,实现数据的传递。
二、解决方案:在不增加编程任务的前提下只需在DCS与机器人中间添加巴图自动化Profinet转ModbusTCP网关(BT-ETHPN20)就可实现。本文将介绍如何使用巴图自动化Profinet转ModbusTCP网关(BT-ETHPN20)配置通讯
三、步骤:
1. 硬件连接,端口1在这里,IP设置:菜单-设置-设置2-主机通信,选择TCP/IP设置;
2. 在此界面中,您可以设置发那科机器人的IP,并固定待连接客户端的IP,防止未经授权的主机连接到机器;
3. 端口设置:菜单—下一页—系统—变量输入MODBUSTCP设置,在Port参数中修改端口号;
- PLC需要读写的机器人的寄存器值设置:该设定值应大于PLC需要读写的内存数量。输入MENU-IO-MODBUS TCP,可在此设置MODBUS TCP通信参数。例如,编写UI [1] - UI[20],需要3个16位内存,还需要6个GI内存。很明显,这里输入的单词数为4是不够的,所以可以设置得更大;
5. 机器人内存分配:MODBUS TCP通信时,机器人机架号固定为96,槽位号为1,UO需要两个内存对应的MB地址位30001-30002UI需要2 MB地址位,对应内存40003-40004;GI需要6 MB地址位,对应内存40005-40010;
6. 从站设置已经完成。打开Profinet转Modbus TCP网关配置软件,配置Profinet转Modbus TCP网关。打开软件,点击红圈新建项目,选择PN2MTC;
7. 将Profinet的IP地址和设备名称设置为Profinet网络中的Modbus TCP网关
8. 设置Profinet的Modbus TCP通信参数为Modbus TCP网关。首先,在客户端将Profinet的IP地址设置为Modbus TCP网关;
9.右键点击ModbusTCP添加从机,并填写服务器(机器人)的IP地址;
10. 右键单击NODE并添加所需的函数代码。例如,如果使用03H功能码读取40000地址区,我们将选择读取保持寄存器;
11. 主站软件从40001-40010读取寄存器数据,但主站软件中的寄存器地址从40001开始,而Profinet到Modbus的TCP网关从40000开始,因此地址需要填入0。共有10个寄存器,与Profinet主站起始地址对应的内存映射起始地址为0;
12. 至此,建立了Profinet到Modbus的TCP网关,并打开了DCS组态软件SYCON.net;
- 添加Profinet转Modbus TCP网关的GSD文件,点击导入设备描述;
14. 选择GSD文件所在的文件夹,选择GSD文件;
15. 将Profinet转Modbus TCP网关挂在Profinet总线上,双击Profinet转Modbus TCP网关进入配置界面;
16. 单击“添加模块”,将Profinet的输入输出长度添加到Modbus TCP网关,并设置Profinet的IP地址为Modbus TCP网关;
17.配置完成后,可导入DCS正常使用,并可对指定的输入输出地址进行读写。
注意:Modbus不能同步进行通信,主机在同一时间内只能向一个从机发送请求,总线上每次只有一个数据进行传输,即主机发送,从机应答,主机不发送,总线上就没有数据通信。从机不会自己发送消息给主站,只能回复从主机发送的消息请求。