硬件:三菱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
数据传输正常
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)