台达DVP-12SE PLC MODBUS TCP网络通信测试

网络设备连接结构图
台达DVP-12SE PLC MODBUS TCP网络通信测试

一  使用网络调试助手接收PLC A的报文

1   建立网络通道

1.1 设定PLC A的IP地址
打开DCISoft台达DVP-12SE PLC MODBUS TCP网络通信测试,点击搜索台达DVP-12SE PLC MODBUS TCP网络通信测试找到PLC模块,如图:
台达DVP-12SE PLC MODBUS TCP网络通信测试
双击PLC图标出现以下对话框,修改IP地址并点击确定。
台达DVP-12SE PLC MODBUS TCP网络通信测试
1.2 设置PC的IP地址
修改电脑本地IP为192.168.1.4,子网掩码为255.255.255.0,如图:
台达DVP-12SE PLC MODBUS TCP网络通信测试

2   编写程序并下载

2.1  程序示例
台达DVP-12SE PLC MODBUS TCP网络通信测试
台达DVP-12SE PLC MODBUS TCP网络通信测试
程序说明:K117、K118为接收方IP地址的控制寄存器,K119为MODbus TCP 指令长度,K120存放的是单元标识符和功能码,K121存放的是读取寄存器起始地址,K122存放的是读取寄存器的个数。
2.2  程序下载
点击台达DVP-12SE PLC MODBUS TCP网络通信测试图标搜索PLC,搜索完成后会在左侧显示搜索到的PLC,选择PLC点击下载按钮下载程序,如图:
台达DVP-12SE PLC MODBUS TCP网络通信测试

3   接收报文

打开网络调试助手,新建TCP server 端口为502 ,点击启动,16进制显示报文,如图:
台达DVP-12SE PLC MODBUS TCP网络通信测试

二  用网络调试助手读取PLC B 寄存区内容

1   建立网络通道

1.1 设定PLC B的IP地址
打开DCISoft台达DVP-12SE PLC MODBUS TCP网络通信测试,点击搜索台达DVP-12SE PLC MODBUS TCP网络通信测试找到PLC模块,如图:
台达DVP-12SE PLC MODBUS TCP网络通信测试
双击PLC图标出现以下对话框,修改IP地址并点击确定。
台达DVP-12SE PLC MODBUS TCP网络通信测试
1.2 设置PC的IP地址
修改电脑本地IP为192.168.1.4,子网掩码为255.255.255.0,如图:
台达DVP-12SE PLC MODBUS TCP网络通信测试

2   编写程序并下载

2.1  程序示例
1   建立网络通道
1.1 设定PLC A的IP地址
打开DCISoft台达DVP-12SE PLC MODBUS TCP网络通信测试,点击搜索台达DVP-12SE PLC MODBUS TCP网络通信测试找到PLC模块,如图:
台达DVP-12SE PLC MODBUS TCP网络通信测试

双击PLC图标出现以下对话框,修改IP地址并点击确定。
1.2 设置PC的IP地址
修改电脑本地IP为192.168.1.4,子网掩码为255.255.255.0,如图:
台达DVP-12SE PLC MODBUS TCP网络通信测试
台达DVP-12SE PLC MODBUS TCP网络通信测试

2   编写程序并下载

2.1  程序示例
台达DVP-12SE PLC MODBUS TCP网络通信测试

3   发送并接收响应报文

打开网络调试助手,新建TCP client IP为192.168.1.7(PLC B IP地址),端口为502 ,点击连接。数据发送区16进制发送,点击发送并接收16进制响应报文,如图:
台达DVP-12SE PLC MODBUS TCP网络通信测试

4   报文解析

4.1  读取寄存器报文

00  00  00  00  00  06  00  03  10  00  00  05
 

 

MAP

报文头

00 1B 事务处理标识符Hi 客户机发起,服务器复制,用于事务处理配对
00 1B 事务处理标识符Lo
0000 2B 协议标识符号 客户机发起,服务器复制,MODbus协议=0
0006 2B 长度 从本字节下一个到最后一个字节个数
00 1B 单元标识符 客户机发起服务器复制
功能码 03 1B 读寄存器 参考标准MODbus协议
数据 1000 2B 起始地址
0005 2B 读取的寄存器数量

4.2  响应报文解析

00 00 00 00 00 0D 00 03 0A 00 01 00 02 00 03 00 04 00 05
 

MAP

报文头

00 1B 事务处理标识符Hi 客户机发起,服务器复制,用于事务处理配对
00 1B 事务处理标识符Lo
0000 2B 协议标识符号 客户机发起,服务器复制,MODbus协议=0
000D 2B 长度 从本字节下一个到最后一个字节个数
00 1B 单元标识符 客户机发起服务器复制
功能码 03 1B 读寄存器 参考标准MODbus协议
 

 

数据

0A 1B 读取的字节个数
0001

0002

0003

0004

0005

nB 读取的寄存器内容

 

三  用网络调试助手写入PLC A数据

1   基本配置与读取PLC内容设置一致,参考第二部分。

2   程序不需要编程,参考第二部分。

3   发送写多个寄存器报文并接收响应报文

打开网络调试助手。新建TCP client IP为192.168.1.6(PLC A IP地址),端口为502 ,点击连接。数据发送区16进制发送,点击发送并接收16进制响应报文,如图:
台达DVP-12SE PLC MODBUS TCP网络通信测试

4   查看寄存器内容

台达DVP-12SE PLC MODBUS TCP网络通信测试

5   报文解析

5.1 写寄存器报文

00 00 00 00 00 0D 00 10 10 00 00 03 06 00 03 00 07 00 09
 

 

MAP

报文头

00 1B 事务处理标识符Hi 客户机发起,服务器复制,用于事务处理配对
00 1B 事务处理标识符Lo
0000 2B 协议标识符号 客户机发起,服务器复制,MODbus协议=0
000D 2B 长度 从本字节下一个到最后一个字节个数
00 1B 单元标识符 客户机发起服务器复制
功能码 10 1B 写寄存器 参考标准MODbus协议
数据 1000 2B 起始地址
0003 2B 写入的寄存器数量
06 1B 写入的字节个数
0003

0007

0009

nB 写入的数据

5.2 写寄存器响应报文

00  00  00  00  00  06  00  10  10  00  00  03
 

 

MAP

报文头

00 1B 事务处理标识符Hi 客户机发起,服务器复制,用于事务处理配对
00 1B 事务处理标识符Lo
0000 2B 协议标识符号 客户机发起,服务器复制,MODbus协议=0
0006 2B 长度 从本字节下一个到最后一个字节个数
00 1B 单元标识符 客户机发起服务器复制
功能码 10 1B 写寄存器 参考标准MODbus协议
数据 1000 2B 起始地址
0003 2B 写入的寄存器数量

四  使用MODbus TCP指令达到PLC A读取PLC B寄存器内容

PLC A读取PLC B D0~D4的数据并放到D53~D57内,这里PLC B不需要编写关于MODbus TCP的程序,只需要对D0~D4赋值,关于MODbus TCP的程序在主站PLC A编写。

1  PLC A程序编写示例

台达DVP-12SE PLC MODBUS TCP网络通信测试
台达DVP-12SE PLC MODBUS TCP网络通信测试
台达DVP-12SE PLC MODBUS TCP网络通信测试

2  程序说明

MODbus TCP指令是由特殊控制字来设置的,指令需要放入K120~K219内发送出去,接收的响应报文也是放在K120~K219内,具体如下:

读寄存器报文
00 00 00 00 00 06 00 03 10 00 00 05
Hi Lo 协议

标识符

MODbus TCP指令

长度

单元标识符 功能码 起始

地址

读寄存器个数
程序内不需要设置 K119 K120 K121 K122
读寄存器响应报文
00 00 00 00 00 0D 00 03 0A 00
Hi Lo 协议

标识符

MODbus TCP接收数据长度 单元标识符 功能码 读取数据长度 数据1
程序内不需要设置 K120 K121
01 00 02 00 03 00 04 00 05
数据1 数据2 数据3 数据4 数据5
K122 K123 K124 K125 K126

注意:接收的响应报文数据在存放在特殊控制字内是高低位错位,所有在程序最后把特殊控制字内的值取出来后进行了移位处理。

五  使用MODbus TCP指令达到PLC A往PLC B寄存器写入内容

PLC A把数据“1和3”写入 PLC B D0和D1内,这里PLC B不需要编写关于MODbus TCP的程序,关于MODbus TCP的程序在主站PLC A编写。

1   程序示例

台达DVP-12SE PLC MODBUS TCP网络通信测试
台达DVP-12SE PLC MODBUS TCP网络通信测试

2   程序说明

MODbus TCP指令是由特殊控制字来设置的,指令需要放入K120~K219内发送出去,接收的响应报文也是放在K120~K219内,具体如下:

写寄存器报文
00 00 00 00 00 0B 00 10 10
Hi Lo 协议标识符 MODbus TCP

指令长度

单元标识符 功能码 起始

地址

程序内不需要设置 K119 K120 K121
00 00 02 04 00 01 00 03
起始

地址

写入的寄存器个数 写入的数据字节个数 写入的

数据1

写入的

数据2

此处补0填入
K121 K122 K123 K124 K125

由于报文格式与特殊控制字对照时出现错位,所以往控制字填入数据的时候需要错位填入,末尾补0.

六  数据交换应用(永远启动)

1   实验目的

设置为永远启动数据交换功能,把PLC B D0~D99的内容传送到PLC A D100~D199,把PLC A D200~D299的内容传送到PLC B D100~D199。

2   设置

PLC B不需要设置,PLC A设置如图:
台达DVP-12SE PLC MODBUS TCP网络通信测试

3   程序编写并下载

3.1  PLC A程序示例
台达DVP-12SE PLC MODBUS TCP网络通信测试
3.2  PLC B程序示例
台达DVP-12SE PLC MODBUS TCP网络通信测试
3.3  监控装置状态表查看数据(PLC执行和永远启动设置一样)。

七  数据交换应用(程序控制)

1   实验目的

设置为程序控制数据交换功能,把PLC B D0~D99的内容传送到PLC A D100~D199,把PLC A D0~D99的内容传送到PLC B D100~D199。

2   设置

PLC B不需要设置,PLC A设置如图:

台达DVP-12SE PLC MODBUS TCP网络通信测试

3   PLC A程序示例

台达DVP-12SE PLC MODBUS TCP网络通信测试
说明:K13是数据交换启动标志,2发送。

4   PLC B程序示例

台达DVP-12SE PLC MODBUS TCP网络通信测试

发表评论