西门子s7-300开放式通讯 点击:242 | 回复:0



大连德嘉工控

    
  • [版主]
  • 精华:7帖
  • 求助:2帖
  • 帖子:1071帖 | 1339回
  • 年度积分:432
  • 历史总积分:8492
  • 注册:2009年2月24日
发表于:2022-10-27 16:20:15
楼主


书接前面写了各种西门子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就意味着你需要做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

硬件连接图示如下:

附件 1.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的设置(功能强大就伴随着使用复杂,没办法)

5
#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.jpg

5、在工作区输入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.jpg

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

附件 1.9.jpg

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

附件 1.10.jpg

6、在弹出的“属性-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
[此贴子已经被作者于2019/5/24 10:39:23编辑过]
大连德嘉工控WB 版主
文章数:1178
年度积分:916
历史总积分:5285
注册时间:2018/5/31
发表于:2019/5/23 17:14:47
#2楼
第二点,我们来安装和配置开放式通信向导

1、首先给出该向导的西门子官方下载地址:(安装过程我就不写了,基本就是下一步既可以)

https://support.industry.siemens.com/cs/cn/en/view/98957840/zh

2、开始菜单中选择“SIMATIC”—“Open Communication Wizard”,打开后点击“NEXT”。

附件 2.1.jpg

附件 2.2.jpg

3、选择 STEP 7 project。

附件 2.3.jpg

4、选择 Modbus_TCP_Client 项目,并点击“Open”

附件 2.4.jpg

5、选择 Block folder,并点击“Open”

附件 2.5.jpg

附件 2.6.jpg

6、点击“Next”。

附件 2.7.jpg

7、点击“OK”。

附件 2.8.jpg

8、点击“Next”。

附件 2.9.jpg

9、选择“Connection type”—“TCP native”,点击“Next”。

附件 2.10.jpg

10、选择“Communication parter B is not a S7-CPU(eg. a PC)”, 点击“Next”。

附件 2.11.jpg

11、Connect name:“300_ModbusTCP_Client”。

附件 2.12.jpg

12、选择User interface:CPU 15/317(Firware V2.3)。

附件 2.13.jpg

13、填入Communication parter B 的IP地址192.168.1.199,点击“Next”。(这里的地址就是我们S7-300要连接的服务器的地址,这里我填写Modbus TCP/RTU模块的地址,你可以可以连接填你电脑的IP,方便在电脑上用调试软件调试)

附件 2.14.jpg

14、Communication parter B 端口号:502,点击“Next”。(Modbus TCP端口默认502)

附件 2.15.jpg

15、Communication parter A,数据块Name:DB1,点击“Next”

附件 2.16.jpg

16、点击“Next”。

附件 2.17.jpg

17、点击“Finish”。

附件 2.18.jpg

18、点击“是”。

附件 2.19.jpg
[此贴子已经被作者于2019/5/24 13:50:52编辑过]
大连德嘉工控WB 版主
文章数:1178
年度积分:916
历史总积分:5285
注册时间:2018/5/31
发表于:2019/5/23 17:15:49
#3楼
第三点,S7-300的TCP通信编程

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

附件 3.1.jpg

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

附件 3.2.jpg

附件 3.3.jpg

3、插入 FB65 TCON

附件 3.4.jpg

4、添加背景DB65。

附件 3.5.jpg

5、显示 FB65,背景数据块为 DB65。

附件 3.6.jpg

6、打开DB1,复制“OUCW_1”名称。

附件 3.7.jpg

7、“CONNECT”引脚输入DB1. 粘贴“OUCW_1”。

附件 3.8.jpg

附件 3.9.jpg

8、正确填写 FB65 引脚。

附件 3.10.jpg

9、添加共享 DB11,作为发送数据区。

附件 3.11.jpg

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

附件 3.12.jpg

11、添加100个 BYTE 的数组变量。

附件 3.13.jpg

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

附件 3.14.jpg

13、添加共享 DB12,作为接收数据区。

附件 3.15.jpg

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

附件 3.12.jpg

15、添加100个 BYTE 的数组变量。

附件 3.13.jpg

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

附件 3.16.jpg

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

附件 3.17.jpg

18、返回 SIMATIC Manager 主界面,下载项目到 PLC

附件 3.18.jpg
[此贴子已经被作者于2019/5/24 13:26:12编辑过]
大连德嘉工控WB 版主
文章数:1178
年度积分:916
历史总积分:5285
注册时间:2018/5/31
发表于:2019/5/23 17:19:50
#4楼
第四点,下面要进行Modbus TCP的通讯测试了,这里我就发一条指令,并且我直接在数据表中做的,没有写梯形图程序,因为前面已经写的太多了,这里就算抛砖引玉吧,知道了原理其他程序您自己做起来就容易了。

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

附件 4.1.jpg

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

附件 4.2.jpg

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

附件 4.3.jpg

附件 4.4.jpg

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

附件 4.5.jpg

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

附件 4.6.jpg


1分不嫌少!


楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师