故事作者:will666

最近创作

看看TA的故事

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

已锁定

will666

  • 帖子

    1997
  • 精华

    12
  • 被关注

    102

论坛等级:奇侠

注册时间:2009-05-19

钻石 钻石 如何晋级?

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

1697

7

2021-11-19 10:12:06

        在水厂自控系统中,经常用到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的输入输出地址,使用非常方便。

测试环境

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台

 测试目标

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地址即可。

                                    

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


设备命名规则如下:

(1)必须以字母开头,可以使用英文字母(建议小写)和阿拉伯数字;

(2)可以使用中横线“-”,不能使用下划线“_”;

(3)命名不能与同网络的其他设备冲突,

4.     设置Modbus-RTU参数和命令


a)       根据需要设置COM1和COM2的类型、波特率和数据结构,通讯模式选择“RTU/Master”表示6300网关作为Modbus主站。也可以根据需要选择其他通讯模式,本次实验未做测试。

b)      点击右下角的“新加”按钮添加Modbus通讯命令。网关支持常用的Modbus命令。其中设备ID代表子站的通讯站号(十进制),寄存器地址为偏移地址(十进制),数量为从寄存器地址开始需要读取的字数(十进制)。本次使用的温湿度传感器地址信息如下表:


c)       Profinet断网关闭输出:使能后如果PN通讯中断网关将输出命令复位。

d)      PN在线轮询:使能后只有PN在线时才执行Modbus通讯命令;不使能则一直执行Modbus通讯命令。

e)       实时写:使能后每次轮询都执行写命令;不使能则只有在写数据变化后才执行写命令,以提高485总线利用率。

5.     MODBUS-TCP/IP地址:作为Modbus-TCP网关使用时可以通过该菜单设置固定IP,本次测试不使用。

6.     下载参数:配置结束后,选择网关模块,右键选择“更新<到设备>”即可将配置下载到6300网关,下载后可以通过“重新启动设备”重启网关模块使配置生效。可以再次搜索网关模块,读取配置信息检查是否配置成功。


7.     生成GSD文件:配置结束后,选择生成GSDML文件,软件将自动生成TIA配置所需的GSD文件。


二、TIA编程配置

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

2.     安装GSD文件:点击菜单栏“选项”,选择“管理通用站描述文件”弹出下图窗口,选择刚才生成的GSD文件所在的文件夹,并在识别的GSD文件中选择“安装”。

3.     导入6300网关:在右侧硬件目录中“其他现场设备”目录中找到HJ6300网关,并拖入项目,并把其分配给1214CPU。


4.     配置6300参数:名称必须与上一步骤中设置的网关名称一致,并根据需要设置正式IP地址。


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

6.     查看通讯数据:下载PLC程序,并在变量表中建立数据变量,在线监控,可以看到数据已经成功读取到PLC。


 测试总结

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网络还是具有很强大的通用性和兼容性,西门子系统也变得越来越开放,我们可以选择不同厂家的设备尤其是国产设备,可以让我们的系统有更高的性价比。


【征文】利用Modbus转PN模块快速实现西门子PLC的Modbus通讯 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3227条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。