- 编程环境
TIA V17
Modbus Poll Version 版本:4.3.4
Modbus Slave Version 版本:4.3.1
Entalk Modbus Manager 版本:2.3.5.18
软件准备:GSDML-V2.33-JY-EnTalk-20210807.xml文件
- 产品示意图:
- 设备网络
SIEMENS 组态配置
Modbus Poll组态配置
Modbus Slave组态配置
EnTalk Modbus Manager组态Master配置
EnTalk Modbus Manager组态Slave配置
- 测试内容
CPU1211C PN/IE控制器PN主站IP地址:192.168.0.9;
PN – RTU PCIE板卡PN从站IP地址:192.168.0.10;
PN – RTU网关设备RTU 主/从站配置:波特率:9600;
数据位:8;
奇偶校验:无;
停止位:1;
其他:保持默认即可;
从站地址:2;
PN – RTU网关侧做PN从站,ModBus RTU 侧可做Master/Slave端:10 DWORD INPUT + 10 DWORD OUTPUT(可根据需要进行修改);
- 实例文件和项目
下表包括了此例子中使用的文件和项目。
组态 | 注释 |
Siemens CPU1211C_PN-IE做PN主站通过PCIE板卡Entalk PROFINET Slave — Modbus RTU_Master-Slave 与Modbus_Slave-Modbus_Poll模拟软件测试记录文档.PDF | 本文档 |
ET001 PN-Modbus RTU_Siemens_Project.rar | TIA V17 项目 |
ET001M-PCIE_Test.dsn | JY-ET-001P作为RTU_Master配置工程文件 |
ET001S-PCIE_Test.dsn | JY-ET-001P作为RTU_Slave配置工程文件 |
MbPoll-read.mbp | Modbus Master项目,读主站命令 (PCIE板卡做RTU从站) |
MbPoll-write.mbp | Modbus Master项目,写主站命令 (PCIE板卡做RTU从站) |
Mbslave-read.mbs | Modbus Slave项目,读主站命令 (PCIE板卡做RTU主站) |
Mbslave-write.mbs | Modbus Slave项目,写主站命令 (PCIE板卡做RTU主站) |
GSDML-V2.33-JY-EnTalk-20210807.xml | JY-ET-001 GSD文件 |
- 测试步骤(TIA)
- 创建工程
双击SIEMENS 图标
TIA Portal V17打开软件,在侧边栏选择“启动”、“创建新项目”,弹出 “创建新项目”界面,在“项目名称”栏输入新建的工程名称,点击“创建”按钮创建项目;
- 添加GSD文件
在视图中,选择“设备和网络”并单击“添加新设备”(或者在项目视图中的项目名称下, 双击“添加新设备”),如下图“添加新设备”对话框,添加支持 PROFINET 接口的控制器, 例如 6ES7 211-1AE40-0XB0。
点击添加后,进入如下界面。
在 TIA Portal 菜单栏点击“选项”>“管理通用站描述文件”, 如图所示:
在弹出的对话框中,选择“已安装的 GSD”选项卡,点击源路径选择按钮,弹出文件
夹对话框中找到选择 GSD 文件“GSDML-V2.33-JY-EnTalk-20210807.xml”所在的文件夹路径并选中,点击确认即可。
选择导入的 GSD 文件,点击安装,直至安装完成。
软件更新硬件目录。
- 组态硬件设备
双击设备和网络,添加 PN-TCP设备模块,在硬件目录 > 其他现场设备> PROFINET IO > Gateway > SIEMENS AG >Entalk >Entalk,如下图所示:
添加设备模块后,如下图所示:
使用设备配置的“网络视图”在项目中的各个设备之间创建网络连接。创建网络连接之后, 使用巡视窗口的“属性”选项卡组态网络的参数。
选择“网络视图”以显示要连接的设备。选择PN-EIP的PROFINET端口,然后将连接拖到 Entalk模块的PROFINET端口处,释放鼠标按钮以创建网络连接。
PROFINET 网络创建成功,如下图所示:
双击Entalk设备并组态所有必需的模块及子模块,
– 在硬件目录中,展开“模块”容器。
– 双击或拖动Input (Entalk to PLC) / Output (PLC to Entalk )下的模块类型。如下图所示:
组态配置网关设备,组态 PN-EIP 的 PROFINET 接口,选择 CPU 上的绿色 PROFINET 框。巡视窗口中的“属性” 选项卡会显示 PROFINET 端口,在巡视窗口的“属性 > PROFINET 接口”选择“以太网地址”, 在 IP 协议中设置 IP 地址,如下图:
注意:该 PROFINET 设备名称需要与配置软件中 PROFINET 的设备名称保持一致,否则PROFINET 通信无法建立。
执行编译和下载:
- 测试步骤(网关配置RTU主/从站,使用Modbus Slave/Modbus Poll软件)
- 网关配置RTU主站,使用Modbus Slave软件
双击Modbus Slave软件图标
Modbus Slave打开软件,在左上角选项栏选择“新建项目”。
新建项目界面弹出,如图所示:
选择“Setup->Slave Definition...”,配置读命令参数配置,如图所示:
弹出界面进行模拟从站配置:
修改从站ID站号、起始地址、数据长度、显示格式等参数:
配置完成之后新建工程,按照上述操作进行写命令参数配置,如图所示:
配置完成之后,选择“Connection->Connect...”选项进行与主站之间的通讯连接, 在弹出窗口中选择“Serial Port”,进行对Modbus RTU波特率、数据位等参数的设 置,如图所示:
通讯连接成功显示如图所示:
- 网关配置RTU从站,使用Modbus Poll软件
双击Modbus Poll软件图标
Modbus Poll打开软件,在左上角选项栏选择“新建项目”:
新建项目界面弹出,如图所示:
选择“Setup->Read/Write Definition...”,配置读命令参数配置,如图所示:
弹出界面进行模拟主站配置:
修改从站ID站号、起始地址、数据长度、显示格式等参数:
配置完成之后新建工程,按照上述操作进行写命令参数配置,如图所示:
配置完成之后,选择“Connection->Connect...”选项进行与从站之间的通讯连接, 在弹出窗口中选择“Serial Port”,进行对Modbus RTU波特率、数据位等参数的设 置,如图所示:
通讯连接成功显示如图所示:
- 配置PCIE PROFINET - Modbus RUT板卡参数
- 配置PN – RTU为Master端
打开EMM配置软件,添加一个ET001 Master设备,配置PN -RTU的PN端IP地址, 和TIA下设置的ET001的IP地址一致;PN 从站的IP地址:192.168.0.10;
设备名和TIA上PN -TCP的设备名称一致;
配置 Modbus RTU端的波特率、数据位等参数;
右击Modbus RTU,插入子站,配置Slave端的参数,Slave端的站地址:2;
插入Read Holding Registers命令,功能码 = 3,起始地址 = 0,输入寄存器数量 = 10,内存映射起始地址 = 0:PN - RTU会将Slave端输入型寄存器(03 Holding Registers(4x))起始地址为40001的10个寄存器返回的数据写到PROFINET网络输入缓冲区0x000~0x00A内;
插入Write Multiple Registers命令,功能码 = 16,起始地址 =1 0,输入寄存器数量 = 10,内存映射起始地址 = 1500:PN - RTU会将PROFINET网络输出缓冲区0x000~0x00A内的10个寄存器返回的数据写到Slave端输入型寄存器(16 Holding Registers(4x))起始地址为40021的10个寄存器内;
保存设置通讯参数,下载配置文件;
- 配置PN – RTU为Slave端
配置Modbus RTU端为Slave时,作为Slave端只需配置Modbus RTU端的波特率、数据位等参数与Master端的参数匹配即可。
作为Slave端 与 作为Master端 映射的地址缓存区不相同;
当作为Slave端时,第一区域前1500个字节(即0~749【word】)为RTU主站往从站写入的数据范围,第一区域前1500个字节(即0~749【word】)为RTU主站读取从站的数据范围。
打开EMM配置软件,添加一个ET001 Slave设备,配置PN -RTU的PN端IP地址,和TIA下设置的ET001的IP地址一致;PN 从站的IP地址:192.168.0.10;RTU从站波特率、数据位等参数。
- 配置载入监视数据变化
配置全部载入之后,在线观察是否通讯正常。
- PRIFINET 侧TIA 在线观察,所有模块在线显示绿色对勾则通讯正常,如图所示:
- Modbus RTU侧Modbus Slave软件在线观察,从站ID号下未报错即通讯成功,如图所示:
- Modbus RTU侧Modbus Poll软件在线观察,从站ID号下未报错与Err信号未变化,即通讯成功,如图所示:
- 通过PN侧修改数据,观察RTU侧数据变化。(RTU-Server端)
PN侧数据输出,监控截图:
RTU侧数据输入,监控截图:
- 通过RTU侧修改数据,观察PN侧数据变化。(RTU-Server端)
RTU侧数据输出,监控截图:
PN侧数据输入,监控截图:
- 通过PN侧修改数据,观察RTU侧数据变化。(RTU-Master端)
PN侧数据输出,监控截图:
RTU侧数据输入,监控截图:
- 通过RTU侧修改数据,观察PN侧数据变化。(RTU-Master端)
RTU侧数据输出,监控截图:
PN侧数据输入,监控截图: