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 数据

相关推荐
EasyGBS20 小时前
摄像头还在线,画面已经不能用了?国标GB28181视频平台EasyGBS视频质量诊断怎么用
服务器·安全·音视频
程序员-Benothing20 小时前
Vim编辑器从入门到精通:模式、快捷键、配置、插件
linux·运维·服务器
m0_6464299720 小时前
Docker 完整核心知识点总结(超通俗易懂版)
运维·docker·容器
wdfk_prog20 小时前
LWIP教程 09:从 `tcp_slowtmr()` 到 Fast Retransmit——TCP 超时重传与重复 ACK
服务器·网络·数据库·网络协议·tcp/ip
‎ദ്ദിᵔ.˛.ᵔ₎20 小时前
linux 进程信号 (上)
linux·服务器
亚川楼宇自控系统数据中心厂家21 小时前
IBMS 集成管理系统:如何打通楼宇自控实现建筑一体化管控
运维
迪康Defender21 小时前
终端安全审批体系设计:如何平衡安全管控与业务连续性
运维·服务器·安全·运维开发·学习方法·业界资讯·远程工作
liulilittle1 天前
Linux 下 select 测试函数
linux·服务器·网络·数据库·c++·select·c