三菱FX5U实现Modbus TCP以太网通信
2020-05-20 15:42:00

 

必备软硬件 

三菱GX Works3编程软件、三菱FX5U系列PLC、网线、电脑、MODBUS TCP调试助手

 

通信实现目的 

1、三菱FX5U读取数据并映射到自己的数字量输出Y0~Y7上,使用Modbus之02功能码实现;

2、三菱FX5U使用自己的数字量输入X0~X7输出数据,使用Modbus之15功能码实现;

3、三菱FX5U读取数据并保存到自己的保持寄存器D0~D3里,使用Modbus之03功能码实现;

4、三菱FX5U使用保持寄存器D4~D7写入数据,使用Modbus之16功能码实现。

通信连接说明 

三菱FX5U本体自带以太网口通过网线连接至电脑LAN接口;

 

Modbus TCP服务器通信参数

1、Modbus TCP服务器:MODBUS TCP调试助手

2、Modbus TCP服务器IP地址:192.168.1.150

3、Modbus TPC服务器子网掩码:255.255.255.0

4、Modbus TCP服务器默认网关:192.168.1.1

5、Modbus TCP服务器端口号:502

 

Modbus TCP客户端通信参数

1、Modbus TCP客户端:三菱FX5U

2、Modbus TCP客户端IP地址:192.168.1.140

3、Modbus TPC客户端子网掩码:255.255.255.0

4、Modbus TCP客户端默认网关:192.168.1.1

5、Modbus TCP客户端端口号:502

 

 

三菱FX5U通信参数设置 

1、以太网端口自接点设置,需要设置IP地址、子网掩码、默认网关、通信数据代码等诸多选型,如下所示:

 

2、对象设备连接配置设置,拖入一个Active连接设备,通信手段选择“通信协议”、可编程控制的IP地址设置为192.168.1.140、可编程控制器端口号设置为502;传感器设备IP地址(我们电脑的IP地址即调试助手的IP地址)设置为192.168.1.150、传感器设备端口号设置为502,如下所示:

鼠标左键点击上图红圈内的···进入下图

最后记得点击“反应设置并关闭(R)”即可保存设置并关闭此界面

 

3、三菱FX5U以太网端口通信协议支持功能数据包建立:

协议号 功能码 功能
1 02 读取Modbus TCP服务器多路输入
2 15 写入Modbus TCP服务器多路线圈
3 03 读取Modbus TCP服务器多路保持寄存器
4 16 写入Modbus TCP服务器多路保持寄存器

 

点击“工具(T)”下拉菜单并点击“通信协议支持功能(R)…”进入下图

“模块类型(U)”选择“CPU(以太网)”并点击“确定”进入下图

点击左上角“新建”图标进入下图

点击红圈内的“添加”进入下图

按上图设置,类型(K)选择“通信协议库,“型号”选择“MODBUS/TCP”,“协议名”与“协议号”对应,如协议号1对应功能码为02,用来读取Modbus TCP服务器多路输入,最后点击“确定”进入下图

继续点击红圈内的“添加”,依次将协议号2对应功能码为15,用来写入Modbus TCP服务器多路线圈、协议号3对应功能码为03,用来读取Modbus TCP服务器多路保持寄存器、协议号4对应功能码为16,用来写入Modbus TCP服务器多路保持寄存器,都添加到上图中,如下图所示

 

 

(1)协议号1详细设置如下所示

点击红圈内的“变量未设置”,对发送进行详细设置,将占用寄存器D1000~D1003,如下所示:

将红线处地址设置为上图地址后点击“关闭”

 

对正确返回进行详细设置,将占用寄存器D1007~D1010,如下所示:

将红线处地址设置为上图地址后点击“关闭”

 

对错误返回进行详细设置,将占用寄存器D1004~D1006,如下所示:

将红线处地址设置为上图地址后点击“关闭”

(2)协议号2详细设置如下所示

对发送进行详细设置,将占用寄存器D1107~D1112,如下所示:

将红线处地址设置为上图地址后点击“关闭”

 

对正确返回进行详细设置,将占用寄存器D1100~D1103,如下所示:

将红线处地址设置为上图地址后点击“关闭”

 

对错误返回进行详细设置,将占用寄存器D1104~D1106,如下所示:

将红线处地址设置为上图地址后点击“关闭”

 

(3)协议号3详细设置如下所示

对发送进行详细设置,将占用寄存器D1200~D1203,如下所示:

将红线处地址设置为上图地址后点击“关闭”

 

对正确返回进行详细设置,将占用寄存器D1207~D1213,如下所示:

将红线处地址设置为上图地址后点击“关闭”

 

对错误返回进行详细设置,将占用寄存器D1204~D1206,如下所示:

将红线处地址设置为上图地址后点击“关闭”

 

(4)协议号4详细设置如下所示

对发送进行详细设置,将占用寄存器D1307~D1315,如下所示:

将红线处地址设置为上图地址后点击“关闭”

 

对正确返回进行详细设置,将占用寄存器D1300~D1303,如下所示:

将红线处地址设置为上图地址后点击“关闭”

 

对错误返回进行详细设置,将占用寄存器D1304~D1306,如下所示:

将红线处地址设置为上图地址后点击“关闭”

点击红圈内的保存图标,将配置文件保存到指定的位置,以备后续导入PLC

 

三菱FX5U实现Modbus TCP客户端相关指令 

1、SP.SOCOPEN指令:

指令格式如下所示

指令参数说明如下所示

其中操作数S2含义如下所示

 

2、SP.SOCCLOSE指令:

指令格式如下所示

指令参数说明如下所示

其中操作数S2的含义如下所示

 

3、SP.ECPRTCL指令:

指令格式如下所示

指令参数说明如下所示

其中操作数S3的含义如下所示

 

三菱FX5U实现Modbus TCP客户端编程 

1、初始化部分程序,D0~D3初始化清零、D4~D7初始化分别赋值0~3、每1分钟给D4~D7做加1操作、当D4~D7分别大于6000时清零,如下所示:

2、和Modbus TCP服务器建立连接部分程序,当Modbus TCP服务器准备就绪时,置位M100即可和Modbus TCP服务器建立连接,程序随即置位M0,即可开始执行SP.ECPRTCL指令,如下所示: 

3、和Modbus TCP服务器断开连接部分程序,当Modbus TCP服务器断开连接或者置位M104时,即可执行断开和Modbus TCP服务器连接的操作,程序随即复位M0~M3,终止执行SP.ECPRTCL指令,如下所示:

4、读取Modbus TPC服务器8路输入部分程序,功能码02,对应协议号1,M0置位后开始执行该段程序,读取的Modbus TCP服务器8路输入映射到三菱FX5U的8路数字量输出Y0~Y7里,该段程序中的SP.ECPRTCL指令执行完成之后复位M0、置位M1,紧接着去执行下一个SP.ECPRTCL指令,如下所示:

5、写入Modbus TCP服务器8路线圈部分程序,功能码15,对应协议号2,M1置位后开始执行该段程序,使用三菱FX5U的X0~X7去控制Modbus TCP服务器8路线圈,该段程序中的SP.ECPRTCL指令执行完成之后复位M1、置位M2,紧接着去执行下一个SP.ECPRTCL指令,如下所示: 

6、读取Modbus TCP服务器4路保持寄存器部分程序,功能码03,对应协议号3,M2置位后开始执行该段程序,读取Modbus TCP服务器4路保持寄存器后转存到三菱FX5U的D0~D3寄存器中,该段程序中的SP.ECPRTCL指令执行完成之后复位M2、置位M3,紧接着去执行下一个SP.ECPRTCL指令,如下所示: 

7、写入Modbus TCP服务器4路保持寄存器部分程序,功能码16,对应协议号4,M3置位后开始执行该段程序,使用三菱FX5U的D4~D7去控制Modbus TCP服务器4路保持寄存器,该段程序中的SP.ECPRTCL指令执行完成之后复位M3、置位M0,紧接着又去执行第一个SP.ECPRTCL指令,如下所示:

 

三菱FX5U和以太网调试助手通信连接 

1、以太网调试助手做以太网服务器的设置

打开以太网调试助手,如下所示:

协议类型选择TCP Server、本地IP地址按电脑实际IP地址设置为192.168.1.150、本地端口号设置为502,点击开始监听,如下所示:

 

2、下载三菱FX5U以太网口通信协议支持功能数据包

点击红圈内“在线(O)”菜单中的“模块写入(W)” 下载我们之前创建并保存的以太网口通信协议支持功能数据包到三菱FX5U中

 

3、下载三菱FX5U程序

点击红圈内“在线(O)”菜单中的“写入至可编程控制器(W)…”后跳转至如下界面

点击红圈内“参数+程序”,再点击“执行(E)”将程序下载到三菱FX5U中

 

至此,三菱FX5U(Modbus TCP客户端)和调试助手(Modbus TCP服务器)就可以实现Modbus TCP以太网通信了。

 


END

 

热门新闻