电工学习网

 找回密码
 立即注册
查看: 1697|回复: 0
打印 上一主题 下一主题

利用Modbus转PN模块快速实现西门子PLC的Modbus通讯

[复制链接]
跳转到指定楼层
楼主
发表于 2021-11-19 11:54:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
       在水厂自控系统中,经常用到485接口的Modbus-RTU通讯设备,例如配电室的多功能电量采集仪表、进出水站房的水质分析仪表、各种液体或气体流量计等。自控系统采集这些Modbus-RTU设备数据的方法一般有两种:常用的方法是利用CPU的485接口或配置485通讯模块,通过编写Modbus通讯程序读取数据;另外一种简单方法是利用Modbus-RTU转Modbus-TCP模块,通过上位机软件直接读取数据。第一种方法需要plc带有485接口并支持Modbus通讯,或者采购专用的485接口模块,造价较高且需要编写Modbus轮询程序,程序处理不好的话容易发生故障或者刷新较慢的情况;第二种方法实现简单,但是读取的数据通常是原始数据,需要利用上位机进行转换,且多台上位机并行时需要重复向子站读取数据,容易产生通讯冲突造成通讯失败。
        本次给大家分享的HJ6302模块是一款国产的通讯网关模块,它支持Modbus-RTU与ProfiNet的双向通讯,并且该模块不需要在PLC内编写Modbus通讯程序,只需要利用专用软件配置通讯参数和命令后导出GSDML文件,然后将文件导入PLC硬件配置,数据会自动映射到PLC的输入输出地址,使用非常方便。
利用Modbus转PN模块快速实现西门子PLC的Modbus通讯
测试环境
1.     HJ6302模块1个(充当Modbus主站和PN-IO)
2.     Modbus-RTU接口通讯温湿度传感器2个(充当Modbus子站)
3.     西门子1214PLC一台(充当PN主站)
4.     HJ6302配置软件PROFINET-6300-配置软件+V-1.3.E-1
5.     plc编程软件TIA V15
6.     笔记本电脑1台
利用Modbus转PN模块快速实现西门子PLC的Modbus通讯
测试目标
1.     通过HJ6302配置Modbus-RTU参数和通讯命令。
2.     通过TIA编程软件导入HJ6302配置文件,实现PLC读取温湿度数据。
测试步骤
一、HJ6302模块设置
1.     将电脑IP地址设置为与要测试的PLC和HJ6302模块同一个网段,本次测试给电脑配置的IP地址是192.168.10.200,计划给PLC配置的IP地址是192.168.10.100,给HJ6302模块配置的IP地址是192.168.10.101。将电脑、PLC和6302模块连接到同一个局域网内。
2.     关于6300网关的IP地址:打开6302配置软件如下,6302网关没有默认IP,选择电脑指定网卡点击“搜索”软件将自动搜索局域网内的6300网关设备并根据电脑IP地址段自动分配一个临时IP地址给6300网关,该IP地址只用于配置网关参数,重新上电后将消失。正式通讯时,PLC会根据网关名称自动将硬件配置的正式IP地址分配给6300网关,因此不需要通过配置软件给6300设置固定IP地址,只需要设置网关设备的名称,并在TIA编程时配置相同的名称和需要的IP地址即可。
利用Modbus转PN模块快速实现西门子PLC的Modbus通讯

3.     关于网关命名:搜索到6300网关后,先点击设备并右键选择“读取<从设备>”将网关配置上载到电脑,并在“设备名称”处根据需要重新命名网关。PN通讯需要使用设备名称和IP地址,此处配置的设备名称必须与TIA软件中配置的一致,PLC才能搜索到网关设备并分配正式IP。

设备命名规则如下:
(1)必须以字母开头,可以使用英文字母(建议小写)和阿拉伯数字;
(2)可以使用中横线“-”,不能使用下划线“_”;
(3)命名不能与同网络的其他设备冲突,
4.     设置Modbus-RTU参数和命令
利用Modbus转PN模块快速实现西门子PLC的Modbus通讯


a)       根据需要设置COM1和COM2的类型、波特率和数据结构,通讯模式选择“RTU/Master”表示6300网关作为Modbus主站。也可以根据需要选择其他通讯模式,本次实验未做测试。
b)      点击右下角的“新加”按钮添加Modbus通讯命令。网关支持常用的Modbus命令。其中设备ID代表子站的通讯站号(十进制),寄存器地址为偏移地址(十进制),数量为从寄存器地址开始需要读取的字数(十进制)。本次使用的温湿度传感器地址信息如下表:
利用Modbus转PN模块快速实现西门子PLC的Modbus通讯


c)       Profinet断网关闭输出:使能后如果PN通讯中断网关将输出命令复位。
d)      PN在线轮询:使能后只有PN在线时才执行Modbus通讯命令;不使能则一直执行Modbus通讯命令。
e)       实时写:使能后每次轮询都执行写命令;不使能则只有在写数据变化后才执行写命令,以提高485总线利用率。
5.     MODBUS-TCP/IP地址:作为Modbus-TCP网关使用时可以通过该菜单设置固定IP,本次测试不使用。
6.     下载参数:配置结束后,选择网关模块,右键选择“更新<到设备>”即可将配置下载到6300网关,下载后可以通过“重新启动设备”重启网关模块使配置生效。可以再次搜索网关模块,读取配置信息检查是否配置成功。
利用Modbus转PN模块快速实现西门子PLC的Modbus通讯

7.     生成GSD文件:配置结束后,选择生成GSDML文件,软件将自动生成TIA配置所需的GSD文件。
利用Modbus转PN模块快速实现西门子PLC的Modbus通讯


二、TIA编程配置
1.     新建项目,选择1214CPU,并配置IP地址等参数。

2.     安装GSD文件:点击菜单栏“选项”,选择“管理通用站描述文件”弹出下图窗口,选择刚才生成的GSD文件所在的文件夹,并在识别的GSD文件中选择“安装”。
利用Modbus转PN模块快速实现西门子PLC的Modbus通讯
3.     导入6300网关:在右侧硬件目录中“其他现场设备”目录中找到HJ6300网关,并拖入项目,并把其分配给1214CPU。
利用Modbus转PN模块快速实现西门子PLC的Modbus通讯


4.     配置6300参数:名称必须与上一步骤中设置的网关名称一致,并根据需要设置正式IP地址。
利用Modbus转PN模块快速实现西门子PLC的Modbus通讯



5.     查看地址映射:配置完毕并编译后,可以通过地址总览查看系统分配的地址映射信息,2个测试温湿度传感器的数据分别映射到IW2~IW25和IW26~IW49。

6.     查看通讯数据:下载PLC程序,并在变量表中建立数据变量,在线监控,可以看到数据已经成功读取到PLC。
利用Modbus转PN模块快速实现西门子PLC的Modbus通讯
测试总结
1.     经过测试,实现了通过PN网络采集Modbus-RTU数据,通讯稳定,不需要编写轮询程序。
2.     不同485通道可以设置不同的波特率等参数,使用比较灵活。
3.     网关名称命名非常重要,必须保证网关名称和TIA软件内配置的一致,否则通讯失败。
4.     网关IP地址在配置阶段可以不设置,当网关与PLC连接后PLC将自动把设置的正式IP地址配置给网关。
5.     网关与PLC通讯正常后不要再用指定网卡的方式搜索网关,这样电脑会再次给网关配置临时IP造成通讯中断,要选择所有网卡模式。
6.     修改网关配置之前需首先上载配置,修改完毕需重启网关使配置生效。
7.     如果PLC连接的PN模块较多,可加大更新时间至8~10ms。
8.     网关将数据映射到PLC的过程映像区,1200系列PLC的IO过程映像区分别只有1024字节,1500系列PLC的IO过程映像区至少32K字节,这个算是这种方式的一个缺点,如果要通讯的数据量大于PLC的IO过程映像区就不能用这种方式了。
        通过测试发现PN网络还是具有很强大的通用性和兼容性,西门子系统也变得越来越开放,我们可以选择不同厂家的设备尤其是国产设备,可以让我们的系统有更高的性价比。
来源:西门子工业技术论坛

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-27 19:35

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表