S7-1200 CPU 与 S7-200 SMART S7通信(S7-1200 作为服务器)

S7-1200 CPU 与 S7-200 SMART S7通信(S7-1200 作为服务器)

S7-200 SMART CPU 固件版本 V2.0 及其以上,本体集成的 PROFINET 通信接口支持 S7 通信,可以通过向导或使用 GET/PUT 指令两种方式实现,最多可以建立 16 个 S7 连接,其中包括:8 个客户端,8 个服务器。

S7-1200 CPU 本体集成的 PROFINET 通信接口可以做 S7 通信的服务器。S7-1200 仅支持 S7 单边通信,做客户端仅需单边组态连接和编程,而做服务器端则只需准备好通信的数据即可。S7-1200 作为S7服务器,可以使用 6 个动态连接资源。

本文以 S7-200 SMART 作客户端通过向导的方式与 S7-1200 进行 S7 通信为例,加以说明。

硬件和软件需求及所完成的通信任务

硬件:

① S7-200 SMART 标准 CPU 固件版本 V2.5 (文档中S7-ST40 DC/DC/DC 订货号:6ES7288-1ST40-0AA0)

② S7-1200 CPU 固件版本 V4.4(文档中S7-1215 DC/DC/DC 订货号:6ES7215-1AG40-0XB0)

③ PC (带以太网卡),TP电缆(以太网电缆)

软件:

① STEP7-MicroWIN SMART V2.5

② TIA STEP7 V16

所完成的通信任务:

① S7-200 SMART 将 VB0 开始的连续 20 个字节中的数据发送到 S7-1200 通信数据区 DB8 中的 20 个字节中。

② S7-200 SMART 读取 S7-1200 DB9 中的 20 个字节数据并存储在 VB100 开始的连续 20 个字节中。

S7-1200侧组态和编程

1. 新建项目

在项目中,添加 S7-1215 DC/DC/DC,并为其添加子网和分配 IP 地址,如图 1 所示。

![A screenshot of a computer

Description automatically generated](https://i-blog.csdnimg.cn/img_convert/53f07c6c48286752be3dac580e3ae6c0.png)

图1 S7-1215 DC/DC/DC

2. 创建 DB

依据要求,创建 DB 数据区,并建立相应数组,分别命名为 Write、Read,如图 2 所示。

图2 创建 DB

3. 创建DB1

S7-200 SMART 作为 S7 客户端只能访问服务器的V区,而S7-1200没有V区, V 区对应 S7-1200 中 DB1,且只能对应 DB1 ,所以需要把 DB9 中数据传送到 DB1,而将DB1的数据传送到DB8,进而间接实现 S7-200 SMART 对 S7-1200 DB8、DB9 写和读的操作;创建 DB1 并建立相关变量,如图 3 所示。

![A screenshot of a computer

Description automatically generated](https://i-blog.csdnimg.cn/img_convert/ef82f7f902c29c0e283ba5032648ff22.png)

图3 创建 DB1

4. 优化的块访问

数据块的属性中,需要选择非优化的块访问(把默认的勾取消掉),DB1 需要此操作,DB8、DB9 无需此操作,如图 4 所示。注意:需要编译后,才可看到偏移量。

![A screenshot of a computer

Description automatically generated](https://i-blog.csdnimg.cn/img_convert/40683823a1971c36aaa57481cf8e7ca6.png)

图4 优化的块访问

5. 关联变量

将 DB8、DB9 中需要写和读的变量与 DB1 中的数据进行关联,如图 5 所示。

![A screenshot of a computer

Description automatically generated](https://i-blog.csdnimg.cn/img_convert/bee45325cf0255ec06464757a13ed54d.png)

图5 关联变量

6. 连接机制

S7-1200 作为服务器进行 S7 通信,对于 CPU V4.0以后的固件版本,需要勾选"允许来自远程对象的PUT/GET通信访问",否者,无法建立通信,如图 6 所示。

![A screenshot of a computer

Description automatically generated](https://i-blog.csdnimg.cn/img_convert/19d3c02cf0f9ae3976b029bcba8b7b83.png)

图6 连接机制

注意:

  • S7-200 SMART 中 V 区对应于 S7-1200 中 DB1,且只能对应 DB1
S7-200 SMART侧组态和编程

1. 系统块

双击"系统块",设置 S7-200 SMART CPU 的 IP 地址,如图 7 所示。

![A screenshot of a computer

Description automatically generated](https://i-blog.csdnimg.cn/img_convert/b2d31bb71f07c080923c87e93e5d17f2.png)

图7 系统块

2. 向导

使用向导功能进行 GET/PUT 通信编程,并添加两个操作,分别命名为 Read 、Write,完成后点击"下一个",如图 8 所示。

![A screenshot of a computer

Description automatically generated](https://i-blog.csdnimg.cn/img_convert/bf78a0958ddf3038c5028f5bdfd85c4b.png)

图8 向导

3. 配置Read数据

通过选择操作类型 GET、设置远程 CPU 的 IP 地址、设置本地 CPU 数据区、设置远程 CPU 数据区配置 Read 数据,操作完成后,点击"下一个",其含义为:S7-200 SMART 读取 S7-1200 DB1 中以 DB1.DBB0 为起始地址的连续20 个字节数据并存储在以 VB100 开始的连续 20 个字节中,如图 9 所示。

![A screenshot of a computer

Description automatically generated](https://i-blog.csdnimg.cn/img_convert/cec3d67c5d59fc31b2f36211c146ae84.png)

图9 配置 Read 数据

4. 配置Write数据

通过选择操作类型 PUT、设置远程 CPU 的 IP 地址、设置本地 CPU 数据区、设置远程 CPU 数据区配置 Wrtie 数据,操作完成后,点击"下一个",其含义为: S7-200 SMART 将 VB0 开始的连续 20 个字节中的数据发送到 S7-1200 通信数据区 DB1 中以 DB1.DBB20 开始的连续 20 个字节中,如图 10 所示。

![A screenshot of a computer

Description automatically generated](https://i-blog.csdnimg.cn/img_convert/4f94013650a87840acd9b1b22bba1d6d.png)

图10 配置 Write 数据

5. 存储区分配

在这里指定 V 存储区中放置组态的起始地址,建议使用较大数值,以免和其他数据冲突,操作完成后,点击"下一个",如图 11 所示。

![A screenshot of a computer

Description automatically generated](https://i-blog.csdnimg.cn/img_convert/d3872012d88d4f99b15fa40b1f976faa.png)

图11 存储区分配

6. 组件

在这里可以看到组态后自动生成的组件,点击"生成",完成GET/PUT向导配置,如图 12 所示。

![A screenshot of a computer

Description automatically generated](https://i-blog.csdnimg.cn/img_convert/dcc7d329e441e8f6bbce2cb75cb5ac59.png)

图12 组件

7. 编程

在 Main 函数中调用 NET_EXE 子程序,并分配相关引脚参数,如图 13 所示。

![A computer screen shot of a computer screen

Description automatically generated](https://i-blog.csdnimg.cn/img_convert/8d42397101210b169322fc27a9e19166.png)

图13 编程

至此,S7-200 SMART 作客户端与 S7-1200 进行 S7 通信的组态和编程就完成了。

通信测试

连接状态

S7 连接成功的建立是调用 PUT/GET 指令的基础,S7 连接成功建立后,方能正确执行 PUT/GET 指令。在 TIA 软件的网络视图中,转至在线,可以监控 S7 连接状态,如图 14 所示。

![A screenshot of a computer

Description automatically generated](https://i-blog.csdnimg.cn/img_convert/2ec68f9a458417efc5449d2c594c097b.png)

图14 S7 连接状态

数据交互

通过在线监控查看两者之间的数据交互是否正确,如图 15 、图 16 所示,

![A screenshot of a computer

Description automatically generated](https://i-blog.csdnimg.cn/img_convert/99b2ac0121cee3cf621a71aaa8eeb517.png)

图15 DB8 数据

图16 DB9 数据

相关推荐
阿华hhh16 小时前
项目(购物商城)
linux·服务器·c语言·c++
摸鱼仙人~16 小时前
大模型文章生成的风格个性化与多文体写作:一套可落地的方法论
linux·运维·服务器
xybDIY16 小时前
亚马逊云 Organizations 组织 Link 账号关联与解绑自动化解决方案
运维·自动化·云计算·aws
慕容雪_16 小时前
运维笔记-网络【属性】-【共享】中没有【家庭网络连接(H)】的选项
运维·网络·共享
爬山算法16 小时前
Hibernate(30)Hibernate的Named Query是什么?
服务器·前端·hibernate
AC赳赳老秦17 小时前
Shell 脚本批量生成:DeepSeek 辅助编写服务器运维自动化指令
运维·服务器·前端·vue.js·数据分析·自动化·deepseek
学Linux的语莫17 小时前
linux的root目录缓存清理
linux·运维·服务器
oMcLin17 小时前
如何在 SUSE Linux Enterprise Server 15 上部署并优化 K3s 集群,提升轻量级容器化应用的资源利用率?
linux·运维·服务器
Run Out Of Brain17 小时前
解决nginx代理配置下wordpress的 /wp-admin/返回 302 重定向到登录页问题
运维·nginx