[西门子] S7-200 SMART 连接 S7-1200 服务器:S7 通信搭建与应用详解

[复制链接]
查看40 | 回复0 | 3 天前 | 显示全部楼层 |阅读模式
从固件版本 V2.0 起,S7-200 SMART CPU 集成的 PROFINET 通信接口具备了支持 S7 通信的能力。


用户可通过向导操作,或使用 GET/PUT 指令来实现 S7 通信,且该接口最多支持 16 个 S7 连接,包括 8 个客户端连接和 8 个服务器连接。


对于 S7-1200 CPU 的 PROFINET 接口,其主要用于扮演 S7 通信的服务器角色。


并且,S7-1200 本身仅支持单向的 S7 通信,即作为客户端时,只需进行单向的组态与编程;作为服务器时,仅需配置好通信数据即可。当 S7-1200 充当 S7 服务器时,可使用 6 个动态连接资源。


下面将举例说明,如何通过向导配置 S7-200 SMART 作为客户端,与 S7-1200 进行 S7 通信。


硬件和软件需求

硬件

  1. S7 - 200 SMART PLC 标准 CPU:固件版本 V2.5,文档中 S7 - ST40DC/DC/DC 订货号为 6ES7288 - 1ST40 - 0AA0。

  2. S7 - 1200 CPU:固件版本 V4.4,文档中 S7 - 1215DC/DC/DC 订货号为 6ES7215 - 1AG40 - 0XB0。

  3. PC:带有以太网卡的计算机,以及用于连接该计算机与 S7 设备的 TP 以太网电缆。

软件

  1. STEP7 - MicroWIN SMART V2.5

  2. TIA STEP7 V16

通信任务

  1. 数据发送:S7 - 200 SMART 会将 VB0 地址开始的连续 20 个字节数据,发送至 S7 - 1200 的 DB8 数据块中的相应 20 个字节位置。

  2. 数据读取:S7 - 200 SMART 会从 S7 - 1200 的 DB9 数据块中读取 20 个字节的数据,并将其存储在 VB100 开始的连续 20 个字节中


S7-1200侧组态和编程
  1. 新建项目

在项目中添加 S7 - 1215DC/DC/DC,并为其添加子网、分配 IP 地址,操作界面如图 1 所示

图1 

2、创建DB

根据要求创建 DB 数据区,建立相应数组,分别命名为 Write、Read,具体创建界面如图 2 所示  

图2 

3、创建DB1

由于 S7 - 200 SMART 作为 S7 客户端只能访问 S7 服务器的 V 区,而 S7 - 1200 没有 V 区,其数据存储在 DB1 中。


所以,要实现 S7 - 200 SMART 对 S7 - 1200 的 DB8 和 DB9 的读写操作,需将 DB9 中的数据传输到 DB1,再把 DB1 中的数据传输到 DB8。为此,需创建 DB1 并建立相关变量,创建 DB1 的界面如图 3 所示

图3 

4、优化的块访问

在数据块(DB)的属性设置中,应取消对“优化块访问”的选择(将默认选项的勾去掉),对于 DB1 数据块,需要执行这一操作 ,而DB8和DB9则无需此操作。


具体的设置方式请参考图4所示。请注意,在编译之后,才能看到偏移量。如果您希望优化数据块的访问方式,可以取消默认勾选并按照优化要求进行配置,以达到更高效的数据访问速度。对于DB8和DB9,它们的访问方式无需进行优化,保持默认设置即可。

图4 

5、关联变量

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

图5

6、连接机制

对于 S7 - 1200 CPU,若固件版本为 CPUV4.0 或更高,进行 S7 通信时,必须在属性中勾选 “允许来自远程对象的 PUT/GET 通信访问” 选项,否则无法建立通信连接。设置界面参考图 6

图6 

注意、:S7 - 200 SMART 中的 V 区仅对应 S7 - 1200 中的 DB1。



S7-200SMART侧组态和编程
1、系统块

双击“系统块”,设置S7-200SMARTCPU的IP地址,如图7所示。   

图7 

2、向导操作

使用向导进行 GET/PUT 通信编程,添加两个操作步骤,分别命名为 “读取” 和 “写入”。完成后点击 “下一个”,操作界面如图 8 所示   

图8 

3、配置Read数据

选择操作类型为 GET,设置远程 CPU 的 IP 地址,接着配置本地 CPU 数据区和远程 CPU 数据区,用于存储 “读取” 的数据。完成设置后点击 “下一步”。


此操作意味着 S7 - 200 SMART 会读取 S7 - 1200 DB1 中以 DB1.DBB0 为起始地址的连续 20 个字节数据,并将其存储在以 VB100 开始的连续 20 个字节中,具体设置界面如图 9 所示。   

图9

4、配置Write数据

选择操作类型为 PUT,设置远程 CPU 的 IP 地址、本地 CPU 数据区和远程 CPU 数据区。完成设置后点击 “下一步”。


这表示 S7 - 200 SMART 会将 VB0 开始的连续 20 个字节中的数据发送到 S7 - 1200 通信数据区 DB1 中,即 DB1.DBB20 开始的连续 20 个字节将存储新的数据,设置界面如图 10 所示。   

图10

5、存储区分配

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

图11

6、组件生成

在此处可以看到自动生成的组态组件,点击 “生成” 按钮,即可完成 GET/PUT 向导配置,界面如图 12 所示

▲图12 组件▲

7、编程操作

在程序主函数(Main)中调用 NET_EXE 子程序,并分配相关引脚参数,具体编程界面如图 13 所示

图13 

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


通信测试

连接状态检查

S7 连接成功建立是执行 PUT/GET 指令的前提。连接成功后,PUT/GET 指令可正确执行。

在 TIA 软件的网络视图中,可在 “在线” 状态下监控 S7 连接的状态,监控界面如图 14 所示

图14 

数据交互检查

通过在线监控功能,可检查两者之间的数据交互情况,确保数据传输的正确性和有效性,具体监控数据界面如图 15、图 16 所示


图15


▲图16 DB9数据▲

至此,S7 - 1200 CPU 与 S7 - 200 SMART 的 S7 通信(S7 - 1200 作为服务器)操作全部完成。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则