三菱FX系列plc转以太网实现ModbusTCP通信服务器

三菱FX系列plc转以太网实现ModbusTCP通信服务器,第1张

兴达三菱转以太网模块 之 三菱fx系列plc如何实现Modbus TCP服务器

硬件:三菱fx 一个

兴达易控三菱转以太网 CHNet-FX 一台

CHNet-FX模块太网口它支持8个连接,那么也就是说,当我们plc做ModbusTCP服务器的时候可以有同时8个Modbus TCP客户端。同时和他进行通讯,

我们所需要的一些软件这个以太网调试助手,用来调试这个调试这个plc这个服务器,调试程序,然后我们还会用到这个Modbus poll可以来模拟,ModbusTCP服务器,ModbusRTU主站,以及Modbus ASC主站,

接下来我们继续说一下这个三菱FX5U他实现Modbus TCP这个组态过程,下面就是我们做好的一个这个工程

要实现他这个Modbus TCP他这个过程呢,首先呢第一步用FX5U PLC 与CHNet-FX连接

新建 FX3U/FX3UC 工程,双击导航栏中的连接目标:Connection。

 跳出的选项板后,在计算机侧选择双击“EthernetBoard”选项,随后提醒中点击“是”;在可编程控制器侧双击“PLC Module”;

在随后的跳出的设置中,点击“搜索网络上的 FXCPU(S)”后,会搜索到 CHNet-FX所连接的 FX3UC。

按图中标号依次选择后,最后点击确认;

 在上述中选择好 IP 地址后,点击“通信测试”,即可提示与 FX3UCCPU 连接

5.随后即可“在线”选项栏中,进行 PLC 的读取、写入和监视等操作。

Modbus分配地址

PLC配置

口号就是502端口,作为服务器需要设置的参数,

这个逻辑程序D0、D1、D2、D3分别付了初值是K0、K1、K2、K3在初始化的时候我们对D4、D5、D6、D7进行个清零操作设置的这个参数,通讯手段默认ModbusTCP,可编程IP地址就是前面设置的,192.168.1.161端

使用了一个特殊标志位,每一分钟我们会对D0、D1、D2、D3作一个加一操作,看看能不能做一个加一操作,然后会实时的判断,当D0、D1、D2、D3各自的值大于6000的时候分别各自清零,也就说d0d1d2d3的值他会每一分钟都会发生改变,并且d0d1d23d3的纸最终它是会在零到6000之间发生一个变化,(包括0和6000)

这么做的目的是为了客户端去读取PLC的寄存器的时候,D0、D1、D2、D3是变化的方便我们观察变化。这就是一小段逻辑程序

进入程序监视

此时D0、D1、D2、D3分别是0、1、2、3;过1分钟就会进行一下+1操作下面就可以测PLC程序了

先用以太网调试助手进行测试

适配器是PLC通过CHNet-FX网线连接到路由器,电脑通过无线网卡连接到路由器

协议模式:客户端 Client

目标IP:CHNet-FX用户自定义IP地址

MODBUSTCP通信协议指令及作用如下:

1、指令

MB_CLIENT(作为Modbus TCP客户端)。

MB_SERVER(作为Modbus TCP服务器)。

MB_CLIENT 表示MODBUS SCLIENT。

2、作用

“MB_CLIENT”指令作为 Modbus TCP 客户端通过 S7-1200 CPU 的 PROFINET  连接进行通信。使用该指令,无需其它任何硬件模块。通过“MB_CLIENT”指令,可以在客户端和服务器之间建立连接、发送请求、接收响应并控制 Modbus TCP  服务器的连接终端。

MB_SERVER表示MODBUS SERVER

“MB_SERVER”指令作为 Modbus TCP 服务器通过 S7-1200 CPU 的 PROFINET  连接进行通信。使用该指令,无需其它任何硬件模块。“MB_SERVER”指令将处理 Modbus TCP 客户端的连接请求、接收 Modbus  功能的请求并发送响应。

Modbus通讯协议

Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。

Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。

Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。

另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。

对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。

一、 Modbus**** TCP通信概述

Modbus TCP,顾名思义包含两个方面的意思Modbus和TCP。Modbus即传统的Modbus_RTU协议,TCP即TCP/IP协议中的TCP协议。Modbus/TCP 使Modbus_RTU协议运行于以太网,Modbus TCP使用TCP/IP和以太网在站点间传送Modbus报文,Modbus TCP结合了以太网物理网络和网络标准TCP/IP以及以Modbus作为应用协议标准的数据表示方法。Modbus TCP通信报文被封装于以太网TCP/IP数据包中。与传统的串口方式,Modbus TCP插入一个标准的Modbus报文到TCP报文中,不再带有数据校验和地址。

优易通串口服务器UE-E3100全系列和4G DTU UE-D5401全系列都已经支持Modbus TCP功能。

二、 例程环境

三、 例程介绍

四、 配置过程

1.1 配置串口参数,串口参数要和传感器参数对应起来,流控选择485,在高级选项中,选中Modbus网关

1.2 SocketA配置,打开SocketA,协议选择TCP Server,服务器端口设置10001,后面组态王配置的时候会用到。

2.1 新建组态王工程

2.2 新建设备,依次点击1,2,3

选择PLC->莫迪康->ModbusTCP->TCP

设置设备的逻辑名字这里默认值

选择串口号

设置设备地址,192.168.1.189为前面设置的E3100的IP地址,10001为E3100设置的服务器端口,1为传感器地址。

通信参数选默认值

完成

变量1属性,选择变量类型IO 整数。寄存器401,代表功能码为03,起始地址0 的第一个值。

变量2属性,选择变量类型内存实数,用于传感器返回的数据换算

设置文本

设置动画连接

存储,切换到View

数据传输正常


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/306508.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存