[三菱] FX5U自带以太网口如何实现MODBUS TCP通信(一)

[复制链接]
查看71195 | 回复0 | 2024-4-1 16:58:33 | 显示全部楼层 |阅读模式
目前,MODBUS TCP协议在各传感器设备中,使用越来越广泛,那如何来实现与三菱的FX5U-PLC通信呢?FX5U自带以太网口作为客户端可以与其他品牌PLC、传感器设备等实现MODBUS TCP通信,其相关的设置步骤如下:

一、 对自带以太网端口设置IP地址、对象连接设置,相关截图如下:



在对象设备连接设置中,需添加“Active连接设备”,其中通信手段选择“通信协议”,再设置传感器设备的IP地址、端口号。如下截图是与西门子S7-1500通信的截图设置:



二、 通信协议设置

在GX WORKS3软件下,“工具”菜单下选择“通信协议支持功能”,截图如下:



在新窗口下,添加新协议号,选择相应的协议,截图如下:



可以新建多个协议号,并设置相应的参数,如下截图:





三、 相关的通信指令

用到的相关的通信指令有:

1、SP.SOCOPEN:建立通信连接指令。如下截图:



2、SP.SOCCLOSE:切断通信连接指令。截图如下:



3、SP.ECPRTCL:执行工程工具中登陆的通信协议通信。截图如下:



其中,“U0”是虚拟的,可以认为表示PLC自带网口。

K2表示连接编号。与本文中第一步Active项设置属于第2连接编号对应。

K1表示连续执行的协议数为1

D3050、D3070、D3090表示该指令执行时控制数据软元件的起始地址。

M4050、M4060、M4054表示该指令是否正常执行的标志状态。例如:M4054 ON一次,表示执行协议通信异常。

四、 相关的通信程序截图如下:

1、



其中,SD10680.1表示连接编号2#接通是否完成信号。ON,表示接通完成。

SD10681.1表示连接编号2#接通请求信号。ON,表示接通请求中。如下截图:



2、



其中,D2020与第二步最后数据包设置中的D2020对应,赋值7,表示与西门子S7-1500通信的标示符(根据西门子侧相关参数,可以更改)。

同样,D2021赋值1,表示与从站1#通信。

D2022赋值1,表示选择该从站下MODBUS地址为1的数据寄存器。

D2023赋值3,表示连续读取3个数据寄存器。

D3092赋值2,表示选择通信协议编号为2#,即第二步中的03功能码协议。

3、



五、 MODBUS TCP的数据格式讲解

按以上步骤设置,执行协议通信程序后,PLC会发出如下代码数据:

00 07 00 00 00 06 01 03 00 01 00 03

此数据格式解析如下:

00 07 表示标示符,通过此文举例中的D2020设置的。

00 00 表示该条指令遵循Modbus TCP协议,属于固定好的。

00 06 表示此指令后面的数据长度有6字节。

01 表示设备地址站号1#。

03 表示功能码,表示读取多个保持寄存器。

00 01 表示要读取的数据寄存器的初始地址。

00 03 表示要读取的数据寄存器长度,3个字。

六、 接收到的数据

此案例中执行功能码03读取西门子PLC侧的数据,接收到的数据会存储到D2026开始的区域,是根据如下相关的设置截图决定的,由于篇幅关系,在这里就不再详解,大家可以自行研究。



兴东机电设备(深圳)有限公司


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则