?
?
当前位置:
西门子S7-300TCP开放式通信实例
回复 | 人气 | 打印
大连德嘉工控 个人主页 给TA发消息 加TA为好友 发表于:2019-05-27 14:03:47 楼主

书接前好几回,前面写了各种西门子PLC连接的例子,今天我们来连接一下S7-300 PN的,由于S7-300 PN做Modbus TCP比较复杂,可能这篇文章占得篇幅要比较大了,下面我准备占楼分发。

这里面有几个要点,我先提前介绍一下

1、使用以太网通讯就涉及到S7-300的以太网配置,本文中将详细介绍。

2、西门子有Modbus TCP的向导,但是收费,需要购买授权,所以我没用,我使用了标准TCP/IP的开放式通信向导。
  这就涉及到开放式通信向导的安装及配置,本文将详细介绍。

3、向导配置成功后,还需要在S7-300中编写通讯程序以完成TCP/IP数据收发,本文将详细介绍

4、使用标准的TCP/IP就意味着你需要做增加Modbus TCP功能,所以对Modbus协议的具体内容还是多
  少需要先了解一下的。具体的Modbus协议规范请自行学习。(因为涉及到协议的东西一两篇文字介绍不清楚,
  网上相关资源又很丰富,我就不在这里赘述了)

5、整个调试过程您可能需要很多调试软件,如NetAssist,Modbus Poll,Modbus Slave等,请自行下载

所用设备如下:

1、Modbus TCP/Modbus RTU模块(168含税
2、济南智泽4入2出的开关量模块
3、S7-300 315-2 PN/DP

硬件连接图示如下:

QQ截图20190527131618.jpg

参数设置如下:


1、济南智泽4入2出的开关量模块默认的通讯参数为:9600,n,8,1,这里我就不做修改了,因为很多厂家的产品也都是这个默认参数

2、Modbus TCP/Modbus RTU模块参数设置如下图:

2.jpg

1)、转换器IP

3.jpg

2)、转换器Modbus RTU设置

4.jpg

我们的设备设置到此结束,就这么简单,没什么可说的了,下面进行复杂的西门子S7-300的设置(功能强大就伴随着使用复杂,没办法)



分享到: 关注收藏 邀请回答 回复 举报
大连德嘉工控 个人主页 给TA发消息 加TA为好友 发表于:2019-05-27 14:13:04 1楼
 

首先第一点,我们先来安装和配置一下S7-300 PN的PN口

1)、设置网络接口

1、设置电脑本地网卡IP地址如下图:

1.1.jpg

2、在电脑上打开 STEP 7 V5.5,展开菜单栏“PLC”,单击 “编辑以太网节点”。

1.2.jpg

3、弹出“编辑Ethernet节点”对话框,点击“浏览”。

1.3.jpg

4、在“浏览网络”对话框中选择您要编辑的设备,点击确认

1.4.jpg5、在工作区输入IP地址:192.168.130,子网掩码:255.255.255.0,点击“分配IP组态”。

1.5.jpg

6、操作成功后可显示成功提示消息,如果失败也没关系,你可以通过硬件组态来设置IP地址,重新下载PLC程序即可。
(因为我发现西门子的有些设置总是莫名其妙的失败,并且找不到原因)

2)、创建 PLC 项目

1、打开 STEP7 V5.5。在 “文件” 菜单中选择 “新建…” 选项。

1.6.jpg

2、在弹出的创建新项目窗口里输入项目名为“Modbus_TCP_Client”,然后点击“确定”按钮。

1.7.jpg

3、在Modbus_TCP_Client下点击右键“插入新对象”,选择“SIMATIC 300 站点”。

1.8.jpg4、双击“硬件”打开硬件组态,插入 S7-300 插槽。

1.9.jpg5、插入S7-300 CPU,与实际PLC一致: 6ES7 315-2EH13-0AB0 V2.6。

1.10.jpg6、在弹出的“属性-Ethernet接口”对话框的“参数”选项卡中为以太网接口添加,设置IP地址192.168.1.30和子网掩码255.255.255.0 。并点击“新建”按钮。

1.11.jpg

7、在弹出“新建子网”对话框中,点击“确定”,返回到“属性-Ethernet接口”后继续点击“确定”

1.12.jpg

1.13.jpg

8、最后点击“保存和编译”按钮。编译保存硬件组态信息

1.14.jpg

  回复 引用 举报
大连德嘉工控 个人主页 给TA发消息 加TA为好友 发表于:2019-05-27 14:37:13 2楼
 

第三点,S7-300的TCP通信编程

1、查看 SIMATIC Manager—Blocks 下生成了 DB1。

3.1.jpg2、双击 OB1进入,程序中共需要的FB63、FB64、FB65、FB66,4个功能块。

3.2.jpg

3.3.jpg

3、插入 FB65 TCON

3.4.jpg4、添加背景DB65。

3.5.jpg5、显示 FB65,背景数据块为 DB65。

3.6.jpg6、打开DB1,复制“OUCW_1”名称。

3.7.jpg7、“CONNECT”引脚输入DB1. 粘贴“OUCW_1”

3.8.jpg3.9.jpg8、正确填写 FB65 引脚。

3.10.jpg9、添加共享 DB11,作为发送数据区。

3.11.jpg

10、打开DB11,添加变量,类型为数组。

3.12.jpg11、添加100个 BYTE 的数组变量。

3.13.jpg12、添加 FB63,背景数据块为DB63,正确填写 FB63 引脚。

3.14.jpg13、添加共享 DB12,作为接收数据区。

3.15.jpg

14、添加变量,类型为数组。

3.12.jpg15、添加100个 BYTE 的数组变量。

3.13.jpg16、添加 FB64,背景数据块为DB64,正确填写 FB64 引脚。

3.16.jpg17、添加 FB66,背景数据块为DB66,正确填写 FB66 引脚。

3.17.jpg18、返回 SIMATIC Manager 主界面,下载项目到 PLC

3.18.jpg

  回复 引用 举报
大连德嘉工控 个人主页 给TA发消息 加TA为好友 发表于:2019-05-27 14:39:01 3楼
 

第四点,下面要进行Modbus TCP的通讯测试了,这里我就发一条指令,并且我直接在数据表中做的,没有写梯形图程序,因为前面已经写的太多了,这里就算抛砖引玉吧,知道了原理其他程序您自己做起来就容易了。

1、在SIMATIC Manager 中,Blocks 下插入变量表“Variable Table”。

4.1.jpg

2、添加变量。触发“TCON_REQ ”。

4.2.jpg3、我们再下两段小程序,来控制Modbus TCP的发送及改变发送的数据

4.3.jpg4.4.jpg这里需要说明一下,MB100我做了时钟存储器,使用M100.5和M100.7来产生1S和2S的脉冲信号

4.5.jpg

至此,所有的配置及程序都处理完成,小模块的灯也会每隔1秒翻转一次

4.6.jpg

  回复 引用 举报
scbvc@163.com 个人主页 给TA发消息 加TA为好友 发表于:2019-08-05 20:49:14 6楼
 

学习了 谢谢楼主分享 正好需要

  回复 引用 举报
晨羽远 个人主页 给TA发消息 加TA为好友 发表于:2019-09-23 23:06:38 7楼
 

很好很好很好

  回复 引用 举报
Mr李先生 个人主页 给TA发消息 加TA为好友 发表于:2019-09-24 13:44:31 8楼
 

谢谢分享 谢谢分享 谢谢分享 谢谢分享

  回复 引用 举报
过客一号 个人主页 给TA发消息 加TA为好友 发表于:2019-10-11 12:38:52 9楼
 

好资料,感谢分享!

  回复 引用 举报
?
周点击排行
周回复排行
最新求助
?
? 大香蕉在线在线